Note:

If you want to create a new page for developers, you should create it on the Moodle Developer Resource site.

Moodle 4.0 developer update

From MoodleDocs
Revision as of 04:41, 27 August 2021 by Andrew Nicols (talk | contribs) (Correct behat improvements)

Moodle 4.0 This page will highlight the important changes that are coming in Moodle 4.0 for developers. Including how the UX improvements impact custom themes, relevant API changes, and what you can do as developer to prepare for the 4.0 release.

UX and theme changes

Navigation

Course creation

API changes

Behat changes

To make behat tests more readable and easy to maintain is recommended to use the most direct step to get what the test needs. So since [https://tracker.moodle.org/browse/MDL-66335 MDL-66335] was integrated, and the step was improved in [https://tracker.moodle.org/browse/MDL-72179 MDL-72179] is highly recommended to use

I am on the "activity name" "[modname] activity" page 

or

I am on the "activity name" "[modname] activity" page logged in as "user"

instead of navigating to the activity via

I am on "Course" course homepage
I follow "Activity name"

Now that Course index ([https://tracker.moodle.org/browse/MDL-71209 MDL-71209]) is integrated but the project is not stable,

I am on "Course" course homepage
I follow "Activity name"

behat steps will fail using Boost theme.

The reason for it is that the drawer used in Boost is hiding the course index. So when test is trying to follow an "Activity name" link, it finds two different links:

  • one in the course index
  • another one in the course main content.

But the first one, the one in the course index, is hidden by the drawer, and test fails.

But the recommended behat steps

I am on the "activity name" "[modname] activity" page 

or

I am on the "activity name" "[modname] activity" page logged in as "user"

work fine.

Some of failing behats are fixed in [https://tracker.moodle.org/browse/MDL-71209 MDL-71209]

For example:

And I am on the "Test assignment name" "assign activity" page logged in as teacher1

instead of:

When I log in as "teacher1"
And I am on "Course" course homepage
And I follow "Test assignment name"