From EduTech Wiki
Jump to: navigation, search

1 Introduction

Moodle is a popular LMS that is based on socio-constructivist concepts. The purpose of this page is to write down some tips and ideas about Moodle. It's neither and introduction nor a tutorial !

The reasons for its popularity relies in DSchneider's opinion on the facts that:

  • The underlying teaching model comes very close to the way "it is done" in a typical anglo-saxon graduate presential course, i.e. students are active participants, have to do a variety of sometimes open ended assignments, group work, have to use teacher-preparred resources, do quizzes, etc.
  • The system is quite stable and not too difficult to use.
  • It has a nice user community that increasingly contributes to extensions.

See also: LAMS (Lams can be integrated with Moodle)

1.1 Discussion

  • DSchneider doubts that a typical course found on a randomly chosen Moodle installation is truly socio-constructivist. They are most definitly not very constructionist, e.g. on-line student activity is often reduced to forum activities and uploads.
  • The system is a bit slow, though version 1.9 is faster than 1.7. Version 2.2 didn't bring great performance gains. On a many user system one should install a PHP caching system - Daniel K. Schneider April 2008 / Dec 2011.

2 Useful extensions

3 Installation tips

Moodle should install without any problem on all kinds of LAMP installations. Make sure that your PhP meets all the requirements.

3.1 Updating and installing

At TECFA, we frequently upgrade. To keep up with minor upgrades, it is best to work with their Revision control system. See Upgrading Moodle.

3.1.1 Using CVS (older Moodle installations)

(outdated, see GIT below)

To update a same version, type:

cvs update -dP

or to get a new specific version

cvs -Q update -dP -r The_Moodle_Version_you_need


cvs -Q update -DP -r MOODLE_22_STABLE

3.1.2 Using GIT

Newer installations are encouraged to use Git

In short, for a first time upgrade with GIT, save the old files

$ mv moodle moodle_old

Then clone into a directory called moodle

$ git clone git://          
$ cd moodle
$ mv ../moodle_old/config.php .
$ git branch -a                                                 
$ git branch --track MOODLE_23_STABLE origin/MOODLE_23_STABLE  
$ git checkout MOODLE_23_STABLE

To update within a stable branch (minor revisions):

$ cd /path/to/your/moodle/
$ git pull

To update to a new stable branch without backing up:

// check branches
git branch -a
// example for tracking new version and then updating
git branch --track MOODLE_26_STABLE origin/MOODLE_26_STABLE
git checkout MOODLE_26_STABLE
git pull

To update to a new stable branch with backing up:

// copy all the files (ajust to your installation directory)
cd moodle_install_partent_dir
sudo cp -rp moodle moodle_old
// (Optional) copy the data files (ajust to your installation directory)
cp -rp datadir datadir_old
// dump the database
mysqldump -u root -p moodle > moodle.sql

After that, do as above.

3.2 Reversing an update

(using git)

// E.g. revert from Moodle 3.0

git checkout MOODLE_29_STABLE

// repair the database (adjust db name and file name)

mysql -u root -p moodle < moodle.sql

3.3 PHP parameters

Memory and execution time

Make sure to allocate enough memory and execution time in php.ini, i.e. at least 128MB.

Type in a console:

php --info | grep php.ini

Then edit the configuration file shown. E.g. high values would be:

max_execution_time = 600     ; Maximum execution time of each script, in seconds
max_input_time = 600	; Maximum amount of time each script may spend parsing request data
memory_limit = 256M      ; Maximum memory

The make sure that there is no other php.ini override (e.g. in httpd.conf), type

php --info | grep mem
File upload

Also in php.ini

upload_max_filesize = 30M ; or whatever you find reasonable.

You also may have to hand edit file moodle/search/cron_php5.php and manually change the "ini_get" lines (for what strange reason I don't know)

If your Moodle is hosted with a provider

If you don't have console access, then deposit a file called test.php with contents:


and look at the page. It does the same as php --info. DELETE after usage or protect it.

4 Themes

Default themes, are incredibly bad. E.g. "Formal white" can't display the width of a serious grading rubric, links are difficult to see. One option is to redesign and that can take time that is better spent on something else (IMHO).

To make small fixes, create a user style sheet (Menu: Site Administration -> Appearance -> Themes -> [Selected Theme])

  • Scroll down and add something, e.g.
div.title {background-color:#E3DFD4;}
a:link {color:#00008B ;}
a:visited {color:#191970;}

Make sure to turn the CSS caching off while you test:

Menu: Site Administration -> Appearance -> Themes -> Theme Settings

5 LTI support in MOODLE

Starting Moodle 2.2 there is IMS LTI support in two ways.

  • The core activity plugin called either LTI> or External tool in older versions, allows to integrate LTI services. In other words, Moodle can connect to another system and let the user access services and contents transparently. This will require some setup.
  • The LTI provider plugin can turn Moodle into a LTI provide, e.g. you could provide access to full courses or activities from a remote system that has LTI support. Read Review: LTI Provider for Moodle 2.2 (needs to be installed)

5.1 LTI consumption with external tool

As explained in Moodle's external tool and external tools settings documentation, a teacher can add an external tool from their course page and an administrator can make an external tool available to all teachers on the site.

Adding a tool sitewide

Administrators can add an configure external tools.

(1) Find LTI Settings and add the external tool
Settings > Site administration > Plugins Overview, then click on LTI Settings (In older versions, select "External tool" instead of LTI)
Click on Add external tool configuration
MOODLE 2.6 LTI configuration (administrator)
(2) Configure the tools

You then configure new external tools. In order to do so, you should read the documentation of the external tool provider. You need to define a least

  • A local name for the tool
  • The URL of the tool

In addition you may have to define

  • A consumer key, i.e. a kind of username used to authenticate access to the tool.
  • A shared secret, i.e. password.

Under privacy, you can define if the launcher (i.e. Moodle student's ID and email) are forwarded to the tool and whether the tool can send grades back.

Added (active, pending or rejected) LTI modules then also can be seen here:

Settings > Site administration > Plugins > Activity modules > LTI

Adding a tool as teacher

  • Turn editing on
  • Add an activity or resource
  • Select External Tool

The following screenshot shows a minimalistic setup, i.e. the equivalent of a simple web link. Such an LTI is of course pointless. In order to make this work, the wiki should at least accept a user login and password, i.e. be an LTI provider.

MOODLE 2.6 LTI configuration (teacher)

One could try out LTI4Mediawiki developed by Learning Apps.

The same group also developed plugins for a dozen other applications, such as Joomal, Mahara, Elgg, and Wordpress (see below) This MediaWiki plugin allows Moodle users to connect to a MediaWiki and create/edit files within a Category that has the name of the Moodle course. Members of the same Moodle class will use the same Mediawiki login/pw if we understood right.

An other alternative: Tools integration (Moodle and MediaWiki via OKI, probably outdated).

5.2 Wordpress integration

To do/try out, see:

  • LTI4Wordpress (This is a IMS certified plugin for a Wordpress multisite).

5.3 List of external tools

6 Badges

Educational badges can be used in two contexts:

  • Class badges: Each teacher can create badges for a class.
  • System badges: Badges can be defined at the system level. These then also can be used by individual teachers, however this is quite cumbersome (read the FAQ). There are no prototype badges that a teacher could reuse. I.e. an enabled teacher can just award badges using the Site administration menu.


6.1 Use of badges

Badges can be given out automatically for course or activity completion (make sure that Completion tracking is enabled) or manually using the course or the site administration menu.

Badges can be uploaded by the receiver to the Mozilla Backpack by the users. You will have to create an account to do so.

Mozilla Backpack example showing a "help provider" badge that was created for testing purposes

6.2 Badge creation

Badge icon example

Badge creation is pretty similar at the site and at the course level. You will have to define

  • A name
  • A description
  • Criteria (manual by whom or automatic)
  • An icon. SVG pictures don't seem to work well. Therefore it may be better to create a PNG image. A height of 80 to 100 pixels should be enough, but keep the original in case you plan to make changes.

E.g. the following was created from two SVG drawings in (roughly) the following way with Inkscape:

  • Download Help, ungroup (several times), for the outer circle do stroke to path
  • Download hand, import, move behind the outer circle
  • Add the text. Use text path to align it to the circle.

7 Plugins

(documentation for some plugins ....)

7.1 Google drive

URLS at Google

URLs in your Moodle

  • admin/repository.php

... scroll down/search for Google Drive in the page

  • admin/plugins.php

8 Links

Help with Moodle
A more recent word from it's creator

9 References

  • Dougiamas, M. & Taylor, P.C., Interpretive analysis of an internet-based course constructed using a new courseware tool called Moodle, Curtin University of Technology, [1]
  • Philosophy (retrieved 16:40, 20 April 2006 (MEST))
  • Brendan Moloney,Timothy Gutierrez. (2006) An Enquiry into Moodle Usage and Knowledge in a Japanese ESP program. PacCALL Journal Volume 2 No. 1 Summer 2006, Pp. 48-60. pdf