View Issue Details

IDProjectCategoryView StatusLast Update
0019953mantisbtupgradepublic2016-02-25 02:43
Reportervboctor Assigned To 
PrioritynormalSeverityminorReproducibilityhave not tried
Status newResolutionopen 
Summary0019953: Upgrade unattended should upgrade plugins as well
Description

Inspecting the code for upgrade unattended, it seems that it only upgrades the code schema, but doesn't trigger the plugins to do the same.

TagsNo tags attached.

Relationships

related to 0010308 confirmed Need ability to specify MySQL administrator username/password to install plugins 

Activities

dregad

dregad

2015-08-02 17:53

developer   ~0051178

I'm not sure we should do this actually.

IMO upgrading a plugin should be the admin's decision, and done independently of the mantisbt upgrade.

vboctor

vboctor

2015-08-06 01:03

manager   ~0051206

The idea of the upgrade_unattended is to upgrade the schema without the admin intervention. So if the code of the core and plugins are updated, then I would expect that schema of core/plugins can be upgraded to match.

With this intention, why would the admin have to upgrade the plugins separately?

I also wonder how much protection do we have to make sure that plugins don't break when schema is not up-to-date. Note that if we disable the plugin (to avoid php errors), then that means that the plugin is broken because it is not active.

What is your reasoning for not doing it? What would be the downside?

dregad

dregad

2015-08-06 06:05

developer   ~0051208

I reckon that the purpose of the unattended upgrade script is to update the MantisBT core. By definitions, the plugins are not part of that.

Keep in mind that each plugin has its own schema (mantis_plugin_XXX_yyy_table) and schema version (in the config table, 'plugin_XXX_schema'). These are maintained separately.

As mentioned before, upgrading a plugin should be a separate and conscious act; to let upgrade_unattended work on the plugins, would also imply that their respective source code is downloaded and installed prior to running the script. I don't think this could (or should) be automated.

The way plugin API works today, is that plugins not specifically supporting the new version (based on the way prerequisites for MantisCore are defined, see also 0017360) are automatically disabled. This should IMO offer enough "protection".