MoodleBites for Developers Level 2

Updated for Moodle 3.x+ !

What do previous participants say about this course ... ?

  • 100% found it useful and interesting
  • 66% rated the course as Excellent
  • 100% thought the content was at the right level
(This feedback is genuine and was provided anonymously)

MoodleBites for Developers Level 2 is one of our technical courses.  It is not suitable for beginners, or those with no previous development experience.  However, if you are interested in an introductory level course for Moodle development, please review the MoodleBites for Developers Level 1 course.

Because this course is specialist, it runs just twice each year (numbers are limited, so please register in plenty of time):

  • 1st April
  • 1st October

This course is 8 weeks in duration, asynchronous, and completely online. Each week contains approximately 2-4 hours work, although this varies depending on your experience with Moodle and development in general, and how much extension work you wish to complete smile

It is an 8 week series of units focused on key areas of Moodle development. Each unit is comprised of tutorials, screencasts, documentation and practical exercises. There are no live classes, but participants are encouraged to participate in forums and to post the results of their practical assignments for the others to see.

OpenBadges logo

Justin HuntThe lead-facilitator for this course is Justin Hunt, well-known in the Moodle community for his outstanding contributions to Moodle including:

  • PoodLL - an extensive and integrated plugin suite of modules and filters that allows students to record audio or video, or draw/upload pictures as assignment submissions, with a repository, feedback, and questions types.
  • Genrico - a filter for handling code snippets
  • MyTube, YouTube Anywhere, and YouTube Submission Assignment - for handling YouTube content in Moodle in new and exciting ways.
  • Skim Import - converts notes exported from Skim PDF annotation tool into a format that displays nicely in Moodle.
  • Blog Export - portfolio plugin allows users to export certain activities and items to their own blog.


MoodleBites for Developers Level 2 is USD $950 per person at this time we are able to offer a discount to a special rate of USD $799 for 2016 but places are limited - so book early to avoid disappointment!  Also note that if you have previously completed MoodleBites for Developers Level 1 you can discount an additional $100! smile

International fee includes credit card fees and currency exchange fees (and no additional tax) - there are no hidden charges.

If you wish to translate this value to your local currency please visit: http://www.xe.com/

All invoices outside of New Zealand are in US Dollars USD$ (Euro invoices available by special request).

You can register for the course using the "Register Now" link on the Front Page.
This is a technical course, designed for people with some background in development. This course is not suitable for people who have no experience in development (please review MoodleBites for Developers Level 1).

Course outline

Course outline Pre-requisites: Participants should have some experience with PHP to get the most from the course. Since this is a course for developers, there will be a lot of code examples and weekly short programming assignments. Participants should have completed MoodleBites for Developers Level 1 or be familiar with the content covered there.

Technical requirements

  • A web server with Moodle 3.1 or greater installed
  • SSH or command line access to the server
  • If you have web server that you rent from bluehost, godaddy or similar services then you can use that for development. Or you can set up a web server on your windows or mac using XAMPP. See: https://www.apachefriends.org/index.html
  • The course author has also provided a “how to” guide for setting up a Moodle development environment on the free cloud IDE, cloud9. You can see that here: https://poodll.com/cloud9
  • Information on how to install Moodle on your server can be found here: https://docs.moodle.org/32/en/Installing_Moodle
  • It's OK to use the same server for several Moodle sites, but don’t try to develop on a production Moodle site.

In this course you will learn the basics of developing for Moodle, including:

  • Week 1
    • Introduction to the course
    • Your development environment
    • Git and this course
    • The Moodle activity module
  • Week 2
    • Working with classes
    • Automatic class loading
    • Moodle events
    • Moodle ad-hoc and scheduled tasks
  • Week 3
    • Generating HTML
    • Using the Moodle Output APIs
    • Using Mustache templates
  • Week 4
    • Forms and the database
    • Using Moodle forms
    • Using the Moodle database APIs
  • Week 5
    • Working with files
    • Understanding the Moodle file system
    • Using files with forms
  • Week 6
    • Javascript in Moodle
    • YUI and Atto plugins
    • AMD modules
  • Week 7
    • Before you ship code
    • Preparing plugins for install
    • Preparing plugins for update
    • Writing and running Behat tests
  • Week 8
    • Backup and Restore
    • Implementing backup in a plugin
    • Implementing restore in a plugin
There is no need to use a specific operating system, editor or IDE. The course is generic on these points and and aims at basic concepts that will be present in any OS or development environment. Since the course is neutral with respect to OS and development environment, effort has been made to ensure that the practical tasks and examples given are generally applicable. Anyone attending this course however should be familiar with their own operating system and development environment. We cannot answer questions specific to your own choice of OS and development environment.

Please note this course outline is subject to change to keep pace with Moodle development.

Last modified: Sunday, 7 May 2017, 8:46 PM