
Enrolling students in a Moodle course can be done in several ways, depending on your role (e.g., administrator, teacher, or manager) and the enrollment method configured. Here’s a step-by-step guide:
Method 1: Manual Enrollment (By Teachers/Managers)
- Log in to Moodle as a teacher or manager.
- Navigate to the course where you want to enroll students.
- Click on “Participants” in the course navigation menu.
- Click on “Enroll users” (usually a button at the top right).
- Search for the user(s) by name or email in the pop-up window.
- Select the role (e.g., “Student”) from the dropdown menu.
- Click “Enroll” to add the student(s).
- Finish by clicking “Finish enrolling users”.
Method 2: Self-Enrollment (Students Join Themselves)
- Enable self-enrollment in the course settings:
- Go to the course → Settings (under Course Administration).
- Under “Course enrollment methods”, click “Enrollment methods”.
- Enable “Self enrollment (Student)” (click the eye icon to enable).
- Configure options like enrollment key (password), duration, etc.
2. Share the enrollment link & key (if set) with students.
3. Students enroll by:
- Logging into Moodle.
- Searching for the course or using the direct link.
- Clicking “Enroll me” and entering the key (if required).
Method 3: Bulk Enrollment via CSV (Admin/Manager)
- Prepare a CSV file with user details (username/email) and course ID.
- Go to Site Administration → Users → Upload users.
- Upload the CSV file and map the fields correctly.
- Select “Enroll users in course” and specify the course.
- Choose the role (e.g., “Student”) and complete the upload.
Method 4: Cohort Sync (Auto-Enroll Groups)
- Create a cohort (admin-only):
- Go to Site Administration → Users → Cohorts.
- Add a cohort and manually add users or upload via CSV.
2. Sync the cohort to the course:
- In the course, go to Participants → Enrollment methods.
- Add “Cohort sync” and link the cohort.
- Students in the cohort will be auto-enrolled.
Method 5: Database Enrollment (External Systems)
- For advanced setups, Moodle supports LDAP, external databases, or plugins like “Flat File Enrollment” (automated via scripts).
Additional Notes:
- Roles Matter: Only users with enrollment permissions (e.g., teachers with the “enrolledusers” capability) can manually enroll students.
- Enrollment Periods: Set start/end dates in course settings or enrollment methods.
- Plugins: Extend functionality with plugins like “Group Self-Selection” or “PayPal Enrollment”.