View Issue Details

IDProjectCategoryView StatusLast Update
0023209mantisbtplug-inspublic2017-09-03 18:41
Reporterhelfy022 Assigned Todregad  
PrioritynormalSeverityminorReproducibilityN/A
Status closedResolutionno change required 
Product Version2.4.1 
Summary0023209: plug-in "requires" setting not honoring MantisCore version
Description

Hello,

After staging the "Csv_import" plug-in (version 1.4.0) in our MantisBT installation (version 2.4.1), we are unable to install it. The "Dependencies" column of the "Available Plugins" section in "Manage Plugins" indicated in red that Mantis CVS Importer 1.4.0 had an outdated dependency.

Looking in the Csv_import.php file, the following setting is evident:

function register() {
...
$this->requires = array( 'MantisCore' => '1.3.0' );

The current version of our MantisBT installation is 2.4.1. Why would MantisBT consider our installation version to be out of date in this situation?

FYI - when the "requires" setting is changed in Csv_import.php to 2.4.1 (or 2.x.x, for that matter), installation of the plug-in becomes possible. Keeping "requires" at 1.3.0 (or any 1.x.x) prevents installation from proceeding.

Please let me know if you need any more information in order to better understand the situation.

Thanks,
Ryan.

TagsNo tags attached.

Activities

cproensa

cproensa

2017-08-10 17:19

developer   ~0057425

That is the expected behaviour. It is explained here:
https://mantisbt.org/docs/master/en-US/Developers_Guide/html-desktop/#dev.plugins.building.properties

Probably, you can request to the plugin mantainer to update the plugin to support current mantis version.

atrol

atrol

2017-08-10 17:23

developer   ~0057426

From README of the plugin

Supports MantisBT v2.x (modern ui) -- use modern-ui branch

https://github.com/mantisbt-plugins/csv-import/tree/modern-ui

There you will find

$this->requires = array( 'MantisCore' => '2.0.0' );

and some more changes to make this plugin compatible to MantisBT 2.x.

helfy022

helfy022

2017-08-10 17:37

reporter   ~0057427

Thank you both for your responses.

Just to make sure I'm understanding the use model in this situation, is it appropriate for me to manually update the $this->requires setting in the Csv_import.php file to accommodate our installation? Is that proper procedure for any plug-in for which the plugin may require by default a major release much older than a presently-available one (but for which the README may indicate a compatibility)? Or, is the developer guide information implying how the compatibility requirement needs to be updated by the plug-in owner in order to accommodate our MantisBT version?

Thanks,
Ryan.

atrol

atrol

2017-08-10 17:53

developer   ~0057428

Last edited: 2017-08-10 17:55

We use semantic versioning for MantisBT, see http://semver.org

This means that MantisBT 2.x is a so called MAJOR version

MAJOR version when you make incompatible API changes,

Some 1.x plugins might work in 2.x without any changes, some plugins might need changes.
The Mantis core does not know what the old plugin is doing, so plugins requiring MantisCore 1.x are invalidated to prevent problems.

helfy022

helfy022

2017-08-10 18:03

reporter   ~0057429

Sounds good. What I gather from this, then, is that I should contact the plug-in developer to determine if there is a donwloadable package for which the requires setting points to MAJOR version 2.x, or if the current one supports 2.x (in which case I'll ask if it's appropriate for me to hack the php file and update the requires setting manually).

Assuming I'm understanding the situation correctly, please feel free to close.

Thanks very much for the feedback.

Ryan.

atrol

atrol

2017-08-10 18:11

developer   ~0057430

or if the current one supports 2.x

Typo? 1.x?

dregad

dregad

2017-08-11 05:20

developer   ~0057433

contact the plug-in developer to determine if there is a donwloadable package for which the requires setting points to MAJOR version 2.x

@helfy022 Not sure the plugin's developer is needed... Just download the correct version of the source from
https://github.com/mantisbt-plugins/csv-import/archive/modern-ui.zip

helfy022

helfy022

2017-08-28 10:21

reporter   ~0057555

Thank you very much. Confirmed that the MantisCore requirement is indeed 2.0.0 in the referenced package, thus addressing the noted dependency for the plug-in.

Another example of a plug-in for which the MantisCore requirement prevents out-of-the-box usage is Reminder:

https://github.com/mantisbt-plugins/Reminder/blob/master/Reminder.php:
$this->requires = array('MantisCore' => '1.3.0',);

The support page notes that a MantisBT issue should be filed against [Plugin - Reminder] for support requests. Should this issue be re-assigned to proceed with the related discussion on Reminder? Should a new issue be opened and "[Plugin - Reminder]" included in the Summary/Description?

Thanks,
Ryan.

helfy022

helfy022

2017-08-28 10:21

reporter   ~0057556

Re-opening to inquire about next steps regarding Reminder plug-in.

Thanks,
Ryan.

dregad

dregad

2017-08-28 11:58

developer   ~0057557

The support page notes that a MantisBT issue should be filed against [Plugin - Reminder] for support requests.

So why are you reopening this then ? Just file a new issue under the appropriate project as indicated (click the link...)

helfy022

helfy022

2017-08-28 12:46

reporter   ~0057558

Thanks for the clarification. I will proceed with the opening of a new issue against [Plugin - Reminder].

Please feel free to close.

Thanks again for all of the useful feedback.

Ryan.