Welcome to the Moodle 2.6 Documentation¶
- Getting Started for Administrators
- Getting started for Teachers
- Getting started for Students
Table Of Content¶
About Moodle¶
Moodle is a software package for producing Internet-based courses and web sites. It is a global development project designed to support a social constructionist framework of education.
Moodle is provided freely as Open Source software (under the GNU General Public License). Basically this means Moodle is copyrighted, but that you have additional freedoms. You are allowed to copy, use and modify Moodle provided that you agree to: provide the source to others; not modify or remove the original license and copyrights, and apply this same license to any derivative work.
The word Moodle was originally an acronym for Modular Object-Oriented Dynamic Learning Environment, which is mostly useful to programmers and education theorists. The heart of Moodle is courses that contain activities and resources. There are about 20 different types of activities available (forums, glossaries, wikis, assignments, quizzes, choices (polls), scorm players, databases etc) and each can be customised quite a lot. The main power of this activity-based model comes in combining the activities into sequences and groups, which can help you guide participants through learning paths. Thus, each activity can build on the outcomes of previous ones. There are a number of other tools that make it easier to build communities of learners, including blogs, messaging, participant lists etc, as well as useful tools like grading, reports, integration with other systems and so on.
Moodle is used by a variety of institutions and individuals, including Universities, High schools, Primary schools, Governmentdepartments, Healthcare organisations, Military organistaions, Airlines, Oil companies, Homeschoolers, Independent educators Special educators
Moodle Key Features¶
Moodle is a free, online Learning Management system enabling educators to create their own private website filled with dynamiccourses that extend learning, any time, anywhere. Whether you’re a teacher, student or administrator, Moodle can meet your needs.
If you are an Administrator, you can...
- Authenticate and enrol your users in over 50 ways.
- Create an attractive, mobile-friendly learning environment with themes which can integrate with your website.
- Bulk upload and delete courses and create course templates.
- Enhance your Moodle with add-ons that you can update from inside your site.
- Sign up to Community Hubs such as Moodle.net to share free courses.
- More Advanced Features
If you are a Teacher, you can...
- Drag your favourite teaching resources straight onto the page.
- Search for and embed multimedia
- Award badges
- Direct your students’ learning path.
- Get your students working and learning together in forums, wikis, glossaries and more.
- Assess and feedback with self-grading quizzes.
- Set them inididual, group or anonymously graded assignments with a marking workflow and rubrics.
- Annotate students pdf submissions directly in the browser.
- Provide opportunities for them to peer and self assess in workshops.
If you are a Student, you can...
- Manage your files through file picker.
- Track your progress in your course.
- Create your own personal dashboard.
Moodle Site - basic structure¶
The Front page¶
The Front page of a Moodle site - the page you reach from your browser - usually includes information about the establishment itself and can be highly customised. (Note that it is also possible to lock the front page down so that all a user sees when they click on the Moodle URL is a log in screen.) How users join a Moodle site depends on the establishment: they might be given logins; they might be allowed to make accounts themselves, or they might be signed in automatically from another system.
Inside Moodle¶
Moodle’s basic structure is organised around courses. These are basically pages or areas within Moodle where teachers can present their learning resources and activities to students. They can have different layouts but they usually include a number of central sections where materials are displayed and side blocks offering extra features or information. Courses can contain content for a year’s studies, a single session or any other variants depending on the teacher or establishment. They can be used by one teacher or shared by a group of teachers. How students enrol on courses depends on the establishment; for example they can self -enrol, be enrolled manually by their teacher or automatically by the admin. Courses are organised into categories. Physics, Chemistry and Biology courses might come under the Science category for instance.
Teachers, students and other Moodle users¶
You don’t enter Moodle with the “teacher” or “student” role. Everyone who logs into Moodle has no special privileges until they are allocated roles by the administrator according to their needs in individual courses or contexts.
Finding your way around¶
A logged in user can access areas of Moodle such as their courses or profile from the Navigation block and Administration block. What a user sees in these blocks depends on their role and any privileges granted them by the administrator. Each user has their own customisable page, accessed from the My home link.
Getting Started in Moodle¶
Administrators¶
Site Setup¶
This document will show you how to setup a moodle site.
Moodle Installation¶
Moodle is primarily developed in Linus using Apache, PostgreSQL / MySQL / MariaDB and PHP .
Basic Requirements
Sever Hardware¶
Specific hardware requirements for your project will depend on the volume of anticipated concurrent users and should be discussed with your team IT team if you are hosting the server yourself, or company with whom you are hosting. As minimum are:
Disk space : 160MB free (min) plus as much as you need to store your material. 5GB is probably a realistic minimum.
Memory : 256MB (min) , 1GB or more is strongly recommended. Moodle can support 10 to 20 concurrent users for every 1GB of RAM
Server Software¶
Operating System : A linux based system is recommended for high performance. Example- CentOS, Redhat, Ubuntu, Debian, Mac OS X . Moodle can also be installed on Window 7 / 2012
Web server : Apache is recommended . Others also wok such as IIS, lighttpd, nginx, cherokee, zeus and LiteSpeed.
PHP : Minimum version is 5.3.3. recommended PHP 5.5 and newer if available.
Database : Minimum versions of following -
- MySQL - version 5.1.33 (mostly recommended)
- PostgreSQL - version 8.3 (mostly recommended)
- MariaDB - version 5.3.5 ( drop-in replacement for Oracle’s MySQL)
- MSSQL- version 9.0 (fully supported but documentation and online help are not as comprehensive)
- Oracle - version 10.2 (not recommended)
Browser : Mimimum browser for accessing Moodle: recent firefox, Internet Explorer 9, Safari 6, recent Gooogle Chrome 11 .
Set up your server¶
Depending on your particular choices of software set up your basic server . If you are using a hosted server all this should be done for you by your hosting provider.
Download and copy files into place¶
- Download your required version from http://download.moodle.org/ and unzip it .
- Then place the whole folder in your web server documents directory, in which case the site will be located at http://yourwebserver.com/moodle , or you can copy all the contents straight into the main web server documents directory, in which case the site will be simply http://yourwebserver.com .
- Secure the Moodle files: it is vital that the files are not writeable by the web server user. Files are owned by administrator / superuser and are only writeable by them, readable by everyone else. If you want to use built-in ad-on installer you need to make the directory writeable by web server user.
Create an empty database¶
Create a new, empty database for your installation. You need to find and ake a note of following during information for final installation stage :
- dbhost - the database server hostname. Probably ‘ localhost ‘ if the databse and web server are the same machine, otherwise the name of the database server.
- dbname - the database name. Whatever you called it example - moodle .
- dbuser - the username for the database.
- dbpass - the passowrd for the above user
Create the data (moodledata) directory¶
Moodle requires a directory to store all of its files (all your site’s uploaded files, temporary data, cache, session data etc.). The web server needs to be able to write to this directory. So create a directory and set the permissions for anyone on the server to write here.
Start Moodle Install¶
- Go to your Moodle’s main URL using a web browser.
- The installation process will take you through a number of pages. You should be asked to confirm the copyright, see the database tables being created, supply administrator account details and supply the site details. The database creation can take some time - please be patient. You should eventually end up at the Moodle front page with an invitation to create a new course.
Technical Specification¶
Sever Hardware¶
Specific hardware requirements for your project will depend on the volume of anticipated concurrent users and should be discussed with your team IT team if you are hosting the server yourself, or company with whom you are hosting. As minimum are:
Disk space : 160MB free (min) plus as much as you need to store your material. 5GB is probably a realistic minimum.
Memory : 256MB (min) , 1GB or more is strongly recommended. Moodle can support 10 to 20 concurrent users for every 1GB of RAM
Server Software¶
Operating System : A linux based system is recommended for high performance. Example- CentOS, Redhat, Ubuntu, Debian, Mac OS X . Moodle can also be installed on Window 7 / 2012
Web server : Apache is recommended . Others also wok such as IIS, lighttpd, nginx, cherokee, zeus and LiteSpeed.
PHP : Minimum version is 5.3.3. recommended PHP 5.5 and newer if available.
Database : Minimum versions of following -
- MySQL - version 5.1.33 (mostly recommended)
- PostgreSQL - version 8.3 (mostly recommended)
- MariaDB - version 5.3.5 ( drop-in replacement for Oracle’s MySQL)
- MSSQL- version 9.0 (fully supported but documentation and online help are not as comprehensive)
- Oracle - version 10.2 (not recommended)
Browser : Mimimum browser for accessing Moodle: recent firefox, Internet Explorer 9, Safari 6, recent Gooogle Chrome 11 .
Managing a Moodle Site¶
A user with the role of Administrator is typically in charge of a Moodle site once it has been installed, although some tasks may be delegated to others by assigning them a role such as Manager. The links below provide more information about how to manage your Moodle site.
- Authentication - different methods of adding new users to your Moodle
- Managing accounts - how to search for, edit, delete or perform bulk actions on users
- Enrolments - different methods of adding users to courses.
- Roles and permissions - how to add or remove permissions from students, teachers and other users on your Moodle
- Security - how to keep your Moodle safe
- Performance - ways to check the efficiency and smooth running of your Moodle
- Backup - how to backup your site and courses
- Site appearance - ways to change the display and navigation of your site
- Language - how to add new languages and alter the default terms used.
- Server settings - registration, maintenance and default settings
- Site-wide reports - a list of useful reports for administrators
- Admin tools - a list of useful tools, such as DB search and replace and database transfer
- Developer tools - how to debug your site, purge caches and tools for test sites only
- Web services - how to connect other systems to Moodle to perform operations
- Community hubs - search for, download, enrol in or add your own courses to public directories.
- More features - Blogs, Comments, Tags, Messaging, Notes, RSS feeds, Calendar
Advanced Features¶
The advanced features in Administration > Site administration > Advanced features contains a number of features that may be enabled / disabled globally by the site administrator.
Outcomes

Outcomes are specific descriptions of what a student has demonstrated and understood at the completion of an activity or course. Each outcome is rated by some sort of scale. Other terms for outcomes are Competencies and Goals.
They are similar to sub components of a grade. A grade is an assessment of overall performance that may include tests, participation, attendance and projects. Outcomes assess specific levels of knowledge through a series of statements, that maybe coded with numbers or letters. Thus an overall grade can be given for a course, along with statements about specific competencies in the form of outcomes.
Comments

A comments block can be added to any page in Moodle, enabling users to easily add comments. A similar interface enables comments to be added to glossary, database activity and blog entries. The comments interface uses AJAX so that comments are added instantly without needing a page refresh.
Tags Functionality

Tags allows students and teachers to describe their interests in a way that is easy for people with similar interests to find them. The user’s profile has a place to enter interests, which will create or add the user to an existing tag. Tag pages can be viewed and blog posts can be tagged.
Notes

The Notes feature is a way to attach information about a user by another user. For example, a teacher might attach a note to a specific student about the hobbies and interests that seems to engage that student.
Users must have the permissions to View notes and Manage notes in order to use this feature in any context. Thus students might be allowed to view or even manage notes within a course.
Portfolios

Portfolios in Moodle make it easy for a student to export their work to an external portfolio. For example, student work might include forum posts or assignment submissions that they believe demonstrates their knowledge.
Web Services

Web services enable other systems to login to Moodle and perform operations.
Messaging

Messaging refers both to automatic alerts from Moodle about new forum posts, assignment submission notifications etc, and also to conversations using the instant messaging feature.
Notification email override

For allowing users to enter a different email address in Administration > My profile > Messaging .
Statistics

If statistics are enabled for the site, graphs and tables of user activity may be generated.
RSS feeds

RSS (really simple syndication) feeds in Moodle enable people to stay up to date with forum posts, glossary entries and other events within Moodle.
Blogs

Blogs in Moodle are user based - each user has their own blog. Users can also register their external blogs, such as Blogger or Wordpress, so that entries are automatically included in their Moodle blog.
Networking

The Moodle network feature allows a Moodle administrator to establish a link with another Moodle or a Mahara site and to share some resources with the users of that Moodle.
Completion tracking

Completion tracking is a process that assists Course completion and Activity completion features. It must be enabled in Advanced settings before it can be used anywhere in the site.
Conditional access

Conditional activities enable teachers to restrict the availability of any activity or even a course section (in Moodle 2.3 onwards) according to certain conditions such as dates, grade obtained, or activity completion. When it is enabled by the administrator, a “Restrict access” setting appears in the settings of activities or resources .
Plagiarism plugins

Plagiarism is when a student submits content they have copied and the real author was not given credit for the words. Plagiarism prevention detects when this form of cheating or academic dishonesty has happened.
Badges

Badges are a good way of celebrating achievement and showing progress. Badges may be awarded based on a variety of chosen criteria and are fully compatible with Mozilla Open Badges. They are displayed on a user’s profile.
Upgrading¶
Upgrade from Moodle¶
You can only upgrade to Moodle 2.6 from Moodle 2.2 or later. If upgrading from earlier versions, you must upgrade to 2.2 first .
Check the requirements - Check that your server meets all requirements for 2.6 in Administration > Site administration > Server > Environment.
Before you upgrade your site for real - We advise that you test the upgrade first on a COPY of your production site, to make sure it works as you expect.
Backup important data - The three should be backed up:
- Moodle software (For example, everything in server/htdocs/moodle)
- Moodle uploaded files (For example, server/moodledata)
- Moodle database (For example, your Postgres or MySQL database dump)
Put your site into maintenance mode - You should put it into maintenance mode to stop any non-admin users from logging in.
Install the new Moodle Software - Steps to follow:
- Move your old Moodle files to another location.
- Unzip the Moodle package there so that all new files are in the location the old fles used to be in on the server.
- Copy your old config.php back to the new moodle directory.
- If you have any custom plugins, themes, add-ons on your site you should add them to the new code tree now.
Finishing The upgrade - Last step to follow:
Enter the moodle URL in your browser.
Then go to Administration > Site administration > Notifications.
Moodle will automatically detect the new version and file systems upgrades that are necessary. If there is anything it can’t do itself then you will see messages telling you what you need to do.
Automatic Update Deployment¶
An administrator can enable updates deployment in Administration > Site Administration > Server > Update notifications. Then when updates are available, ‘Install this update’ buttons are shown on Plugins overview and Plugins check pages.
Assignment Upgrade Helper¶
Assignment upgrade tool
The Assignment upgrade tool is an administrator tool for upgrading assignments in Moodle 2.2 and older to the new assignment module in Moodle 2.3 onwards. It is recommended that admins upgrade all existing assignments to use the new assignment module as soon as possible, then disable the old assignment module (called ‘Assignment 2.2’ in Moodle 2.3 onwards), to avoid the confusion of having two assignment modules.
Upgrading assignments
To upgrade existing assignments to use the new assignment module
- Go to Administration > Site Administration > Assignment Upgrade Helper.
- Click List assignments that have not been upgraded to display a list of assignments created in a previous version of Moodle. This page lists the assignments created with an older version of Moodle that have not been upgraded to the new assignment module in Moodle 2.3. Not all assignments can be upgraded - if they were created with a custom assignment subtype, then that subtype will need to be upgraded to the new assignment plugin format in order to complete the upgrade.
- Select the assignment(s) you wish to upgrade and click the Upgrade selected assignments button in the Batch operations box at the bottom of the screen. Or click the Upgrade all assignments button in the Batch operations box.
- Confirm by clicking Continue.
A confirmation screen will appear.
Disabling the old assignment module
Once all existing assignments have been upgraded, the old assignment module can be disabled.
- Go to Administration > Site administration > Plugins > Activity modules > Manage activities
- Hide the Assignments 2.2 module by clicking on the eye in the hide/show column
Teachers will then have only the new assignment module available for selection in the activity chooser.
Question Engine Upgrade Helper¶
The question engine upgrade helper is an admin tool for sites which have been upgraded from a pre-Moodle 2.1 version. Moodle 2.1 onwards uses a new question engine. A site administrator can run the question engine upgrade helper in Settings > Site administration > question engine upgrade helper.
Note: You can reset any quiz that has been converted and then re-do it, but you should only do that if you have a good reason to do so and you don’t have to.
Users¶
Accounts¶
An administrator can perform various tasks relating to user accounts in Administration > Site administration > Users > Accounts. The links below provide more information:
Browse list of users¶
An administrator can browse and search the list of all user accounts in Settings > Site administration > Users > Accounts > Browse list of users.
Administrators can search for a particular user, using their name or email address as the search term, and then edit their profile. Editing a user’s profile is a way to reset the user’s passwords when they are unable to log in. Another reason for needing to edit a user’s profile is to disable their email address if the site is receiving lots of undelivered mail.
If you are using Email-based self-registration and a user has a problem confirming their account, you can confirm their account for them by clicking the confirm link opposite their name.

All of the columns in the browse list may be sorted in alphabetical (or numerical) order either ascending or descending, by clicking on the column heading. Your first column click sorts the user data A-Z, the second click sorts the data Z-A.
You can search for users, using particular criteria or Filters. These criteria can be configured to display data as per the following limits:
- contains
- doesn’t contain
- is equal to
- starts with
- ends with
- is empty
For example, if you wished to search for all users with Abhinav in their First Name or Last Name you would enter ‘John’ in the Full name filter and select the ‘contains’ limit.
Clicking the Show Advanced button will provide you with additional search Filters and data limits. The Filters under the Advanced area will also include any custom user profile fields that have been created within your Moodle installation
After applying a Filter to a user search, click the Add Filter button to run the user search. All Filters applied to the search are listed above the search results. You can add or remove (using the corresponding tickbox) Filters to your search criteria as required. These filters are saved within a single Moodle session.
Bulk user actions¶
The bulk user actions feature in Settings > Site administration > Users > Accounts > Bulk user actions enables administrators to select users by creating a filter and then perform any of the following actions:
- Confirm user accounts created through Email-based self-registration which are not yet confirmed by the user
- Send a message (requires Messaging to be enabled)
- Delete user accounts
- Display a list of users on a page
- Download user data in text, ODS or Excel file format
- Force users to change their passwords
- Add users to a cohort

To perform a bulk user action
- If you know them, choose your users from the available list or else click Show Advanced to create a filter.
- Users can be filtered according to full name, surname, first name, email address, city/town, country, confirmed, first access, last access, last login, username, authentication. (Screenshot 1 below)
- If you have set a custom profile field, this is available too from the “Profile” dropdown box (Screenshot 2 below)
- Select users from the list.
- Choose an action from the dropdown menu (Screenshot 3 below)
- Click the Add filter button.
- Select in the box on the left those users you require and move them to the box on the right.
- From the dropdown box With selected users, choose the action you wish to perform and then click Go.

Add a new user¶
An administrator or manager can create new user accounts in Administration > Site administration > Users > Accounts > Add a new user.

Username - The user will use this username to log into the Moodle. It should be unique.
Authentication method - Accounts created by an administrator use the Manual Accounts method, and accounts created by the user themselves using the email sign-up method use the E-mail based self-registration method.
Suspended account - Suspended user accounts cannot log in or use web services, and any outgoing messages are discarded.
Generate password and notify user - Moodle will generate a temporary password and email the user with instructions on how to log in and change it. The email message (as in the screenshot below)may be changed in Site administration > Administration > Language > Language settings. Select ‘moodle.php’ and the string identifier newusernewpasswordtext
Password - This is the user’s password.
First Name - The user’s first name.
Surname - The user’s surname.
Email address - Password reset notices, forum digests and other messages are sent to this email address from the Moodle site.
Email display - This setting controls who can see the user’s email address.
Email format - This setting can be used such that Moodle will send text-only emails to the users.
Email digest type - This setting set whether the user will receive an email for each new forum post in subscribed forums, or if new posts should be sent once per day in a digest, and which type of digest.
- No digest (one receives individual emails),
- Complete (a single digest daily) or
- Subjects (a single digest daily with only the post topics included).
Forum auto-subscribe - If a user subscribes to a forum, new posts will be sent in the digest as specified. This setting sets whether a user is automatically subscribed to forums or if a manual click on the subscription button in each forum is required.
Forum tracking - This setting specifies whether new posts written since the user’s last visit should be highlighted a such.
When editing text - This setting specifies whether the user prefers to see the WYSIWYG text editor or just a plain text box.
City / town - The user’s city or town.
Country - The user’s country.
Timezone - This setting is used to adjust the times of messages and assignment/quiz due dates to match the user’s local time.
Preferred language - This will cause the Moodle interface to be displayed in the specified language. Note: Content will not be translated automatically, but if multi-language content is entered the appropriate language content will be displayed, if available.
Description - Information about the user that other users can see.
The user’s picture can be displayed next to the user’s name, to any content he/she has posted in Moodle activities such as forum.
Here you can fill additional names if you required.
The list of interests can be used as a way of connecting users with similar interests. Tags must be enabled on the site.
These include: Web Page, ICA number, Skype ID, AIM ID, Yahoo ID, MSN ID, ID number, Institution, Department, Phone, Mobile Phone, Address.
User profile fields¶

Administrators can create new user profile categories and fields in Administration > Site administration > Users > Accounts > User profile fields.
Profile fields may be a menu of choices, text area, text input or a checkbox and may be required or not.
New profile fields will appear on each user’s profile page unless “Who is this field visible to?” is set to “Not visible” in which case only the administrator can see the field. The fields can also be displayed on the signup page if “Display on signup page?” is set to “Yes” (although note that they will never be displayed if set to “Not visible”).
You can set the order in which your custom profile fields appear under the associated profile category using the up/down arrows on the User profiles fields page.
To create a new profile field, select the profile field format you require from the dropdown list.
All new fields must be given a unique Short Name and a Name (this is displayed on the profile page). You may also choose to enter a Description for the field for your own reference. There are also a number of configuration options common to all custom profile field types:
Is this field required? This option specifies whether this is a mandatory or optional field for user accounts.
Is this field locked? This option determines whether once information is populated in this field, it cannot be edited by the user.
Should the data be unique? If you need the information populated in your field to be unique across the system (such as an ID number) select Yes to this option and the profile page update will perform a validation check on the data entered.
Display on signup page? Depending on the authentication method in use on your Moodle site, you may have some users creating their own accounts. If you would like this custom field to appear on the registration or signup page, select Yes.
Who is this field visible to? Each custom field can be given one of three visibility settings:
- Visible to everyone
- Not visible
- Visible to user
The Not visible setting would typically be set by an administrator who wants to hold private data on the users. The Visible to user setting would normally be selected for a field that holds sensitive information, while the Visible to everyone setting can be used for any type of information.
There are also a few field type Specific Settings requiring configuration around default value and size.
Important
If the site administrator bulk uploads user data via .csv file, it is essential to use the correct convention to represent the new profile field. The convention is profile_field_shortname
Replace ‘shortname’ with the actual short name used for the new profile field eg. dob. So the field should read something like profile_field_dob.
Also, you will need to visit Administration > Site Administration > Users > Accounts > User Profile Fields > Create new Profile Field before attempting to upload a file using it. Creating an upload file first with custom profile fields without creating the User Profile Fields first in Site Administration will result in the error .
Cohorts¶
Cohorts, or site wide cohorts, enable all members of a cohort to be enrolled in a course in one action, either manually or synchronised automatically.
Cohorts can be created by site administrators and other users with appropriate permissions.
- Access Administration > Site administration > Users > Accounts > Cohorts
- Click the Add button
- NOTE In the dropdown you can choose between making your cohort available throughout the site “system” or in a named category.
- Complete the details and save the changes.
- Follow the assign link opposite the cohort name in the list of available cohorts.
- Select potential users from the list then click the Add button.
To synchronise cohort members with course participants, the Cohort sync enrolment plugin should be enabled in Administration > Site administration > Plugins > Enrolments > Manage enrol plugins.
- Access Administration > Site administration > Users > Accounts > Bulk user actions
- Find users by setting an appropriate filter
- Add users from the available list to the selected list
- Choose ‘Add to cohort’ with selected users
An administrator can upload users via CSV file to existing cohorts as follows:
- Access Administration > Site administration > Users > Accounts > Upload users
- Upload a text file with the following format:
username | password | firstname | lastname | cohort1 | |
---|---|---|---|---|---|
john | user*123 | John | Teacher | john@example.com | first |
tanisha | user*123 | Tanisha | Student | tanisha@example.com | second |
Where first and second are the cohort ids of existing cohorts not their names.
When a site has a large number of cohorts, keywords may be enetered into the search cohort box to search for the available cohorts.
Cohorts which have been created for a category rather than the system can be located by selecting the appropriate category and then clicking the Cohorts link in Administration > Category (name) > Cohorts.
Upload users¶
An administrator can upload multiple user accounts via text file in Administration > Site administration > Users > Accounts > Upload users.
Steps to be followed:
- Create file for uploading.
- Go to Settings > Site administration > Users > Accounts > Upload users
- Add file to upload
- Upload users preview - check settings and default user profile settings
- Upload users preview - click “Upload users”
- Upload users results - shows list of users, exceptions made in upload and summary of number of users
- Upload users results - click “Continue”
- Returns to Upload users screen
You can use a spread sheet program to create the file with the required columns and fields. Then save the file as “CSV (comma delimited)”. These files can be opened with simple text editors for verification.
File can include the following:
Required fields : username,firstname,lastname,email
Validity checks are performed for:
- username can only contain alphabetical lowercase letters , numbers, hypen ‘-‘, underscore ‘_’, period ‘.’, or at-sign ‘@’
- email is in the form: name@example.com .
Password field : “password” field is optional if “Create password if needed” setting is chosen (default).
- If included, values should meet the requirements for the site’s Password policy. To force password change for a particular user, set the password field to changeme.
- If omitted, a password will be generated for each user (during the next Cron job) and welcome e-mails sent out.
- Note: the text for the welcome e-mail is in the language settings. Please refer to this forum threadfor details.
Optional fields : To provide values other than the default include one or more of these
institution,department,city,country,lang,auth,timezone,idnumber,icq,phone1,phone2,address,url,description,mailformat,maildisplay,htmleditor,autosubscribe
Additional name fields
Country : use a country TWO LETTER CODE
Custom profile field names : (Optional). xxxxx is the real custom user profile field name (i.e. the unique shortname)
profile_field_xxxxx
Special fields : Used for changing of usernames or deleting of users
oldusername, deleted
Enrolment fields (Optional) : course1,type1,role1,group1,enrolperiod1,enrolstatus1/course2,type2,role2,group2,enrolperiod2/enrolstatus2 etc.
Cohort field (Optional) : cohort1
Upload user pictures¶
Every user on Moodle is able to have their own personal profile picture (or “avatar”) which can be uploaded via their profile. If no picture has been uploaded then the default is shown.
Users can update their picture by editing their user profile in Settings > My profile > Edit profile.
- TThere is a delete box when checked will delete the picture when the profile is saved.
- TThere is a browse button for the user to find and upload a picture file.
- TThe picture description appears when the mouse rolls over the picture.
An administrator can upload a zip file containing user images in Settings > Site administration > Users > Accounts > Upload user pictures.
- The image files should be named after the username, the idnumber or the id of the student (along with the correct image file extension.) For example, a student with the username jbrown98 would have a picture called jbrown98.jpg
- TImage types supported include gif, jpg, and png.
- TImage file names are not case sensitive.
An administrator can enable the use of gravatars in Settings > Site administration > Users > Permissions > User policies. If a user has not uploaded a user picture, Moodle will check whether the user’s email address has an associated gravatar and if so, will use the gravatar as the user’s picture.
Permissions¶
User Policies¶
This is where you can select what actions are taken in specific role circumstances, for example, if someone wishes to sign in as a guest the default role allocated to that person can be specified.
The following settings may be changed by an administrator in Administration > Site administration > Users > Permissions > User policies.

Role for visitors Users who are not logged in to the site will be treated as if they have the role specified here, granted to them at the site context. The role of Guest is the default and the recommended setting for standard Moodle sites. The user will still be required to login to participate in an activity.
Role for guest This option specifies the role that will automatically be assigned to the guest user. This role is also temporarily assigned to non enrolled users when they enter a course that allows guests without password.
Deny Guest Access to a site altogether Go to Site administration > Plugins > Authentication > Manage authentication and there is a switch there that allows you to turn the Guest Access button off altogether.
Default role for all users It is recommended that the default role for all users is set to Authenticated user. To set it to a custom role, the custom role must be assignable in the system context and have role archetype set to none.
Auto-login guest If not set, then visitors must click the “Login as a guest” button before entering a course which allows guest access.
Note: If auto-login guest is set, the guest login button also needs to be set to show (in Administration > Site administration > Plugins > Authentication > Manage authentication), even though visitors won’t necessarily use it.
Hide user fields The following user fields appear on users’ profile pages. Certain user fields are also listed on the course participants page. You can increase student privacy by hiding selected user fields. Description, city/town, country, web page, ICQ number, Skype ID, Yahoo ID, AIM ID, MSN ID, last access, My courses and first access and groups.

Show user identity Any of the following fields may be shown to users with the capability moodle/site:viewuseridentity when searching for users and displaying lists of users.
- ID number
- Email address
- Phone number
- Mobile phone
- Department
- Institution
This setting is useful for sites with large number of users, where the likelihood of users with the same name is high.
Maximum users per page You can choose here the maximum number of users to be displayed when searching in courses, groups, cohorts etc. The default is 100 but if your Moodle site is very large you can increase the number here.
Enable Gravatar Gravatar (an abbreviation for globally recognized avatar) is a service for providing globally unique avatars.
Gravatar default image URL If gravatars are enabled, an alternative default user picture may be specified. The options are:
- A gravatar default image.
- A specified image - by entering the image URL
If the field is left empty then the theme’s default user picture is used.
Site Administrators¶
Site administrators have permissions to do anything.
Users may be assigned the role of site administrator by another site administrator in Administration > Site administration > Users > Permissions > Site administrators, but the role itself cannot be edited (or deleted!).

Note: The primary administrator (created when the site was created) cannot be removed from the site administrator role.
Define Roles¶
A role is a collection of permissions defined for the whole system that you can assign to specific users in specific contexts. The combination of roles and context define a specific user’s ability to do something on any page. The most common examples are the roles of student and teacher in the context of a course.
For example, you may have a role called ‘Trainer’ set up to allow trainers to do certain things (and not others), once this role exists you can assign it to someone in a course to make them a ‘Trainer’ for that course. You could also assign the role to a user in the course category to make them a ‘Trainer’ for all the courses under that category, or assign the role to a user just in a single forum, giving that user those capabilities just in that forum.
Permissions¶
You have three permission levels for each task
Allow: The role is assigned in the stipulated context.
Prevent: By choosing this you are removing permission for this capability, even if the users with this role were allowed that permission in a higher context.
Prohibit: This is rarely needed, but occasionally you might want to completely deny permissions to a role in a way that can not be overridden at any lower context. A good example of when you might need this is when an admin wants to prohibit one person from starting new discussions in any forum on the whole site. In this case they can create a role with that capability set to ‘Prohibit’ and then assign it to that user in the site context.
Managing roles¶
Managing overall role capabilities can be done by an administrator using Settings > Site administration > Users > Permissions > Define roles. This is the place to add custom roles or modify existing roles.
The ‘Manage roles’ tab contains a list of roles on your site. The Edit column contains icons for editing and deleting roles, and for moving them up or down in the list (affecting the way that roles are listed around Moodle).

To edit a role:
- Go to Settings > Site administration > Users > Permissions > Define roles.
- Click the edit icon opposite the role you want to edit. For example “student”.
- On the editing role page, change permissions as required for each capability.
- Scroll to the bottom of the page and click the “Save changes” button.
To add a new role:
- Go to Settings > Site administration > Users > Permissions > Define roles.
- Click ‘Add a new role’ on the ‘Manage Roles’ page.
- On the ‘Add a new role’ page, give the role a name.
- Give the role a meaningful short name, the short name is necessary for Moodle plugins they refer to the system roles.
- Give the role a description (optional).
- You can base a new role on the permissions set for an existing role, so that you do not start from scratch. Select from the Legacy role type option to do this.
- Set the required permissions.
- Click ‘Add a new role’ to save your new role.
To reset a role back to the default permissions:
- Go to Settings > Site administration > Users > Permissions > Define roles.
- Click on the name of the role, for example “student”.
- Click the ‘Reset to defaults’ button.
Note that if you have students who have been given extra permissions at course and/or activity levels (such as forum ratings), then they will no longer be able to do this once the role has been reset to its default. A teacher would need to go back and set up these extra permissions in the course/activity levels again.
The “Allow role assignments” tab allows (or does not allow) a specific role to be able to assign specific roles to a user.

Enabling teachers to assign other teachers
By default, teachers can only assign other users the roles of non-editing teachers, students and guests. If you want teachers to be able to assign other teachers in their course, you can allow the role assignment:
- Click on Settings > Site administration > Users > Permissions > Define roles.
- Click the Allow role assignments tab.
- Click the checkbox where the teacher row and column intersect.
- Click the “Save changes” button.
The “Allow role overrides” tab allows (or does not allow) a specific role to be able to override specific roles for a user. For example, it might allow a teacher role to override a student’s role to a non-editing teacher’s role. Note : Note that the settings only apply to roles that have the capabilities moodle/role:override or moodle/role:safeoverride allowed.
The “Allow role switches” tab allows (or does not allow) a specific role to be able to temporarily change their role to another specific role. For example, this might allow a users assigned to a custom role in a course to see “Student” in the Settings > Switch role list.
Note: the selected role must also have the moodle/role:switchroles capability to be able to switch.
Assign System Roles¶
You are here Administration > Site Administration > Users > Permissions > Assign System Roles .
In Moodle users do not normally have a global, site-wide role. In other words in Moodle you may have a teacher role in the course you teach in but a studentrole in another course.
Role assignment is within a defined context - for example site and course. When you create a new role or edit a pre-existing role via Site Administration > Users > Permissions > Define roles, you are asked in which context(s) you want the role to be assigned.
- Administration > Site Administration > Users > Permissions > Assign system roles
- Any roles assigned here apply to the whole Moodle site.
- Administration > Site Administration > Front Page > Users > Permissions > Assigned roles
- Those with a role in the system context do not need to be assigned a role here as well.
- However you might want to allow a teacher to manage items on the front page; in this instance, you would assign them the role on the Front page.
- See Category enrolments
- Users may be enrolled in the category to save enrolling them in each individual course in that category.
- Go to Administration > Course administration > Enrolled users
- Click the “Enrol users” button and click those users you wish to enrol
The dropdown menu at the top shows roles for which you are allowed to enrol; typically those users with lower roles than you.
- (Within the block) Administration > Assign roles
- You may wish to assign roles to a block if, for instance you want specific people to see the block but for it to be hidden from others
- (Within the activity settings) Administration > Locally assigned roles
- An example of this is assigning a student the teacher role locally in an individual activity like a forum so they can moderate their classmates’ posts while still retaining the student role in the rest of the course.
- The most common use of this is for the Parent role.
- When the Parent role is created via Administration > Site administration > Users > Permissions > Define roles the “user” context box is checked.
- To assign a parent the role in the context of their child (so they can see their child’s grades etc) click the child’s profile and then go to Administration > Roles > Assign roles relative to this user
By assigning a role to a user in a certain context, you grant them the permissions contained in that role for the current context and all lower contexts.
The list of contexts in hierarchical order is as follows:
- System (no parent)
- Front page (parent = system) -
- Course category (parent = parent category or system)
- Course (parent = category or system)
- Module (parent = course or system)
- Block (parent = course or system)
- User (parent = system)
Roles can be inherited. For example if a user is assigned a Teacher role in a specific course category then the user will have this role in ALL courses within the category. Tip: use the override feature in a specific context for exceptions.
Roles will only work if the role assignment is made in the correct context. Some examples: a Teacher role should be assigned to a user in the course or course category context, a Forum moderator for a particular forum should be assigned in that specific forum.
Check System permissions¶
You are here Administration > Site administration > Users > Permissions > Check system permissions .
The check permissions feature provides a method to view the capabilities for a selected user based on their role assignments. These capabilities determine whether or not the selected user is allowed to perform associated tasks within the system or course.
- Enter the user’s name into the ‘Search’ field and press Enter.
- Select the correct user from the list.
- Click ‘Show this user’s permissions’.
- A list of all permissions for the selected user is displayed.
Note: Use the filter to search the permissions list.

Capability Overview¶
You are here Administration > Site Administration > Users > Permissions > Capability Overview
An administrator can generate a capability overview report in Site Administration > Users > Permissions > Capability report.
The report allows the administrator to select a capability and one or more roles. The report shows the role and its permission level for that capability. The report also shows if that capability was overridden for the role anywhere in the site.
For example, it might show the gradereport:user view capability for a student role is set at the system level as “Allow” and for Course 1 it is set to “Prohibit”.

Unsupported Role Assignment¶
Unsupported role assignments are role assignments in contexts that make no sense for that role, such as the course creator role in the course or activity context, or the teacher role in the user context.
An administrator can check for any unsupported role assignments across the site in Settings > Site administration > Users > Permissions > Unsupported role assignments.
Courses¶
A course in Moodle is an area where a teacher will add resources and activities for their students to complete. It might be a simple page with downloadable documents or it might be a complex set of tasks where learning progresses through interaction. Progress can be tracked in a number of ways.
Manage Courses and Categories¶
Course categories organize courses for all Moodle site participants. The default course category on a new Moodle site is “Miscellaneous” (although this can be renamed) A Course creator, Administrator or Manager can put all courses in the Miscellaneous category. The list of courses within a category by default shows the teachers and the summary of each course.
To know more about Course categories
Add a Category¶
Most people organize their courses by department and college or by topic. Be sure to test the organizational scheme with a few users before entering a large number of courses, to save time in moving them later.
Adding categories is very simple:
- Go to Administration > Site administration > Courses > Add a category
- Complete the details required and click ‘Create category.’
- Alternatively, you can go to Administration>Site administration>Courses>Manage courses and categories and click the link ‘Create new category’.

If the category is visible, the course category description will be displayed to users when they enter the category, above the list of courses.
Course Default Settings¶
You are here: Administration > Site administration > Courses > Course default settings
Course default settings allow you to set the default settings used for new courses.
The following defaults are included:
- Format
- Number Weeks/Topics
- Visibility of hidden sections
- Number of News Items to show
- Showing of Gradebook to learners
- Showing of activity reports
- Maximum upload size
- Metacourse
- Completion Tracking
- Completion tracking beings on enrolment
- Course Tagging
See Course Settings to learn more about these settings.
Course Request¶
The course request feature can be enabled by an administrator in Settings > Site administration > Courses > Course request.
An admin can set the default category for course requests, whether users can select a category when requesting a course, and who can receive notification of course requests (from a list of users with the capability moodle/site:approvecourse).
A ‘Request a new course’ button will then appear on the ‘All courses’ page. The All courses page can be accessed via a link in the Courses block.
If course requests are enabled, by default all authenticated users can make course requests.

Backup¶
A backup allows a site administrator to save everything associated with a moodle site. These backups can be restored to bring a site back to the point in time when the backup was made.
Default settings for course backups can be set by a site administrator in Settings > Site administration > Courses > Backups > General backup default.
Selected settings may be locked, so that they cannot be changed when creating a course backup. By selecting a time in the “Keep logs for..” dropdown, it is possible to specify how long backup logs information is kept before being deleted. As this information may be very large, it is recommended the length of time chosen be quite short.

See Automated Course Backup for scheduling automatic backup.
Upload Courses¶
An administrator can upload multiple courses via text file in Administration > Site administration > Courses > Upload courses. In addition to creating new courses, this functionality may also be used to update or delete courses, or import content from another course.
To know more about Upload courses.
Grades¶
General Settings¶
Default values for all grade settings can be set by an administrator. The easiest way to do so is to log in as admin then browse a course gradebook and follow the ‘Change defaults’ links.
The following additional grade settings can be found in Administration > Site administration > Grades > General settings. The settings will affect all gradebooks used by all teachers.
Graded Roles¶
Graded roles are the type of user that will appear in the gradebook. Most of the time “student” is the only one needed.
User profile report¶
The default user profile report setting has just one option, ‘User report’, unless a custom user report has been added to the site.
Teachers can view the user reports for all or selected students in the course in Administration > Grades administration > User report.
Include scales in aggregation¶
Scales can be included as numbers in all aggregated grades across all gradebooks in all courses. Changing this setting will force all aggregated grades to be recalculated.
If this is checked (and it is by default) then all custom scales will have a corresponding value that is assigned based on the number of options in the scale (ie. three values will have values of 1,2,3) and this will be included in the grade aggregation.
Enable publishing¶
Grade publishing is a way of importing and exporting grades via a URL without being logged in to Moodle. Grade publishing is intended for administrators only. Security implications should be thoroughly considered before allowing non-admin users to publish grades.
Grade publishing may be enabled by checking the gradepublishing box. If enabled, administrators are provided with grade export publishing settings in each course gradebook.
Recover grades default¶
When manually enrolling a student in a course, there is an option ‘Recover user’s old grades if possible’, however this checkbox is easy to miss. Enabling ‘Recover grades default’ results in ‘Recover user’s old grades if possible’ being ticked for every course.

Unlimited grades¶
Teachers can enter grades over 100% directly in the gradebook if the unlimitedgrades setting is enabled.
Grade Category Settings¶
Grade category settings in Settings > Site administration > Grades > Grade Category Settings enable administrators to choose which options appear for teachers when adding/editing a grade category in their course gradebook, and their default values. Settings are applied site-wide.
There are 2 check boxes next to most features on this page. The “Force” check box eliminates any options the teacher will see. For example, the teacher will only see and be able to use the “mean of all grades” as an aggregation. The “Advanced” checkbox will hide the specific feature until the “Show advanced” button is used by the teacher. This will reduce initial menu choices for teachers but allow them to see them if they wish.
Hide forced settings¶
The default is to show the forced settings (see below). If these are not to be used check this box to hide them. Unchecking the “Force” setting will simply restore each category’s setting to its previous state, prior to the application of the forced global setting. Administrators can thus experiment with these settings without fear of losing any specific category settings.
Aggregation settings¶
Select the type of aggregation method from a pulldown menu from 1 of 9 choices. However there are two check boxes which will effect this default, in addition to the Hide forced settings.
The “Force” checkbox only allows the selected aggregation method to apply. This results in switches and drop-down elements being disabled in all course gradebooks. For example, if the Aggregation Type setting is forced as “Mean”, teachers will no longer have the option to change the aggregation type of each grade category separately, the option will not be there in the category edit form.
Available aggregation types¶
Administrators may reduce the number of aggregation types available for teachers to use.
By default, all existing aggregation types are available (Mean of grades, Weighted mean of grades, Simple weighted mean of grades, Mean of grades (with extra credits), Median of grades, Lowest grade, Highest grade, Mode of grades, Sum of grades). This list may be reduced to only a few types, with additional types being enabled as/when teachers request them.
Note that reducing the number of aggregation types simply results in disabled aggregation types not appearing in the aggregation type dropdown menu. All existing grade category calculations remain the same, regardless of whether the aggregation type is later disabled by an administrator.

Aggregate only non-empty grades¶
The default is no.
Include outcomes in aggregation¶
The default is no.
Aggregate including subcategories¶
The default is no. Yes will include subcategory grades in the aggregation.
Keep the highest¶
Keeps only the X number of highest grades in the report
Drop the lowest¶
Drops the lowest X number of grades from the report.
Grade item settings¶
Location: Administration > Grades > Grade item settings
Grade item settings are the various settings that the administrator is able to edit for all gradebooks used by teachers. These settings will change what items are displayed for each grade. As administrator, you would turn on or off various settings and the teacher would input the actual data.
Grade display type¶
This is the type of grade that is to be shown for each individual grade. Different school districts use different grading systems so this can be changed to suit your district.
- Real - Grade from minimum to maximum range indicating total points received. Default from 0-100 but may be arbitrary.
- Percentage - Grade from 0 - 100% indicating the total points received divided by maximum possible amount times 100.
- Letter- Grade in the form of a letter representing a range of percentages.
Overall decimal points¶
This setting is for display purposes only. Grade calculations are made with an accuracy of 5 decimal places and grade letters, if used, are assigned accordingly.
If rounding of grades in grade calculations is required, the round(number, count) function may be used.
Advance grade item options¶
In Moodle 2.0 Course administration > Grades > Category & Items > Add grade item, or Simple view>edit item brings up the Grade item page with the “Show advanced” button.
These features can be set or viewed:
Item info ID Number Grade Type Scale Minimum Grade Maximum Grade Grade to pass Offset Multiplicator Grade display type Overall decimal places Hidden Hidden until Locked Locked after
Both Full and Simple views have “Add category” and “Add grade item” buttons at the bottom of the page.
Scales¶
Scales are a way of evaluating or rating a students’ performance. Moodle offers a standard set of numeric scales. Scales may be used in Forums, Glossaries and Assignments for rating and/or grading a student’s activity.
Read more about Scales
Letters¶
Grade letters, also called letter grades, are symbols used to represent a range of grades. For example “A” could be used to represent grades of 80% and above, “B” to represent grades between 70 and 80%, and so on. Alternatively, you could have “Pass” for grades above 50% and “Fail” for grades below 50%.
Setting grade letter site-level defaults¶
To set grade letter site defaults :
- Login as an administrator.
- Access Administration > Site administration > Grades > Letters.
- Change grade letters and/or boundaries as required.
- Scroll to the bottom of the page and click the “Save changes” button.
Read more about Grade Letters
Report Settings¶
The gradebook report settings determine the appearance of gradebook reports in all courses on the site. The site administrator will find the default and enabled/disabled settings in the administration area. There
Teachers can use the “My report preferences” link in any course to essentially change their defaults and the way a report will display. These preferences become the new defaults for that teacher until they are changed by the teacher.
Badges¶
Badges are a good way of celebrating achievement and showing progress. Badges may be awarded based on a variety of chosen criteria and are fully compatible with Mozilla Open Badges. Badges created in Moodle may be displayed on a user’s profile or pushed to their Open Badges backpack and public badge collections in their backpack will display in their Moodle profile.
There are two categories of badges:
- Site badges - available to users site-wide and related to the site wide activities, like finishing a set of courses.
- Course badges - available to users enrolled in the course and related to the activities that happen inside the course.
Badges Settings¶
Site administration settings¶
Badges are enabled by default and can be disabled in Administration > Site administration > Advanced features.
The site settings for badges are located in Administration > Site administration > Badges > Badges settings .
- Default badge issuer - Here you set the name and email address of the issuer. The name will appear where the badges are displayed and might typically be the name of the organization.
- Salt for hashing recipient’s email address - If a hash is used (numbers and letters only) then backpack services can confirm a badge earner without exposing their email address.
- Enable connection to external backpacks - This should be enabled in order to connect to, for example Mozilla Open Badges. Note that this will not work on a Moodle hosted locally/offline.
- Enable course badges - Ticking this box will allow teachers to add and manage badges in their courses.
Course administration settings¶
- A teacher can add and manage badges in their course if the administrator has enabled course badges in Administration > Site administration > Badges settings.
- They will see a link to badges in Administration > Course administration > Badges. where badges may be managed and added.
Individual user settings¶
- A user can manage badges from Navigation > My profile > My badges.
- A user can view available course badges from Navigation > Current course > Badges.

Manage Badges¶
Badges may be managed at the course or site level. (Note that teachers in a course cannot by default access site badges unless they have been given a system role with badge managing capabilities). Individual users can manage their badges from their profile.
See Managing Badges for more details.
Add a New Badge¶
To know how to add badges please refer Using Badges .
Location¶
You are here Administration > Site administration > Location > Location settings. This menu item allows you to specify the default country location and also time zones.
Location Settings¶
- Default timezone - This sets the default time zone for date display.
- Force default timezone - Pull down menu to force the user to be in a specific timezone or allow users to individually select their timezone.
- Default country - Select the country to appear by default on a new user account page form.
IP address lookup
GeoIP City data file - Location of GeoIP City binary data file. This is a non-invasive way to determine geographical and other information about Internet visitors in real-time. This file is not part of Moodle distribution and must be obtained separately from MaxMind. There is a GeoIPLite version for free.
Google Maps API key - Google Maps for IP address lookup visualization key. The Google Maps API lets you embed Google Maps with JavaScript. This is free.
After updating the information in this section, IP’s that are displayed as a link, such as in reports, when clicked will open new window with a Google Map indicating the location of the IP, if found and if not a private address.
Update Timezone¶
The update timezones page Administration > Site administration > Location > Update timezones provides administrators with the option to update their local database with new information about world timezones. This is important because of daylight saving changes that many countries use.
If the update is completed with success, Moodle will inform you how many entries were updated and which location was used as a source.
Language¶
Language option allows you to customise language settings and edit language packs in Moodle.
- Language Settings - including the default language for the site.
- Language Customization - for changing any word or phrase (in any language) used in Moodle.
- Language Packs - for making the Moodle interface available in other languages.
Plugins¶
Plugins also called “Modules”, Plugins contains
Plugins overview¶
A list of all plugins used on the site. It also shows total number of installed plugins, disabled plugins and add-ons used on the moodle site.
Install add-ons¶
To install an add-on, its source code must be put (deployed) into the appropriate location inside the Moodle installation directory and the main administration page Administration > Site administration > Notifications must be visited. There are three ways how the add-on code can be deployed into Moodle.
Read more about Installing add-ons .
Activity modules¶
Manage Activities¶
An administrator can manage Moodle’s activity modules for the site in Administration > Site administration > Plugins > Activity modules > Manage activities, including any contributed modules that have been added.

The activities column lists how many activities for each module there are on your Moodle site. If you click on a number, the list of courses containing that activity will be displayed.
The numbers against the modules tell you the version (or age) of the module. It is useful to know how up to date each module is and, particularly with contributed modules, it is important to ensure you have the most up to date version that matches your version of Moodle. The first four digits relate to the year of the module.
The hide/show column allows selected modules to be hidden i.e. they do not appear in any course “Add an activity” dropdown menu and cannot be used in any course. To hide a module, click the eye icon so that it changes to a closed eye.
The Feedback module (which will eventually be replaced by a newer survey module) is hidden by default.
Apart from the Forum module, any module can be deleted using the link in the delete column. There is no reason for standard modules to be deleted, however contributed modules may need to be deleted before upgrading.
Note: To delete a module completely, in addition to deleting it on the manage activities page, you also need to remove/delete the actual module folder from the moodle/mod folder, otherwise Moodle will reinstall it next time you access the site administration.
Many of the modules have additional settings, mostly enabling default values to be set, which can be accessed via the links in the settings column.
Assignment¶
The assignment module allows teachers to collect work from students, review it and provide feedback including grades. The work students submit is visible only to the teacher and not to the other students unless a a group assignment is selected.
The following configuration options are available for an administrator under Administration > Site administration > Plugins > Activity modules > Assignment.

Feedback plugin
The comments that are pushed to the gradebook from the assignment are limited to a single text only comment. An Administrator can specify which of the feedback plugins will be push comments to the gradebook. On a standard Moodle install the choices are “Feedback comments” (default) or “Feedback file” but there may be additional options if your Moodle install contains additional feedback plugins.
Show recent submissions
This option allows everyone to see notifications of submissions in Recent activity reports and the Recent Activity Block, within a course context. Note that the default for this option is No which means students will not be able to see when classmates have submitted or updated any Assignments.
Send submission receipt to students
This switch will enable submission receipts for students. Students will receive a notification every time they successfully submit an assignment.
Submission Statement
An administrator can enter text in the box here which will appear when students are about to submit their assignment. If it is left as the default “No”, then teachers will have the choice within their own assignments to force this or not.
Default assignment settings
The administrator can specify here the default assignment settings which may be set as ‘Advanced’ (ie, they will appear when clicking ‘Show more’) or ‘Locked’ (ie the teacher cannot change them.)

Manage assignment submission plugins
Here you can change the order, check the settings or uninstall a particular submission plugin.
File submissions
Enabled by default - If set, this submission method will be enabled by default for all new assignments.
Maximum submission size - An Administrator can specify the maximum size of any individual file uploaded within the assignment module across all courses on the site. This limit may be equal to or less than course file upload limit.
Online text submissions
Enabled by default If set, this submission method will be enabled by default for all new assignments.
Submission comments
Enabled by default If set, students will be able to send a message to their teacher when submitting their assignment.
Manage assignment feedback plugins - Here you can change the order, check the settings or uninstall a particular feedback plugin.
Feedback comments - Enabled by default If set, this submission method will be enabled by default for all new assignments.
Annotate pdf - Here you can upload stamps for teachers to use when annotating student pdfs. You can also check the ghostscript path. If the default stamps are deleted by accident, they can be found in mod/assign/feedback/editpdf/pix and re-uploaded.


File feedback - Enabled by default If set, this submission method will be enabled by default for all new assignments.
Offline grading worksheet - Enabled by default If set, this will be enabled by default for all new assignments
Book¶
The Book module makes it easy to create multi-page resources with a book-like format.
The administrator can set the default values for chapter formatting, the available options for chapter numbering and whether or not to require a description from Administration > Site administration > Plugins > Activity modules > Book.
Require activity description - you can disable this option if you do not want to force users to enter description of each activity.
Available options for chapter formatting - site admin can set default options which teacher can choose for displaying chapters and subchapters in the table of contents.

Chat¶
The chat module has additional settings which may be changed by an administrator in Administration > Site administration > Plugins > Activity modules > Chat. They depend on the chat method which has been selected.
This is the default method. It works everywhere but if many people are chatting it can put a large load on the server. Its particular settings are:
- Refresh user list - choose the number of seconds after which the user list is refreshed
- Disconnect timeout - choose the number of seconds after which we detect a user has disconnected.
The particular settings for this method are:
- Refresh room - choose the number of seconds after which the room is refreshed
- Update method - choose how to update the chatroom - “Keep alive” or “Stream” strategy. Stream works better but your sever might not support it.
A daemon is a program that runs all the time in the background. In this case it’s a PHP script, listening to a particular port on your server, accepting and giving out chat information.If you intend to use the chat activity a lot, then you should consider using a chat server daemon to reduce server load.Its particular settings are:
- Server name
- Server IP address
- Server port
- Max users
Then you need to start the chat daemon script from the command line:
Database¶
Database activity defaults and additional settings may changed by an administrator in Administration > Site administration > Plugins > Activity modules > Database.
Folder¶
The folder module has additional settings which may be changed by an administrator in Administration > Site administration > Plugins > Activity modules > Folder.
This setting allows you to turn off the requirement for users to type something into the description box.
If set to ‘Yes’, subfolders are shown expanded by default; otherwise they are shown collapsed.
Forum¶
The forum module has additional settings which may be changed by an administrator in Administration > Site administration > Plugins > Activity modules > Forum and, for ‘Maximum time to edit posts’, in Administration > Site administration > Security > Site policies.
By default, a user’s email is set as the ‘From’ address for forum notifications (unless the user has hidden their email address in their profile) so that recipients can choose to reply personally rather than via the forum. To set noreply@yourmoodlesite.org as ‘From’ address for all forum notification emails, untick the forum_replytouser checkbox.
The long and short post setting determine how forum posts on the site front page, social format course pages, and user profiles are displayed.
Timed forum posts may be enabled i.e. having the option to set a display start and end date for a new discussion. Timed posts can then be created by users with the capability to view hidden timed posts (normally admins and teachers).
This specifies the amount of time people have to re-edit forum postings, glossary comments etc. Usually 30 minutes is a good value. The setting may be changed by an administrator in Administration > Site administration > Security > Site policies.
Sets the default ‘Read tracking’ selection when creating new forums. If ‘Forced’ is selected, the ‘Allow forced read tracking’ checkbox (below) must be ticked, otherwise ‘Optional’ will be the default setting.
With this option set, “Forced” will be an option for “Read tracking” when creating or editing Forums. Forced forums have read tracking enabled regardless of user preference.
This setting can place additional load on servers. With this setting disabled, users who set their profile setting to not track read posts see faster load times of courses pages. With this setting enabled, that performance increase is lost, and all course views see the same performance as if the users personal setting was on.
This setting is forum_oldpostdays and specifies the number of days after which any post is considered to be read. E.g. If this is set to 14 days then any post older than 14 days will be considered read. If you set this to 0 then ALL posts are instantly considered to be read. If you don’t want any posts to be considered read without the user reading them then set a high figure (e.g. 1000)
Glossary¶
The glossary module has additional settings which may be changed by an administrator in Administration > Site administration > Plugins > Activity modules > Glossary.
- Entries shown per page - Number of Glossary entries shown per page. Default is set to 10.
- Duplicate entries allowed - Whether or not the Glossary will allow duplicate entries. Default is set to “No”.
- Allow comments on entries - Whether or not the Glossary will accept user comments on its entries. Default is set to “No”.
- Automatically link glossary entries - Whether or not a glossary should be automatically linked. Default is set to “Yes”.
- Approved by default - Whether or not the Glossary will define the approval status of an entry posted by a student. Default is set to “Yes”.
- Enable RSS feed - Enabling of RSS feeds for all glossaries. Default is set to “No”. Note: feeds will still need to be turned on manually in the settings for each glossary.
- Automatically link glossary entries - Whether or not glossary entries should be automatically linked. Default is set to “No”.
- This entry is case sensitive - Whether or not an entry is case sensitive when linked. Default is set to “No”.
- Match whole words only - Whether or not an entry should match the case in the target text by default when linked. Default is set to “No”.
To hide or show any of these entries, simply click on the “eye” icon next to the entry. Clicking on the “writing hand” icon will take you to the settings page for that entry.

IMS Content Package¶
The IMS content package module has additional settings which may be changed by an administrator in Settings > Site administration > Plugins > Activity modules > IMS content package.
This setting allows you to turn off the requirement for users to type something into the description box.
Label¶
The label resource has additional settings which may be changed by an administrator in Administration > Site administration > Plugins > Activity modules > Label.
This setting offers you to create a label when media files are dragged and dropped onto a course.
When a label is created from a dragged & dropped image, a teacher can resize it if it is wider than this many pixels (0 for no resize)
When a label is created from a dragged & dropped image, a teacher can resize it if it is higher than this many pixels (0 for no resize)
Lesson¶
The lesson module has additional settings which may be changed by an administrator in Settings > Site administration > Plugins > Activity modules > Lesson.
Sets the width of the slideshow only when this feature is enabled in a Lesson’s “Change settings”.
- Variable name: lesson_slideshowwidth, Default 640.
Sets the height of the slideshow only when this feature is enabled in a Lesson’s “Change settings”.
- Variable name: lesson_slideshowheight, Default 480.
Background colour to for the slideshow if it is enabled.
- Variable name: lesson_slideshowbgcolor, Default #FFFFFF.
Sets the width of the popup displayed for a linked media file
- Variable name: lesson_mediawidth, Default 640.
Sets the height of the popup displayed for a linked media file
- Variable name: lesson_mediaheight, Default 480.
Displays a close button as part of the popup generated for a linked media file
- Variable name: lesson_mediaclose, Default No.
Sets the number of high scores to display
- Variable name: lesson_maxhighscores, Default: 10
Default maximum number of answers per page for site
- Variable name: lesson_maxanswers, Default: 4.
The default action to take after a correct answer
- Variable name: lesson_defaultnextpage, Default: Normal - follow lesson path
LTI¶
An administrator can configure external tools in Settings > Site administration > Plugins > Activity modules > External tool so that they are available across the site. There are tabs to add an external tool, to view those which are pending and to view those which have been rejected.

Page¶
The page module has additional settings which may be changed by an administrator in Administration > Site administration > Plugins > Activity modules > Page.
This setting allows you to turn off the requirement for users to type something into the description box.
This setting allows you to add different ways the resource may be displayed on the course page.
Here you can set the defaults for this resource. You can also choose which setting(s) to class as “Advanced”. These settings will only then appear if the user clicks “Show advanced” in the settings.
Quiz¶
The quiz module has additional settings which may be changed by an administrator in Administration > Site administration > Plugins > Activity modules > Quiz. The values you set here define the default values that are used in the settings form when you create a new quiz. You can also configure which quiz settings are considered advanced.
Default time limit for quizzes in seconds. 0 mean no time limit.
What should happen by default if a student does not submit the quiz before time expires.
If what to do when time expires is set to ‘Allow a grace period to submit, but not change any responses’, the default amount of extra time that is allowed, in seconds.
There is a potential problem right at the end of the quiz. On the one hand, we want to let students continue working right up until the last second - with the help of the timer that automatically submits the quiz when time runs out. On the other hand, the server may then be overloaded, and take some time to get to process the responses. Therefore, we will accept responses for up to this many seconds after time expires, so they are not penalised for the server being slow. However, the student could cheat and get this many seconds to answer the quiz. You have to make a trade-off based on how much you trust the performance of your server during quizzes.
Restriction on the number of attempts students are allowed at the quiz.
When multiple attempts are allowed, which method should be used to calculate the student’s final grade for the quiz. Options - Highest grade, Average, first and last.
The default grade that the quiz grade is scaled to be out of.
If you enable this option, then the order of questions in the quiz will be randomly shuffled each time a student attempts the quiz.
When adding questions to the quiz page breaks will automatically be inserted according to the setting you choose here.
If you enable this option, then the parts making up the individual questions will be randomly shuffled each time a student starts an attempt at this quiz, provided the option is also enabled in the question settings.
Default setting for how questions behave in a quiz. It can be configured in *Administration > Site administration > Plugins > Question behaviours > Manage question behaviours.
If multiple attempts are allowed then each new attempt contains the results of the previous attempt.

Choose whether to show user’s picture on screen during attempts or not.
Number of digits that should be shown after the decimal point when displaying grades for the quiz.
Number of digits that should be shown after the decimal point when displaying the grade for individual questions.
Show blocks during quiz attempts.
Students must enter this password before they can attempt the quiz.
Students can only attempt the quiz from these computers.
If you set a time delay here, the student cannot start their second attempt until this much time has passed since the end of their first attempt.
If you set a time delay here, the student cannot start their third, fourth, ... attempt until this much time has passed since the end of their previous attempt.
Force the attempt to open in a popup window, and use JavaScript tricks to try to restrict copy and paste, etc. during quiz attempts.
Autosave period If enabled, student responses will be saved every minute/two minutes/five minutes (according to selection) This is useful so that students don’t lose work but does increase the load on the server.
File¶
The file module has additional settings which may be changed by an administrator in Administration > Site administration > Plugins > Activity modules > File.
Here you can specify the height of the top frame (containing the navigation) if you choose the “in frame” display option. Note: If your theme has a large header then the resource_framesize variable should be increased to prevent horizontal and vertical scrollbars.
This setting allows you to turn off the requirement for users to type something into the description box.
This setting allows you to add different ways the resource may be displayed on the course page. By default Moodle doesn’t enable “New window” or “In frame”, so you need to set them available here if required, and you can also disable other options if not applicable.
Here you can set the defaults for this resource. You can also choose which setting(s) to class as “Advanced”. These settings will only then appear if the user clicks “Show More” in the settings.
SCORM¶
These options are available to the site admin in the Settings menu: Site administration > Plugins > Activity Modules > SCORM Package.
Many of the settings available in the SCORM Package administration simply set the default value for the SCORM activity module setup options provided within courses. Edit these settings to save yourself time when adding large numbers of packages, or to establish a standard for presentation across the site.
The following options provided which do not simply set a default value for the SCORM activity editing page view.
Auto-update frequency - If not using a standard SCORM package uploaded using the filepicker and the SCORM package is hosted outside your Moodle installation the option to auto-update the package will be available - you can elect to have the package updated on every entry to the package or daily via the Moodle cron.
Enable external package type - If selected, presents a text field to paste a URL to a remote imsmanifest.xml (in an unzipped remote SCORM package), as well as the file picker option provided by default. Note that the content is played from the designated location, and not unpacked into the Moodle file system. So if the base url is different from your moodle url then browser security will block cross-domain communcation and no grades/tracking information will be passed back to Moodle.
Enable downloaded package type - If selected, presents a text field to paste a URL to a remote package.zip SCORM package. Package is downloaded and unzipped into the Moodle file system.
Enable IMS package type - Enables a package to be selected from within an IMS repository
Force users to enable JavaScript - Since the SCORM API uses JavaScript to save data to Moodle, this is a great idea!
Activate API debug and tracing (set the capture mask with apidebugmask) - Turns on debugging for SCORM activities. In Moodle 2 you no longer have to also turn on debugging in the developer options.
API debug capture mask - .* will debug for admin user only: You can use the mask to enable debugging under certain conditions. For example, if you are logged in using the admin user (username admin) you can set the api mask to: admin.* Users not logged in as admin will not see the debugging log. The “Default” api mask is .* which translates roughly to everybody.
Enable direct AICC url - Makes it easier to connect to externally hosted AICC content as the teacher doesn’t have to create an AICC package and is able to link directly to the external AICC url.
Enable external AICC HACP - The SCORM activity can also support external AICC HACP Communication where the AICC package is hosted on an external content providers site and passes back http requests directly from the external server instead of within the users web browser session - this is disabled by default.
URL¶
The URL module has additional settings which may be changed by an administrator in Administration > Site administration > Plugins > Activity modules > URL.
Here you can specify the height of the top frame (containing the navigation) if you choose the “in frame” display option. Note:If your theme has a large header then the height should be increased to prevent horizontal and vertical scrollbars.
This setting allows you to turn off the requirement for users to type something into the description box.
Here you can add a password that will connect your users to a secure site. See this forum post for more details.
This setting allows you to add different ways the resource may be displayed on the course page. There are a number of defaults but you can add or change them here. Other display options are:
- In frame - show the Moodle heading and the file description, with the file displayed in a resizeable area below
- New window - very much like ‘in pop-up’, but the new window is a full browser window, with menus and address bar, etc.

Here you can set the defaults for this resource.
Workshop¶
The workshop module has additional settings which may be changed by an administrator in Administration > Site administration > Plugins > Activity modules > Workshop. The settings enable default values to be set for all edit workshop settings.
Default maximum grade for submission in workshops.
Default maximum grade for assessment in workshops.
Default number of digits that should be shown after the decimal point when displaying grades.
Default maximum submission file size for all workshops on the site (subject to course limits and other local settings)
Default grading strategy for workshops.
Default number of submissions to be randomly allocated
Course formats¶
An administrator can enable, disable or delete course formats for courses in Administration > Site administration > Plugins > Course formats > Manage course formats. They can also change the order in which available course formats are displayed to teachers in the course settings.
Blocks¶
Manage blocks¶
An administrator can manage Moodle’s blocks for the site in Administration > Site administration > Plugins > Blocks > Manage blocks, including any contributed blocks that have been added.

The blocks page lists the number of instance for each block. Clicking on a number results in the list of courses containing that block being displayed.
Listed with each block is its version number — in the format 2012061700. This is helpful to ensure that you have the latest version of each block.
The hide/show column allows selected blocks to be hidden i.e. they do not appear in any course “Add a block” dropdown menu and cannot be used in any course. To hide a block, click the eye icon so that it changes to a closed eye.
To reduce the length of course “Add a block” dropdown menus, you should hide blocks which will not be used, such as mentees (unless you have added a mentor role) and network servers (unless you are using Moodle Networking).
By clicking the padlock against a block in this column, you are preventing it from being deleted on the site. The Administration block and Navigation block are already padlocked, as major difficulties arise if these blocks are deleted. Only unlock them if you are absolutely sure you understand the consequences and have alternative settings and navigation features in place.
Blocks can be deleted using the link in the delete column. There is usually no reason for standard blocks to be deleted (they are usually hidden) However, non-standard blocks may need to be deleted before upgrading.
Note: To delete a block completely, in addition to deleting it on the blocks page, you also need to remove/delete the actual block folder from the moodle/blocks folder, otherwise Moodle will reinstall it next time you access the site administration.
Certain blocks have additional settings, which can be accessed via the links in the settings column.
- Manage My home page blocks
- Edit blocks in tags pages
- Manage blocks on own public user profile
- Manage blocks on user profile of other users
- Edit a block’s settings
- View block
- Manage blocks on a page
In addition, every block has an addinstance capability (e.g. block/comments:addinstance) and most blocks also have a myaddinstance capability (e.g. block/comments:myaddinstance) for controlling whether a user with a particular role can add the block to a page or to their My home page respectively.
Courses¶

The Courses block lists and allows navigation between all of the courses in which the logged in user is enrolled in. The block title shows as “My courses” and allows one-click access to a course’s home page.
There is a also the option to list All courses... available within the Moodle site. This will display a list of course types and a click on one of the types will reveal all the courses in that category. There is also a search all courses option on this page.
A brand new user to a Moodle site, who has not enrolled in any course, will see the block title as “Course Categories”.
When a student enters an unassigned course using the course block, they will be asked to enroll.
Note: The Navigation block also includes a list of all courses a user is enrolled in.
The courses block has some settings which may be changed by an administrator in Settings > Site administration > Plugins > Blocks > Course list.
Admin view - This determines what administrators see in the block. Hide ‘All courses’ link - This enables you to hide the “All courses” link at the bottom of the block from everyone except administrators.
Course overview¶
The Course overview block is visible on a user’s My home page and shows a list of all courses in which a user is enrolled/has an assigned role.
By default this block appears in the central content block on the My home page but can be moved to the left or right column.

When a user clicks the “customise this page” button, they can then rearrange their courses by dragging them into different places. They can also choose how many courses they wish to display.



HTML block¶
A HTML block is a standard block used to add text, multimedia, widgets etc to a site front page or course page. The title bar may be left blank if desired.
The block is flexible and can incorporate a variety of functions and uses in the content area. It has the standard Moodle Text editor for formatting text, adding images or creating links, switching to code view and allows any valid HTML mark-up to be used. This enables embedding video, sounds, Flash, and other files which can add unique elements to a course or site page.
To aid with styling the block, an administrator can, from Administration > Site administration > Plugins > Blocks > HTML, toggle the ability to allow additional CSS classes to be set in individual block instances. If it is enabled, a field appears at the bottom of HTML block instance’s configuration forms.

Please note that if additional CSS classes have been added and the administration setting is then disabled, the form settings are saved in the database and will reappear if this is re-enabled.
An HTML block can be used to display the latest tweets from any Twitter account.
- Log in to Twitter
- Go to https://twitter.com/settings/widgets/new
- Enter the Twitter username e.g. moodledev then click the ‘Create widget’ button
- In another tab or window add a new HTML block to your Moodle front page or course page
- Configure the new block, adding a title if desired
- Click the ‘Edit HTML source’ button (< >) then copy and paste the code provided by Twitter into the HTML source
- Click the ‘Save changes’ button

Online users¶
The Online users block shows a list of users who have been logged into the current course. The list is updated on a regular basis (the default is every 5 minutes but this may be changed - see below).

Note that even though a user may have been logged into a course within the last 5 minutes, it does not necessarily mean that this user is still online.
- If you hold the cursor over somebody’s name, you will see how long ago that person was last “seen” in the course
- If you click on the envelope icon next to somebody’s name, you will be able to send a private message to that person (using Moodle’s messaging system)
Note: If separate groups are enabled in a course and this block is added onto the course page, only members of the group will be displayed in the list.
The online users block has one setting which may be changed by an administrator in Administration > Site administration > Plugins > Blocks > Online users.
- Remove after inactivity - The number of minutes after which users will not be displayed in the list. The default is 5 minutes. You may want to adjust this if the list of users displayed is too long or too short.
Remote RSS feeds¶
The RSS feeds block enables RSS feeds from external websites to be displayed within Moodle. As the information on the other site (for example, news headlines or recently added documents) is changed the block will update to show the latest information.
One or more RSS feeds can be added to a course by selecting them from an existing list. Site and course home pages are common places to place an RSS feed block(s).

After adding an RSS feed block, select the edit icon on the Remote News Feed block. The default will open up the Configure this block tab.
- Display each link’s description?
- Choose yes or no from the drop-down menu to determine whether the block will display a description of each article, or just the title of the article. Both the title and description are generated by the external feed.
- Max number of entries to show per block
- Determines how many articles will be displayed. The most recent will be displayed first.
- Choose the feeds to make available
- Check the box next to each feed you would displayed in this block. You can have more than one instance of the RSS feed block if you would like to break them up.
- Title
- Enter a title for the block. If you leave this blank a title will be taken from the RSS feeds, which can be confusing if there are multiple feeds in one block.
- Display a link?
- Each article headline should link to the full article, but you can also display a link to the original site where available.
- Show channel image?
- Some feeds supply an image or logo from the original site which you can choose to display when available.
All the Moodle site’s RSS feeds can be managed on the Manage all my feeds tab in the RSS News Feed edit menu. The site administrator may give other roles permission to use this tab. This tab creates a list of RSS feeds that can be selected for display in every course on the Moodle site.
Copy and paste (or type) the URL address of the RSS feed in the space provided. This the generating site’s actual RSS page address. For example here is a Moodle RSS feed address : http://moodle.org/rss/file.php/1/1/forum/1/rss.xml
Adding a custom title will take the place of the one supplied by the generating site.There is a validation tool included to confirm the feed URL is accurate.
When checked, the Shared Feed checkbox makes the feed available (although not necessarily visible) to all courses on the Moodle site. This would be useful, for example, when a college has an urgent announcements feed that would be of interest to all students, regardless of the Moodle course in which they are enrolled. Leave unchecked if the feed is of interest only to a single course.
Click the Add button to submit the feed.
The RSS feeds block has some settings which may be changed by an administrator in Administration > Site administration > Plugins > Blocks > Remote RSS feeds.
- Enteries per feed - The default number of entries to show per feed shown in the block. This can be overridden when you actually set up a block in a course.
- Timeout - The time in minutes between a reread of the feed by Moodle. Since some feeds on busy sites can take long to load, it can slow down the load of your course page. Therefore it is wise to set this time rather high, so only every now and then a visitor of your course is the victim of the slow remote server. Time is in minutes here.
Section links¶
The Section links block helps the student or teacher to quickly navigate to a particular topic/week section of the course (depending on whether the course uses either the “Topics” or “Weekly” format. The numbered links displayed within the block are the numbers assigned to the course topic/week sections.(Note that if a section is hidden, its number will display in grey for the teacher and not at all for the student, as with section 4 of the screenshot below.)

Where a topic/week section is highlighted, the link to that section within the “Section Links” block is emboldened. In addition, a link for the highlighted section (“Jump to the current topic/week”) is displayed. Click the “Jump to the current topic/week” link to display the highlighted section at the top of the screen.
If there are a large number of topic/week sections, the block displays every other even number i.e. 2, 4 etc. or every fifth numbered topic/week section.
Administration > Site administration > Plugins > Blocks > Section links
The section links block has some settings which may be changed by an administrator. There are two ‘number of sections’ value in the setting page, say numsections1 and numsections2.
If the number of sections in the course is less than either of them, the section links will increase by 1.
If the number of sections in the source is more than numsections1, but less than numsections2, the increase by value will respect numsections1’s increase by setting.
If the number of sections in the source is more than both of numsections1 and numsections2, and numsections2 is more than numssections1, the increase by value will respect numsections2’s increase by setting.
Tags¶
Tags allows students and teachers to describe their interests in a way that is easy for people with similar interests to find them.
By default, site-wide tags functionality is enabled. If this is not required, tags functionality may be disabled by an administrator by un-checking the usetags box in Settings > Site administration > Advanced features.
The Tags block has one setting which may be changed by an administrator in Settings > Site administration > Plugins > Blocks > Tags.
- Show course tags - This enables students to tag courses.
To tell everyone what your interests are, go to your profile editing page and enter your interests/tags separated by commas. If a tag you entered already exists, you get associated to that tag. If it does not, a new tag will be created.
After writing a blog post, users are allowed to add user defined tags about the post. These are usually keywords relevant to the post separated by commas. If a tag you entered already exists, you get associated to that tag. If it does not, a new tag will be created. If one tag is associated with interests and a blog post, the tag page will show both.
Each tag in Moodle has a page associated with it. The tag page brings together users, information and resources related to that tag. A tag has a description, links to related tags, a list of users associated with that tag and Moodle blocks with resources related to it.
If a user has the capability to edit tags, a link “Edit this tag” will appear in the tag page. The tag may be edited to add a description and related tags.
A very effective way of viewing all tags is in a tags block, or “tag cloud”. A unique feature of tag clouds are that the size of each tag is related to the number of items associated with it. The larger the tag, the more items associated with it.
The Search tags page in Navigation > Site pages > Tags allows you to look for existing tags.
If the administrator has enabled course tags in the Tags block setting, then students will have the option to add tags related to the course they are currently in.
Tags can be managed by a site administrator or manager (or any other user with the capability moodle/tag:manage) in Settings > Site administration > Appearance > Manage tags.
The manage tags page provides a list of tags, together with information on their creators, how many times they are used, when they were last modified and which tags have been flagged as inappropriate. Inappropriate tags are shown in red when using the default theme.
Selected tags may be have their flag reset (in other words remove the inappropriate flag) or be deleted. Tag names and types may also be changed.
The manage tags page also allows for official tags to be added. Official tags are tags which are added by a site administrator and are displayed to all users of the Moodle site when adding a blog entry. Creating a set of official tags for commonly used topics can reduce the amount of duplication in blog tags.

Message outputs¶
Authentication¶
Authentication is the process of allowing a user to login to a Moodle site based on their username and password.
Authentication plugins¶
Moodle provides a number of ways of managing authentication, called authentication plugins.
Location: Administration > Site Administration > Plugins > Authentication > Manage authentication.
Manual authentication is enabled by default in Moodle and requires the administrator to manually create all the user accounts.

The settings page in Administration > Site Administration > Plugins > Authentication > Manual accounts allows for certain fields to be “locked”. Users are not allowed to change the locked fields.

An administrator may “turn off” or suspend a user’s account by selecting “No Login” in the “Choose an authentication method setting” in the users profile in edit mode.
Different users have to have unique email addresses in their profile, even when email is not enabled. When the “No Login” setting is used, the account email may not be re-used to create another account. This essentially is a way to bar a particular user account from using Moodle for the duration that the account is assigned to this authentication type.
Note: An alternative way of suspending a user’s account (available in Moodle 2.2.1 onwards) is to tick the ‘Suspended account’ checkbox on the edit profile page.
The email-based self-registration authentication method enables users to create their own accounts via the ‘Create new account’ button on the login page. They then receive an email at the address they specified in their account profile to confirm their account.
An administrator can enable email-based self-registration in Administration > Site administration > Plugins > Authentication > Manage authentication.
In addition to enabling the plugin, email-based self-registration must be selected from the self registration drop-down menu in the common settings.
Warning: Enabling self registration results in the possibility of spammers creating accounts in order to use forum posts, blog entries etc. for spam. This risk can be minimized by limiting self registration to particular email domains with the allowed email domains setting in Administration > Site administration > Plugins> Authentication > Manage authentication. Alternatively, self registration may be enabled for a short period of time to allow users to create accounts, and then later disabled.
Note: The Email-based self-registration authentication plugin must be enabled to allow users who previously self-registered to login. Selecting Email-based self-registration as the self registration method allows potential users to self register.

A CAPTCHA is a program that can tell whether its user is a human or a computer. CAPTCHAs are used by many websites to prevent abuse from bots, or automated programs usually written to generate spam. No computer program can read distorted text as well as humans can, so bots cannot navigate sites protected by CAPTCHAs.
An automated email confirmation message is sent to the user using the support contact email address.
You can change this text in Administration > Site administration > Language > Language customization by choosing the appropriate language pack. selecting ‘moodle.php’ from ‘core’ and searching for the string identifier name ‘emailconfirmation’ and editing it with a local customization.
The Moodle network feature allows a Moodle administrator to establish a link with another Moodle or a Mahara site and to share some resources with the users of that Moodle. Users go from the first Moodle to the linked site via the Network servers block.

This is the basic layout of the system. It can be very useful to run one Moodle per faculty or departments, each with its own user management, and yet permit users to roam across the Moodle installs... subject to permissions of course.
The instructions will cover 2 Moodle installations: MoodleA and MoodleB. Both are installed correctly and have never had a Moodle Network configuration.
Note: If you experience problems, ensure debugging is turned on in Settings > Site administration > Server > Debugging. Extra diagnostic messages may be displayed.
You need to first enable Networking in Administration > Site administration > Advanced Features. This will add the “Networking” menu to the Site Administration menu.
- Get them to talk to each other
- Ensure Administration > Site administration > Server > Environment indicates you have curl installed
- If MoodleA and MoodleB are hosted in the same domain, ensure they have a different cookie prefix. Note that changing the cookie prefix will log you out! You can change the cookie prefix via Admin > Server > Session Handling.
- On both, go to Administration > Site administration > Network > Settings and turn Networking ON.
- On MoodleA go to Administration > Site administration > Network > Manage peers - put the URL of MoodleB under “Add New Host” and click Add. The URL should include the directory where your Moodle code is located and may include the protocol as well, for example https://www.mymoodle.org/moodle.
- Do the equivalent on MoodleB.
Get user roaming going
- (Although discussion exists about removing this setting, it is still required as of 2.0.1) [1] ). On both servers:
- Go to Administration > Site administration > Plugins > Authentication > Manage authentication. Enable MNet Authentication by clicking the ‘enable’ icon.
![]()
On MoodleA go to Administration > Site administration > Networking > (Manage) Peers, click on ‘MoodleB’, and click on the ‘Services’ tab. Enable SSO-IDP (SSO Identity Provider) publish and subscribe, and SSO-SP (SSO Service Provider) publish and subscribe.
Do the equivalent on MoodleB. (By both publishing and subscribing you allow users to move freely between the two servers. By only publishing or subscribing between servers you create a one way traversal)
- On both, go to Administration> Site administration > Users > Permissions > Define Roles, only roles that have “Roam to a remote Moodle moodle/site:mnetlogintoremote” will be allowed to roam. Grant the privilege as appropriate.
- eg. enabling for Authenticated user allows any authenticated user to roam between servers.
On both servers, go to the homepage, and add the ‘Network Servers’ block.
To test, it is recommended to use a different browser (even on a different machine) that is logged in to neither. Login to MoodleA with a non-administrator account that has the permissions to roam. You should see the Network Servers block, and clicking on it you should go to MoodleB with a newly autocreated account.
- Get remote enrolments going – this is optional. It allows an administrator of MoodleB to enrol users that are “native” to MoodleB in remote courses in MoodleA, and viceversa.
- On both, go to Administration > Site administration > Plugins > Enrolments > Manage enrol plugins and enable Moodle Network enrolment plugin (click Save). Click on ‘Edit’ and enable ‘allow_allcourses’ or select some courses or categories to be remotely enrolled.
- On the server you want to receive enrolments:
- Go to Administration > Site administration > Plugins > Enrolments > Manage enrol plugins. Enable MNet remote enrolments by clicking the ‘enable’ icon.
- On MoodleA go to Administration > Site administration > Network > Peers, click on ‘MoodleB’, and click on the ‘Services’ tab. Enable Enrolment publish and/or subscribe.
- Do the equivalent on MoodleB.
- On every course you want to allow enrolments into:
- Enter course and go to Administration > Course administration > Users > Enrolment methods.
- From Add method drop-down select MNet remote enrolments
- On the new screen select the Remote host you want to allow enrolments from, the Role for the enrolled users, and click save. (Note: you can only add a single MNet remote enrolments method per course.)
- In MoodleA go to Administration > Site administration > Networking > Remote enrolments client. You will see MoodleB listed. Click on Edit enrolments button beside MoodleB and you will see a list of courses that MoodleB offers for remote enrolment. Click ‘Edit enrolments, select the users you want to enroll, and then click Add to enroll them in the course.
A Mnet hub is a Moodle server that is configured to accept connections from other Moodle servers, and to provide a set of services to users of these other servers. This guideline will direct you to connect to a Mnet hub, assess the services it has to offer, and enable those services for your users.
- Get talking to the Hub
- Ensure that the Admin > Server > Environment page indicates you have curl and openssl installed
- Go to Admin > Network > Settings and turn Networking on
- Go to Admin > Network > Peers and enter the URL of Mnet Hub under “Add New Host”. Click Add
- The host details for the Mnet Hub should appear with the Site Name field already populated. Click Save changes
- The details will be written to your database and two new tabs will appear in this window: ‘Services’ and ‘Logs’. Click Services
- A list of services will appear, each with a checkbox for ‘publish’ and ‘subscribe’. Check the checkboxes for any services you want to publish or subscribe to
If the Mnet Hub has already enabled a service for you, there will be a tick alongside the appropriate checkbox, for example: if the Hub is publishing Moodle Networked Enrolment, then a tick will appear alongside the subscribe checkbox for this service. Note that in order to enable some functionality, prominently single-sign-on, you may have to publish a service, e.g. the Identity Provider service. The Mnet Hub will access this service on your Moodle, asking it to authenticate your users.
- Enable Roaming
- Subscribe to SSO (Service Provider) by checking the box
- Publish SSO (Identity Provider) by checking the box
- Click Save changes
- Go to Admin > Users > Permissions > Define Roles, and grant the capability Roam to a remote Moodle moodle/site:mnetlogintoremote to an appropriate role
- Go to Administration > Plugins > Authentication > Manage authentication and enable the Moodle Network authentication plugin
- Go to your homepage, turn on editing, and add the ‘Network Servers’ block
- Using a different web-browser, log on as a non-admin user who inhabits the role you granted the roaming capability to
- Note that the Mnet Hub is listed in the Network Servers block on the homepage. Click on the link to that server
- Some of your user details will be transferred to the Mnet Hub server, and a browsing session will be started for you as if you had logged on there directly
- Enable Networked Enrolment
- Return to the web browser you’ve been using as the site administrator
- Go to Admin > Network > Peers and click on the entry for the Mnet Hub.
- Click on the Services tab
- Subscribe to Moodle Networked Enrolment
- Go to Site administration > Plugins > Enrolments > Manage enrol plugins and enable the Moodle Network enrolment plugin. Click Save changes
- Click on edit to view the details for networked enrolments.
- Go to Admin > Networking > Enrolments to see a list of Moodle servers that offer this service to you
- Click on a server name to view a list of courses that the server offers to your users
- Click on a course name, to view a list users that you can enrol in this course
- Enrol users
A Mnet hub is a regular Moodle site that runs in a special mode. As a Moodle Administrator, when you add another Moodle site to your list of network peers, your Moodle will contact that site to find out what it is called, and to request its public key for encrypted communication. Normally, the remote server will simply provide this information without making any record of the transaction.
A Mnet hub is different. As soon as you add an entry for a Mnet hub to your system, the Mnet hub will create an entry for your server in its list of hosts, and may immediately begin to offer services to the users of your site.
This section will guide you to set up a Mnet hub, and select services to offer to all comers.
Enable Networking
- Ensure that the Administration > Site administration > Server > Environment page indicates you have curl and openssl installed
- Go to Administration > Site administration > Network > Settings and turn Networking on
- Go to Administration > Site administration > Network > Peers and tick the checkbox for Register all hosts. Click on Save Changes
- On the same page, the first entry in your list of hosts should be All hosts. Click this link
- Click on Services and enable any services you want to offer to all comers
An administrator can enable ‘No authentication’ in Administration > Site administration > Plugins > Authentication > Manage authentication.
With the “No Authentication” method enabled, a user can create an account without any kind of authentication from other systems, and with no email-based confirmation that the email address that they have provided is valid, or even exists!
This is a good way to create a very insecure Moodle site, and is not recommended.
This is an option that would normally be used only for testing purposes or if your Moodle site is not available on the Internet.
The configuration page for this option only offers the ability to lock fields, enable or disable guest access, and provide an alternative login page, in the same way as other authentication plugins.
Location: Administration > Site administration > Plugins > Authentication > Manage authentication
CAS is “Single Sign-on for the Web” and is developed by JA-SIG in an open-source, collaborative manner. CAS is very beneficial in environments where a number of different web applications share a set of common users. If all the web applications were “CASified” a user would log in once and would then be able to move between the various web applications without ever having to present authentication credentials again.
Location: Administration > Site administration > Plugins > Authentication > External database
This method uses an external database table to check whether a given username and password is valid. If the user does not currently exist in Moodle a new account will be created and their information copied from the external database.
Location: Administration > Site administration > Plugins > Authentication > Manage authentication
FirstClass is a client/server groupware, email, online conferencing, voice/fax services, and bulletin-board system for Windows, Macintosh, and Linux. FirstClass authentication uses the FirstClass Server for the authentication process i.e. to check for user accounts.
Location: Administration > Site administration > Plugins > Authentication > Manage authentication
IMAP authentication uses a mailing systems IMAP protocol to check for users accounts. This allows direct integrations with technologies such as Microsoft Exchange servers.
Location: Administration > Site administration > Plugins > Authentication > Manage authentication
This document describes how to set up Lightweight Directory Access Protocol (LDAP) authentication in Moodle. We cover the basic, advanced and some trouble shooting sections to assist the user in the installation and administrating LDAP in Moodle.
Location: Administration > Site administration > Plugins > Authentication > Manage authentication
NNTP authentication uses the Usenet NNTP protocol to check for users accounts. This allows direct integration with technologies such as Microsoft Exchange, INN, DNews, Diablo, etc.
Location: Administration > Site administration > Plugins > Authentication > Manage authentication
With PAM you can use the same user database for different applications log ins (SSO - Single Sign On). PAM also supports different authentication processes as required.
This method uses PAM to access the native usernames on this server. You have to install PAM Authentication Module in order to use this module.
Location: Administration > Site administration > Plugins > Authentication > Manage authentication
POP3 server authentication is a user authentication process i.e. enabling people to login to your Moodle site. This method uses the POP3 mail server for the authentication process ie. check for users accounts.
Location: Administration > Site administration > Plugins > Authentication > Manage authentication
If you get an error message saying: “Warning: The Auth_RADIUS module does not seem to be present”, you need to follow these steps:
Using debian-based linux (such as Ubuntu):
Install the following modules: php5-dev php5-auth-pam php5-radius php-pear
sudo apt-get install php5-dev php5-auth-pam php5-radius php-pear
Install Auth_RADIUS module for pear
sudo pear install radius Auth_RADIUS
Add the following line to your php.ini file
extension=radius.so
Restart apache services
sudo /etc/init.d/apache2 restart
Location: Administration > Site administration > Plugins > Authentication > Manage authentication
Shibboleth is an Internet2 Middleware Initiative project that has created an architecture and open-source implementation for federated identity-based authentication and authorization infrastructure based on SAML. Federated identity allows for information about users in one security domain to be provided to other organizations in a common federation. This allows for cross-domain single sign-on and removes the need for content providers to maintain usernames and passwords. Identity providers (IdP’s) supply user information, while service providers (SP’s) consume this information and gate access to secure content.
Enrolments¶
Enrolment, or ‘enrollment’, is the process of marking users as participants in the course, that includes both students and teachers. At the same time users are usually give a role in the course which specifies what they are allowed to do.
Enrolment plugins¶
Moodle provides a number of ways of managing course enrolment , called enrolment plugins. Click the links below for further information.
The manual enrolments plugin allows users to be enrolled manually via a link in the course administration settings. The plugin has to be enabled by the site administrator and should normally be enabled as certain other enrolment plugins, such as self enrolment, require it.
- In a course, go to Administration > Course administration > Users > Enrolment methods
- Make sure Manual enrolments has its “eye” opened.

Managers (and any other users with the capability enrol/manual:config) can edit the manual enrolment method in the course and set the default enrolment period and default role in Administration > Course administration > Users > Enrolment methods.

It is possible also for students and/or teachers to be notified when enrolments expire by selecting either “Enroller only” or “Enroller and enrolled user” from the dropdown “Notify before enrolment expires” and a time in “Notification threshold”.
- Method 1
- Go to Administration > Course administration > Users > Enrolled users
- Click the ‘Enrol users’ button at the top right or bottom left of the page
- Use the ‘Assign roles’ dropdown if you wish to change the role
- Select enrolment options as appropriate
- Browse or search for the user
- Click the Enrol button opposite the user. The user will indent in the list and the enrol button will disappear, indicating that the user is enrolled.
- When you have finished, click the ‘Finish enrolling users’ button (or simply close the enrol users box)

The user will then appear in the list of enrolled users.
Note: The enrolment option ‘Recover user’s old grades if possible’ is not ticked by default and is easy to miss. An admin can make it so that the checkbox is ticked for all courses on the site by enabling the setting ‘Recover grades default’ in Administration > Site administration > Grades > General settings.
- Method 2
- Go to Administration > Course administration > Users > Enrolment methods
- Click the ‘Enrol users’ icon in the edit column opposite manual enrolment
- Select users from the not enrolled users list, using Ctrl + click to select multiple users
- Click the add button to add the users to the enrolled users list
Enrolment start and end dates may be edited for individual students as follows:
- Go to Administration > Course administration > Users > Enrolled users
- Click the edit icon in the enrolment methods column for a particular user.
- Edit dates as required, then click the ‘Save changes’ button.
The manual enrolment plugin may be enabled or disabled site-wide in Administration > Site administration > Plugins > Enrolments > Manage enrol plugins.
Site-wide settings, including default settings for manual enrolment in new courses, may be set via Administration > Site administration > Plugins > Enrolments > Manual enrolments.
- Enrolment expiration action - specifies what happens when user enrolments reach expiration date. Please note that option “Unenrol user from course” purges grades, group memberships, preferences and other user related data from the courses.
- Hour to send enrolment expiry notifications - specify hour for sending expiration notifications.
- Add instance to new courses- if this is enabled, then whenever a new course is created, manual enrolments will automatically added to new courses.
- Enable manual enrolments - this specifies if enrol instances are enabled by default in new courses, it is strongly recommended to keep this setting enabled.
- Default role - this sets the default role, which is normally student and may be altered by a teacher in a course.
- Default enrolment duration - this sets the default length of enrolment in new courses.
- Notify before enrolment expires - specifies if teacher or optionally students should be notified before the expiration.
- Notification threshold - specify how many days should be users notified before the enrolment expiration.
Self enrolment is the method whereby users can choose to enrol themselves into a course, either immediately by clicking “enrol me in this course” or by typing in an enrolment key they have been given. The enrolment plugin needs to be enabled by the site admin in enrolment plugins and has to be enabled within the course. The manual enrolment plugin has to be enabled in the same course as well.
In a course, go to Administration > Course administration > Users > Enrolment methods and ensure the “eye” is opened for self enrolment.

If you wish only a certain group of users to self enrol (and not anyone) then you can set an enrolment key which you then tell them to use when they access the self-enrolment screen.
If you wish your users to enrol themselves directly into a group in the course then you can set a group enrolment key which you then tell them to use when they access the self-enrolment screen.
The following settings may be changed by clicking the edit (hand/pen) icon to the right of the self-enrolment option in Administration > Course administration > Users > Enrolment methods :
Tick the “enable” box to the right of Enrolment period and then choose your dates.
Set the amount of time a user enrolment is valid, starting with the moment the user enrols themselves. If disabled, the enrolment duration will be unlimited.
It is possible also for students and/or teachers to be notified when enrolments expire by selecting either “Enroller only” or “Enroller and enrolled user” from the dropdown “Notify before enrolment expires” and a time in “Notification threshold”.
It is possible to edit the date and hour of an individual’s enrolment from Administration > Course administration > Users > Enrolled users by clicking the edit icon in the enrolment methods column for the user in question. This then brings up a screen where the date and time can be modified.
Choose from the dropdown to the right of “Unenrol inactive after...”
Type the maximum number of users you want in your course in “Max enrolled users”. When this limit is reached, nobody will be able to self-enrol. If you leave the number at 0 then there will be no maximum number.
If you have cohorts set up, then you can restrict self enrolment to particular cohorts by selecting the name of the cohort from the drop down box, A member of the cohort can self-enrol as normal; whereas a non-member gets a message telling them they are not able to self-enrol.
If enabled, users receive the following message via email when they self-enrol in a course:
Welcome to {Course name} If you have not done so already, you should edit your profile page so that we can learn more about you: {link to profile page}
If you want to send a different message, simply type it in the custom welcome message text box.
Note: An admin can customise the message for the whole site by editing the welcometocoursetext language string. See Language customization for further details.
The self enrolment plugin may be enabled or disabled throughout the site in Administration > Site administration > Plugins > Enrolments > Manage enrol plugins.
These can be set in Administration > Site administration > Plugins > Enrolments > Self enrolment but teachers in individual courses can alter them to suit their needs:
- Add instance to new courses - if admin selects this, then any new course created will include the self enrolment plugin
- Enable self enrolments- if this is enabled then users by default can self enrol into a course.
- Use group enrolment keys - the setting for group enrolment keys in a course will be set to “yes” by default
- Default role assignment - normally, when users self enrol, they have the student role. If necessary that role can be changed by default here - for example - if your Moodle has a dedicated role you wish to use instead.
- Enrolment duration - this sets the default enrolment length for new courses (but again, may be altered by the course teacher.)
- Notify before enrolment expires - specifies if teacher or optionally students should be notified before the expiration.
- Notification threshold - specify how many days should be users notified before the enrolment expiration.
- Unenrol inactive after- this sets the default time after which a student will be unenrolled if they haven’t accessed the courses. (Teachers may change this)
- Max enrolled users - adding a number here will specify the maximum number of users who can self-enrol into new courses. Teachers in the course can change this. If it is left at 0, there will be no maximum.
- Send course welcome message- if this box is checked then newly enrolled users will receive a welcome message by default.
One course may contain multiple self enrolment methods. User may be enrolled once in each instance only.
- Custom instance name - specify custom enrolment method name.
- Enable existing enrolments - if disabled all users enrolled via this plugin can not access course.
- Allow new enrolments - disable if you do not want to allow students to self enrol in the future.
- Enrolment key - specify key required for enrolment.
- Use group enrolment keys - optionally use group keys for enrolment too.
- Default assigned role - specify role to be assigned to suers during enrolment, this can be manually after user enrolment.
- Enrolment duration - specify enrolment length, this can be manually after user enrolment.
- Notify before enrolment expires - specifies if teacher or optionally students should be notified before the expiration.
- Notification threshold - specify how many days should be users notified before the enrolment expiration.
- Unenrol inactive after- specify time after which a student will be unenrolled if they haven’t accessed the courses.
- Max enrolled users - adding a number here will specify the maximum number of users who can self-enrol into this course.
- Only cohort members - optionally restrict this enrolment method to members of specified cohort.
- Send course welcome message- if this box is checked then newly enrolled users will receive a welcome message by default.
- Custom welcome message - specify custom message if necessary.
Cohorts, or site-wide groups, enable all members of a cohort to be enrolled in a course in one action, either manually or synchronised automatically.
In order to actually enrol users from a Cohort into courses the Cohort-Sync Enrollment plugin needs to be added to the enrollment methods for the course. The Administrator will first need to enable the Cohort-Sync enrolment plugin site wide (Administration > Site administration > Plugins > Enrolments) and then add it to the required Course: (Administration> Course administration > Users > Enrolment Methods).
At this stage the Cohort-Sync instance for the course is edited and the appropriate Cohort selected. The role to which the Cohort users are assigned is also selected at this point (typically Student).
The cohort members can be added to a pre-made group at this stage also if desired. If any members are added or removed from the cohort, they are automatically added or removed from the group. Note that such members cannot be unenrolled manually from the groups screen and that additionally, there is information about their cohort below their name on the group screen.
Visiting the Administration > Course administration > Users > Enrolled Users page will show users enrolled via the Cohort-Sync plugin.
Note that, by default, a teacher cannot add this plugin to their course. It needs to be configured by an Administrator or a user with the Manager role. Also note, that the user should be a Manager on a site level, not on the category or course level, otherwise the user will not see the option. If you want the user with the Manager role on the category level to see this enrol option, then you must add some cohorts on the category level, not on the site level.
The required capabilities for setting up a cohort sync are:
- moodle/course:enrolconfig in the course context
- moodle/cohort:config in the course context
- moodle/cohort:view in the same context as category
The required capabilities for manually enrolling cohort members are:
- the same as cohort sync
- enrol/manual:enrol in course context
- moodle/course:enrolreview in course context
The Guest access plugin allows users with the Guest role to view the contents of a course. This might be used, for example, if a Moodle site serves as a website where certain courses contain publicly available information, or else with a commercial Moodle site where courses with guest access can offers a “taster” of the kind of courses which may be purchased. (Note that the guest cannot participate in any activities; they can only view content.)
- In dministration > Course administration > Users > Enrolment methods, first ensure that you have added “guest access” as an enrollment method, and that it has its eye open.
- Ensure that self enrolment is also enabled.
- In Administration > Course administration > Edit settings, scroll to “Guest access”
- Set the drop down to “Yes”
- If you wish guests to use a password to access the course then add it here.

- In Administration > Site administration > Plugins > Enrolments > Manage enrol plugins,ensure Guest access is enabled (has its eye open.) This enables Guest access.
- In Administration > Site administration > Plugins > Manage authentication set the Guest login button to Show if you want the button on the Frontpage.
- Also Guest accounts can be logged - check the Administration> Site administration > Server > Cleanup > Log guest access setting
- Clicking on Administration > Site administration > Plugins > Enrolments > Guest access brings up the screen where admin can set defaults for guest access in courses. Guest access can be turned on by default in all new courses and you can also:
- require each course with guest access to have a password for guests. (Note: this can confuse teachers who are not aware of the requirement.)
- use or ignore your Moodle’s standard password policy for guest access passwords
- offer if needed the first letter of the password as a hint.
- In *Administration > Site administration > Users > Permissions > User policies8, you can tick the box so that visitors are automatically logged in as guests when accessing a course with guest access (i.e. they don’t have to click the “login as guest button”.
- In Administration > Site administration > Plugins > Authentication > Manage Authentication, you must have “Guest login button” set to “Show”.
- In Administration > Site administration > Security > Site policies you can check “Open to Google” setting so that the Google search robot will be allowed to enter your site as a Guest. In addition, people coming in to your site via a Google search will automatically be logged in as a Guest.
The category enrolments plugin allows users to be enrolled in a category as opposed to individual courses. The plugin has to be enabled by the site administrator. The category enrolment plugin will synchronise any role assignments at category context with the capability enrol/category:synchronised set to allow.
- Go to the category into which you wish to enrol users. Note: You need to have category rights (manager or administrator)
- In the Administration block,click Assign roles. The list of possible roles you can assign will appear:
The category enrolment plugin may be enabled or disabled throughout the site in Administration > Site administration > Plugins > Enrolments> Manage enrol plugins.
- By default, only managers and course creators can be assigned category-wide. If you want to add teachers or students then the site administrator needs to tick the “category” box in their role in Administration > Site administration > Users > Permissions > Define roles.
- To ensure they will be automatically assigned as teachers/students in any new courses you make, the administrator needs to set to “allow” the capability enrol/category:synchronised for the role in question in Administration > Site Administration > Users > Permissions > Define roles.


Location: External database edit settings link in Administration > Site administration > Plugins > Enrolments > Manage enrol plugins
You may use a external database (of nearly any kind) to control your enrolments. It is assumed your external database contains a field containing a course ID, a field containing a user ID, and optionally a field containing a role. These are compared against fields that you choose in the local course, user tables, and role tables.
Location: Flat file edit settings link in Administration > Site administration > Plugins > Enrolments > Manage enrol plugins
A flat file allows bulk enrolment management (enrol or unenrol) of existing users in existing course. The file is read one time by Moodle then erased. The file is located in the moodle file structure as a text file and Cron provides the timing when it is read
The site administrator should edit the settings for a flat file if it is enabled.

You should specify an absolute path for the upload file (eg /var/moodledata/enrolments.txt) where it can be read and modified by the webserver process.
You can choose to have an email sent to notify the Administrator, Teachers and/or students when the file has been processed.
The file should be structured with the action, role, user id, and course ID number. Optionally a start time and end time can be added as additional fields.
- Example file:
- add, student, 5, CF101add, teacher, 6, CF101add, teacheredit, 7, CF101del, student, 8, CF101del, student, 17, CF101add, student, 21, CF101, 1091115000, 1091215000
Location: IMS Enterprise file edit settings link in Site administration > Plugins > Enrolments > Manage enrol plugins
IMS Enterprise is an international standard XML file format which may be used to specify enrolments/unenrolments in courses, as well as course information and user information.
Location: LDAP edit settings link in Administration > Site administration > Plugins > Enrolments > Manage enrol plugins
This describes how to set up Lightweight Directory Access Protocol (LDAP) enrollment in Moodle (first written by Lars Jensen). LDAP enrolment works best in Moodle when used in conjunction with LDAP authentication, and we’re going to assume that you have already set Moodle up for LDAP authentication.
- You are running a recent version of Moodle.
- You are using LDAP authentication as your primary authentication method.
- Each user in has a uid attribute in the users LDAP record, that matches the ID number in the same users Moodle profile (this can easily be arranged with a mapping on the Moodle LDAP Authentication setup page - for Active Directory, use ‘distinguishedName’, without the quotes)
Our setup involves the following course and user definitions:
- Two courses, Math101 and Eng201.
- Two teachers, TeacherA and TeacherB.
- Three students, StudentD, StudentE, and StudentF.
- StudentD and StudentE are enrolled as students in Math101, and TeacherA is enrolled as teacher of Math101. StudentE and StudentF are enrolled as students in Eng201, and TeacherA and TeacherB are both enrolled as teachers of Eng201.
- Define two LDAP containers ou=StudentEnrollment and ou=TeacherEnrollment
- For each course we define an LDAP group entry (e.g a posixGroup entry) in the StudentEnrollment and TeacherEnrollment containers. Thus, we define a Math101 posixGroup under StudentEnrollment, and we define a Math101 posixGroup under TeacherEnrollment. We define the two Eng201 groups in a similar way. Be careful, the name of the posixGroup has to match the Course ID number of the Moodle course. Do not use the course short name, it will not work.
- Enroll students and teachers as members of in the LDAP-groups we just defined. This is done by entering the users uid attribute (idnumber) in the memberUid attribute of the relevant group:
- TeacherA is a member of the Math101 group under TeacherEnrollment.
- StudentD and StudentE are a members of the Math101 group under StudentEnrollment.
- TeacherA and TeacherB are members of the Eng201 group under TeacherEnrollment
- StudentE and StudentF are a members of the Eng201 group under StudentEnrollment.
The Course meta link plugin makes it possible for one course, called a metacourse, to bring in enrolments from other courses. The Course meta link plugin needs to be enabled both on the site level by the site admin and has to be enabled within the course.
Examples: one “child” course (a course linked to a meta course) can be associated with many meta courses. Or one meta course can have many child courses associated with it. Both the child courses (non-meta courses) and the meta courses are independent and can be recycled many times, that is, each can be associated with many of the other.
In a course, go to Administration > Course administration > Users > Enrolment methods.
Click the dropdown menu under the enrolment methods and select ‘Course meta link’.
In the screen that comes up next, select from the dropdown box the course you wish to bring enrolments from and then click ‘Add method’.
Note 1: A teacher in a course will only be able to choose from courses they are teachers in elsewhere. Note 2: To add more courses, add another instance of the course meta link.
The users from the child course will now be enrolled in the current course.
When new users are enrolled to the child course, they will be automatically brought into the current metacourse.
The Course meta link plugin may be enabled or disabled throughout the site in Administration > Site administration > Plugins > Enrolments > Manage enrol plugins.
The page Administration > Site administration > Plugins > Enrolments > Course meta link contains options for defaults that admin can set. (It can be also be accessed by clicking the Settings link on on the course meta link section of Administration > Site administration > Plugins > Enrolments > Manage enrol plugins)
By default all role assignments from child courses are synchronised to meta courses. However, the “Roles that are not synchronised to metacourses” setting enables administrators to exclude particular roles.
An administrator can enable teachers to add course meta links as follows:
- Go to Administration > Site Administration > Users > Permissions > Define Roles
- Select the Teacher Role and click on the Edit button
- Scroll down to Course Meta Link.
- Scroll to the bottom of the page to save your changes.
MNet remote enrolments allows a remote MNet host to enrol their users into our courses.
Say I want administrators on ‘Site A’ to be able to enrol their users to courses ‘Site B’ I need to take the following steps. Note you need to set up Site B first before enrolling users to it.
- At least 2 networked peers
- Mnet Authentication plug-in enabled
- Mnet Enrolment plug-in enabled
- Go into the course that you want to enable on ‘Site B’.
- Go to Administration > Course administration -> Enrolment Methods and add an Mnet enrolment instance linked to ‘Site A’
Note this will only work for system users with moodle/site:config capability
- Go to Networking -> Remote enrolment clients
- Choose Edit Enrolments in the action column for Site B
- Select Edit Enrolments in the Action column of the appropriate course (use refresh if not there)
- Enrol the relevant users
The users that were enrolled will now have access to the remote site. the links will appear in the ‘My Courses’ area and ‘Course Overview’ block but not in the Navigation block under ‘Courses’.
The get_my_remotecourses() function can be used to work with these elsewhere .
Location: PayPal edit settings link in Administration > Site administration > Plugins > Enrolments > Manage enrol plugins
The PayPal enrolment plugin allows you to set up paid courses. The plugin has to be enabled by the site administrator (see Enrolment plugins)and then added to the course by an administrator or manager. You can then set an individual price for your course if needed.
- In a course, go to Administration > Course administration > Users > Enrolment methods
- If you do not see PayPal, use the pull down menu “Add method” and select PayPal.
- Make sure PayPal has its “eye” opened:
- In Administration > Course Administration > Users > Enrolment methods, click the edit/hand/pen icon to the right of the Paypal option.
- Give a name to this enrolment method if you wish in “Custom Instance name”. (You don’t have to!)
- Ensure that “allow Paypal enrolments” is set to “yes”
- In “Enrol cost”, type in the cost of your course and in “Currency” choose your currency.
Note: In Moodle 2.5 onwards, all Paypal-supported currencies are available.
- Usually you would leave the “Assign role” as “student” unless you have a very special reason for allowing your users to enrol as, say, editing teachers etc
- Choose an enrolment period and/or start/end dates if desired.
- Click the “Save changes” button.

When a new user clicks on your course link, having made a login to your Moodle, they will see the following screen, inviting them to go to PayPal to purchase access to your course:

- If you wish to allow users to make their own accounts on your site then set up Email based self registration
- Go to Administration > Site Administration > Plugins > Enrolments > Manage enrol plugins and enable (open the “eye” of Paypal)
- Click the blue Settings link to the right of the PayPal enrolment link. Here are the default settings and default settings for new instances in a course:
- Add the email of your Business PayPal account. The email settings are case sensitive and must exactly match that in PayPal.
- Choose whether to notify students/teachers/admin.
- Choose whether (or not) to allow the Paypal enrolment plugin by default in new courses
- Choose a default cost and currency. (This may be overridden in individual courses)
- Choose a default role assignment. (This means the role that a new user will automatically be given in a course when they purchase access. Usually this would be “student” unless you have a special reason for choosing another role.) This may be overridden in individual courses.
- Choose the default enrolment period. This may be overridden in individual courses.
Setup your PayPal account at paypal.com
- Create a Paypal account
- Not required but recommended for selling: Upgrade your account to “Premier” status and get “Verified”
- Set the Encoding to UFT-8. In Paypal, go to “Profile > Language Encoding” (under the Selling Preferences column) and set your website’s language (like select “Western European Languages (including English)” as it is the only English version). Then click on the “More Options” button and set the Encoding to “UTF-8”, select “Yes” to use the same encoding for data sent from Paypay to you, and save.
- Optionally setup IPN in Paypal to interact with Moodle. Log into Paypal, go to “Profile > Instant Payment Notifications (IPN)”, click “Turn On IPN”, click the “Edit settings” and enter a URL that references your IPN file in your Moodle installation (for example: http://<domain name>/moodle/enrol/paypal/ipn.php)
- If you have allowed users to create their own accounts then when they click to login, they will be presented with a screen Is this your first time here? It will give them instructions for making an account (which may be customised in the authentication common settings in Administration > Site administration > Plugins > Authentication > Manage authentication) and once their account is confirmed via email they can click on a course which can be purchased and pay for it via Paypal. PayPal courses will have a dollar sign icon next to them:
- Once payment is made both the user/student and the teacher/admin should have received emails from Paypal confirming the purchase.
The default currency symbol for Paypal is a dollar sign. If you are using GBP or Euros or another currency, you can change this by creating your own customised icon with your choice of currency. Make it 16x 16 pixels and call it icon.gif Upload your new icon via FTP to your moodle directory>enrol>paypal>pix. Your icon.gif will override the dollar sign. Make sure you refresh your page to be sure of the changes.
Text Editors¶
Licences¶
Manage Licences¶
An administrator can enable any/all of the following licences in Settings > Site administration > Plugins > Licences > Manage licences for user selection when publishing a course to a Community Hub or uploading a file to a File Repository.
- The default licence is All Right reserved All rights reserved but this may be changed in the dropdown. The other options are explained in the links below:
- All rights reserved (default option)
- Public domain
- Creative Commons
- Creative Commons - NoDerivs
- Creative Commons - No Commercial NoDerivs
- Creative Commons - No Commercial
- Creative Commons - No Commercial ShareAlike
- Creative Commons - ShareAlike
- Other - licence not already listed
![]()
Note: The licence given to a file when uploaded to Moodle does not in any way affect its visibility on a course. It simply creates the default when it is being re-used elsewhere. This default licence can be changed at the time of display.
Filters¶
Manage filters¶
To enable/disable filters in a course or activity:
- Go to Administration > Course administration > Filters or if you are in an activity Administration > Activity administration > Filters
- Set each filter on or off as required.
- Click the ‘Save changes’ button.


A site administrator can enable filters for the site in Administration > Site administration > Plugins > Filters > Manage filters.
- Select ‘On’ (always available for all courses), ‘Off but available’ (teachers can choose whether to enable the filter for the course or activity) or ‘Disabled’ (always off for all courses) as required for each filter.
- Use the up/down arrow icons to arrange the filters in the order in which they should be applied.
- Leave all filters applying to content only unless you particularly need a filter, such as the Multi-language content filter to apply to headings too.
Certain filters have additional settings, which can be accessed via the links in the settings column.
Tip: The ‘Off but available’ setting is useful when Maths teachers want the TeX notation filter but no-one else does, or if you only want emoticons for use in social forums.
Common filter settings¶
A site administrator can change the following settings in Settings > Site administration > Filters > Common filter settings:
- Text cache lifetime - Text filters can take a lot of processor power to analyse. If you have a large number of courses, the filters may slow your system. The text cache lifetime determines how often the filters run. If you set them to run too frequently, your system may slow down. If you set them to run too infrequently, analysing new content will take too long and users will notice. You should experiment to find the correct amount of time for your server.
- Filter uploaded files - This setting enables uploaded files (HTML and text only) to be processed by the filters system. You can choose to have none, only HTML or all files filtered.
- Filter match once per page - This setting effects the glossary, activity and resource linking filters. If set to yes, only the first match on the complete page will be converted to a link. All others will be ignored.
- Filter match once per text - This setting effects the glossary, activity and resource linking filters. If set to yes, only the first match in a discrete block of text will be converted to a link. All others in that text block will be ignored.
- Filter all strings - The filter all strings common filter setting in Moodle 1.9 (which only worked for the multi-language filter) has been replaced by the ‘Apply to’ setting in Manage filters.
A site administrator can change the following setting in Settings > Site administration > Plugins > Activity modules > File:
- Use filters on file content - This applies to content in HTML pages.
Repositories¶
Manage repositories¶
Repositories can be enabled by an administrator in Administration > Site administration > Plugins > Repositories > Manage repositories.
A repository plugin may be set to
- Enabled and visible - appears in the file picker
- Enabled and hidden
- Disabled - default setting
The order in which repositories are shown in the file picker may be set using the up and down arrows.
Repository plugin: it is also called a repository type. It can be named Box.net, Flickr, Mahara, Youtube... Adding a plugin allow users to create instances of this plugin. Only instances are displayed into the file picker. Type only exist in order to let a Moodle administrator to deactivate/delete all instances of a type in one click.
Repository instance: An instance is displayed into the file picker and it is the access point to an external repository. An instance can have specific settings (for example be linked to a personal account).
First case: when you add the plugin, an instance is automatically created and can not be edited. The Moodle administrator cannot change the instance name. The instance name displayed into the file picker will be exactly the same as the plugin name. For example Youtube, Box.net...
Second case: the plugin allow the Moodle administrator to add multiple instances. An instance has a name for example Flickr Public access to Martin account, Martin’s Mahara... For this second case it is important to identify two different kind of instances:
- Common instances: The instances set by Moodle administrator in these same administration pages will be available into any file picker.
- Private instance: A teacher can set some instances available only for a course, and an user can set some instances only available for himself. In order to set instances for a course the teacher will go to the course page, and in order to set instances for a personal use, a user will go on his profile page. An administrator cannot add/edit private instances from the administration pages.
Common Repository Settings¶
Common repository settings can be set by an administrator in Administration > Site administration > Plugins > Repositories > Common Repository settings:
You can specify how long in seconds file listings are cached locally when browsing external repositories.
With some repositories such as Flickr and Wikimedia, users can have the choice whether to copy the media into Moodle (the preferred solution) or to make a link to it instead.
This repository is not normally available in new courses as it is designed for upgraded 1.9 courses. However, if it is checked here then it will appear when new courses are created - but certain backup and restore features won’t work with it. See Legacy course files for more details.
When ‘Legacy course files’ is available in a course, this setting controls if users are able to add new files to it. When enabled, users will be able to add files and directories, as well as delete. When disabled, users will not be able to add files and directories.
Embedded files¶
The embedded files repository allows users to access files such as images which they have previously embedded into the TinyMCE text editor. This makes it more convenient, for example, to quickly re-use images in a label or page. It complements the TinyMCE Manage embedded files plugin, which allows files embedded in the editor to be deleted or overwritten.
- This repository can be accessed when using the TinyMCE text editor and inserting images, videos or creating hyperlinks.
- The first time a file is added, it is added from the usual repositories, for example Upload a file.
- It will then become available for reuse in the same text area from the Embedded files repository.
Server files¶
The server files repository enables teachers and managers to access files used within a course and elsewhere on the site which they have permission to access.
Activity modules for which files are available in the server files repository are:
- File resource
- Folder resource
- Database
- Forum
- Glossary
- Lesson

When a file from the server files repository is re-used elsewhere on Moodle, the teacher has the option to make a copy (a new, unconnected version) or to create a shortcut or alias.
Recent files¶
The recent files repository allows users quickly to locate files they uploaded previously.
- Recent files can be accessed anywhere the file picker is available.
- Recent files are context-sensitive -that is to say - you will only see the type of file Moodle thinks you want to upload.
Example 1: A user clicks the image icon in the text (TinyMCE) editor to upload an image already used in a different course. The Recent files repository will only show image files even though the user might have uploaded files of other types previously.

Example 2: A user clicks the Moodle media icon to upload a sound file already used in a different course. The Recent files repository will only show media files even though the user might have uploaded files of other types previously.

When a recently uploaded file is re-used elsewhere in Moodle, the teacher has the option to make a copy (a new, unconnected version) or to create a shortcut or alias.
- There is no set time for the display of Recent files - that is to say - it isn’t the last two days or two weeks etc.
- Recent files are by default the last 50 files the user has uploaded to Moodle. This number can be changed by the admin
- Go to Settings > Site Administration > Plugins > Repositories > Recent Files
- Click the blue Settings link
- Change the number to your preferred number.
Recent files is enabled by default but can be disabled by the administrator if required.
- Go to Settings > Site Administration > Plugins > Repositories > Manage Repositories
- Change the drop down next to Recent files from “Enabled and Visible” to “Disabled”
There is just one capability, View recent files, which is allowed for the default authenticated user role.
Upload file¶
The Upload a file repository enables users to browse and upload files from their computer into Moodle. Recently uploaded files may be accessed by clicking on the recent files link in the file picker.

There is just one capability, Use uploading in file picker, which is allowed for the default authenticated user role.
URL downloader¶
The URL downloader repository enables users to enter the URL of an image (any type e.g. png, jpg) for copying into Moodle. It may also be used to obtain all images from a web page by entering the web page address.
There is just one capability, Use URL downloader in file picker, which is allowed for the default authenticated user role.
Private files¶
In Moodle, each user has a private files area for uploading and managing a set of files.
The private files area is accessible via Navigation > My home > My profile > My private files or the My private files block. If the private files repository is enabled by a site admin, it is available as a source within the filepicker when selecting files to use in a course.

To add a file to your private files area
- On the Navigation menu, click My profile > My private files
- The file manager will appear.
- If desired, create a folder for your file(s)
- Click on the Add button to upload from the File picker or drag and drop from your desktop. It will look like the files are already there, but they aren’t until you do the next step!
- Click the ‘Save changes’ button
Once uploaded, files will appear as thumbnails. Clicking the icons top right will display them in table or list view as an alternative.
![]()
The size limit for each user’s private files area is set by a site administrator in User quota in Administration > Site administration > Security > Site policies.
- To prevent all users having access to Private files, the administrator should disable the repository in Administration > Site administration > Plugins > Repositories > Manage repositories. and in Administration > Site administration > Users > Permissions > Define Roles edit the authenticated user role and set the capabilities ‘moodle/user:manageownfiles’ and ‘repository/user:view’ to prohibit.
- If only students are to be prevented from accessing private files (but teachers etc, allowed) then a new role should be made and assigned system wide.
- Manage files in own private file area
- View user private files
Wikimedia¶
The Wikimedia repository enables a user to search Wikimedia and copy a selected file into Moodle.
When a file is chosen, Moodle displays the image dimensions, license, author, last modified date (and file size if it is smaller than the maximum dimension specified).

There is just one capability, View wikimedia repository, which is allowed for the default authenticated user role.
Youtube videos¶
The Youtube repository allows users to search from within the HTML/TinyMCE editor for a youtube video which they can then embed without the need for any coding. The option needs to be enabled by the administrator before it is available for teachers and students. NOTE: If the Youtube website is blocked in your institution then the videos will not display.
- Go to Settings > Site administration > Plugins > Repositories > Manage Repositories
- Select from the drop down next to Youtube “Enabled and visible”;
- If desired,click on “Settings” and give Youtube a customised name (not essential)
- Youtube videos can be searched for and embedded anywhere there is the HTML/TinyMCE editor, for example a label or a page.
- Before this works, you must enable the multimedia filters under Administration >Site administration > Plugins > Filters > Manage Filters. Set Multimedia Plugins to “On” and make sure youtube is selected under Settings (it should be by default).
- Within a course you must ensure in Course administration>Filters that multimedia are ON.
- Click the filmstrip, “Moodle media icon” in the editor:
- Click “Find or upload a sound, video or applet”
- The file picker will appear with Youtube videos as an option. Click it and a search box will appear.
- You can search by relevance, date or rating. Click the “Search” button when you are ready.
- Your search results will appear as video thumbnails.
- Click “Insert”
- DO NOT WORRY IF YOUR VIDEO NO LONGER SHOWS! You will just get a blue text link until you save. Then it will display. If it still displays as a text link after saving, make sure you have enabled the Multimedia filter as instructed at the top of this page.
There is just one capability, Use youtube in file picker, which is allowed for the default authenticated user role.
Question Behaviours¶
Manage Question Behaviours¶
An administrator can manage question behaviours available across the site in Administration > Site administration > Plugins > Question behaviours > Manage question behaviours.
The following question behaviours are available when creating a quiz (also when previewing questions):
Students must enter an answer to each question and then submit the entire quiz, before anything is graded or they get any feedback.
Allows students to have multiple attempts at the question before moving on to the next question.
Used for essay questions (irrespective of what the quiz is set to) but you can now choose to have every question in the quiz manually graded, if you wish.
After submitting one answer, and reading the feedback, the student has to click a ‘Try again’ button before they can try a new response. They can be given hints to help them. Once the student has got the question right, they can no longer change their response. Once the student has got the question wrong too many times, they are just graded wrong (or partially correct) and get shown the feedback and can no longer change their answer. There can be different feedback after each try the student makes. The number of tries the student gets is the number of hints in the question definition plus one.
Similar to interactive mode in that the student can submit their response immediately during the quiz attempt, and get it graded. However, they can only submit one response, they cannot change it later.
With CBM, the student does not only answer the question, but they also indicate how sure they are they got the question right. The grading is adjusted by the choice of certainty, so that students have to reflect honestly on their own level of knowledge in order to get the best mark.
Question Types¶
Manage Question Types¶
An administrator (or manager or any user with the capability moodle/question:config) can manage question types available across the site in Administration > Site administration > Plugins > Question types > Manage question types.

This shows the number of questions of that type in the entire Moodle site. If the number is non-zero, it will be a link to a report that shows you where in the question bank (which contexts) those questions are.
If the question type has its own database tables, then the version of those tables is displayed here.
Some question types rely on others to operate correctly. If so, the required question types are listed here.
If you make a question type unavailable, then users will no longer be able to create new questions of that type. However, existing questions of that type will continue to work, so existing quizzes will continue to work, and old quiz attempts can be reviewed.
The up and down arrows let you control the order of the question types in the list where teachers select which type of question they wish to create.
- If
- there are no questions of a particular type, and
- if this question type is not required any any other question type, and
- if this question type is neither Random nor Missing type, which are required by the question type system,
then you can uninstall it by clicking on the delete link.
Some question types have configuration options. If so, a settings link will appear in this column.
Question Preview Defaults¶
These defaults are used when a user first previews a question in the question bank. Once a user has previewed a question, their personal preferences are stored as user preferences.
- How questions behave
- Whether corrrect
- Marks
- Decimal places in grades
- Specific feedback
- General feedback
- Right answer
- Response history
Admin Tools¶
Manage Admin Tools¶
The following admin tools can be managed by an administrator in Administration > Site administration > Plugins > Admin tools > Manage admin tools.
- Acceptance testing
- Add-on installer
- Assignment upgrade helper
- Capability overview - in Administration > Site Administration > Users > Permissions > Capability report
- Convert to InnoDB
- Upload courses in Administration > Site administration > Courses > Upload courses
- Database transfer
- DB search and replace
- Health center
- Language customization in Administration > Site administration > Language> Language customization
- Language packs in Administration > Site administration > Language > Language packs
- Multilang upgrade
- PHPUnit tests
- Profiling runs
- Question engine upgrade helper
- Spam cleaner in Administration > Site administration > Reports > Spam cleaner
- Timezones updater in Administration > Site administration > Location > Update timezones
- Unsupported role assignments in Administration > Site administration > Users > Permissions > Unsupported role assignments
- User upload in Administration > Site administration > Users > Accounts > Upload users
- XMLDB editor in Administration > Site administration > Development > XMLDB editor
Security¶
IP Blocker¶
An administrator can set a list of allowed and/or blocked IP addresses in Settings > Site administration > Security > IP blocker.
- By default, entries in the blocked list are processed first, but checking the box Allowed list will be processed first reverses this order.
- Each entry in the allowed or blocked list goes on one line, with either the full IP address, partial address or range. Blank lines or domain names written as text (like moodle.org)are ignored.

Site Policies¶
A site administrator can set site policies affecting the security and privacy of the site in Settings > Site administration > Security > Site policies.
Read Site Policies for more information.
HTTP Security¶
HTTPS for logins can be enabled by an administrator in Settings > Site administration > Security > HTTP security.
Use HTTPS for logins¶
HTTPS encrypts the user’s login data, so it’s difficult to sniff out a user’s username and password on the network. You will need to enable HTTPS on your server before you turn on this setting, or else you will be locked out of your site. Every web server has a different method for enabling HTTPS, so you should check the documentation for your web server.
Notifications¶
An administrator can set up login failure notification in Settings > Site Administration > Security > Notifications.
- Display login failures to - Set this to administrators to be warned of anyone attempting to steal student or teacher logins. When set, a link stating the number of failed logins appears in the top right corner of the page when an administrator logs in. Click the link to access the login error page.
- Email login failures - If you’re concerned about login failures, you can set up email notification for administrators or any/all users who can change the site configuration.
- Threshold for email notifications - This sets the number of failed logins for a given user from a single computer that will trigger notification.
Note: The number of failed login attempts that result in account lockout may be set in Administration > Site administration > Security > Site policies.
Anti-Virus¶
The use of the open source virus scanner clam AV on uploaded files can be enabled by an Administrator in Settings > Site administration > Security > Anti-Virus.
Clam AV should be installed on your server. See http://www.clamav.net for more information.
Appearance¶
There are many ways to customise the appearance of your Moodle site so that it blends in with, for example, your college site or your company’s corporate brand. Below links provide more information on personalising the appearance of Moodle:
Themes¶
A theme sets the appearance - colours, fonts, and icons for your Moodle site.
Theme Settings¶
An administrator can change theme settings in Settings > Site administration > Appearance > Themes > Theme settings.

This lists the themes available for course and user themes. Leave this blank to allow any valid theme to be used. If you want to shorten the theme menu, you may specify a comma-separated list of names, though don’t use spaces (e.g. standard,orangewhite).
You can preview the available themes in Administration > Site Administration > Appearance > Themes > Themes selector.
Turn this on if you are designing and testing themes as it will stop the themes being cached and enable you to see theme changes quickly. (You can also do this with the Clear theme cache button on the theme selector page.)
If the option allowuserthemes is enabled, each user may select their preferred theme on the edit profile page. All Moodle pages will be displayed in the user’s theme, apart from courses where a course theme has been set.
NOTE: the user’s theme will not be available in mobile and tablet devices unless the option enabledevicedetection is unchecked.
If you enable this, then teachers will be able to set their own course themes. Course themes override all other theme choices (site, user, or session themes).
- If the option allowcoursethemes is enabled, each editing teacher may select their course theme via the Force theme option on the Course settings page. The course will always be displayed in the theme specified in the course setting, with user and the site themes being overwritten.
NOTE: the course theme will not be available in mobile and tablet devices unless the option enabledevicedetection is unchecked.
When enabled, themes can be set at the category level. This will affect all child categories and courses unless they have specifically set their own theme. WARNING: Enabling category themes may affect performance, as it will result in a few extra DB queries on each page, so only turn this on if you need it!
NOTE: the category theme will not be available in mobile and tablet devices unless the option enabledevicedetection is unchecked.
If this is checked then the theme may be changed by adding ?theme=theme_name (or &theme=theme_name if there are other URL parameters) to the URL in the browser. Theme names should be in lower case with spaces replaced by underscores, for example the theme “Formal white” should be entered as ?theme=formal_white .
Allows users to display and hide blocks.
If the theme allows it, then checking this will allow the user to move blocks to the side dock.
Will detect mobile and tablets that identify themselves via the web browser at the time of login to Moodle. These work with the theme selector. When the theme selector has identified a default, mobile and tablet themes, this feature will use that theme.
This will allow you to customize the theme selector options. For example, you can add a custom theme for IE6 and another for Windows CE by entering the identifying expressions the browser sends and the “Return value” you want to display as the theme selectors “Device type”.
Logo, tagline, link colour, column width, custom CSS and other settings for a particular theme may be set by an administrator in Administration > Site administration > Appearance > Themes > Theme name.
Theme Selector¶
An administrator can set a theme for the site in Administration > Site administration > Appearance > Themes > Theme selector.
Different themes may be set according to ‘device type’ - default, legacy (for older browsers), mobile and tablet.
- Click on the “Select theme” button next to the type you wish to change
- Scroll down to see the previews of the available themes and click on the “Use theme” button to chose the theme
- The next screen will provide information about the theme. Click “Continue”
Note 1: Moodle caches themes so if you don’t immediately see changed settings that you were expecting, click the “Clear theme caches” button at the top of the Theme selector page.
Note 2: The selected theme may be overridden if user/course or category themes have been allowed in the Theme settings.

Calendar¶
Preference settings¶
Both the daily detail screen and the monthly detail screen have the Preferences button in the upper right. Here you can set the time format, first day of the week, number of events to show in the calendar block, days to look forward for events and if the filters on this calendar should be saved as the default for all calendars.
Site administration settings¶
The following settings can be changed by a Site administrator in Administration > Appearance > Calendar :
- Admins see all - Whether admins see all calendar events or just those that apply to themselves.
- Time display format - Whether a 12 or 24 hour format is used. This setting can be overridden by user preferences.
- Start of week - Default is Sunday.
- Weekend days - Weekend days are shown in a different colour.
- Days and events to look ahead - For determining how many events are listed in the Upcoming Events block. If the Upcoming Events block becomes too long you can reduce the number of days and events to lookahead.
- Calendar export days to look ahead and back - A custom range of dates, such as a school term or year, may be set as a calendar export option.
- Calendar export salt - The calendar export salt is a random string of characters used for improving of security of authentication tokens used for exporting of calendars.
Blog¶
Enabling / disabling blogs¶
Blogs in Moodle are enabled by default. They may be disabled by a site administrator in Settings > Site administration > Advanced features by setting the blog visibility to ‘Disable blog system completely’.
My profile settings¶
Blog entries per page - In Settings > My profile > Blogs > Preferences you can set how many blog entries are displayed on a page. The default number of entries is 10.
Site administration settings¶
Blogs have additional settings which may be changed by an administrator in Settings > Site administration > Appearance > Blog.
Enable blog associations - If blog associations are enabled, users can blog about their course or a particular activity using the context-sensitive links for adding an entry in the Blog menu block e.g. ‘Add an entry about this assignment’ or ‘Add an entry about this course’.

Blog visibility - This setting allows you to restrict the level to which user blogs can be viewed on this site. Note that they specify the maximum context of the VIEWER not the poster or the types of blog posts. Blogs can also be disabled completely if you don’t want them at all.
Note: Sites upgrading to 2.0 which previously had blog visibility set to “Users can only see blogs for people who share a course” or “Users can only see blogs for people who share a group” will have blogs converted into blog-like format forums.

Enable external blogs - Enables users to specify external blog feeds. Moodle regularly checks these blog feeds and copies new entries to the local blog of that user.
External blog cron schedule - How often Moodle checks the external blogs for new entries. By default it is 24 hours.
Maximum number of external blogs per user - By default, the number of external blogs each user is allowed to link to their Moodle blog is 1.
Enable comments - Blog comments are enabled by default, though may be disabled if required.
HTML Settings¶
The list of images that will be used to replace the emoticon text can be defined by a site administrator in Settings > Site administration > Appearence > HTML settings. The images defined here are used by Display emoticons as images filter and TinyMCE HTML editor’s Insert emoticon popup menu.
Media Embedding¶
An administrator can enable selected media players in Settings > Site administration > Appearence > Media embedding
See more details Media Embedding
Moodle Docs¶
Moodle Docs is an abbreviation for Moodle documentation.
By default, managers, teachers and non-editing teachers (and any other users with the capability moodle/site:doclinks) have “Moodle Docs for this page” links at the bottom of each page in Moodle for accessing context-specific documentation.
An administrator can change Moodle Docs settings in Settings > Site administration > Appearance > Moodle Docs.
The default path is to docs.moodle.org. If a user has selected a language for which there is documentation available, the “Moodle Docs for this page” links will link to the documentation in that language.
If the Moodle Docs document root field is left blank, no “Moodle Docs for this page” links will appear.
You may find that teachers prefer the documentation to open in a new window, so they can easily return to their page in Moodle. If so, click the “Open in new window” checkbox.
Default My home page¶
An administrator or manager (or other user with the capability moodle/my:configsyspages) can set which content (course overview, calendar, blocks) appears on the My home page for new users as follows:
- Access Settings > Site administration > Appearance > Default My Moodle page .
- Select the required blocks from the “Add a block” drop-down menu. Configure each block as desired
- Reposition blocks using the arrow icons in the block headers
Default profile page¶
An administrator or manager (or any other user with the capability moodle/user:managesyspages) can set which blocks appear on the default profile page for new users.
- Access Administration > Site administration > Appearance > Default profile page.
- Select the required blocks from the “Add a block” drop-down menu. Configure each block as desired.
- Reposition blocks using the arrow icons in the block headers.
Courses¶
An administrator can change the following course settings in Settings > Site administration > Appearance > Courses.
Course contacts - Users with the selected role(s) e.g. teachers are listed in the course description. By default, users with the role of teacher in a course are listed in the course description for that course. If a course has several teachers, the course description can become rather long. In this case, you can create a role e.g. head of subject with no capabilities set and assign it to selected users in addition to their teacher role. If you then select only the head of subject role in the course managers setting, the course description will be shorter.
![]()
Display extended corse names - By default, only course full names are displayed in the list of courses. If you check this box, then the course short name will also be displayed.
Course per page - You can define value for the number of courses to be displayed per page in a course listing.
Courses with summaries limit - maximum number of courses to display in a course listing including summaries before falling back to a simpler listing.
Course summary files limit - The maximum number of files that can be attached to a course summary.
Course summary files extensions - A comma-separated list of allowed course summary files extensions.
Ajax and Javascript¶
Admins can choose to disable AJAX across the whole site in Settings > Site administration > Appearance > AJAX and Javascript.
Ajax is required for drag and drop functionality so leaving it enabled is recommended.
Manage Tags¶
Tags can be managed by a site administrator or manager (or any other user with the capability moodle/tag:manage) in Settings > Site administration > Appearance > Manage tags.
The manage tags page provides a list of tags, together with information on their creators, how many times they are used, when they were last modified and which tags have been flagged as inappropriate. Inappropriate tags are shown in red when using the default theme.

Please see Tags to know more about tags.
Additional HTML¶
An administrator can add additional HTML to every page in Settings > Site administration > Appearance > Additional HTML.
These settings allow you to specify HTML that you want added to every page without altering the Moodle code files.
You can add HTML will be added within the HEAD tag for the page, immediately after the BODY tag has been opened, or immediately before the body tag is closed.
Doing this allows you add custom headers or footers on every page, or add support for services like Google Analytics very easily and independent of your chosen theme.
Front Page¶
The front page is the initial page seen by someone reaching a Moodle site after or before a login. Typically a student will see courses, some blocks of information, displayed in a theme. In the Navigation bar and Navigation block it is called “Home”.
A combination of site policies, user authentication and front page settings determine who can get to the front page. And once they get there what they can see and what they can do.
Front page settings¶
The site’s Front page is similar to a course page. The front page settings, roles, filters, backup, restore and questions are currently duplicated in Administration > Front page > Front page settings. The following settings may be changed:
Full site name - This name appears at the top of every page above the navigation bar.
![]()
Short name for site - The short name appears at the beginning of the navigation bar as a link back to your site front page.
Front page summary - This summary can be displayed on the front page using the course/site summary block.
Front page and Front page items when logged in - The centre of the front page can display any combination of the following: news items, a list of courses, a list of enrolled courses, a list of course categories, a list of categories and courses, a course search box or none. The order is determined by a combination box. It is possible to create one setting for anyone who gets to the front page without logging in to the Moodle site, and another look for only those who have logged into the Moodle site. There are two combination boxes.
Maximum category depth - This specifies the maximum depth of child categories expanded when displaying categories or combo list. Deeper level categories will appear as links and user can expand them with AJAX request.
Maximum number of courses - Maximum number of courses to be displayed on the site’s front page in course listings.
Include a topic section - This adds a topic section to the centre-top of the front page. When editing is turned on, resources and/or activities can be added to the topic section using the dropdown menus, in the same way as on a course page.
Note: The label resource can be used to add text and/or an image to the centre-top of the front page.
- News items to show - This setting only applies if the front page is set to display news items or if you are using the Latest News block.
- Comments per page - Each course may include a Comments block which allows the display of user comments. The number of comments displayed at any time is set here.
- Default front page role - The default frontpage role enables logged-in users to participate in front page activities. It is recommended that it is set to frontpage role. It should never be set to Guest.
Reports¶
Comments¶
A comments block can be added to any page in Moodle, enabling users to easily add comments. A similar interface enables comments to be added to glossary, database activity and blog entries. The comments interface uses AJAX so that comments are added instantly without needing a page refresh.

Enabling comments¶
Comments can be disabled/enabled by an administrator in Settings > Site administration > Advanced features.
Blog comments¶
Blog comments are enabled by default. The feature may be disabled in Site administration > Appearance > Blog.
Comments report¶
A list of all comments added may be found in Site administration > Reports > Comments.

Backups¶
A last execution log of scheduled course backups can be found in Settings > Site administration > Reports > Backups. It displays a list of all course backups made, the time taken to create them, their status (see below), and the next scheduled automated backup execution time.
Clicking on a particular course name will cause a detailed execution log to be displayed, including date, hour and minute when each step of the backup was performed.
Config Changes¶
The config changes report enables an Administrator to see at a glance which aspects of the Moodle site have been recently altered and, where applicable, by which administrator.
The report is found in Settings > Site Administration > Reports > Config changes

Logs¶
Logs in Moodle are activity reports. Logs are available at site and course level.

To obtain course overview reports, you must first enable statistics. If you haven’t got statistics enabled you will be taken to the enable statistics settings. You can choose to view reports of the most active courses or the most participatory courses over a certain time period. Results are displayed in a bar chart and in a table.
Live Logs¶
Live logs from the past hour (either for a course or for the site) are available via a link on the logs page. This allows you to define a number of parameters to run a report on activities within the system.
Live logs provide the following fields:
- Course - course short name
- Time - time of access
- IP Address - unique user internet address
- Full Name - name logged on with
- Action - what they were doing
- Information - any further information on the activity

Performance Overview¶
The performance overview report in Administration > Site administration > Reports > Performance overview lists issues which may affect performance of the site.

Question Instances¶
An administrator can generate a question instances report in Administration > Site administration > Reports > Question instances. The Manager can also generate this report.
This report lists all the places a specific question type is used. It provides a list by course that shows the total, visible and hidden number of that question type. Clicking on a context link such as course title will take you to the relevant question in the question bank.
One practical use of this report is to find questions that may have inadvertently been created in a course which should have been created at the System default or a particular category context.

Security Overview¶
A security overview report is available for site administrators in Settings > Site administration > Reports > Security overview.
This provides the site administrator with a report that highlights any security problems that need to be remedied.
Register globals - register_globals is a PHP setting that must be disabled for Moodle to operate safely.
Insecure dataroot - The dataroot is the directory where Moodle stores user files. It should not be directly accessible via the web.
Displaying of PHP errors - If PHP is set to display errors, then anyone can enter a faulty URL causing PHP to give up valuable information about directory structures and so on.
No authentication - Use of the “no authentication” plugin can be dangerous, allowing people to access the site without authenticating.
Allow EMBED and OBJECT - Allowing ordinary users to embed Flash and other media in their texts (eg forum posts) can be a problem because those rich media objects can be used to steal admin or teacher access, even if the media object is on another server.
Enabled .swf media filter - Even the flash media filter can be abused to include malicious flash files.
Open user profiles - User profiles should not be open to the web without authentication, both for privacy reasons and because spammers then have a platform to publish spam on your site.
Open to Google - Allowing Google to enter your site means that all the contents become available to the world. Don’t use this unless it’s a really public site.
Password policy - Using a password policy will force your users to use stronger passwords that are less susceptible to being cracked by a intruder.
Password salt - Setting a password salt greatly reduces the risk of password theft.
Email change confirmation - You should generally always force users to confirm email address changes via an extra step where a confirmation link is sent to the user.
Writable config.php - The config.php file must not be writeable by the web server process. If it is, then it is possible for another vulnerability to allow attackers to rewrite the Moodle code and display whatever they want.
XSS trusted users - Make sure that you trust all the people on this list: they are the ones with permissions to potentially write XSS exploits in forums etc.
Administrators - Review your administrator accounts and make sure you only have what you need.
Backup of user data - Make sure that only roles that need to backup user data can do so and that all users who have the capability are trusted.
Default role for all users - This checks that the registered user role is defined with sane permissions.
Guest role - This checks that the guest role is defined with sane permissions.
Frontpage role - This checks that the frontpage user role is defined with sane permissions.
Spam Cleaner¶
If your site was open in the past and you have a spam problem then here are some things you can do to clean up the profiles:
- Use our Spam cleaner report in Settings > Site administration > Reports > Spam cleaner to locate user accounts responsible for spam and other nasty stuff and help you delete them. In addition to user profile descriptions, comments, blog posts and messages are also searched for keywords.
- Browse your user list looking for patterns to detect users who need to be deleted. For example, spammers might have chosen a country that none of your real users has.
- Use the delete buttons or the Bulk user actions tool in Settings > Site administration > Users > Accounts to find all these users and delete them.
Development¶
Developers of Moodle code have some special tools included in the Moodle package to assist them. Most of the tools should ONLY be used on test sites (not production sites).
Experimental¶
Moodle includes a few experimental features which a cautious administrator may consider enabling. See Experimental Settings for details.
See Database Transfer to know how to migrate moodle site from one database to another.
Debugging¶
Settings > Site administration > Development > Debugging
At certain times a site administrator will need to see more and/or a more complete error message. The default is to show NONE. These messages can also 1) be very confusing to teachers and students when they suddenly appear and 2) can reveal things about your Moodle and web server that should not be common knowledge. Thus use with care and for short periods of time. See Debugging for details.
Web Service Test Client¶
Settings > Site administration > Development > Web Service Test Client
Admins can simulate external access to their own Web Services using the URL http://yourmoodlesite.org/webservice/testclient.php.
Warning: The test client is not clever! It lets you choose disabled/unavaibled functions (however it behaves well and produces an error in these case). This is normal because clients are going to be bad sometimes so we needed to simulate a bad client!
Purge All Caches¶
Settings > Site administration > Development > Purge all caches
Moodle can cache themes, language strings, filters and other bits of information that have been calculated and stored by the web browser. This link forces all user web browsers to refresh their screens of any information that Moodle has cached. Several modules that use cache have settings which will turn off caching for that module. Eliminating or purging caches slows performance.
Make Test Course¶
Settings > Site administration > Development > Make test course
This tool creates standard test courses that include many sections, activities, and files.
This is intended to provide a standardised measure for checking the reliability and performance of various system components (such as backup and restore).
Make JMeter Test Plan¶
Settings > Site administration > Development > Make JMeter test plan
The JMeter test plan generator allows you to run performance tests over a Moodle course, it works along with https://github.com/moodlehq/moodle-performance-comparison
This tool is for developer use only and should not be used on a live site. It is disabled unless you set the debugging option to DEVELOPER.
PHPUnit Tests¶
Settings > Site administration > Development > PHPUnit test
The purpose of Unit tests is to evaluate the individual parts of a program (functions, and methods of classes) to make sure that each element individually does the right thing. Unit Tests can be one of the first steps in a quality control process for developing or tweaking Moodle code. The next steps will involve other forms of testing to ensure that these different parts work together properly.
XMLDB Editor¶
Administration > Site administration > Development > XMLDB editor
The XMLDB editor is a tool for developers to easily edit tables/fields/keys/indexes in install.xml files.
Teachers¶
- Moodle Familiarization
- Course Pages
- Moodle Editing
- Moodle Repositories
- Resources and Activities
- Activity Locking and Grades
- Moodle Blocks
- Settings
Students¶
- Navigating Moodle
- My Moodle
- Using a Course page
- More Moodle Stuff
- Miscellaneous
Experimental Settings¶
An administrator can enable certain experimental features in Settings > Site administration > Development > Experimental > Experimental settings.
An experimental feature is defined as a feature which require additional testing and bug-fixing.
Safe exam browser¶
The Safe Exam Browser can work with Moodle to control what a student can do when in Moodle. To use it, it must be enabled in Settings > Site administration > Development > Experimental > Experimental settings. This adds the choice ‘Require Safe Exam Browser’ to the ‘Browser security’ field on the quiz settings form.
The Safe Exam Browser is offered under a Mozilla Public License and uses C++ and JavaScript.
Features¶
Safe Exam Browser is a customised web browser that must be downloaded and installed on the computer that the student uses to attempt the quiz. The restrictions placed on students are similar to those in pop-up window case, but because Safe Exam Browser is software running on the student’s computer, it can do a much more effective job of restricting their actions. If you select this option:
- Students will only be able to attempt the quiz if they are using Safe Exam Browser.
- The browser window will be fullscreen (without any navigation elements).
- The window cannot be closed until the test is submitted.
- Shortcuts keys such as Win, Ctrl+Alt+Del, Alt+F4, F1, Ctrl+P, Printscreen, are disabled.
- Copy and paste, and the context menu, are disabled.
- Switching to other applications is disabled.
- Surfing to other web sites is prohibited.
Group members only¶
It can be enabled by an administrator in Administration > Site administration > Development > Experimental.
Assigning an activity to a grouping¶
To assign an activity to a particular grouping:
- On the edit activity page, expand “Common module settings”.
- Ensure that the group mode is set to separate or visible groups.
- Select the grouping from the grouping dropdown menu.
- Check the “Available for group members only” checkbox
- Click the “Save changes” button at the bottom of the page.
The name of the grouping will then appear in brackets after the activity name on the course page.
Note: If a graded activity is assigned to a particular grouping only, it will still appear in the gradebook for all users unless gradebook categories are set up in a certain way.
Note: You cannot make an activity visible to only one group of students without first placing them into a grouping.
Drag and drop upload of text/links¶
Enable or disable the dragging and dropping of text and links onto a course page, alongside the dragging and dropping of files. Note that the dragging of text into Firefox or between different browsers is unreliable and may result in no data being uploaded, or corrupted text being uploaded.
CSS optimiser¶
A CSS optimiser may be enabled by an admin in Settings > Site administration > Development > Experimental > Experimental settings. The tool analyses and refactors CSS before caching it.
When enabled CSS will be run through an optimisation process before being cached. The optimiser processes the CSS removing duplicate rules and styles, as well as white space removable and reformatting. Please note turning this on at the same time as theme designer mode is awful for performance but will help theme designers create optimised CSS.
New backup format¶
If you have large courses you may find it useful to turn on an experimental option, ‘Enable new backup format’ from Administration > Site administration > Development > Experimental > Experimental settings .
This option selects a different internal backup format. Without this option, you cannot back up courses larger than 4GB.
You can change this option at any time. Whatever the option is set to, restore works for both the old and new format. The option only affects newly-created backups.
When you use this option, backup files still have the .mbz extension and work the same way, but there are some differences:
- There is no limit on total backup size. (We have tested with courses up to about 10GB.)
- Files may be slightly smaller.
- If you need to edit this type of backup file manually, you will need to rename the .mbz file to .tar.gz, instead of .zip. You may need to use different software to extract and recompress this type of file. We have tested using GNU tar on Windows and Linux.
Database Transfer¶
The database transfer tool enables an administrator to migrate their Moodle site from one database to another, for example from MySQL to Postgres.
The tool is currently classed as an experimental feature and may be found in Settings > Site administration > Development > Experimental > Database migration. There is also a command line script in admin/tool/dbtransfer/cli/migrate.php.
The dbtransfer tool uses the XMLDB schema definitions from Moodle and installed plugins to retrieve the data from one database and transfer it another.
Some troubles you may find when using this tool:
- If there is any object in the current database (columns, tables,...) not included in the XMLDB schema the dbtransfer won’t be executed until these objects are removed (this may happen if Moodle has been upgraded from earlier versions).
- If there is some wrong encoded data in the current database the transfer will crash; in that case find and fix the troublemaking data and launch de dbtranfer tool again.
- If you are trying to migrate a big instance it will take a while, and there can be set some timeout (database, PHP, Apache) that can break the migration.
Blogs¶
The word ‘blog’ is a contraction of ‘web log’. Blogs are a form of online journal used by millions of people around the world for self-expression and communicating with family and friends. Blogs are usually organized as a chronological series of postings created by the author of the blog. Blogs usually are written by one person, although some blogs can be authored by groups of people.
Blogs in Moodle are user based - each user has their own blog. Users can also register their external blogs, such as Blogger or Wordpress, so that entries are automatically included in their Moodle blog.
Calendar¶
The calendar can display site, course, group and or user events in addition to assignment and quiz deadlines, chat times and other course events.
A calendar may be included in a course or the site Front page by adding a Calendar block or an Upcoming Events block.
Preference settings¶
Both the daily detail screen and the monthly detail screen have the Preferences button in the upper right. Here you can set the time format, first day of the week, number of events to show in the calendar block, days to look forward for events and if the filters on this calendar should be saved as the default for all calendars.
Site administration settings¶
The following settings can be changed by a site administrator in Administration > Appearance > Calendar
Admins see all - Whether admins see all calendar events or just those that apply to themselves.
Time display format - Whether a 12 or 24 hour format is used. This setting can be overridden by user preferences.
Start of week - Default is Sunday.
Weekend days - Weekend days are shown in a different colour.
Days and events to look ahead - For determining how many events are listed in the Upcoming Events block. If the Upcoming Events block becomes too long you can reduce the number of days and events to lookahead.
Calendar export salt - The calendar export salt is a random string of characters used for improving of security of authentication tokens used for exporting of calendars.
To know how to use calendar in moodle see Using Calendar .
Installing add-ons¶
Installing an add-on¶
To install an add-on, its source code must be put (deployed) into the appropriate location inside the Moodle installation directory and the main administration page Administration > Site administration > Notifications must be visited. There are three ways how the add-on code can be deployed into Moodle.
In Moodle 2.5 onwards, an add-on code may be deployed from within Moodle, either directly from the Moodle plugins directory or by uploading a ZIP file. The web server process has to have write access to the plugin type folder where the new add-on is to be installed in order to use either of these methods.
Alternatively, an add-on code may be deployed manually at the server.
Installing directly from the Moodle plugins directory¶
- Login as an admin and go to Administration > Site administration > Plugins > Install add-ons.
- Click the button ‘Install add-ons from Moodle plugins directory’.
- Search for a plugin with an Install button, click the Install button then click Continue.
- Check that you obtain a ‘Validation passed!’ message, then click the button ‘Install add-on’.
Installing via uploaded ZIP file¶
Go to the Moodle plugins directory , select your current Moodle version, then choose an add-on with a Download button and download the ZIP file.
Login to your Moodle site as an admin and go to Administration > Site administration > Plugins > Install add-ons.
Upload the ZIP file, select the appropriate plugin type, tick the acknowledgement checkbox, then click the button ‘Install add-on from the ZIP file’.
![]()
Check that you obtain a ‘Validation passed!’ message, then click the button ‘Install add-on’.
![]()
For both of the above methods, after clicking the button ‘Install add-on’, you will then be automatically redirected to Settings > Site administration > Notifications and the installation process (i.e. creating required database tables etc) will happen.
Installing manually at the server¶
If you can’t deploy the add-on code via the administration web interface, you have to copy it to the server file system manually (e.g. if the web server process does not have write access to the Moodle installation tree to do this for you).
First, establish the correct place in the Moodle code tree for the add-on type. Common locations are:
- /path/to/moodle/theme/ - themes
- /path/to/moodle/mod/ - activity modules and resources
- /path/to/moodle/blocks/ - sidebar blocks
- /path/to/moodle/question/type/ - question types
- /path/to/moodle/course/format/ - course formats
- /path/to/moodle/admin/report/ - admin reports
Uninstalling an add-on¶
To uninstall an add-on
- Go to Administration> Site Administration > Plugins > Plugins overview and click the Uninstall link opposite the add-on you wish to remove.
- Use a file manager to remove/delete the actual plugin directory as instructed, otherwise Moodle will reinstall it next time you access the site administration.
Prevent installing add-ons from within Moodle¶
If required, installing and updating from within Moodle can be prevented by copying the following lines of code from config-dist.php and pasting them in config.php.
// Use the following flag to completely disable the On-click add-on installation feature and hide it from the server administration UI.
// $CFG->disableonclickaddoninstall = true;
Scales¶
Scales are a way of evaluating or rating a students’ performance. Moodle offers a standard set of numeric scales. It is also possible to create custom scales which can be available on the site. For example, you can give the student a word or small phrase as a way of rating or giving a student feedback.
Scales may be used in Forums, Glossaries and Assignments for rating and/or grading a student’s activity.
Standard scales¶
Moodle includes 100 different numeric scales which can not be edited, and one non-numeric example.
Numeric¶
Moodle includes numeric scales that range from a maximum of 100 to a minimum of 1. For example, selecting a scale of 10, will allow a rating on a scale between 10 and 1. Numeric scales can be calculated as a grade.
Creating a new scale¶
New scales can be created by teachers with editing rights or by administrators or by any user with the manage scales role capability.

Creating course scales¶
- Click the “Add a new scale” button in Settings > Grade administration > Scales or via the gradebook Scales tab.
- On the next page give your scale a name in the Name box that will identify it among other scales.
- ‘Standard’ scale is a scale which can be applied to every course in Moodle. Only those with site permissions such as administrators can make a new scale ‘standard’. A regular teacher can only create a scale for their own course.
- In the Scale box, create your scale. Each item in the scale should be separated by a comma. You can use as many options here as you require. You must order the comma separated elements in increasing order of value. For example, an A,B,C,D scale must be entered as D,C,B,A.
- Write a detailed description in the Description box to remind you (or other teachers) of how the scale is to be used.
- Save the changes.
Creating a standard scale¶
An administrator can create a standard scale which can be used in any course in Settings > Site administration > Grades > Scales.
Using a scale¶
First the teacher needs to assign a specific scale to the activity using a drop down menu in the activities setting. Then the teacher and/or students can rate an activity element (for example, a post in a forum) with the pre-defined scale.
Editing a scale¶
If a scale has not yet been used, you will see an edit, move, and delete icon in the edit column.
Once a scale is used for an activity, it is no longer possible to move or delete it, and you can only edit the scale name and description.
Grade Letters¶
Grade letters, also called letter grades, are symbols used to represent a range of grades. For example “A” could be used to represent grades of 80% and above, “B” to represent grades between 70 and 80%, “C” to represent grades between 50 and 70%, and so on. Alternatively, you could have “Pass” for grades above 50% and “Fail” for grades below 50%.
Displaying letter grades¶

To change particular grade items, category and course summaries (called aggregations) in the grader report and user reports to display letter grades:
- Follow the grades link in the course administration block.
- Select “Categories and items” from the gradebook dropdown menu.
- Click the edit icon for Category total or Course total.
- From the Grade display type menu, select letter.
- Click the “Save changes” button at the bottom of the page.
Repeat this for any other totals that you want displayed as letters.
Alternatively, to display ALL grades as letter grades:
- Follow the grades link in the course administration block.
- Select “Course settings” from the gradebook dropdown menu.
- From the Grade display type menu, select letter.
- Click the “Save changes” button.
Editing course-level grade letters¶
Grade letters are set initially at site level. To use different grade letters in a particular course:
- Follow the grades link in the course administration block.
- Select Letters from the from the gradebook dropdown menu.
- Click the edit tab in the middle of the page.
- Check the override site defaults box.
- Change grade letters and/or boundaries as required. (You may wish to use words, for example Below Pass, Pass, Merit, Distinction, rather than letters.)
- Scroll to the bottom of the page and click the “Save changes” button.
Setting grade letter site-level defaults¶
To set grade letter site defaults:
- Login as an administrator.
- Access Administration > Site administration > Grades > Letters.
- Change grade letters and/or boundaries as required.
- Scroll to the bottom of the page and click the “Save changes” button.

Forcing grade letter site-level defaults¶
To force grade letter site-level defaults in all courses i.e. remove the ability for teachers to override site defaults and edit grade letters in their courses:
- Login as an administrator.
- Access Administration > Site administration > Users > Permissions > Define roles
- Edit the role of teacher and change the capability moodle/grade:manageletters from Allow to Not set.
- Scroll to the bottom of the page and click the “Save changes” button.
Accuracy of grade calculations¶
Grade calculations are made with an accuracy of 5 decimal places and grade letters assigned accordingly. The overall decimal points setting (in the system grade item settings and for individual grade items) is for display purposes only and is not used when assigning grade letters.
Cron¶
The Moodle ‘cron’ process is a PHP script (part of the standard Moodle installation) that must be run regularly in the background. The Moodle cron script runs different tasks at differently scheduled intervals.
IMPORTANT: Do not skip setting up the cron process on your server for your Moodle. Your site will not work properly without it.
A special program (typically called - not surprisingly - ‘cron’) is used to run the Moodle cron script at a regular interval. The Moodle cron script runs tasks include sending mail, updating Moodle reports, RSS feeds, activity completions, posting forum messages and other tasks. Since different tasks have different schedules, not every task will run in Moodle when the cron script is triggered.
The cron program (that runs the Moodle script) is a core part of Unix based systems (including Linux and OSX) being used to run all manner of time-dependent services. On Windows the simplest solution is to create a task in the Windows Task Scheduler and set it to run at regular intervals. On shared hosting, you should find the documentation (or ask support) how cron is configured.
Essentially, the task involves adding a single command to the list of cron activities on your system. On Unix based systems this list is a file called a ‘crontab’ which all users have.
Working out the Moodle cron command¶
Moodle has two different ways to deploy cron which use different scripts within the Moodle install. These are as follows...
The CLI (command line interpreter) script. This will be at the path
/path/to/moodle/admin/cli/cron.php
If in doubt, this is the correct script to use. This needs to be run by a ‘PHP CLI’ program on your computer. So the final command may look something like
/usr/bin/php /path/to/moodle/admin/cli/cron.php
You can (and should) try this on your command line to see if it works.
The web based script. This needs to be run from a web browser and will be accessed via a web url something like http://your.moodle.site/admin/cron.php. You can find command line based web browser (e.g. wget) so the final command may look like
/usr/bin/wget http://your.moodle.site/admin/cron.php
This has the advantage that it can be run from anywhere. If you can’t get cron to work on your machine it can be run somewhere else.
Cron Settings¶
Location: Administration > Site administration > Security > Site Policies
Moodle has two settings where the site administrator can have some control of how the Moodle cron process is triggered. This is done from the Site Policies link.
Cron execution fron command line interface only¶
The cronclionly setting will stop the browser URL Moodle cron process trigger. For example, the site administrator or others running http:demo.moodle.net/admin/cron.php from their web browser.
TIP: It is a bit misleading to use the term CLI (command line interface). It does not mean that you have to be sitting at a shell account entering the command. It does mean it you must invoke cron.php through any set of batch or script files. This can be especially frustrating for those not used to scripting via the operating system.
See the template on the right for assistance with how to create scripts in different operating systems.
Cron password¶
The cron process can be protected by a password with the cronremotepassword setting.
Gradebook Report Settings¶
Grader report settings¶
Location: Administration > SIte administration > Grades > Report settings > Grader report
Grader report settings include whether to show calculations, show/hide icons, column averages etc. Individual teachers may override certain settings for their own grader report view via their “My report preferences” tab.
Quick grading and quick feedback¶
- Quick grading adds a text input element in each grade cell on the grader report, allowing you to edit the feedback for many grades at once. You can then click the Update button to perform all these changes at once, instead of one at a time.
- Quick feedback adds a text input element in each grade cell on the grader report, allowing you to edit many grades at once. You can then click the Update button to perform all these changes at once, instead of one at a time.
- By default, both quick grading and quick feedback are enabled. They can be disabled by de-selecting the appropriate checkbox.
Static students column¶
A static students column may be enabled so that teachers can scroll grades in the grader report using a horizontal scrollbar. (Note that this feature is not available for users who have have the screenreader setting in their profile set to Yes.)
Overview report settings¶
Location: Administration > SIte administration > Grades > Report settings > Overview report
The overview report setting may be overridden for all overview reports in a course by a teacher in the course settings.
Show rank¶
If the show rank checkbox is ticked, the position of a grade item in relation to the rest of the class will be shown.
User report settings¶
Location: Administration > SIte administration > Grades > Report settings > User report
The user report settings may be overridden for all user reports in a course by a teacher in the course settings.
Show rank¶
If the show rank checkbox is ticked, the position of a grade item in relation to the rest of the class will be shown.
Show percentage¶
If the show percentage checkbox is ticked, the percentage value of each grade item will be shown.
Course Format¶
A course format refers to the layout of a course. The course format can be selected in Administration > Course administration > Edit settings.
An administrator can enable, disable or delete course formats for courses in Administration > Site administration > Plugins > Course formats > Manage course formats. They can also change the order in which available course formats are displayed to teachers in the course settings.

Weekly format¶
The course is organized week by week, with a clear start date and a finish date. Moodle will create a section for each week of your course. You can add content, forums, quizzes, and so on in the section for each week.

TIP: If you want all your students to work on the same materials at the same time, this would be a good format to choose.
NOTE: Make sure your course start date is correct. If it is not your weeks will have the wrong date on it. This is especially important if you are restoring a course to use with a new section of students.
Topic format¶
The course is organised into topic sections that a teacher can give titles to. Each topic section consists of activities, resources and labels.

TIP: This is great to use if your course is objective based and each objective may take different amounts of time to complete. An example of this would be scaffolding where the students are building upon the knowledge from earlier topics. “Show only one section”
With the Weekly, Topics and any contributed format that implements the functionalty, it is possible via Administration > Course administration > Edit settings to “show one section per page”.
Notes:
- The course home page shows just the section names and any text in the section description along with activity and resource numbers, with the names being click-able.
- If editing is ON, then the Main course page will display all the content in all the sections.
- There is a ‘Jump to...’ menu at the bottom of each single section page.
Single activity format¶
The single activity format only has 1 section, and allows the teacher to add one activity only to the course. When the single activity format is selected, a drop down menu appears for the teacher to choose the activity they wish to use.

Note: This course format replaces the SCORM format in earlier versions of Moodle, as it is possible here to select a SCORM package as the single activity.
Single activity format with a forum as the activity and social format are very similar. The only difference is when the course contains other activities. The single activity format displays them as “orphaned” and for teachers only; the social format displays them in an activities block and available for students.
Filters¶
Filters can be used to add links, insert multimedia players, convert Mathematical expressions or emoticons into images and more.
A filter may be enabled at the site level and then removed as needed at the course or activity level. Thus a teacher can disable glossary auto-linking in a quiz for example.
Standard filters¶
Filters in Moodle include:
- Activity names auto-linking - It is a site Filter that will create links to an activity where the word or phrase of the activity is used within the same course in which the activity is located. This includes forum postings, pages, labels etc.
- Algebra notation - This filter will convert algebra code into GIF images
- Convert URLs into links - This filter converts URLs in selected formats, such as Moodle auto-format, to click-able links
- Database auto-linking - As the name suggests, this filter enables automatic linking of Database module entries
- Display emoticons as images - This converts emoticon (smiley) characters into images
- Email protection - This obfuscates email address links to make them more difficult for spammers to harvest
- Glossary auto-linking - This scans text for glossary entries that exist in the same course and creates a link
- Multimedia plugins - This finds a link in text that points to a multimedia resource and replaces the link with an appropriate multimedia player code which can play the resource
- Multi-language content - This filter enables resources to be created in multiple languages
- TeX notation - The TeX Filter is a core Moodle filter intended to allow one to convert tex expressions into GIF images.
- Word censorship - This filter “blacks out” words found on a list
Social format¶
This format is oriented around one main forum, the social forum, which appears listed on the main page. It is useful for situations that are more free form. They may not even be courses.
The social forum can be edited by clicking the ‘Update this forum’ button on the social forum page. The forum introduction is displayed at the top of the course page.