Early bird 3.6

Early bird 3.6

David Mudrák -
回帖数:14
Core developers的头像 Documentation writers的头像 Moodle HQ的头像 Particularly helpful Moodlers的头像 Peer reviewers的头像 Plugin developers的头像 Plugins guardians的头像 Testers的头像 Translators的头像

Hi there!

We are again running the traditional challenge for the Moodle plugins developer community - a chance to receive a special award "Moodle 3.6 Early bird". This award will be given to plugins having a tested working 3.6 compatible version available on the release day. Moodle 3.6 is scheduled to be released on Monday, 3rd December 2018.

As before, it is not enough to simply mark you current versions as 3.6 compatible. Plugin maintainers are supposed to:

  • Test plugins intensively against Moodle 3.6 beta (Behat and PHPUnit tests help a lot).
  • Fix all eventually raised warnings, notices, regressions and problems.
  • Release a new compatible version in the plugins directory, or mark the existing one as compatible.

We reserve the right to not grant or revoke the award from a plugin if there is a suspicion that it was not tested well. There will be no exceptions for late submissions.

Many thanks to all the plugins maintainers for keeping their plugins up-to-date with latest Moodle versions!

平均分:Useful (4)
回复David Mudrák

Re: Early bird 3.6

Dan Marsden -
Core developers的头像 Particularly helpful Moodlers的头像 Peer reviewers的头像 Plugin developers的头像 Plugins guardians的头像 Testers的头像 Translators的头像

The biggest thing I found when updating our plugins for 3.6 is that there are 2 new functions that need to be implemented in the privacy class for plugins that store user data:

* get_users_in_context
* delete_data_for_users

(those new functions are also required for Moodle 3.4.6, 3.5.3)

The moodle upgrade.txt file can also be useful to review when updating your plugins:
https://github.com/moodle/moodle/blob/master/lib/upgrade.txt

回复Dan Marsden

Re: Early bird 3.6

Tim Hunt -
Core developers的头像 Documentation writers的头像 Particularly helpful Moodlers的头像 Peer reviewers的头像 Plugin developers的头像

The biggest thing I have found so far is that this breaks many of my Behat tests:

001 Scenario: Create a pattern match with JME question                  # /home/travis/build/moodle/question/type/pmatchjme/tests/behat/add.feature:22
And I navigate to "Question bank" node in "Course administration" # /home/travis/build/moodle/question/type/pmatchjme/tests/behat/add.feature:19
Exception: Deprecated step, rather than using this step you can:
- I navigate to "PATH" in current page administration
- I navigate to "PATH" in site administration
- I navigate to "TAB1 > TAB2" in the course gradebook
- I navigate to course participants
- If some items are not available without Navigation block at all, one can use combination of:
I add the "Navigation" block if not present
I click on "LINK" "link" in the "Navigation" "block"
- Set $CFG->behat_usedeprecated in config.php to allow the use of deprecated steps
if you don't have any other option
Fortunately, the recommended replacement steps work in all recent Moodle versions, the the updated Behat will pass with Moodle 3.4.
回复Dan Marsden

Re: Early bird 3.6

Mike Churchward -
Core developers的头像 Plugin developers的头像 Testers的头像

Hey Dan

Are you saying that plugins that worked in 3.4.5 and 3.5.2 will stop working in 3.4.6 and 3.5.3 if changes are not made?

回复Mike Churchward

Re: Early bird 3.6

Frédéric Massart ⭐ -
Core developers的头像 Plugin developers的头像 Testers的头像

From what I can see, privacy providers need to implement an additional interface, but it does not seem that the plugins will break if it's not implemented. It also doesn't seem that there are unit tests to check whether providers are implementing that interface. Not sure how "breaking" not implementing it actually is. Aside from breaking the GDPR laws obviously.

回复Frédéric Massart ⭐

Re: Early bird 3.6

Dan Marsden -
Core developers的头像 Particularly helpful Moodlers的头像 Peer reviewers的头像 Plugin developers的头像 Plugins guardians的头像 Testers的头像 Translators的头像

yeah - I didn't see any unit test failures (there probably should have been some unit tests for these) - it's really just something that we need to do for compliance.

回复Dan Marsden

Re: Early bird 3.6

Nicolas Martignoni -
Core developers的头像 Documentation writers的头像 Particularly helpful Moodlers的头像 Plugin developers的头像 Testers的头像 Translators的头像

Is it correct that these 2 functions must be implemented only for plugins storing user data?

Or should they be implemented for any plugins, including those implementing only the null_provider?

回复Nicolas Martignoni

Re: Early bird 3.6

Justin Hunt -
Particularly helpful Moodlers的头像 Plugin developers的头像

I am pretty sure they are not necessary for null provider plugins.

回复Dan Marsden

Re: Early bird 3.6

Mike Churchward -
Core developers的头像 Plugin developers的头像 Testers的头像

I'd like to point out a problem that came up with trying to implement the new privacy API functions and maintaining one version of a plugin across multiple Moodle releases. See the discussion here - https://moodle.org/mod/forum/discuss.php?d=379580

Essentially, for 3.5 and 3.4, if they upgrade the plugin without upgrading their Moodle first, the Plugin privacy page has a fatal error. This is due to the missing core_userlist_provider interface. So the plugin works on 3.5.3 but not 3.5.2, and works on 3.4.6 but not 3.4.5.

Also refer to CONTRIB-7557

回复David Mudrák

Re: Early bird 3.6

David Mudrák -
Core developers的头像 Documentation writers的头像 Moodle HQ的头像 Particularly helpful Moodlers的头像 Peer reviewers的头像 Plugin developers的头像 Plugins guardians的头像 Testers的头像 Translators的头像

For the record, total of 192 out of 1537 plugins had a Moodle 3.6 compatible version available by yesterday (23:59 GMT) and were granted the Early bird 3.6 award. See the list at https://moodle.org/plugins/?q=award:early-bird-36%20sort-by:sites

回复David Mudrák

Re: Early bird 3.6

Mike Churchward -
Core developers的头像 Plugin developers的头像 Testers的头像

Hi David -

Questionnaire seems to have been missed in the awards. I released the 3.6 compatible version on December 1st.

mike