"Moodle Plugin Development By Example" Online Course

This course is now FREE of charge - NO signups - NO email addresses

Powering hundreds of thousands of learning environments globally, Modular Object-Oriented Dynamic Learning Environment, aka Moodle, is used by institutions and organisations large and small across both academic and enterprise spheres making it arguably the world’s most widely used learning platform.

This online course aims to give beginners and non-Moodle PHP developers a comprehensive introduction to developing plugins for the platform.

Course Pre-requisites
  • Intermediate PHP web development skills
  • Working Moodle 3.11 development instance - see install docs here

Each video lesson is approximately 1 hour long.

Lesson 1: Moodle, Learning Environments and the Development Environment
  • Course Welcome
  • What is a Learning Environment?
  • Moodle Tour
  • Moodle plugin development environment
  • Development Tools
Lesson 2: Authentication Plugins, Development Essentials & Guidelines
  • Develop an Authentication Plugin
  • Moodle Development Guidelines
  • Plugin Required Files
  • String API
  • Moodlelib API
  • Class Autoloading and Namespaces
  • Privacy API (GDPR)
  • Dev Tools and Development Guidelines
Lesson 3: Site Home Page, Dashboard and Blocks, Form API & Custom Scripts
  • Develop a Block Plugin
  • Access API
  • Roles, Permissions, and Capabilities
  • Form API (Part 1)
  • Custom Scripts – When Plugins Won’t Do
  • Site Backup
Lesson 4: Reports and the Output APIs, Events and Testing
  • Develop a Report Plugin
  • Events API and Logging
  • Navigation API
  • Page API
  • Output API
  • Unit and Acceptance Testing
Lesson 5: Courses Formats & File API and file form elements
  • Develop a Course Format
  • File API
  • Advanced File Form Elements

Start Now

Lesson 6: Groups, Users, Roles and Enrolments, Data Manipulation API and Completions
  • Develop an Enrolment Plugin
  • Grouping, Groups, and Cohorts
  • Users, Roles and Enrolments
  • Enrolment API
  • Data Manipulation API
  • Course and Activity Completions.
Lesson 7: Sub-plugins, Activity Submissions & Feedback
  • Develop an Assignment Feedback Sub-plugin
  • Admin Settings API
  • JavaScript Framework
Lesson 8: Webservice, External Services APIs and Data Formats
  • Develop an External Service (web service) Plugin
  • Web Services API
  • External Functions API
  • Develop a data format plugin
Lesson 9: Local Plugins, Repositories & Consuming Webservices
  • Develop a Local Plugin
  • Task API
  • Develop a Repository Plugin
Lesson 10: Modules – Activities and Resources, Database Manipulation & Third Party Libraries
  • Develop a resource module plugin
  • Data Definition API
  • Database Manager Class
  • Upgrade API
  • Form API Revisited
  • Third Party Libraries
Lesson 11: Modules – Activities and Resources (cont), Caching, Course Backup and Restores
  • Develop A Resource Module plugin (cont.)
  • Caching API
  • Module backups and restores
Lesson 12: Custom Course Fields, Additional Plugin Development Information & Round-up
  • Develop a radio buttons custom course field
  • Round-up
  • Plugins
  • Publishing/releasing plugins
  • Moodle jobs
  • Moodle developer forum
  • Course Conclusion