Course

Coming Soon

Moodle Plugin Development By Example

A comprehensive introduction, using examples, to plugin development for Moodle, the world’s leading learning environment, for PHP developers.

Get A Discount Coupon

In recognition that developer incomes vary from region to region, if you are a developer working outside the ‘developed world’, e.g. Africa, South Asia (Afghanistan, Bangladesh, Bhutan, India, Nepal, Pakistan, Sri Lanka and the Maldives) you will be able to claim a discount coupon for this course. See discount rates here.

Course Pre-requisites

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

Course Content - Under Development

Lesson content subject to change whilst course under development.

Each lesson will be 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: Development Guidelines, Development Essentials & Authentication
  • Develop an Authentication Plugin
  • File API
  • Advanced File Form Elements
Lesson 3: Site Home Page, Dashboard and Blocks
  • 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 Admin Settings
  • Develop a Report Plugin
  • Admin Settings API
  • Events API and Logging
  • Navigation API
  • Page API
  • Output API
Lesson 5: Courses Formats & File API and file form elements
  • Develop a Course Format
  • File API
  • Advanced File Form Elements
Lesson 6: Users, Roles and Enrolments, Data Manipulation API and Testing
  • Develop an Enrolment Plugin
  • Grouping, Groups, and Cohorts
  • Users, Roles and Enrolments
  • Enrolment API
  • Data Manipulation API
  • Acceptance and Unit Testing
Lesson 7: Submissions, Feedback, Grading & Sub-plugins
  • Develop an Assignment Feedback Plugin
  • Sub-plugins
  • JavaScript Framework
Lesson 8: Webservice & External Services APIs
  • Develop an External Service (web service) Plugin
  • Web Services API
  • External Functions API
Lesson 9: Local Plugins, Repositories & Consuming Webservices
  • Develop a Local Plugin
  • Task API
  • Develop a Repository Plugin
Lesson 10: Modules – Activities and Resources
  • Develop A Resource Module plugin
  • Data Definition API,
  • Database Manager Class and the XMLDB Tool
  • Upgrade API
  • Form API Revisited
Lesson 11: Modules – Activities and Resources (cont)
  • Develop A Resource Module plugin (cont.)
  • Third-Party Libraries incl. Zend and PEAR
  • Caching API
  • Activity backups and restores
Lesson 12: Other Plugin Development Information & Roundup
  • Other Plugin Development Information
  • Roundup