This is the existing Moodle Development Course as of 2018.
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.
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.
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.
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.
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.
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.
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.
In this course, you will explore and become familiar with the components that make up Moodle LMS. You will also get an opportunity to explore different parts of Moodle's codebase. Through a set of hands-on exercises, learners will create two Moodle plugins - a text filter and block - and learn how Moodle's permission and internationalisation systems work.
This course is designed for developers who want to start developing MoodleNet packages and contribute to the MoodleNet community.