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


From MoodleDocs

This page requires updating for Moodle 2.0. Please do so and remove this template when finished.

Moodle is an active and evolving product. This page lists only some of Moodle's many features. We encourage you to click on links to learn more.

Overall design

Moodle's overall design:

  • Promotes a social constructionist pedagogy (collaboration, activities, critical reflection, etc)
  • Suitable for 100% online classes as well as supplementing face-to-face learning
  • Simple, lightweight, efficient, compatible, low-tech browser interface
  • Easy to install on almost any platform that supports PHP. Requires only one database (and can share it).
  • Full database abstraction supports all major brands of database (except for initial table definition)
  • Course listing shows descriptions for every course on the server, including accessibility to guests.
  • Courses can be categorised and searched - one Moodle site can support thousands of courses
  • Emphasis on strong security throughout. Forms are all checked, data validated, cookies encrypted etc
  • Most text entry areas (resources, forum postings etc) can be edited using an embedded WYSIWYG HTML editor

Site management

  • Site is managed by an administrator user
  • Site is defined during setup. Defaults can be edited during setup or globally accepted
  • Site can be modified by a robust Site administration block.
  • Plug-in "themes" allow the administrator to customize the site colors, fonts, layout etc to suit local needs
  • Plug-in activity modules can be added to existing Moodle installations
  • Plug-in language packs allow full localization to any language. These can be edited using a built-in web-based editor. Currently there are language packs for over 70 languages.
  • The code is clearly-written PHP under a GPL license - easy to modify to suit your needs

User management


  • Goals are to reduce admin involvement to a minimum, while retaining high security
  • Supports a range of user authentication mechanisms through plug-in authentication modules, allowing easy integration with existing systems.
    • Standard email method: students can create their own login accounts. Email addresses are verified by confirmation.
    • LDAP method: account logins can be checked against an LDAP server. Admin can specify which fields to use.
    • For example, IMAP, POP3, NNTP: account logins are checked against a mail or news server. SSL/TLS certificates are supported.
  • Students are encouraged to build an online Edit profile including photos, description. Email addresses can be protected from display if required.
    • Every user can specify their own timezone, and every date in Moodle is translated to that timezone (e.g. posting dates, assignment due dates etc)
    • Every user can choose the language used for the Moodle interface (English, French, German, Spanish, Portuguese etc)


  • After a user has been authenticated by the site or allowed in as a guest, they can self enroll in courses.
  • Courses can a limit enrollment in several ways. Student self enrollment can be turned off.
  • An "enrolment key" in a course, only allows certain students to enter. These keys can be give out face-to-face or via email and can be changed
  • Teachers, with permissions, can manually enrol students or unenrol students in their courses.
  • Course completion is a course prerequsite feature of Moodle 2.0 that allows scaffolding of courses.
  • Course and site settings have options for automatic removal of users
  • There are many Enrolment_plugins
    • Includes: LADP, IMS, Paypal, Moodle Network to name a few
    • Any External database that has least two fields can be used as an external authentication source
    • Flat file or CSV files can automatically authenticate and enroll students in specific courses
  • Each person needs only one account for the Moodle site. Each account can have access to different courses, and the courses resources and activities.
  • Meta courses get their enrollment information from 1 or more other courses.


  • Roles combine specific permissions for specific types of participants. A user can be assigned a different role for each contexts, such as a specific course.
  • The administrator (admin) user account controls the creation of courses and creates teachers by assigning users to courses and giving them a role in that context
  • New roles can be created, copied from existing roles and edited. Some standard roles include:
    • Course creator can create courses, teach in them, and assign others to teacher roles.
    • Teachers are a role in a specific course.
    • Non-editing teacher roles are available for adjuncts, and part-time tutors.
    • Students can participate and view activities but not create them
    • Guests are view only users.

Course management


  • Typically, a teacher has full control over all settings for a course.
    • This can include assigning other teachers roles with less privileges
  • Choice of Course formats settings such as by week, by topic or a discussion-focused social format
  • An individual course theme and layout can be created for any course.
  • Flexible array of course activities - Forums, Quizzes, Glossaries, Resources, Choices, Surveys, Assignments, Chats, Workshops
  • Groups - teacher(s) and students can be placed in one or more groups
  • Recent changes to the course since the last login can be displayed on the course home page - helps give sense of community
  • Content areas (things seen by students) have an HTML editor tool bar with many standard editing fuctions, including an html code view.
  • Mail integration - copies of forum posts, teacher feedback etc can be mailed in HTML or plain text. Users can set a preference for daily emails in their profile.
  • Custom scales - teachers can define their own scales to be used for grading forums and assignments
  • Courses can be packaged as a single zip file using the Backup function. These can be restored on any Moodle server.
  • Specific course activities and resources can be imported from another existing course
  • Conditional activities in Moodle 2.0 allow the teacher to set completion standards and conditions for entry into any specific activity, based upon serveral criterion.

Course reports

  • All grades for many kinds of activities can be viewed on one page (and downloaded in several formats).
  • Graded activities can be futher calculated or manually entered in the Gradebook which is seperated from the initial activity caluclation. Additionally categories of graded activities and display functions allow for custom reports.
  • Full user logging and tracking - activity reports for each student are available with graphs and details about each module (last access, number of times read) as well as a detailed "story" of each students involvement including postings etc on one page.

Assignment Module

  • Assignments can be specified with a due date and a maximum grade.
  • Students can upload their assignments (any file format) to the server - they are date-stamped.
  • Late assignments are allowed, but the amount of lateness is shown clearly to the teacher
  • For each particular assignment, the whole class can be assessed (grade and comment) on one page in one form.
  • Teacher feedback is appended to the assignment page for each student, and notification is mailed out.
  • The teacher can choose to allow resubmission of assignments after grading (for regrading)
  • Allowing resubmissions can allow the teacher to progress monitor student projects/assignments as they evolve.
  • Advanced assignments can allow multiple files to be uploaded. This could keep together preplanning maps, outlines, research papers and presentations. (Not for beginners)

Chat module

  • The Chat module allows smooth, synchronous text interaction
    • They can be limited to group members or roles, or be for anyone in the course
  • Includes profile pictures in the chat window
  • Supports URLs, smilies, embedded HTML, images etc
  • All sessions are logged for later viewing, and these can also be made available to students

Choice module

  • The Choice module is like a single question poll. Can either be used to vote on something, or to get feedback from every student
  • Teacher sees intuitive table view of who chose what
  • Students can optionally be allowed to see an up-to-date graph of results

Forum Module

  • Different types of forums are available, such as course news, open-to-all, one-thread-per-user and question/answers types.
  • Forum posts can be emailed in several ways, some controled by the student.
  • Posts can have the authors photo attached.
  • Discussions can be viewed nested, flat or threaded, oldest or newest first.
  • Robust subscription methods for each forum
    • Individual forums can be subscribed to by each person
    • Teacher can force subscription for all members of the course, either initially or permanently.
  • Groups features allow options for more entry and viewing limitations for students.
  • The teacher can choose not to allow replies to their posts (announcements).
  • Discussion threads can be moved between forums or split by the teacher.
  • Attachments can be made to posts and shown as part of message.
  • Forum ratings can be used. These can be restricted to a range of dates and included as part of a student's grade.

Glossary Module

  • The Glossary module is one of the modules that best illustrates the way that Moodle can fundamentally improve upon the experience of a traditional classroom
  • When students contribute to a course in a public place like the glossary, their ideas are given weight and attention and often result in a greater pride or ownership of the assignment
  • Allows participants to create and maintain a list of definitions, like a dictionary
  • Student entries can be previewed by instructors before publishing
  • Entries can be searched or browsed using alphabet, category, date, and author
  • A glossary of terms can be easily referenced by students
  • Almost any module of Moodle can be set to hyperlink - automatically - to any word or phrase that is stored in or added to the glossary
  • Glossary items can be grouped in categories
  • Participants can comment on glossary entries
  • Entries can be rated using teacher-defined scales
  • Glossaries can be easily exported and imported via xml
  • Glossaries can be fully searched
  • Glossaries can be viewed with different display formats

Lesson Module

  • A lesson is a single activity where a series of pages are presented to the student, usually based upon a student's choice.
  • Content seen by the student is created with Moodle's HTML editor tool.
  • Students make choices by their answers to questions or by selecting a button with a description. Their choices are linked to other pages in the lesson.
    • This allows for a simple slide show type of presentation, with content and questions.
    • It allows for a branching, adaptive presentation based upon a student's specific choice.
    • Navigation through the lesson can be straight forward or complex, logical or random.
  • Jumps are associated with each choice that link to other lesson pages.
    • Jumps can be to a specific page or to a random page or a page not seen by the student.
  • Choices that are answers to questions and can be scored and given individual feed back.
    • Question pages include Multiple choice, Multi-answer, T/F, numeric, short answer and essay.
  • Lesson settings offer the teacher many options such as:
    • Different scoring and grading potentials
    • Lessons can build upon each other through conditional dependencies upon one another
    • Student attempts, time limits, minimum score and retakes can be set for each lesson
    • Students may see progress bars, running score, and feedback on their answers.
    • Password, start and end times, and other restrictions can be placed on students.
  • Pages can be created one at a time or imported.

Quiz Module

  • There are many types of standard questions formats that can be used in the Quiz module. Quiz offers many scoring methods and ways to present itself to students.
  • Quizzes are automatically graded when a student finishes. An entire quiz or specific questions be regraded at any time, should the teacher change an answer's score.
  • There are many [[A

Quiz settings]] options, such as:

    • Quizzes can have a limited time window outside of which they are not available
    • At the teacher's option, quizzes can be attempted multiple times, and can show feedback and/or correct answers
    • Quiz questions and quiz answers can each be shuffled (randomised) to reduce cheating
    • Quizzes can be attempted multiple times, if desired
    • Attempts can be cumulative, if desired, and finished over several sessions
  • Questions are stored in categories that are part of a robust [[Question bank|database] for easy access.
    • Categories of questions can be arranged in the database so they can only be used in a specific quiz, or in a specific course or in any quiz on the site.
    • Edited questions can replace the orignial or become new questions in the database
  • Questions use HTML formatting, images and has a friendly tool bar in both the question and answer areas.
  • Questions can be imported or exported in many file formats.
  • There are more than 10 question types, each with different scoring methods, such as:
  • Quiz questions can come from specific question in a specific category or as a random questions drawn from a category. These can be mixed and matched to suit the teacher.

Resource Module

  • Resources can display of many types of media content files by a single link on the course page, such as:
    • Word, Powerpoint, Flash, Video formats, Audio formats
    • Internal web pages (HTML formatted) can be created with HTML editor tool
    • Internal Text pages (no formatting)
    • Files can be stored locally or the link point to remote locations
  • Files can be uploaded and managed (zipped, unzipped, renamed, moved) in the course
    • Folders can be created and managed in the course and students given a link to the folder via a resource link.
    • File handling in Moodle 2.0 has a File picker that is associated with specific resources or activities, allowing uploads from server, private, recent or on the fly. Files have attributes for author and license/copyright.
  • content on the web can be linked to or seamlessly included within the course interface.
    • External web applications can be linked to with data passed to them

Survey Module

  • Built-in surveys (COLLES, ATTLS) have been proven as instruments for analysing online classes
  • Online survey reports always available, including many graphs. Data is downloadable as an Excel spreadsheet or CSV text file.
  • Survey interface prevents partly-finished surveys.
  • Feedback is provided to the student of their results compared to the class averages

Wiki Module

Workshop Module

  • Workshop module allows peer assessement of documents, and the teacher can manage and grade the assessment.
  • Supports a wide range of possible grading scales
  • Teacher can provide sample documents for students to practice grading
  • Being redone for Moodle 2.0


Moodle has better actual user support than most higher priced course management software programs. Support comes in a variety of robust forms to meet the varied needs of a larger user base. Some examples:

  • Moodle documentation. You are reading one of many pages
  • Many active forums and courses to provide help, tips and friendly encouragement
    • Over 70 user forums in English
    • Even more in other languages
    • A social forum for not necessarily Moodle related threads
  • Special user group Moodle courses, with forums, demonstrations and FAQs
  • Tracker for bugs, issues and new features requests
  • Demonstration courses - in many languages showing different looks and presentation methods with a standard Moodle.
  • Books - we have our favorites and there are many books on and about Moodle
  • Moodle Partners can also provide you with focused help for your site or project