Moodle Site Configuration, Part 1: Features, Users, And Course Enrollment

Moodle Site Configuration, Part 1: Features, Users, And Course Enrollment
Solis Images/
Summary: In this two-part article, I will walk you through the configuration of your Moodle site.

How To Manage Your Moodle Site – Part 1: Advanced Features, Enrollment, And Roles

There are many default settings in a Moodle site that you have the power to manage, but what areas require configuration, and which ones are okay to leave with the default settings? We will outline the ones that will likely be of use to you and which you will need to enable.

eBook Release: Moodle Installation Guide
eBook Release
Moodle Installation Guide
Discover a compilation of step by step directions, best practices, and tips designed to assist not only users who are about to install their first Moodle site, but also experienced Moodle users!

Advanced Features

There are features in your Moodle site that really extend the functionality of your Moodle, but are not considered plugin based. These advanced features can be enabled or disabled as needed. There are quite a few features that you have to choose from; to make things easy, we have highlighted just a couple of key advanced features that are commonly enabled.

  • Outcomes
    These are goals you can set up in a course and attach to learning activities, to help evaluate a learner’s competency in a subject.
  • Web Services
    When enabled, these can be used to connect Moodle with other applications.
  • Completion Tracking
    If you choose to enable this setting, you can track the criteria for courses, and the activities within those courses. Note that once Completion Tracking is enabled in “Advanced Features”, it then needs to be enabled in the “Course Settings”.
  • Conditional Access
    Here you can restrict the access users have to the learning resources and activities within a course, based on their different qualifications such as grades, completion status (of other activities), profile fields, and groups they belong to.


User accounts are the profiles created for the learners in the Moodle site, that require the person to login to his or her account using a username and password. There are quite a few different ways to create users. Once the accounts are created, users can then begin enrolling in courses.

Registration, Authentication, And Enrollment

For the sake of simplicity, we will break registration into 3 main categories: User-based, Manager- or Administrator-based, and Automated. Keep in mind that you do not have to pick one in isolation. You can use a combination of multiple authentication methods if you wish.

1. User-Based

In this case, learners create their own accounts. Tip: If enabled, it’s highly recommended to use Recaptcha with the registration option to prevent fake accounts from being created.

Use cases for the User-Based Approach: When conducting client/customer based training where courses are being sold, or the client is unknown and Moodle is acting as the primary application for the student information.

2. Manager- or Administrator-Based

Learner accounts are created by Moodle administrators or managers on the site, either manually one-by-one, or by processing a list of users contained in a file (like a CSV file for example).

Use cases for the Manager- or Administrator-Based Approach: When learners accounts are contained in a different application other than Moodle, or registration takes place using a different method. This list of users is then exported and processed. This can be used for client-based scenarios where the client base is already known and access to Moodle needs to be extended, but most commonly this method is used for partner and internal training.

3. Automated

In this case, a list of learners either already exists, or it is created in another application. In the latter case, there is an automated approach that creates the learner accounts in Moodle, based on the data being transferred from one application to Moodle.

Use cases for the Automated Approach: This method is good for client-based training (where the users are known), internal training, and partner training.

Course Enrollment

Enrollment is the method of adding users to a course so that they can participate and engage within the course. Moodle is modular in nature, so it offers many different ways to enroll a user in a course.

Self-enrollment is the method that allows users to manually enroll themselves in a course. This is a great option if you want learners to be able to choose which courses they would like to take, or if the courses are optional. You can see what the self-enrollment window looks like below.

Manual enrollment is done by an administrator, manager, or instructor. This method works well when there are a small number of users being added to a course because it does not take long to add them manually.

A Cohort Sync allows a manager or administrator to add users into a group called a “Cohort.” They can then enroll an entire cohort into a course, thus adding multiple, grouped users. This works well if there are a small to a medium number of users being enrolled. The strength of Cohorts is when a group of users is taking a number of the same courses, as it makes enrollment much quicker and simpler.

A Flat File enrollment allows enrollment of bulk users, without having to manually enter the information from the user interface. The file created is saved as a comma separated value (.csv). In some cases, this can be generated from another system, or manually created by a manager, instructor, or administrator. This method works well when there are a larger number of users being enrolled in a course.

There is a PayPal method of enrollment, that allows users to browse courses, enroll in a selected course, and pay for it through PayPal. This is the method to use when access to content is being sold, and when users are picking their own courses. It is also well suited for client training, and/or partner training where the list of users is unknown.

An LDAP method allows user enrollment to be driven by information contained within the LDAP server. This method works when the list of users and the list of courses are known in the LDAP server.

User & Site Policies

The User & Site Policies section of Moodle contains feature settings relating to the context of users and learners, or larger features impacting the operations of the site as a whole.

  • Password Policy
    This allows you to configure the minimum requirements for a password. Moodle has a strong focus on security, so the password settings require a minimum of eight characters, one uppercase letter, one numeric value, and one special character. Of course, there is the option to relax these password requirements, but we recommend keeping the password policy strong.
  • Hide selected user fields
    In Moodle, there is a number of included optional profile fields, which may or may not be of interest to you. For this reason, you have the option of hiding these fields so that they are no longer visible to the user.
  • User storage quota
    When a learner, instructor, or any user on the site uploads a file, there is the potential of the file being stored on the hosting package’s storage system, which contributes to the user’s storage allotment.
  • Maximum upload file size
    This setting allows the administrator to set the maximum file upload size per file. For example, a maximum of 50MB file uploads can help prevent instructors and learners from uploading large files. This setting can then be adjusted to a lower amount with courses.

Define Roles, New Roles, And Role Permissions

Role assignments can be useful for all learner scenarios. In the most simple setup, there is usually:

  • An administrator, who can do everything
  • An instructor, whose role is just to teach
  • Learners, whose roles are designed to learn and participate in courses

The ability to create new roles works well for partners, as well as people in internal roles such as managers and directors who may only need to carry out specific tasks.

  • The permissions and privileges of a role can be set to either “grant” or “deny.”
  • New roles can be created as the need arises.

In part 2 of this article about your Moodle site configuration, we’ll explore default course settings, communication channels, and appearance settings. Stay tuned!