MoodleBites for Developers Level 1 a technical course but gentle introduction for those who wish to start developing code for Moodle.  It is a technical course using HTML, PHP, and Javascript. For course fees, start dates, and other information please see the full course outline.

In which we introduce HRDNZ, the course and set some expectations.  In this first week we install a new block and examine its basic files and the code inside.  We also discuss the way Moodle handles different languages and implement a language file.

In Week 2 of the course we talk about page setup and administration settings and give you some simple tasks to do.  As always the week ends with a scenario lesson.

This week is a busier week with a number of quite important concepts to master.  We will briefly introduce Moodle forms and a block instance settings form.  This week also covers Moodle's extensive capabilities, roles and permissions systems.  We will prevent unwanted access to our block's pages.

This week we focus on the important topic of Moodle renderers and Mustache templates.  Modern Moodle code uses these extensively in contrast to the older mixed html, css and php approach or the use of special classes such as html_writer which we met briefly in week 3.


This week covers the Data API and how forms are processed in Moodle to read and write data.  We also look at adding a new type of page to our block and introduce the use of local classes and class autoloading.

This week we expand out blocks capabilities by adding some size buttons on the view page.  These will leverage our current code and allow the viewer to change the size of the iFrame on the view page.  We will add the links using a Mustache partial.  In this week we will also take a quick look at modifying Moodle's navigation system. 

In this week we will briefly examine the Moodle implementations of JavaScript via YUI and AMD.  We will write some JavaScript functions to get familiar with the concepts.

We will also look at further Bootstrap 4 examples which will efficiently leverage the JavaScript already embedded in Moodle to provide additional features which might otherwise require custom code.

This week includes:

  • Adding an event.
  • Catch-up.
  • Extended tasks.
  • Final questions.
  • What to do next.

This area is for successful MoodleBites for Developers Level 1 participants to access a Certificate of Completion, and download a Badge.