Moodle 3.2beta is available now in the main git repository. We have roughly 3 weeks to the next major version release. It is the best time now to update your plugins and make sure they will work well with the next Moodle version.
The award "Early bird 3.2" will be granted to plugins that have Moodle 3.2 compatible version submitted by the actual 3.2 release date. Please do not underestimate the actual testing and fixing all new bugs, warnings and notices. We reserve the right to not grant (or even revoke) the award from a plugin if there is a suspicion that it has not been tested well. There will be no exceptions for late submissions.
As usually, plugins authors have principally two ways how to achieve this:
- If the testing reveals that an existing version just works as-is with the new Moodle version (this is not unusual especially with simple plugins and no changes in the underlying APIs), the maintainer can simply mark the current version as supporting Moodle 3.2.
- If changes are required, or the maintainer just prefers to do so, a new plugin version can be released by uploading the new ZIP package to the Plugins directory and marking Moodle 3.2 (and eventually others, too) as supported version.
As always, thanks and respect to you all who continually maintain your plugins and keep them up-to-date with new Moodle versions.
All API changes that may affect existing plugins are listed in lib/upgrade.txt and in upgrade.txt in the folder where particular plugin type is located, for example mod/upgrade.txt, course/format/upgrade.txt, auth/upgrade.txt etc.
If your plugin depends on another (standard) plugin and you use functions from it, check if there are any changes in that plugin that can be found in mod/feedback/upgrade.txt or similar file. This is quite rare and usually upgrade.txt does not exist in individual plugins
Are there known issues with Behat in 3.2?
I have plugins that pass Behat tests in 3.1, that fail in 3.2. And it appears there is significant differences in the results of the tests if I use the Boost theme vs. if use the Clean theme.
With the Boost theme, there seems to be many "Xpath matching" test failures. With the Clean theme, these failures aren't there, but I can no longer execute a statement like:
And I navigate to "Language settings" node in "Site administration > Language"
That same statement works in Boost.
Should we just hold off worrying about Behat tests passing for now?
Same here, but I'm waiting until at least the RC or the first stable ;)
Alright. Turns out there is a way to set up your test site to run Behat correctly on both Boost and Clean.
If in your test site, you execute:
php admin/tool/behat/cli/init.php --add-core-features-to-theme=clean
then, "Clean" will be set up to run correctly with Behat.
If you now run (for example):
php admin/tool/behat/cli/run.php --config /[moodleroot]/bht_moodledata/behat/behat.yml --tags=@[yourplugin]
then it will execute two sets of tests. One on Boost and another on Clean.
You can specify just Boost with:
php admin/tool/behat/cli/run.php --suite=default --config /[moodleroot]/bht_moodledata/behat/behat.yml --tags=@[yourplugin]
Or just Clean with:
php admin/tool/behat/cli/run.php --suite=clean --config /[moodleroot]/bht_moodledata/behat/behat.yml --tags=@[yourplugin]Hope this helps.
Looks good! Does anybody know if there's already support in moodle-plugin-ci for this suit param? Or if you can add the core features to theme_clean in moodle-plugin-ci? If not, I'll try to take a look at it next week!
I went to add new releases of my plugins today, but ran into some problems in the Plugins Database.
First, I use the Github connector to choose a new release tag method of adding a new version. The first time I did this for the questionnaire module, it seemed to work, but I ended up on a page with no zip file, requiring me to upload a zip file. I tried it again, and it worked the second time. No error messages were displayed.
Second, when it arrived at the "Plugin string update in AMOS" page, it displayed the error message:
"Error: AMOS threw exception mlang_parser_exception: Error: Expected character ; at line 410".
I pressed "continue", and it seemed to release okay. I'm just not sure if the process completed fully.
The AMOS error suggests that your language file uses a PHP syntax not yet supported by the AMOS parser.
On line number 410 of https://github.com/remotelearner/moodle-mod_questionnaire/blob/master/lang/en/questionnaire.php#L410 there is a string concatenation operator (aka dot
.). It is a valid PHP code, but AMOS does not evaluate the strings files like the Moodle core does. Instead, it parses the strings files via a custom parser https://github.com/moodlehq/moodle-local_amos/blob/master/mlangparser.php#L99
As documented at https://docs.moodle.org/dev/Plugin_contribution_checklist#Strings the solution for meanwhile is not to use these operators, until support for it is added into the parser.
The award was just given to all 129 plugins that had a version compatible with Moodle 3.2 released by Monday 5 December, 23:59 UTC. Some of these plugins are still waiting in the approval queue and will be available soon once reviewed.
Big thanks to all the maintainers! It is great to see increasing dev community interest in keeping their plugins up-to-date with Moodle releases! Well done everybody.