Our Developer learning pathway, planned for launch in 2022, will build upon the fundamentals covered in Moodle Plugin Development Basics. The pathway will help PHP developers to get familiar with Moodle development essentials and set themselves up to contribute to Moodle’s open-source community. 
 Read more about the Developer pathway.

This course is designed for developers who want to start developing MoodleNet packages and contribute to the MoodleNet community.

Estimated learning time: 2 hours
Level: Beginner
In this course, you will identify how the Moodle app works and how it is different from a Moodle LMS site. The course will cover how to make plugins compatible with Moodle app. Learners will get hands-on practise on adding mobile app support to existing Moodle plugins.
Estimated learning time: 2 hours
Level: Intermediate

This course will provide an overview of the new user experience introduced in Moodle 4.0. It will cover the relevant API changes that developers need to be aware of. Learners will get hands-on practice in updating some Moodle 3.x plugins to make them compatible with Moodle 4.0.

Estimated learning time: 3 hours
Level: Intermediate

This course is designed for PHP developers who want to start developing Moodle plugins. You will learn about the Moodle developer community and set up a Moodle development environment. This is the first course in the Developer Pathway. Subsequent courses in the the Developer Pathway will build on the knowledge gained in this course.

Estimated learning time: 3 hours
Level: Beginner

This course builds on the knowledge gained in the Moodle development environment course. In this course, we learn how to use Moodle's Page and Output APIs to display content in a local plugin. An introduction to localisation using language strings is also covered in this course. This is the second course in the Moodle developer pathway.

Estimated learning time: 2 hours
Level: Beginner

In this course we take a deeper look at Moodle's modular architecture and explore the use of common Moodle APIs. Some of the APIs covered in this course include: Navigation, Forms, Database access, Upgrade, Strings and Output APIs. Learners get hands-on practise on using these APIs in the form of developing a local plugin.

This is the third course in the Moodle Developer Basics program. 

Estimated learning time: 3 hours
Level: Beginner

In this course we look at access control and security aspects of a plugin. Through a set of tutorials, you will learn how to control access to your plugin using Moodle’s Access API. You will learn how to define capabilities in your plugin and how to determine if the user has the permission to access a page. This course also covers common security threats that developers need to be aware of.

This is the fourth course in the Moodle Developer Basics program.

Estimated learning time: 2 hours
Level: Beginner

In this course you will learn about accessibility standards and understand why they are important. You will identify the accessibility best practices used in Moodle, and use Moodle API and functions to produce more accessible pages in your plugins.

This is the fifth course in the Moodle Developer Basics program.

Estimated learning time: 2 hours
Level: Beginner

In this course, you will learn about the different types of testing conducted in Moodle. The course will cover unit testing in greater detail. Learners will set up PHPUnit on their local Moodle development environment, and write a PHP unit test.

This is the sixth course in the Moodle Developer Basics program.

Estimated learning time: 2 hours
Level: Beginner