Plugins traffic

Early bird 3.6

 
Picture of David Mudrák
Early bird 3.6
Core developersDocumentation writersMoodle HQParticularly helpful MoodlersPlugin developersPlugins guardiansTestersTranslators

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!

 
Average of ratings: Useful (4)
Picture of Dan Marsden
Re: Early bird 3.6
Core developersMoodle Course Creator Certificate holdersParticularly helpful MoodlersPlugin developersPlugins guardiansTestersTranslators

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

 
Average of ratings: Useful (3)
Tim at Lone Pine Koala Sanctuary
Re: Early bird 3.6
Core developersDocumentation writersParticularly helpful MoodlersPlugin 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.
 
Average of ratings: Useful (3)
Picture of Mike Churchward
Re: Early bird 3.6
Core developersParticularly helpful MoodlersPlugin developersPlugins guardiansTesters

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?

 
Average of ratings: -
Picture of Frédéric Massart
Re: Early bird 3.6
Core developersPlugin developersTesters

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.

 
Average of ratings: -
Picture of Dan Marsden
Re: Early bird 3.6
Core developersMoodle Course Creator Certificate holdersParticularly helpful MoodlersPlugin developersPlugins guardiansTestersTranslators

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.

 
Average of ratings: -
Picture of Frédéric Massart
Re: Early bird 3.6
Core developersPlugin developersTesters

Are those functions referenced in any upgrade.txt file? For once I read them and I didn't see anything about this...

 
Average of ratings: -
Picture of Nicolas Martignoni
Re: Early bird 3.6
Core developersDocumentation writersParticularly helpful MoodlersPlugin developersTestersTranslators

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?

 
Average of ratings: -
Picture of Justin Hunt
Re: Early bird 3.6
Particularly helpful MoodlersPlugin developers

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

 
Average of ratings: -
Picture of Nicolas Martignoni
Re: Early bird 3.6
Core developersDocumentation writersParticularly helpful MoodlersPlugin developersTestersTranslators

Thank you Justin. I just edited the documentation here https://docs.moodle.org/dev/Moodle_3.6_release_notes#For_developers but please fix the wording if needed, as English is not my first language. 

 
Average of ratings: Useful (2)
Picture of Mike Churchward
Re: Early bird 3.6
Core developersParticularly helpful MoodlersPlugin developersPlugins guardiansTesters

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

 
Average of ratings: Useful (1)
Picture of David Mudrák
Re: Early bird 3.6
Core developersDocumentation writersMoodle HQParticularly helpful MoodlersPlugin developersPlugins guardiansTestersTranslators

Many thanks guys for sharing these. I added them to https://docs.moodle.org/dev/Moodle_3.6_release_notes#For_developers (which is still work in progress).

 
Average of ratings: Useful (1)
Picture of David Mudrák
Re: Early bird 3.6
Core developersDocumentation writersMoodle HQParticularly helpful MoodlersPlugin developersPlugins guardiansTestersTranslators

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

 
Average of ratings: Useful (2)
Picture of Mike Churchward
Re: Early bird 3.6
Core developersParticularly helpful MoodlersPlugin developersPlugins guardiansTesters

Hi David -

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

mike

 
Average of ratings: -
Picture of David Mudrák
Re: Early bird 3.6
Core developersDocumentation writersMoodle HQParticularly helpful MoodlersPlugin developersPlugins guardiansTestersTranslators

Thanks Mike. You're right, it slipped out from my report of plugins to check. I've fixed it now.

 
Average of ratings: Useful (1)