TI3 - 2021/22 - Should do - Moodle 4.0 - Prepare codebase for 4.0 Upgrade

Size

Medium 

Budget Epic Name

Moodle 4

Jira Epic

Error rendering macro 'jira' : Unable to locate Jira server for this macro. It may be due to Application Link configuration.


Background

With the work done on the Moodle technical Pipelines in TI1 we are now able to re-run our builds with full behat & PHPUnit test suites completed within 3.5h.

TI2 achieved the codebase preparations for the Moodle 3.11 upgrade.

Moodle 4.0 was released on the 19th April and the Moodle community is starting to update their plugins for this version.

Following on from these successes we now need to ready UCL's Moodle codebase for Moodle 4.0. However, the plan remains for the upgrade to 4.x to take place in summer 2023.



In Scope:

1) Publish UCL Maintained plugins on Github

In TI2 we had a feature to deal with our plugin code quality - TI2 - 2021/22 - Should do - Moodle 4.0 - UCL Plugins Quality

For plugins where this work is signed off, we should publish the plugins publicly on Github - https://github.com/uclmoodle

We could go so far as to submit them to the Moodle Plugins Database - https://moodle.org/plugins


2) Setup moodle-plugin-ci Github Actions on all of our plugins' repos

https://moodlehq.github.io/moodle-plugin-ci/

We need to have automated testing setup on all of our plugins. This ties in with the incoming migration to Github Enterprise (and away from Gitlab) with the DevOps team.


3)  Document Major Upgrade Process and Principles

AS to do & knowledge share


4) Log Test Failures for 4.0 (& remaining 3.11 ones) upstream 

Log & keep track on a wiki page


5) Implement Privacy Provider in plugins where this is lacking

should fix 27 failures


6) Fix 3.11/4.0 failures for "abandoned" plugins

We need to identify abandoned plugins for which UCL needs to take ownership of plugin maintenance.

Start fixing failures on those specifically. But this feature should come to a wrap by the end of TI3 sprint 3.


7) Spin up 40.preview instance


Out of Scope:


Acceptance Criteria to include