MoodleBites for Developers Level 1

Updated for Moodle 3.x+ !

What do others say having taken this course...

"I was really enjoying the challenges that the course provided." (Anonymous feedback)

"Will definitely recommend this course to others and look at doing other courses in the future." (Anonymous feedback)

"At the end of the day - great course, fun and interesting and thanks for putting it together so well." (Anonymous feedback)

If you are interested in Moodle development, but do not have a background in development, experience with php, and experience in development environments, then this MoodleBites for Developers Level 1 is for you !  It will give you a gentle introduction to Moodle development, and provide a good grounding should you wish to progress to the MoodleBites for Developers Level 2 course at a later time.

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

  • 1st February
  • 1st August

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

This is an 8 week entry level course on Moodle development. It is focused on building new plugins. After successfully completing this course

  • You will be able to create new plugins from templates or from existing plugins.
  • You will be able to customize the content of Moodle sites by customizing themes and overriding renderers.
  • You will be able to use simple debugging tools and understand important aspects of the Moodle API including internationalization, capabilities and roles and outputting HTML.
There are no live sessions, but participants are encouraged to participate in forums and to post the results of their practical assignments for others to see and learn from.

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 1 is USD $599 per person at this time we are able to offer a discount to a special rate of USD $499 but places are limited - so book early to avoid disappointment!

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 (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 interest in development and Moodle Administrators. This course is not suitable for the average Teacher using Moodle.

Course outline


Pre-requisites: Participants should have: a good knowledge of Moodle, some knowledge of PHP / HTML / CSS and Javascript, and a fearless attitude !

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
    • Your development environment
    • Customising Moodle without plugins
    • Debugging and getting help
  • Week 2
    • Localizing and language strings
    • Anatomy of a plugin
    • Building a block by renaming an existing one
  • Week 3
    • Setting up a page for display
    • Moodle global objects
    • Adding an admin settings page
  • Week 4
    • Using Git with Moodle
    • Moodle command line tools
  • Week 5
    • Renderers
    • Using the html_writer class
    • CSS in Moodle
  • Week 6
    • An introduction to Moodle forms
    • Moodle and the Database
  • Week 7
    • Moodle Permissions and Capabilities
    • Moodle ATTO editor plugins I
  • Week 8
    • Moodle Atto editor plugins II
    • Installing Javascript development tools
    • Using Grunt and Shifter
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 will need to become familiar with their own Operating System and development environment. We cannot answer in-depth 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: Wednesday, 11 January 2017, 11:53 AM