Improve Scilab-versions dependency of ATOMS modules, on both server and client sides
@sgougeon)
Reported by Samuel GOUGEON (BUG DESCRIPTION:
----------------
This report concerns both server and client sides of ATOMS. I do not duplicate it on the ATOMS portal component.
Presently, on the portal only one version flag is proposed, with all available criteria: < <= = >= > any.
But this setting is not fully taken into account: See for instance the bug 13891 : a module tagged as >= 5.5 does not appear in Scilab 6.
I may understand why: Scilab 6 has so many modifications and will set many back-compatibility issues requiring the review of a lot of codes.
But for some codes, it will not be the case.
If my module is OK for Scilab 5.5 as well as for Scilab 6, then the only way to set the version is to set it to "any" (~), in order to make it appearing
Problem 1: any is any, so 5.4 as well, that is not true for my module.
Problem 2: when a version of a module has been set to any, then ALL its releases (even the further ones) appear in the ATOMS client.
This problem is the same as for categories, as described as bug 13801. This can be very misleading.
Anyway, i think that the version tagging could be improved, in order to be more accurate.
Here is a proposal:
1) split the whole list of criteria "< <= = >= > any" into 2 lists: first = "> >=" second = "< <= any"
Please note that "=" disappears. It is possible to get the same condition using both flags
2) use a AND conjunction between both flags. Hence, the former "=5.5.2" will be settable with ">=5.5.2" AND "<=5.5.2"
3) the second list of proposed versions could be set accordingly with the value for the first criterium
Hence, if ">=5.3" is chosen, the second list should propose Scilab versions from 5.3 or above, not below.
4) for the existing records:
- for records having one of "> >=", keep it, and sets the second to "any"
- for records having "=", set first = ">=#" and second = "<=#"
- for records having "< <=", set first = ">=4" and second = former setting
- for records having "any", set the first = ">=4" and second = "any"
+ prevents the fact that any former version with version="any" (visible) is installable. It should be the case only if the latest version of the module is set as is.
The GSOC 2015 about ATOMS might be a great opportunity to review this topic, and to fix it before and for Scilab 6.
Otherwise, many problems could come from an inaccurate versioning of modules.
At some time, all modules maintainers should be officially addressed about that.
HOW TO REPRODUCE THE BUG:
-------------------------
* for the module overall visibility when one of its version is tagged with the "any Scilab version" flag:
See the indinf module:
http://atoms.scilab.org/toolboxes/indinf/1.54.0 (~) = any scilab version
http://atoms.scilab.org/toolboxes/indinf/1.55 (>= 5.4)
Scilab 6 atoms_Gui() sees it and proposes to install the 1.53 version, but not the latest 1.55. Quite absurdous!!