Case for Moodle

Jump to: navigation, search

Note: You are currently viewing documentation for Moodle 1.9. Up-to-date documentation for the latest stable version is available here: Case for Moodle.

Moodle is open source software. Many people do know about this type of software, so finding out that Moodle is 'free' tends to lead them to think it is "cheap" or unfinished or a "cut down" commercial product that lacks key features. For these people we ask them to first understand Open source software and its cultural influence and technical consequences in Moodle.

Open source software advantages

  • Free does not mean an open source program is crippled and is worth next to nothing.
  • Millions of people use open source software every day, often without even realizing it.
  • Although the software is free, this does not mean that the company producing it is not making a profit from it in other ways
  • You are guaranteed the right to copy, modify and redistribute the software, provided you guarantee those same rights to anyone you share it with
  • In a popular open source program, these rights have developed a community of enthusiasts who report bugs, fix bugs, test new code, write new code for plugins and extensions and create documentation for users.
    • This means that you have the efforts of the company + the efforts of the community working together to improve and develop the software.
    • There are few secrets in an open source community about current issues and the future.
    • Proprietary programs tend to communicate with their paying users though press releases and bug fixes, not in open discussions.
  • Open source tends to be more secure, more stable and to develop faster than similar proprietal software.
  • You can design and develop any functionality to advance your Moodle for yourself as you need it, if you want to.
  • You can share any advances in functionality you make or keep them to yourself - all without prejudice to the product, as long as you grant the same privilege to anyone who uses your advances if you decide to share.
  • The idea of free software should not give anyone the thought that is is without any cost, you still have to provide the right tools and environment for the software to run in, but this cost is exactly the same whether you use Open Source or proprietal software.
  • One area of cost saving can also be that other Open Source applications can be integrated into a system rather than paying additional fees for proprietal upgrades or "expansion packs".



Moodle's open source nature means that there are far more avenues for support available than is the case for other LMS systems.

  • Pop-up help - clicking the help icons wherever you see then (almost every field on forms and many other places) in a Moodle site, gives you access to the main help files that come with a Moodle distribution package
  • Moodle Docs (this site) is built and maintained by the community. It is not only available to browse, but each page on a standard Moodle site has a link at the bottom, which goes to the corresponding documentation in Moodle Docs. This saves you from having to create your own training materials or website in-house and lets you combine any information you wish to provide with the sum of all the knowledge already accumulated
  • Community forums - the Using Moodle course at has thousands of dedicated teachers and programmers who are active in conversations every week. You can ask a direct question, or browse all the archived conversations going right back to 2001. You can speak to other teachers or directly to Moodle's designers and programmers.
  • Books - Over 20 books have been published about Moodle in several languages by over 12 authors
  • Moodle conferences - Moodle user meetings that are held all over the world at different times by the community of Moodle users.
  • Commercial support services - There are many types of commercial services you can pay to have someone assist you. These can include support contracts and service level agreements. lists partner companies who will provide commercial support for your Moodle installation. Instead of having to rely on one company to solve your problems or provide training (an effective monopoly, as with other systems), you have a number of companies competing for your training and support business, leading to lower prices and more choice


  • Moodle's open source nature means that you own the system and have rights allowing you to change and modify it, rather than renting it 'as is', which is the case for many competing systems.
  • You can modify the code - we need to say it again. Most proprietary software systems protect, compile, hide and legally protect their product from being modified by others. While Moodle has many ways on the user interface side to modify it, the code and underlying database is there for you to tweak in any way you think will benefit your organization or better meet your need.
  • Contributed code - There are hundreds of free third party modules & plugins available so that you can add special functionality that is not part of the standard core code.
  • Pay for modification - you can also commission a programmer (see if you need one) to make any extra plugin or alteration you like to the standard code. And if you add it to the contributed code database, others may improve it further. Interest in a contributed code sometimes leads to it being included in the standard Moodle code package.


Moodle is based on a solid foundation of social constructionism (strong community, shared experiences, building things together for others to view and use) and grew out of postgraduate research by Martin Dougiamas, its founder. Other companies tend to be led by profit, leading to a focus on marketing to what school decision makers think they need, rather than what actually works best.


Moodle is not constrained by what will sell well, so the code that is developed, especially by third parties, is often at the cutting edge of educational thinking. The open source philosophy helps here too, as schools and universities often choose to have moodle enhanced for their own purposes and contribute their code back to the community. Recent examples include the new wiki, developed by a team at Universitat Politecnica de Catalunya and the new groups code developed by the UK Open University.


To support a host of automated and personalized services, such as self-paced and role-specific learning, the access, delivery and presentation of material must be easy-to-use and highly intuitive — like surfing on the Web or shopping on

Perhaps the best sentence to short Moodle usability is: "simple and powerful".

There is some talk about Moodle usability.

The Interface guidelines aim to help developers work towards a highly usable system. And the general consensus is that Moodle excels in this area.


High availability

The LMS must be robust enough to serve the diverse needs of thousands of learners, administrators, content builders and instructors simultaneously.

Usage patterns will vary strongly with the specific context of the deployment. But in general, Moodle presents a high-availability web-based interface, allowing learners, tutors, and administrators routinely to log in and carry out their daily tasks. See the scalability section for other relevant information.


The infrastructure should be able to expand or scale to meet future growth, both in terms of the volume of instruction and the size of the student body.

Moodle runs on a wide variety of webservers/database technologies. As with any installation of a server-based software system, it is crucial to refine carefully the choice of hardware, operating system, and database system, to ensure that the system can cope with a high throughput. Perhaps the oldest large Moodle installation, Open Polytechnic of New Zealand), handles 45,000+ students and 6,500+ courses registered. A current list of large installations is always expanding.

The consensus in the Moodle community seems to be that a Linux-based webserver running Apache, with PHP installed as well as a PHP accelerator, is commonly the best choice, and that the webserver and database server should sit on separate machines.

It is possible to load-balance a Moodle installation, for example by using more than one webserver if necessary. The separate webservers should query the same database and refer to the same filestore area, but otherwise the separation of the application layers is complete enough to make this kind of clustering feasible. Similarly, the database could be a cluster of servers (e.g. a MySQL cluster).

All this implies that Moodle's architecture makes it easy to respond to future demand, by adapting the technologies upon which it runs. This should be possible even in a live production setting, to improve the service without major disruption.


To support content from different sources and multiple vendors' hardware/software solutions, the LMS should exchange data using open industry standards for Web deployments.

  • For authentication, Moodle supports authenticating against LDAP, which is the most widely-used standard protocol for this purpose. It also supports authentication based on direct database lookup (e.g. in an external Oracle database), or on the Shibboleth protocol, or alternatively using IMAP, NNTP, CAS or FirstClass.
  • For enrolment, Moodle supports the use of an LDAP server (e.g. Active Directory), and the IMS Enterprise standard (via a downloadable plugin).
  • For content, there are a number of aspects:
    • Moodle supports the import of Reusable Learning Objects packaged according to the SCORM/AICC/IMS Content Packaging standards. Moodle 1.9.5 is certified SCORM 1.2 compliant. Moodle 1.9.7 onwards supports IMS Common Cartridge import.
    • Quiz questions can be exported in the international standard IMS QTI 2 and several other formats. And be imported from even more formats.
    • RSS newsfeeds can be integrated into a Moodle site or course.
    • Forum discussions, glossary entries and database content can be accessed as RSS newsfeeds, and therefore integrated into other RSS-capable websites or systems.

The use of XML for import/export is standard in Moodle. The "web services" method of exchanging data with other systems (e.g. via SOAP or XML-RPC) is not yet standard - but is in active development.


The LMS infrastructure can reliably and effectively manage a large enterprise implementation running 24x7.

This is the same issue as discussed in Availability and Scalability above.


As with any outward-facing collaborative solution, the LMS can selectively limit and control access to online content, resources and back-end functions, both internally and externally, for its diverse user community.

Moodle's current system of roles includes administrators, teachers, teachers without editing privileges (sometimes called teaching assistants), students, and guests. Each has a clearly defined set of privileges and cannot act beyond those privileges.

The basic unit of organisation is the course. An administrator can assign any number of teachers (with or without rights to edit content) to a given course, which has its own file area as well as its own discussions forums and other activities. Teachers can decide whether content is visible or hidden to students.

Moodle is designed and audited to be secure for its purpose. A security issues/announcements site exists at

See also

Using Moodle forum discussions: