Moodle Cron

Although it is not an obvious part of the installation of Moodle, setting up Cron is very important when it comes to Moodle. For example, some emails are sent out immediately while others are scheduled and only sent out when cron runs. Other things that are often affected by Cron jobs are report generation. Eventually, if you never run cron, your Moodle site will also stop working so it is important to make sure that this is setup properly. This happened to one of our clients. They had their own people do the installation and they skipped the step of setting … Continue reading

Creating Multilingual Moodle Content With mlang Tags

My experience with the Moodle LMS has involved dealing mostly with multilingual sites. Unfortunately there are still many core Moodle plugins and third party plugins and themes that still do not support multilingual content. However the situation is improving with each code release. One Moodle plugin which has made life a lot easier when implementing multilingual courses is the Multi-linugual Content (multilangsecond) filter by Vanyo Georgiev. Unlike the core HTML based Multi-language Content filter plugin that comes bundled with Moodle, multilangsecond has a non-HTML syntax that enables you to wrap your content in plain text language markup tags like {mlang en}Hello{mlang}{mlang fr}Bonjour{mlang}. Entering these tags require no knowledge … Continue reading

Showing Students their Student ID in Moodle

Many people don’t realize that Moodle generates ID’s for every student on the site. Unfortunately there is built-in way to show students their ID. The easiest way to show students their student ID in Moodle without any programming is to use a 3rd party Moodle plugin called Configurable Reports. It is usually used to generate reports in Moodle but can easily be adapted to just provide students with their ID. Here is an example of how you would go about using this plugin. Install the Configurable reports plugin. Login as a site administrator. Go to the Front Page and turn on … Continue reading

Developers – How to get started in Moodle development

For developers just getting started in Moodle development, testing and fixing 3rd party Moodle plugins which are not currently supported the latest version of Moodle is a great way to get started on your way to learning how Moodle works. These plugins often just need simple fixes, updates to deprecated API calls and stuff like that. Start by browsing through the list of 3rd party plugins and choose a plugin that is of interest to you. If you think it would be useful for you, chances are there are others who would think so too. Next contact the author before you start just to make sure … Continue reading

Sending Custom Emails in Moodle Using the email_to_user() Function

You can send custom emails from within Moodle using PHP using your own forms using the email_to_user() function. By the way, did you know that Moodle actually uses the open source PHPMailer behind the scenes? A typical call to Moodle’s email_to_user() function would look like: email_to_user($toUser, $fromUser, $subject, $messageText, $messageHtml, “, “, true); This is a very simple version of a very powerful function. For more information about the email_to_user() function, take a look at the source code for function email_to_user in Moodle’s /lib/moodlelib.php. Tips for Using email_to_user() $toUser and $fromUser must be Moodle user objects, not email addresses. The stdClass object must contain a … Continue reading

Upgrading Moodle packages for Windows (XAMPP Control Panel, PHP, phpMyAdmin, Apache, MySQL)

Moodle 2.3 to 2.6.1+ for Windows comes with pieces of XAMPP 1.7.4. Although it works well, the version of PHP that comes included with it is buggy, lacks some key features for development such as a modern control panel and phpMyAdmin. Here is how you can fix some of the problem and upgrade your environment. Upgrading PHP What prompted me to look into this was that Apache was constantly crashing and the following message appeared my Apache error log: [notice] Parent: child process exited with status 3221225477 — Restarting. Here is how to upgrade PHP: Download PHP 5.3.29 — be … Continue reading

Git for Moodle Developers on Windows

The Git for Developers page on is pretty helpful in getting you started in developing for the Moodle LMS platform. However if you need to use Git on Windows for your Moodle development, there are some differences as the Git for Developers page often assumes you are using Git on Linux. This page summarizes how Moodle developers can use Git on Windows to create fixes and patches for Moodle core code however much of it could be applied to other open source projects on GitHub. This article covers the following topics: Setting Up Your Moodle Development Environment Configuring Git … Continue reading