Update feature and plugins and custom modifications

(Salman, Freelance Developer) #1

How does the update feature work in respect to plugins? Since a plugin is by definition following a convention is it safe to assume an update will not break a plugin? (assuming the plugin isn’t using API that has changed).

If an Discourse install has custom (intrusive) modifications to the core, what exactly will the update do currently?

(Salman, Freelance Developer) #2

Any insights on this?

(Mittineague) #3

Is that a bump?

AFAIK updates do not change any files to the “plugins” folder, but only the core files.

(Salman, Freelance Developer) #4

Yes it was a bump, is that not allowed?

My concern was if people make custom mods to their site (or someone else does), they non-technical forum admin might perform an update not knowing that custom code might get overwritten. Unless of course if the update procedure somehow detects that there is custom code (site setting to turn it off?) and to block the update.

(Rikki Tooley) #5

Not at the moment, plugins often break with updates. The system is still prerelease, though. I believe the post v1 plan for releases will mitigate the issue: plugin authors will have a few weeks to fix up their plugins.

I don’t know if there are any plans for plugin compatibility resolution (i.e. hardcoded value in the plugin to match up api versions with), or a WordPress style crowdsourced “tested with v1.x” statistic in a plugin database… both would help though.

(Dave McClure) #6
  1. Forking the code for production is generally not recommended if it can be avoided. Better to customize with plugins or contribute core modifications back upstream.

  2. If you’re going to fork, then the app.yml file for the docker install should point at your fork, not at the main repo. That way updates will only be pulled into production after they have been merged into your repo by your developers. If that sounds too risky or complicated, see (1).