The category enrolments plugin while a legacy plugin allows users to be enrolled in courses under a category or sub-category as opposed to individual courses.
Cohort vs Category Enrolment
I am a little bias here, making a case for Category enrolment as you will see from points listed below.
Why Not Cohort (system or category)
You can create a System Cohort or Category Cohort and then add the users there to form a group (batch or year group). When in the course where you would like the cohort to access, you then add ‘Cohort Sync’ as an enrolment method under Administration > Course Administration > Users > Enrolment Methods and select your cohort from there as well as assign the role (Student, Non-editing Teacher, Teacher, Manager). The problem arises when you have a bunch of courses to manage.
- cohort is great for grouping users especially students/learners
- cohort does not automatically give access to courses
- cohort does not automatically assign role, this is done per course
- new courses do not automatically have cohort(s) added
- while cohort can be given ID and names e.g. ‘student’, ‘editing teachers’ or ‘non-editing teachers’, they do not inherit these roles, these are merely labels
- cohort addresses performance issues with category enrolments http://tracker.moodle.org/browse/MDL-23840
Why Category Enrolment
In the good old days, you can ‘Assign roles’ to Category and Sub-Categories and add the users you wish to give these roles (Student, Non-editing Teacher, Teacher, Course Creator or Manager) access to all the courses within the category. This is no longer default but can be enabled following steps in the next section. So why ‘Category Enrolment’.
- quick and easy of role assignment for all courses under the category and sub categories
- great for assigning actual roles ‘editing teacher’ and ‘none-editing teacher’ and have this cascade to sub-categories and courses
- ease of management; base on hierarchical logic, top level assignment allow teachers to access all courses under the category (faculty, department etc.)
- ease of administration; set departmental/faculty categories and give department/faculty teachers roles to create, teach or edit courses
- without associated risk of System Role Assignment
The 3 Steps to Enable Category Enrolment
1. Enable Enrolment Plugin
Go to Administrator > Site Administration > Plugins > Enrolments > Manage enrol plugins. Click on enable (eye icon) next to ‘Category enrolment’ then click ‘Save changes’.
NOTE: To configure this method of enrolment, click on ‘Settings’ next to the chosen category, make the desired changes then click ‘Save changes’.
2. Make Role(s) available for assignment in the Category Context
By default only Manager and Course Creator roles can be assigned at the Category context, if you wish to assign other roles; Teacher, Non-editing Teacher or even Student you will first need allow role assignments for the Category context.
Go to Site Administration > Users > Users > Permissions > Define roles > then click on the settings icon (gear) next to the role you wish to make available e.g. Teacher. In the Editing Role ‘Teacher’ tick the checkbox next to ‘Category’ under ‘Context types where this role may be assigned’ then click ‘Save changes’ button.
Repeat this step to make other roles available for assignment in the Category Content e.g. Non-editing Teacher or Student.
NOTE: Remember to click on the settings icon (gear symbol) and not the name of the role. Clicking on the role just shows you the current settings.
3. Enable Role Assignment Synchronisation to Course Enrolments
The last step involves allowing the roles to synchronise automatically to existing and new courses. Part of the issue with Category Enrolment is one of performance. Category Enrolment need to be synchronised especially when new courses are created or if a new user is added to the role in a particular category.
To do this we need to edit the settings of the role again. Go to Site Administration > Users > Users > Permissions > Define roles > then click on the settings icon (gear) next to the role you wish to allow synchronisation. Go to Capability > Category enrolments in the Permission matrix then click on the ‘Allow’ radio box next to the capability ‘enrol/category:synchronised’. Scroll back to the top and click the ‘Save Changes’ button.
Repeat this step to enable synchronisation for Category Enrolments for other roles
TIP: You can use ‘Ctrl+F’ in your browse to search for ‘enrol/category’ to jump to the Category Enrolments Capability line to save scrolling and looking for this manually.
NOTE: If you wish to allow Teachers or Non-Editing Teachers the ability to enrol Students at the Category context you will need to tick the correct checkboxes under Site Administration > Users > Users > Permissions > Define roles > Allow role assignments tab. See next section.
Allowing Teachers to Assign Category Roles
You may wish to let teachers to assign roles in the category context. To do this you must ensure that the selected roles are available in the category context and that your category teacher role has the selected role checked in Site administration>Accounts>Users>Permissions>Define roles>Allow role assignments.
If you simply assign a teacher to a category without taking these extra steps, then they will see a message “You cannot assign roles” when clicking Category administration>Assign roles.
Source: Adapted for Colour My Learning from Xelium