Case for Moodle

Revision as of 13:41, 17 September 2007 by Tim Hunt (talk | contribs) (Philosophy)

Jump to: navigation, search


Moodle is open source software. This is something that your average person is not aware of so finding out that it is 'free' tends to lead immediately to the assumption of 'cheap'. The first thing to do is find out what Open source really is and understand its consequences, namely that:

  • Although the software is free (as in 'free beer'), this does not mean that the company producing it is not making a lot of money 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
  • These rights mean that a community of enthusiasts has developed who report bugs, fix bugs, test new code and write new code for plugins and extensions. This means that you have the efforts of the company + the efforts of the community going into it.
  • Open source tends therefore to be more secure, more stable and to develop faster than equivalent closed source software


Cultural

Support

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 blue icons wherever you see then (almost all fields on forms and many other places) gives you access to the main help files that come with the distribution
  • Moodle Docs (this site) is built by the community and is not only available to browse, but each page you see in Moodle has a link at the bottom, which goes to the corresponding documentation on 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 moodle.org 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
  • Paid for suport contracts and service level agreements - moodle.com 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

Customisation

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. This, combined with the huge community means that there are an enormous number of third party plugins available so that you can add functionality that is non-standard e.g. support for sending text messages, podcasting, new types of quiz question, 3D molecule models, etc). You can also commission a programmer (see moodle.com if you need one) to make any extra plugin or alteration you like, which if you post it up on moodle.org, others may well improve further for you.

Philosophy

Moodle is based on a solid foundation of [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.

Innovation

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 thing 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.

Usability

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 Amazon.com.

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.


Technical

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.

Scalability

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. The largest live Moodle installation at time of writing (Open Polytechnic of New Zealand) handles 45,000+ students and 6,500+ courses registered. There is a page about other large installations.

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 should be 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 setting, to improve the service without major disruption.

Interoperability

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/export of Reusable Learning Objects packaged according to the SCORM / IMS Content Packaging standards.
    • Quiz questions can be exported in the international standard IMS QTI 2 format.
    • RSS newsfeeds can be integrated into a Moodle site or course.
    • Forum discussions 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.

Stability

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.

Security

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 http://security.moodle.org

See also