International Developer Logo Last Updated 25.07.08 at 11.48
On Sale
This months front cover, click to see the table of contents.
Subscribe
 
TUTORIALS

Online Course Management with Moodle


  05.10.06

Moodle is a course management system (CMS – not to be confused with the more commonly used version of the acronym, Content Management System). Written in PHP, Moodle is a fully extensible platform that will work with a wide variety of database vendors. To achieve this portability, Moodle utilises the ADODB database abstraction layer, which currently supports MySQL, Postgres, Oracle, MS SQL Server, Informix Sybase and several others. In this tutorial, we quickly run through the installation procedure for deploying a new Moodle system. With the system up and running, we then take a look at extending Moodle by developing a new interactive DHTML module for the system.

Installation

For this demonstration, we will use Moodle 1.6 with MySQL. The minimum MySQL version is 4.1.16, although version 5 is also supported. The PHP installation must be version 4.3.0 or later compiled with both the GD and FreeType 2 libraries. These are used to create thumbnails and perform other graphic manipulation on the server. Other recommended PHP libraries are zlib, mbstring and, of course, mysql. Note that LDAP authentication is also supported and the relevant module must also be installed as part of PHP.

Moodle will run on Windows, Linux and Mac OS using a handful of Web server applications. We will use Apache in this tutorial. With a functioning Web server configured for PHP and MySQL, download the Moodle archive from moodle.org and unzip it into a subdirectory of the Web server root. Under Windows, this might be C:\inetpub\wwwroot\moodle or C:\apache\htdocs for instance. Next, open a browser pointing to the install.php file in the moodle directory (eg: http://localhost/moodle/install.php). The Moodle configuration wizard will take you through the server configuration, database connection details and check that all the necessary extensions are loaded. Once complete, you will be asked to agree to the GPL licence and then the database script will be executed. Within a couple of minutes, you should find yourself on a page like the accompanying screenshot where the various application parameters are configured.

 

Configuration

The majority of the configuration options can be left at the default values, although there are a couple of exceptions. Firstly, all the locale and timezone settings should be set appropriately. Secondly, there are a few settings in the operating system options that should be reviewed. The dbsessions option allows all the PHP session variables to be stored in the database instead of the PHP session cache. This is particularly important for server farms and load balanced environments where users may be directed to different servers while navigating the site. Choosing to store session data in the database ensures that session variables set on one server are available to another. For Linux servers, it is also important to set the file paths for the zip, unzip and du commands. If the server connects to the Internet via a proxy, it will also be necessary to enter the proxy host and port values in this section. Moodle uses the open source PHPmailer class for managing email messaging, and the Mail configuration section is where the SMTP server and login details are specified. Most of the other configuration options relate to Moodle behaviour and can be modified later if necessary.

After saving the configuration options, a few more screens are used to install the rest of the database scripts before landing on the site settings page. This is where you specify the name and description of the site as well as a few basic options that can be left unchanged for now. Following this is the admin user profile page which, like all the preceding pages, can be updated later if required. Once a login and password have been provided, the browser will finally be redirected to the new Moodle home page.

For the most part, deploying a training site in Moodle can be done within the browser. Courses can be created, teachers can be assigned to courses and activities can be built for each course. Behind the scenes, each activity is an instance of one of the many Moodle modules. Modules exist for things such as assignments, lessons, books, surveys, quizzes, workshops, exercises, forums, journals, glossaries and chat sessions. For our site, however, we want to create an interactive puzzle that uses DHTML drag-and-drop. To this we need to build a new activity module.




   Previous Page  1 2 3 4 5 6 7 8 9 10 ... Next Page   

HAVE YOUR SAY
This article is rated  Rate this article