Here is a list of resources that helped me get started in Moodle development. I've even put together a few articles of my own to share covering topics like Getting Started in MoodleGit for Moodle Developers in Windows and Upgrading Moodle packages for Windows (XAMPP Control Panel, PHP, phpMyAdmin, Apache, MySQL)

[Updated: This is an updated version of an article that was originally published on October 25, 2013]

Moodle Development Environment

Code Editors

I have also tested a number of source code editors on Windows including Atom, Brackets, Notepad++ and Sublime Text v2 and v3. I don't recommend using Atom. While a nice editor, it slows to a crawl when editing some of Moodle's larger files that can be upwards of 250KB at times. This is important because much of Moodle's development documentation is in the source code. In Atom, a single keystroke can take up to several seconds to happen.

Notepad++ is super fast and my text editor of choice for most work. The down side is that Notepad++ can't effectively use XDEBUG PHP tracing on larger source code files.

Brackets and Sublime Text ($) aren't quite as fast however their advantage is that plugins are available which are specifically targeted to help Moodle development. I think Sublime Text is a little faster. I have yet to try either of these with XDEBUG.

As for NetBeans, once you've got it configured properly with XDEBUG, it works almost perfectly though it is slower than a native Windows application because it needs to run in a Java virtual machine.

I have yet to try the following popular alternatives:

  • phpStorm ($) --  Besides being is Java based, it can take a little getting used to the user interface.
  • phpDesigner ($) -- a native Windows application.

Moodle Development Books

The only Moodle 2.0 development book I know of is called "Moodle JavaScript Cookbook". Unfortunately I don't know of any other books. Maybe the fact that Moodle 2.7 will be an LTS version will encourage authors to publish books.

Moodle Programming Courses

Introduction to Moodle 1.8 Programming -- Important note: Moodle 2.x has some important different from 1.8. That being said, I found it very helpful to go through this course. It is unfortunate that it was never updated for Moodle 2.x.

Introduction to Moodle Programming by Tim Hunt

Moodle Documentation for Developers

Useful Moodle Related Online Development Tools

More to come…

Have a resource you'd like to see added? Drop me a comment!

Best regards,

Michael Milette