# Features

> Moodle is an active and evolving product. This page lists just some of the many features it contains:

> ### 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 admin user, defined during setup
> - Plug-in "themes" allow the admin to customise the site colours, fonts, layout etc to suit local needs
> - Plug-in activity modules can be added to existing Moodle installations
> - Plug-in language packs allow full localisation to any language. These can be edited using a built-in web-based editor. Currently there are language packs for over 43 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 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.
> - IMAP, POP3, NNTP: account logins are checked against a mail or news server. SSL, certificates and TLS are supported.
> - External database: any database containing at least two fields can be used as an external authentication source.
> - Each person requires only one account for the whole server - each account can have different access
> - An admin account controls the creation of courses and creates teachers by assigning users to courses
> - A course creator account is only allowed to create courses and teach in them
> - Teachers may have editing privileges removed so that they can't modify the course (eg for part-time tutors)
> - Security - teachers can add an "enrolment key" to their courses to keep out non-students. They can give out this key face-to-face or via personal email etc
> - Teachers can enrol students manually if desired
> - Teachers can unenrol students manually if desired, otherwise they are automatically unenrolled after a certain period of inactivity (set by the admin)
> - Students are encouraged to build an online 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 (eg posting dates, assignment due dates etc)
> - Every user can choose the language used for the Moodle interface (English, French, German, Spanish, Portuguese etc)

> ### Course management

> - A full teacher has full control over all settings for a course, including restricting other teachers
> - Choice of course formats such as by week, by topic or a discussion-focussed social format
> - Flexible array of course activities - Forums, Quizzes, Resources, Choices, Surveys, Assignments, Chats, Workshops
> - Recent changes to the course since the last login can be displayed on the course home page - helps give sense of community
> - Most text entry areas (resources, forum postings etc) can be edited using an embedded WYSIWYG HTML editor
> - All grades for Forums, Quizzes and Assignments can be viewed on one page (and downloaded as a spreadsheet file)
> - 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.
> - Mail integration - copies of forum posts, teacher feedback etc can be mailed in HTML or plain text.
> - 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.

> ### 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)

> ### Chat Module

> - Allows smooth, synchronous text interaction
> - 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

> - Like a poll. Can either be used to vote on something, or to get feedback from every student (eg research consent)
> - 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 teacher-only, course news, open-to-all, and one-thread-per-user.
> - All postings have the authors photo attached.
> - Discussions can be viewed nested, flat or threaded, oldest or newest first.
> - Individual forums can be subscribed to by each person so that copies are forwarded via email, or the teacher can force subscription for all
> - The teacher can choose not to allow replies (eg for an announcements-only forum)
> - Discussion threads can be easily moved between forums by the teacher
> - Attached images are shown inline
> - If forum ratings are being used, these can be restricted to a range of dates

> ### Quiz Module

> - Teachers can define a database of questions for re-use in different quizzes
> - Questions can be stored in categories for easy access, and these categories can be "published" to make them accessible from any course on the site.
> - Quizzes are automatically graded, and can be re-graded if questions are modified
> - 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 be shuffled (randomised) to reduce cheating
> - Questions allow HTML and images
> - Questions can be imported from external text files
> - Attempts can be cumulative, if desired, and finished over several sessions
> - Multiple-choice questions supporting single or multiple answers
> - Short Answer questions (words or phrases)
> - True-False questions
> - Matching questions
> - Random questions
> - Numerical questions (with allowable ranges)
> - Embedded-answer questions (cloze style) with answers within passages of text
> - Embedded descriptive text and graphics

> ### Resource Module

> - Supports display of any electronic content, Word, Powerpoint, Flash, Video, Sounds etc
> - Files can be uploaded and managed on the server, or created on the fly using web forms (text or HTML)
> - External content on the web can be linked to or seamlessly included within the course interface.
> - External web applications can be linked in 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

> ### 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
> - Very flexible with many options.

Moodle Documentation

Version: $Id$