Hi all,
thanks for all the interesting replies!
When talking about "versioning" I mean that which every developer can choose freely and not the $plugin->version number (which is contructed out of year, month etc.)
For moodle itself this versioning is very clear and consistent. But let's think of a moodle administrator who has to manage several moodle instances where each has installed different extearnally maintained plugins, this can become confusing for this person.
From this perspective I think the approaches of Tim and Joseph are most suitable but maybe could be improved (and then even standardized).
Tim wrote:
"So, I now number my plugin releases v1.0, v1.1, ... Those are the tag names I use in git. If I need different versions of my plugin to work with different Moodle branches, I will make tags like v1.1_m21, v1.1_m22
Then, in the version.php file, I put a fuller description like
$plugin->release = '1.3 for Moodle 2.5+'; "I think it's clear but why to use different methods in your tags and in $plugin->release ?
Joseph wrote:
I think for end-users it's clearer for plugins to have the same major version number as the Moodle versions. (...)
| moodle versions |
myplugin versions |
| 2.6.0 |
2.6.0 |
| 2.6.1 |
2.6.1, 2.6.2 |
| 2.6.2 |
2.6.3, 2.6.4 etc |
| ... |
|
| 2.7.0 |
2.7.0 |
| 2.7.1 |
2.7.0 |
I think it is clear for which version but might be confusing as plugin and moodle versions look the same.
How about this:
2.7-1.3
The first two digests indicate the moodle version. Then foolows a "-" and then then the version which indicates the development progress of the plugin related which is compatible to the related moodle version.
Example:
There is a plugin which works fine with moodle 2.6.1 - 2.7.0, then the versioning would look as follows:
Moodle version
|
Plugin version (original way)
|
Plugin version (improved way)
|
| 2.6.1 |
1.4 |
2.6-1.4 |
2.6.2
|
1.4 |
2.6-1.4 |
2.7.0
|
1.4 |
2.7-1.4
|
What do you think of this?
Flotter