PulseLMS Enrollment Methods - Complete Administrator Guide¶
Document Information¶
| Field | Details |
|---|---|
| Document Title | Enrollment Methods Administration Guide |
| Version | 2.0 |
| Last Updated | 2025 |
| Audience | System Administrators, Course Administrators |
| Prerequisites | Site Administrator Access, Course Management Permissions |
Table of Contents¶
- Introduction to Enrollment
- Manual Enrollment
- Self Enrollment
- Cohort Sync
- Guest Access
- Course Meta Link
- Flat File Enrollment
- LTI Enrollment
- PayPal Enrollment
- Enrollment Duration and Expiry
- Enrollment Notifications
- Bulk Enrollment Operations
- Troubleshooting Enrollment
- Appendix A: Enrollment Method Comparison
- Appendix B: Configuration Quick Reference
1. Introduction to Enrollment¶
1.1 What is Enrollment?¶
Enrollment is the process of adding users to courses in PulseLMS, giving them access to course content and activities. The enrollment system is flexible and supports multiple methods to accommodate various organizational needs.
1.2 Enrollment Architecture¶
┌─────────────────────────────────────────────────────────────────┐
│ PulseLMS Enrollment System │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ Manual │ │ Self │ │ Cohort │ │
│ │ Enrollment │ │ Enrollment │ │ Sync │ │
│ └──────┬──────┘ └──────┬──────┘ └──────┬──────┘ │
│ │ │ │ │
│ ┌──────┴──────┐ ┌──────┴──────┐ ┌──────┴──────┐ │
│ │ Guest │ │ Meta │ │ Flat File │ │
│ │ Access │ │ Link │ │ Enrollment │ │
│ └──────┬──────┘ └──────┬──────┘ └──────┬──────┘ │
│ │ │ │ │
│ ┌──────┴──────┐ ┌──────┴──────┐ ┌──────┴──────┐ │
│ │ LTI │ │ PayPal │ │ External │ │
│ │ Enrollment │ │ Enrollment │ │ Database │ │
│ └──────┬──────┘ └──────┬──────┘ └──────┬──────┘ │
│ │ │ │ │
│ └────────────────┼────────────────┘ │
│ │ │
│ ▼ │
│ ┌───────────────────────┐ │
│ │ Enrollment Engine │ │
│ │ (Role Assignment) │ │
│ └───────────────────────┘ │
│ │ │
│ ▼ │
│ ┌───────────────────────┐ │
│ │ Course Access │ │
│ └───────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘
1.3 Enrollment Method Types¶
| Category | Methods | Use Case |
|---|---|---|
| Administrative | Manual, Flat File, External Database | Direct control by administrators |
| Self-Service | Self Enrollment, PayPal | User-initiated enrollment |
| Automatic | Cohort Sync, Meta Link | System-managed enrollment |
| Integration | LTI, External Database | Third-party system integration |
| Temporary | Guest Access | Browse-only access |
1.4 Enabling Enrollment Plugins¶
Site Administration Path:
| Plugin | Default Status | Recommended Setting |
|---|---|---|
| Manual enrolments | Enabled | Keep Enabled |
| Self enrolment | Enabled | Enable as needed |
| Cohort sync | Enabled | Enable for automation |
| Guest access | Enabled | Enable with caution |
| Course meta link | Disabled | Enable for programs |
| Flat file | Disabled | Enable for bulk operations |
| LTI | Disabled | Enable for integrations |
| PayPal | Disabled | Enable for paid courses |
1.5 Global Enrollment Settings¶
Path: Site Administration → Plugins → Enrolments → Manage enrol plugins → Settings
| Setting | Description | Recommended Value |
|---|---|---|
| Default enrolment plugins | Plugins enabled for new courses | manual, self |
| External database sync | Sync schedule | Every 5 minutes |
| Recovery of grades | Recover grades on re-enrolment | Yes |
| Default role | Default student role | Student |
2. Manual Enrollment¶
2.1 Overview¶
Manual enrollment allows teachers and administrators to directly add users to courses. This is the most common method for small-scale enrollments and provides complete control over who enters a course.
2.2 Enabling Manual Enrollment¶
Step 1: Enable at Site Level¶
Path: Site Administration → Plugins → Enrolments → Manage enrol plugins
- Navigate to the enrollment plugins page
- Locate "Manual enrolments" in the list
- Click the eye icon to enable if disabled
- Click the settings icon (gear) to configure defaults
Step 2: Configure Site-Level Defaults¶
| Setting | Description | Options |
|---|---|---|
| Default role | Role assigned when enrolling | Student, Teacher, etc. |
| Default enrolment duration | How long enrollment lasts | 0 = unlimited, or days |
| Notify before expiry | Days before expiry notification | 0-30 days |
| Expiry notification | Who receives notifications | Enroller only, Enroller and student |
| Expiry threshold | Days to send notification | 1-30 days |
Step 3: Enable in Individual Courses¶
Path: Course → Participants → Enrolment methods
- Open the course where you want manual enrollment
- Click "Participants" in the course menu
- Click the gear icon and select "Enrolment methods"
- If Manual enrolments is not listed:
- Click "Add method" dropdown
- Select "Manual enrolments"
- Click the eye icon to enable if disabled
2.3 Manual Enrollment Step-by-Step¶
Method 1: Enroll from Participants Page¶
Step 1: Navigate to Course
Step 2: Access Participants
Step 3: Click "Enrol users"
The button appears at the top of the participants list.
Step 4: Search for Users
| Search Field | Description |
|---|---|
| Search | Enter name, email, or username |
| Filter by role | Filter search results by role |
| Filter by cohort | Show only cohort members |
Step 5: Select Users
- Click the checkbox next to each user
- Or use "Select all" for bulk selection
- Selected users appear in the enrollment queue
Step 6: Configure Enrollment Options
| Option | Description | Default |
|---|---|---|
| Assign role | Role to assign | Student |
| Starting from | Enrollment start date | Now |
| Ending on | Enrollment end date | Never |
| Recovery of old grades | Restore previous grades | No |
Step 7: Complete Enrollment
- Review selected users
- Click "Enrol users" button
- Confirm the enrollment
Method 2: Enroll from User Profile¶
Step 1: Find the User
Step 2: Open User Profile
Click on the user's name to open their profile.
Step 3: Access Course Enrollment
- Click "Administration" in the user profile
- Select "Enrollments"
- Click "Enrol" button
Step 4: Select Course and Configure
- Search for the course
- Select the role
- Set duration options
- Click "Enrol"
2.4 Manual Enrollment Options Reference¶
| Option | Description | Values |
|---|---|---|
| Enrol users | Method selection | Manual enrolments |
| Assign role | Role to assign to users | Manager, Teacher, Non-editing Teacher, Student, Guest |
| Enrolment duration | Length of enrollment | Unlimited, or specific days |
| Starting from | When enrollment becomes active | Date picker or "Now" |
| Duration | How long the enrollment lasts | Days, weeks, or months |
| Ending on | Fixed end date | Date picker or "Never" |
| Notify enrolled users | Send enrollment email | Yes/No |
2.5 Editing Manual Enrollments¶
Changing User Role¶
Step 1: Access Participants
Step 2: Find the User
Use the search or filter to locate the user.
Step 3: Edit Enrollment
- Click the pencil icon next to the user's role
- Select new role from dropdown
- Click the save icon (checkmark)
Extending Enrollment¶
Step 1: Access Enrolled Users
Step 2: Find User and Click Edit
- Locate the user in the enrolled users list
- Click the gear icon for their enrollment
Step 3: Modify Dates
| Field | Action |
|---|---|
| Enrolment starts | Change start date |
| Enrolment ends | Change or remove end date |
Step 4: Save Changes
Click "Save changes" to apply modifications.
2.6 Removing Manual Enrollments¶
Single User Removal¶
Method 1: From Participants Page
- Navigate to Course → Participants
- Find the user
- Click the trash icon next to their enrollment
- Confirm removal
Method 2: From Enrollment Methods
- Navigate to Course → Participants → Enrolment methods
- Click the users icon next to "Manual enrolments"
- Find the user
- Click "Unenrol" button
- Confirm removal
Bulk Removal¶
Step 1: Access Participants with Selection
Step 2: Select Users
- Use filters to find users to remove
- Check the boxes next to each user
- Or use "Select all"
Step 3: Choose Action
- Click "With selected users..." dropdown
- Select "Delete selected user enrolments"
- Confirm the action
2.7 Manual Enrollment Templates¶
For consistent enrollment, create templates:
| Template Name | Role | Duration | Notification | Use Case |
|---|---|---|---|---|
| Standard Student | Student | Unlimited | Yes | Regular enrollments |
| Term-Based | Student | 120 days | Yes | Semester courses |
| Teaching Assistant | Non-editing Teacher | Course duration | Yes | TAs |
| Auditor | Student | 30 days | No | Course preview |
| Instructor | Teacher | Unlimited | Yes | Full teaching access |
2.8 Manual Enrollment Best Practices¶
| Practice | Reason |
|---|---|
| Use consistent role assignments | Maintains predictable access |
| Set enrollment durations when appropriate | Prevents stale enrollments |
| Document enrollment decisions | Creates audit trail |
| Verify user identity before enrolling | Security best practice |
| Use bulk enrollment for large groups | Efficiency |
| Review enrollments periodically | Maintain course integrity |
3. Self Enrollment¶
3.1 Overview¶
Self enrollment allows users to enroll themselves in courses, optionally using an enrollment key. This reduces administrative overhead while maintaining access control.
3.2 Self Enrollment Architecture¶
┌──────────────────────────────────────────────────────────────┐
│ Self Enrollment Flow │
├──────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────┐ ┌─────────────┐ ┌────────────┐ │
│ │ User │──────>│ Course │──────>│ Enrolment │ │
│ │ Discovery │ │ Catalog │ │ Button │ │
│ └─────────────┘ └─────────────┘ └─────┬──────┘ │
│ │ │
│ ┌──────────────────────┘ │
│ │ │
│ ▼ │
│ ┌────────────────────┐ │
│ │ Enrollment Key? │ │
│ └─────────┬──────────┘ │
│ │ │
│ ┌──────────────┼──────────────┐ │
│ │ │ │ │
│ ▼ ▼ ▼ │
│ ┌────────┐ ┌──────────┐ ┌──────────┐ │
│ │ No │ │ Yes │ │ Group │ │
│ │ Key │ │ Key │ │ Key │ │
│ └───┬────┘ └────┬─────┘ └────┬─────┘ │
│ │ │ │ │
│ ▼ ▼ ▼ │
│ ┌─────────┐ ┌──────────┐ ┌──────────────┐ │
│ │ Direct │ │ Enter │ │ Enter Key + │ │
│ │ Enroll │ │ Key │ │ Group Assign │ │
│ └────┬────┘ └────┬─────┘ └──────┬───────┘ │
│ │ │ │ │
│ └──────────────┼───────────────┘ │
│ │ │
│ ▼ │
│ ┌────────────────┐ │
│ │ Enrolled! │ │
│ └────────────────┘ │
│ │
└──────────────────────────────────────────────────────────────┘
3.3 Enabling Self Enrollment¶
Step 1: Enable at Site Level¶
Path: Site Administration → Plugins → Enrolments → Manage enrol plugins
- Find "Self enrolment" in the list
- Enable using the eye icon
- Click settings (gear icon) for defaults
Step 2: Site-Level Settings¶
| Setting | Description | Recommended |
|---|---|---|
| Require enrolment key | Force key for all courses | No (per-course) |
| Use password policy | Apply password rules to keys | Yes |
| Show hint | Display key hint | Yes |
| Default role | Role for self-enrolled users | Student |
| Enrolment duration | Default enrollment length | 0 (unlimited) |
| Max enrolled users | Maximum per instance | 0 (unlimited) |
| Send welcome message | Send enrollment email | Yes |
| Welcome message | Custom message template | Customizable |
Step 3: Enable in Course¶
Path: Course → Participants → Enrolment methods → Add method → Self enrolment
3.4 Self Enrollment Configuration¶
Basic Configuration¶
| Setting | Description | Example |
|---|---|---|
| Custom instance name | Display name | "Enroll in Marketing 101" |
| Enable existing enrolments | Allow access | Yes |
| Enrol new users | Accept new enrollments | Yes |
| Default assigned role | Role to assign | Student |
Enrollment Key Settings¶
| Setting | Description | Example |
|---|---|---|
| Enrolment key | Password for access | "Marketing2025!" |
| Unmask | Show key when typing | Checkbox |
| Use group enrolment keys | Enable group keys | Yes/No |
Example Key Strategies:
| Strategy | Key Example | Use Case |
|---|---|---|
| Course-based | COURSE101-2025 | Single course access |
| Department-based | MKT-SPRING-2025 | Department courses |
| Random secure | Xk9#mP2$vQ7@ | High-security courses |
| Session-based | SESSION-A-2025 | Multiple sections |
Date Restrictions¶
| Setting | Description | Format |
|---|---|---|
| Enrolment start date | When enrollment opens | YYYY-MM-DD |
| Enrolment end date | When enrollment closes | YYYY-MM-DD |
| Enable | Activate date restrictions | Checkbox |
Example Date Configurations:
| Scenario | Start Date | End Date |
|---|---|---|
| Semester Course | 2025-01-15 | 2025-01-31 |
| Always Open | Empty | Empty |
| Limited Window | 2025-03-01 | 2025-03-15 |
| Future Course | 2025-06-01 | Empty |
Enrollment Duration¶
| Setting | Description | Values |
|---|---|---|
| Enrolment duration | How long enrollment lasts | 0 = unlimited, or days |
| Notify before expiry | Warning before expiration | 0-30 days |
| Expiry notification | Who to notify | Teacher and student |
Capacity Settings¶
| Setting | Description | Recommended |
|---|---|---|
| Max enrolled users | Maximum enrollments | Set based on course capacity |
| Long name format | Display format | Course full name |
| Cohort only | Restrict to cohort | Optional |
3.5 Group Enrollment Keys¶
Group enrollment keys automatically assign users to groups upon enrollment.
Setting Up Group Keys¶
Step 1: Create Groups
Step 2: Enable Group Keys in Self Enrollment
- Navigate to Course → Participants → Enrolment methods
- Edit the Self enrolment instance
- Enable "Use group enrolment keys"
- Save changes
Step 3: Set Group Keys
- Go to Course → Participants → Groups
- Click on a group
- Click "Edit group settings"
- Enter "Enrolment key" for the group
- Save changes
Group Key Example¶
| Group Name | Group Key | Purpose |
|---|---|---|
| Section A | SECA-2025 | Morning section |
| Section B | SECB-2025 | Afternoon section |
| Section C | SECC-2025 | Evening section |
| Online | ONLINE-2025 | Remote students |
3.6 Self Enrollment Restrictions¶
Cohort Restrictions¶
Limit enrollment to members of specific cohorts:
| Setting | Value | Result |
|---|---|---|
| Only cohort members | Marketing Team | Only Marketing Team can enroll |
| Only cohort members | (empty) | Anyone can enroll |
Multiple Instances¶
Create multiple self-enrollment instances for different scenarios:
| Instance | Key | Role | Cohort | Duration |
|---|---|---|---|---|
| Student Enrollment | STU-KEY | Student | Students | 120 days |
| TA Enrollment | TA-KEY | Non-editing Teacher | TAs | 180 days |
| Auditor Access | AUDIT-KEY | Student | Auditors | 30 days |
3.7 Welcome Messages¶
Default Welcome Message¶
Welcome to {$a->coursename}!
You have been enrolled as a {$a->role}.
Your enrollment started: {$a->startdate}
Your enrollment expires: {$a->enddate}
To access the course, visit:
{$a->courseurl}
If you have questions, contact your instructor.
Custom Welcome Message Variables¶
| Variable | Description |
|---|---|
| {$a->coursename} | Full course name |
| {$a->courseurl} | URL to the course |
| {$a->role} | Assigned role name |
| {$a->startdate} | Enrollment start date |
| {$a->enddate} | Enrollment end date |
| {$a->firstname} | User's first name |
| {$a->lastname} | User's last name |
3.8 Self Enrollment User Experience¶
User Steps to Self-Enroll¶
Step 1: Find the Course
- Browse course catalog
- Search by course name
- Follow shared link
Step 2: View Course Information
- Read course summary
- Check enrollment requirements
- Review course dates
Step 3: Enroll in Course
| Scenario | User Action |
|---|---|
| No key required | Click "Enrol me" |
| Key required | Enter key, click "Enrol me" |
| Group key | Enter group key, automatically assigned |
| Capacity full | Cannot enroll, waitlist if available |
| Outside dates | Cannot enroll, shown dates |
Step 4: Access Course
- Redirected to course page
- Welcome message displayed
- Course added to dashboard
3.9 Self Enrollment Troubleshooting¶
| Issue | Cause | Solution |
|---|---|---|
| "Enrollment key incorrect" | Wrong key entered | Verify key and try again |
| "Self enrollment is disabled" | Instance disabled | Enable in course settings |
| "This course is not available" | Date restrictions | Check enrollment dates |
| "Maximum enrollments reached" | Capacity limit | Increase limit or wait |
| "You cannot enroll yourself" | Cohort restriction | Add user to cohort |
| No enroll button visible | Not logged in | Log in first |
4. Cohort Sync¶
4.1 Overview¶
Cohort sync automatically enrolls members of a cohort into a course. When users are added to the cohort, they're automatically enrolled; when removed, they're automatically unenrolled.
4.2 Cohort Sync Workflow¶
┌─────────────────────────────────────────────────────────────────┐
│ Cohort Sync Workflow │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ┌──────────────┐ ┌──────────────┐ │
│ │ Create │ │ Create │ │
│ │ Cohort │ │ Course │ │
│ └──────┬───────┘ └──────┬───────┘ │
│ │ │ │
│ │ ┌──────────────────────┐ │ │
│ └─────>│ Add Cohort Sync │<──────┘ │
│ │ Enrolment Method │ │
│ └──────────┬───────────┘ │
│ │ │
│ ▼ │
│ ┌──────────────────────┐ │
│ │ Select Cohort & │ │
│ │ Configure Role │ │
│ └──────────┬───────────┘ │
│ │ │
│ ┌─────────────────┼─────────────────┐ │
│ │ │ │ │
│ ▼ ▼ ▼ │
│ ┌────────────┐ ┌────────────┐ ┌────────────┐ │
│ │ Initial │ │ User │ │ User │ │
│ │ Sync │ │ Added │ │ Removed │ │
│ └─────┬──────┘ └─────┬──────┘ └─────┬──────┘ │
│ │ │ │ │
│ ▼ ▼ ▼ │
│ ┌────────────┐ ┌────────────┐ ┌────────────┐ │
│ │ All Users │ │ Auto │ │ Auto │ │
│ │ Enrolled │ │ Enrolled │ │ Unenrolled │ │
│ └────────────┘ └────────────┘ └────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘
4.3 Creating Cohorts¶
Step 1: Access Cohort Management¶
Path: Site Administration → Users → Cohorts
Step 2: Create New Cohort¶
| Field | Description | Example |
|---|---|---|
| Name | Cohort display name | "Marketing Department 2025" |
| Context | Where cohort is available | System or Category |
| Cohort ID | Unique identifier | MKT-2025 |
| Description | Purpose of cohort | "All marketing staff" |
Step 3: Add Members¶
Manual Addition: 1. Click on cohort name 2. Click "Assign" in the left panel 3. Search and select users 4. Click "Add" to move to assigned
Bulk Addition: 1. Use "Upload users" with cohort field 2. Specify cohort in CSV
4.4 Cohort Types and Contexts¶
| Context | Visibility | Use Case |
|---|---|---|
| System | All courses | Organization-wide groups |
| Category | Category courses only | Department-specific groups |
System Cohorts¶
Path: Site Administration → Users → Cohorts
- Available across entire platform
- Managed by site administrators
- Best for cross-department enrollment
Category Cohorts¶
Path: Category → Cohorts (in category settings)
- Available only in that category
- Managed by category managers
- Best for department-specific needs
4.5 Setting Up Cohort Sync in Courses¶
Step-by-Step Configuration¶
Step 1: Enable the Plugin
Enable "Cohort sync" if not already enabled.
Step 2: Access Course Enrollment Methods
Step 3: Add Cohort Sync
- Click "Add method" dropdown
- Select "Cohort sync"
Step 4: Configure Cohort Sync
| Setting | Description | Options |
|---|---|---|
| Cohort | Select cohort to sync | Dropdown of available cohorts |
| Role | Role for enrolled users | Student, Teacher, etc. |
| Add to group | Auto-add to group | Existing group or new |
| Create new group | Make new group from cohort | Yes/No |
Step 5: Save and Sync
Click "Add method" - initial sync happens immediately.
4.6 Cohort Sync Options¶
Role Assignment Options¶
| Role | Use Case |
|---|---|
| Student | Standard learner access |
| Non-editing Teacher | TAs or mentors |
| Teacher | Instructors for the course |
| Manager | Course administrators |
Group Options¶
| Option | Result |
|---|---|
| None | No group assignment |
| Existing Group | Add to selected group |
| Create new group | New group from cohort name |
4.7 Multiple Cohort Syncs¶
A course can have multiple cohort sync instances:
| Cohort | Role | Group | Purpose |
|---|---|---|---|
| Engineering Dept | Student | Engineers | Engineering learners |
| Engineering Leads | Non-editing Teacher | Mentors | Peer mentors |
| Training Team | Teacher | Instructors | Course teachers |
4.8 Cohort Sync Behavior¶
When Users Are Added to Cohort¶
| Action | Result |
|---|---|
| User added to cohort | Automatic enrollment at next sync |
| Sync frequency | Immediate or scheduled (cron) |
| Role assignment | Configured role applied |
| Group assignment | Added to configured group |
When Users Are Removed from Cohort¶
| Setting | Behavior |
|---|---|
| Keep enrolled | User stays enrolled (suspended) |
| Unenrol | User removed from course |
| Default | User is unenrolled |
4.9 Cohort Sync Scheduling¶
Automatic Synchronization¶
Cohort sync runs on schedule:
| Event | Sync Behavior |
|---|---|
| User added to cohort | Synced at next cron run |
| User removed from cohort | Synced at next cron run |
| Cohort sync added to course | Immediate sync |
| Manual trigger | Immediate sync |
Manual Sync Trigger¶
Method 1: From Course
Method 2: From Site Administration
4.10 Cohort Sync Use Cases¶
| Scenario | Configuration |
|---|---|
| Department Course | Sync department cohort as Students |
| Mandatory Training | Sync "All Employees" cohort |
| Manager Training | Sync "Managers" cohort |
| New Hire Orientation | Sync "New Employees" cohort |
| Regional Training | Sync regional cohorts |
4.11 Cohort Sync Best Practices¶
| Practice | Benefit |
|---|---|
| Use descriptive cohort names | Easy identification |
| Maintain cohort membership | Accurate enrollments |
| Document cohort purpose | Clear administration |
| Regular membership audits | Data accuracy |
| Use cohort IDs | Stable references |
5. Guest Access¶
5.1 Overview¶
Guest access allows unenrolled users to view course content without formal enrollment. This is useful for course previews or open educational resources.
5.2 Guest Access Levels¶
┌─────────────────────────────────────────────────────────────────┐
│ Guest Access Levels │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ┌──────────────────────────────────────────────────────────┐ │
│ │ Level 1: No Guest Access (Default) │ │
│ │ - Users must be enrolled │ │
│ │ - No anonymous browsing │ │
│ └──────────────────────────────────────────────────────────┘ │
│ │
│ ┌──────────────────────────────────────────────────────────┐ │
│ │ Level 2: Guest Access Without Password │ │
│ │ - Anyone can view course │ │
│ │ - Read-only access │ │
│ │ - Cannot participate in activities │ │
│ └──────────────────────────────────────────────────────────┘ │
│ │
│ ┌──────────────────────────────────────────────────────────┐ │
│ │ Level 3: Guest Access With Password │ │
│ │ - Password required for guest entry │ │
│ │ - Controlled preview access │ │
│ │ - Track who accesses course │ │
│ └──────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘
5.3 Enabling Guest Access¶
Site-Level Configuration¶
Path: Site Administration → Plugins → Enrolments → Manage enrol plugins
- Enable "Guest access" plugin
- Configure default settings:
| Setting | Description | Options |
|---|---|---|
| Enable guest access | Default for new courses | Yes/No |
| Require password | Default password requirement | Yes/No |
| Display login button | Show guest login | Yes/No |
Course-Level Configuration¶
Path: Course → Participants → Enrolment methods → Add method → Guest access
| Setting | Description | Example |
|---|---|---|
| Allow guest access | Enable/disable | Yes |
| Password | Guest password | Leave blank for open access |
5.4 Guest Access Configuration Steps¶
Step 1: Navigate to Enrollment Methods
Step 2: Add Guest Access
- Click "Add method" dropdown
- Select "Guest access"
Step 3: Configure Options
| Option | Value | Result |
|---|---|---|
| Allow guest access | Yes | Guests can enter |
| Password | (blank) | No password needed |
| Password | "preview123" | Password required |
Step 4: Save Configuration
Click "Add method" to save.
5.5 Guest Capabilities¶
| Capability | Guest Access |
|---|---|
| View course content | Yes |
| View resources (files, pages) | Yes |
| Attempt quizzes | No |
| Submit assignments | No |
| Post in forums | No (usually) |
| View forum posts | Yes |
| Take attendance | No |
| Download files | Depends on settings |
| View grades | No |
| Receive notifications | No |
5.6 Guest Access for Forums¶
Forums can optionally allow guest viewing:
Path: Forum → Settings → Availability
| Setting | Description |
|---|---|
| Allow guests to read posts | Yes/No |
| Allow guests to post | Usually No |
5.7 Guest Access Best Practices¶
| Practice | Reason |
|---|---|
| Use passwords for sensitive content | Security |
| Limit guest access to preview content | Encourage enrollment |
| Hide certain activities from guests | Protect course integrity |
| Monitor guest access logs | Track usage |
| Review guest access regularly | Security maintenance |
5.8 Guest Access Security Considerations¶
| Risk | Mitigation |
|---|---|
| Unauthorized content access | Use guest passwords |
| Content scraping | Monitor access patterns |
| Server load | Limit concurrent guests |
| Confusion with enrolled users | Clear guest indicators |
6. Course Meta Link¶
6.1 Overview¶
Course meta link (also called meta-enrollment) creates parent-child relationships between courses, automatically enrolling users from child courses into a parent course.
6.2 Meta Link Architecture¶
┌─────────────────────────────────────────────────────────────────┐
│ Meta Link Architecture │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ┌───────────────────────┐ │
│ │ Parent Course │ │
│ │ (Program Overview) │ │
│ └───────────┬───────────┘ │
│ │ │
│ ┌─────────────────┼─────────────────┐ │
│ │ │ │ │
│ ▼ ▼ ▼ │
│ ┌────────────────┐ ┌────────────────┐ ┌────────────────┐ │
│ │ Child Course │ │ Child Course │ │ Child Course │ │
│ │ (Module 1) │ │ (Module 2) │ │ (Module 3) │ │
│ └───────┬────────┘ └───────┬────────┘ └───────┬────────┘ │
│ │ │ │ │
│ │ │ │ │
│ ┌───────┴────────┐ ┌───────┴────────┐ ┌───────┴────────┐ │
│ │ Students │ │ Students │ │ Students │ │
│ │ (Enrolled in │ │ (Enrolled in │ │ (Enrolled in │ │
│ │ Module 1) │ │ Module 2) │ │ Module 3) │ │
│ └────────────────┘ └────────────────┘ └────────────────┘ │
│ │
│ All students from child courses are automatically │
│ enrolled in the parent course via meta link │
│ │
└─────────────────────────────────────────────────────────────────┘
6.3 Enabling Meta Link Enrollment¶
Step 1: Enable the Plugin¶
Path: Site Administration → Plugins → Enrolments → Manage enrol plugins
- Find "Course meta link"
- Click the eye icon to enable
Step 2: Configure Plugin Settings¶
| Setting | Description | Recommended |
|---|---|---|
| Enable | Plugin enabled | Yes |
| Sync all | Sync all roles | Yes or specific roles |
| Add instance | Who can add | Manager, Teacher |
6.4 Setting Up Meta Link¶
In the Parent Course¶
Step 1: Navigate to Enrollment Methods
Step 2: Add Course Meta Link
- Click "Add method" dropdown
- Select "Course meta link"
Step 3: Select Child Course(s)
| Option | Description |
|---|---|
| Link course | Select child course to link |
| Add to group | Group for linked users |
Step 4: Configure Options
| Setting | Value | Effect |
|---|---|---|
| Link course | Module 1 | Sync Module 1 students |
| Add to group | Module 1 Group | Create group from course |
Step 5: Repeat for Additional Courses
Add multiple meta links for each child course.
6.5 Meta Link Configuration Options¶
| Option | Description | Example |
|---|---|---|
| Link course | Course to sync from | "Introduction to Marketing" |
| Add to group | Target group | Create or select group |
| Sync role | Which roles to sync | All or specific |
6.6 Meta Link Sync Behavior¶
| Action in Child Course | Effect in Parent Course |
|---|---|
| User enrolled | User enrolled in parent |
| User unenrolled | User suspended in parent |
| Role changed | Role may change in parent |
| User suspended | User suspended in parent |
6.7 Meta Link Use Cases¶
| Scenario | Setup |
|---|---|
| Program overview | Parent = Program, Children = Courses |
| Cohort collaboration | Parent = Discussion, Children = Sections |
| Final project | Parent = Capstone, Children = Prerequisites |
| Resource sharing | Parent = Resources, Children = Active courses |
6.8 Meta Link Example Configuration¶
Program: Digital Marketing Certificate
| Course Level | Course Name | Link Type |
|---|---|---|
| Parent | Digital Marketing Overview | Receives links |
| Child | Marketing Fundamentals | Meta link to parent |
| Child | Social Media Marketing | Meta link to parent |
| Child | SEO & Analytics | Meta link to parent |
| Child | Content Marketing | Meta link to parent |
Configuration Steps:
- Create all courses
- In "Digital Marketing Overview" course:
- Add meta link to "Marketing Fundamentals"
- Add meta link to "Social Media Marketing"
- Add meta link to "SEO & Analytics"
- Add meta link to "Content Marketing"
- Enroll students in individual child courses
- Students automatically appear in parent course
6.9 Meta Link Best Practices¶
| Practice | Benefit |
|---|---|
| Use clear parent/child naming | Easy identification |
| Group students by source course | Track origin |
| Limit parent course activities | Focus on shared content |
| Document meta link relationships | Maintain clarity |
| Regular sync verification | Ensure accuracy |
7. Flat File Enrollment¶
7.1 Overview¶
Flat file enrollment allows bulk enrollment operations using CSV files. This is ideal for automated enrollment from external systems or large-scale enrollment operations.
7.2 Flat File Workflow¶
┌─────────────────────────────────────────────────────────────────┐
│ Flat File Enrollment Process │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ Create │──────>│ Upload │──────>│ Validate │ │
│ │ CSV File │ │ to Path │ │ Format │ │
│ └─────────────┘ └─────────────┘ └──────┬──────┘ │
│ │ │
│ ┌──────────────────────┘ │
│ │ │
│ ▼ │
│ ┌────────────────────┐ │
│ │ Cron Process │ │
│ │ (Scheduled Sync) │ │
│ └──────────┬─────────┘ │
│ │ │
│ ┌───────────────┼───────────────┐ │
│ │ │ │ │
│ ▼ ▼ ▼ │
│ ┌───────────┐ ┌───────────┐ ┌───────────┐ │
│ │ Enroll │ │ Unenroll │ │ Update │ │
│ │ Users │ │ Users │ │ Roles │ │
│ └───────────┘ └───────────┘ └───────────┘ │
│ │ │
│ ▼ │
│ ┌────────────────────┐ │
│ │ Log Results & │ │
│ │ Archive File │ │
│ └────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘
7.3 Enabling Flat File Enrollment¶
Step 1: Enable the Plugin¶
Path: Site Administration → Plugins → Enrolments → Manage enrol plugins
- Find "Flat file (CSV)"
- Enable using eye icon
- Click settings for configuration
Step 2: Configure Plugin Settings¶
| Setting | Description | Example |
|---|---|---|
| File location | Path to CSV file | /var/pulselms/enrollments.csv |
| Field delimiter | CSV separator | comma (,) |
| Field encoding | File encoding | UTF-8 |
| Mail teachers | Notify on enrollment | Yes |
| Mail admin | Notify admin | Yes |
7.4 CSV File Format¶
Required Fields¶
| Field | Description | Required |
|---|---|---|
| operation | add, del, or update | Yes |
| role | Role shortname | Yes |
| user | Username or ID field | Yes |
| course | Course shortname or ID | Yes |
Optional Fields¶
| Field | Description | Format |
|---|---|---|
| starttime | Enrollment start | Unix timestamp or date |
| endtime | Enrollment end | Unix timestamp or date |
| group | Group name | Text |
7.5 Flat File Examples¶
Basic Enrollment CSV¶
add,student,jsmith,COURSE101
add,student,mjones,COURSE101
add,teacher,tbrown,COURSE101
add,student,agarcia,COURSE102
del,student,olduser,COURSE101
Extended Enrollment CSV¶
operation,role,user,course,starttime,endtime,group
add,student,jsmith,MKT101,1704067200,1735603200,GroupA
add,student,mjones,MKT101,1704067200,1735603200,GroupA
add,student,agarcia,MKT101,1704067200,1735603200,GroupB
add,editingteacher,tbrown,MKT101,1704067200,,
del,student,olduser,MKT101,,,
Date Format Examples¶
| Format | Example | Description |
|---|---|---|
| Unix timestamp | 1704067200 | Seconds since epoch |
| Date string | 2025-01-01 | YYYY-MM-DD format |
7.6 Flat File Configuration Reference¶
| Setting | Description | Values |
|---|---|---|
| Location | File path | Absolute path |
| Delimiter | Field separator | comma, semicolon, tab, pipe |
| Encoding | Character encoding | UTF-8, ISO-8859-1 |
| Mapping | User ID field | id, idnumber, username, email |
| Mail teachers | Teacher notifications | Yes/No |
| Mail admin | Admin notifications | Yes/No |
| Expiry notification | Days before expiry | 0-30 |
7.7 Flat File Operations¶
| Operation | Code | Description |
|---|---|---|
| Enroll | add | Add user to course |
| Unenroll | del | Remove user from course |
| Update | update | Modify enrollment |
7.8 Flat File Role Shortnames¶
| Role | Shortname |
|---|---|
| Manager | manager |
| Course Creator | coursecreator |
| Teacher | editingteacher |
| Non-editing Teacher | teacher |
| Student | student |
| Guest | guest |
7.9 Flat File Sync Schedule¶
Configure sync frequency in Scheduled Tasks:
Path: Site Administration → Server → Scheduled tasks
| Task | Frequency | Purpose |
|---|---|---|
| Flat file enrolment sync | Every 5 minutes | Process enrollment file |
7.10 Flat File Best Practices¶
| Practice | Benefit |
|---|---|
| Validate CSV before upload | Prevent errors |
| Use consistent delimiters | Reliable parsing |
| Archive processed files | Maintain history |
| Monitor logs | Track issues |
| Test with small batches | Verify configuration |
7.11 Flat File Troubleshooting¶
| Issue | Cause | Solution |
|---|---|---|
| File not processed | Wrong path | Verify file location |
| Users not enrolled | Invalid username | Check user identifiers |
| Encoding errors | Wrong encoding | Use UTF-8 |
| Partial processing | File permissions | Check read permissions |
| Duplicate entries | Repeated rows | Remove duplicates |
8. LTI Enrollment¶
8.1 Overview¶
LTI (Learning Tools Interoperability) enrollment allows users from external LTI platforms to be automatically enrolled when accessing PulseLMS courses.
8.2 LTI Enrollment Architecture¶
┌─────────────────────────────────────────────────────────────────┐
│ LTI Enrollment Flow │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ┌───────────────────┐ ┌───────────────────┐ │
│ │ External LMS │ │ PulseLMS │ │
│ │ (LTI Consumer) │ │ (LTI Provider) │ │
│ └─────────┬─────────┘ └─────────┬─────────┘ │
│ │ │ │
│ │ 1. User clicks LTI link │ │
│ │────────────────────────────────>│ │
│ │ │ │
│ │ 2. LTI launch request │ │
│ │ (with user data, role, context) │ │
│ │────────────────────────────────>│ │
│ │ │ │
│ │ ┌──────┴──────┐ │
│ │ │ 3. Validate │ │
│ │ │ Request │ │
│ │ └──────┬──────┘ │
│ │ │ │
│ │ ┌──────┴──────┐ │
│ │ │ 4. Create/ │ │
│ │ │ Find User │ │
│ │ └──────┬──────┘ │
│ │ │ │
│ │ ┌──────┴──────┐ │
│ │ │ 5. Enroll │ │
│ │ │ in Course │ │
│ │ └──────┬──────┘ │
│ │ │ │
│ │ 6. Redirect to course │ │
│ │<────────────────────────────────│ │
│ │ │ │
└─────────────────────────────────────────────────────────────────┘
8.3 Enabling LTI Enrollment¶
Step 1: Enable LTI Plugin¶
Path: Site Administration → Plugins → Enrolments → Manage enrol plugins
- Enable "Publish as LTI tool"
- Configure settings
Step 2: Configure Global Settings¶
| Setting | Description | Value |
|---|---|---|
| Default role | Default for LTI users | Student |
| Instance can set role | Allow per-instance roles | Yes |
| Sync enrolments | Sync membership | Yes |
| Sync grades | Send grades back | Yes |
8.4 Publishing Course as LTI Tool¶
Step 1: Navigate to Published Tools
Step 2: Add New Tool
| Setting | Description | Example |
|---|---|---|
| Tool name | Display name | "Marketing 101 LTI" |
| Tool URL | URL for consumer | Auto-generated |
| Custom ID | Unique identifier | MKT101-LTI |
| Description | Tool description | "Access to Marketing course" |
Step 3: Configure Access
| Setting | Options | Description |
|---|---|---|
| Allow frame embedding | Yes/No | Allow in iframes |
| Force SSL | Yes/No | Require HTTPS |
| Default role | Student/Teacher | Enrolled role |
Step 4: Generate Credentials
| Credential | Description |
|---|---|
| Launch URL | URL for LTI consumer |
| Consumer key | Authentication key |
| Shared secret | Authentication secret |
8.5 LTI Role Mapping¶
| LTI Role | PulseLMS Role |
|---|---|
| Instructor | Teacher |
| Learner | Student |
| ContentDeveloper | Teacher |
| Administrator | Manager |
| Observer | Non-editing Teacher |
8.6 LTI Grade Passback¶
Configure grade synchronization:
| Setting | Description |
|---|---|
| Enable grade sync | Send grades to consumer |
| Sync interval | How often to sync |
| Grade item | Which grade to sync |
8.7 LTI Best Practices¶
| Practice | Benefit |
|---|---|
| Use strong shared secrets | Security |
| Require SSL | Encrypted communication |
| Map roles carefully | Appropriate access |
| Test integration thoroughly | Reliable access |
| Monitor LTI logs | Track issues |
9. PayPal Enrollment¶
9.1 Overview¶
PayPal enrollment allows users to pay for course access using PayPal. This enables monetization of courses through paid enrollment.
9.2 PayPal Enrollment Flow¶
┌─────────────────────────────────────────────────────────────────┐
│ PayPal Enrollment Flow │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────┐ │
│ │ User │ │
│ │ Finds │ │
│ │ Course │ │
│ └──────┬──────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────────┐ │
│ │ Click "Pay for │ │
│ │ this course" │ │
│ └──────────┬──────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────────┐ ┌─────────────────────┐ │
│ │ Redirect to │────>│ PayPal Payment │ │
│ │ PayPal │ │ Page │ │
│ └─────────────────────┘ └──────────┬──────────┘ │
│ │ │
│ ┌──────────┴──────────┐ │
│ │ │ │
│ ▼ ▼ │
│ ┌───────────┐ ┌───────────┐ │
│ │ Payment │ │ Payment │ │
│ │ Approved │ │ Declined │ │
│ └─────┬─────┘ └─────┬─────┘ │
│ │ │ │
│ ▼ ▼ │
│ ┌─────────────────┐ ┌─────────────────┐ │
│ │ User Enrolled │ │ Return to │ │
│ │ in Course │ │ Course Page │ │
│ └─────────────────┘ └─────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘
9.3 Enabling PayPal Enrollment¶
Step 1: Enable Plugin¶
Path: Site Administration → Plugins → Enrolments → Manage enrol plugins
- Enable "PayPal" enrollment
- Click settings to configure
Step 2: Configure PayPal Settings¶
| Setting | Description | Example |
|---|---|---|
| PayPal email | Business email | [email protected] |
| PayPal sandbox | Test mode | Enable for testing |
| Currency | Payment currency | USD, EUR, GBP |
| Default role | Role for enrolled | Student |
| Enrolment duration | How long enrollment lasts | 365 days |
| Notification settings | Who to notify | Teacher and student |
9.4 Configuring PayPal in Courses¶
Step 1: Add PayPal Enrollment Method
Step 2: Configure Course-Specific Settings
| Setting | Description | Example |
|---|---|---|
| Custom name | Display name | "Pay $99 for Course Access" |
| Cost | Price | 99.00 |
| Currency | Currency type | USD |
| Assign role | Role on enrollment | Student |
| Enrolment period | Duration | 365 days |
| Start date | When to activate | Date or "Now" |
| End date | When enrollment ends | Date or "Never" |
9.5 PayPal Configuration Options¶
| Option | Description | Values |
|---|---|---|
| Cost | Course price | Any positive number |
| Currency | Payment currency | USD, EUR, GBP, etc. |
| Role | Assigned role | Student (default) |
| Duration | Enrollment length | Days or unlimited |
| Notify | Notifications | Various options |
9.6 PayPal Testing¶
Using PayPal Sandbox¶
- Create PayPal Sandbox account at developer.paypal.com
- Enable sandbox mode in PulseLMS
- Use sandbox credentials for testing
- Process test payments
- Verify enrollment works
- Disable sandbox for production
9.7 PayPal Best Practices¶
| Practice | Benefit |
|---|---|
| Test in sandbox first | Avoid real money issues |
| Use clear pricing | Transparency |
| Set appropriate durations | Fair access |
| Configure notifications | Keep users informed |
| Monitor transactions | Track revenue |
9.8 PayPal Troubleshooting¶
| Issue | Cause | Solution |
|---|---|---|
| Payment not received | IPN issues | Check PayPal IPN settings |
| User not enrolled | Callback failed | Verify callback URL |
| Wrong amount | Currency mismatch | Match currencies |
| Sandbox issues | Wrong credentials | Use correct sandbox account |
10. Enrollment Duration and Expiry¶
10.1 Overview¶
Enrollment duration controls how long users have access to courses. Proper configuration ensures appropriate access windows and automatic cleanup.
10.2 Duration Types¶
| Type | Description | Use Case |
|---|---|---|
| Unlimited | No expiration | Permanent access courses |
| Fixed Duration | X days from enrollment | Subscription-based access |
| Fixed Date | Specific end date | Semester-based courses |
| Activity-Based | Based on completion | Self-paced courses |
10.3 Configuring Duration¶
At Enrollment Method Level¶
Path: Course → Participants → Enrolment methods → [Method] → Edit
| Setting | Options | Description |
|---|---|---|
| Enrolment duration | Days | Duration from start |
| Start date | Date/Now | When enrollment begins |
| End date | Date/Never | When enrollment ends |
At Individual Enrollment Level¶
Path: Course → Participants → [User] → Edit enrollment
| Setting | Options | Description |
|---|---|---|
| Enrolment starts | Date | Individual start date |
| Enrolment ends | Date | Individual end date |
| Status | Active/Suspended | Current status |
10.4 Expiry Notifications¶
Configuring Notifications¶
Path: Site Administration → Plugins → Enrolments → [Method] → Settings
| Setting | Description | Recommended |
|---|---|---|
| Expiry notification | Enable/Disable | Enable |
| Notify before | Days before expiry | 7-14 days |
| Notify | Who receives | User and enroller |
| Threshold | Days for notification | 1-30 |
Notification Template¶
Subject: Your enrollment in {coursename} is expiring
Dear {firstname},
Your enrollment in {coursename} will expire on {expirydate}.
To maintain access, please contact your administrator or
re-enroll in the course.
Course: {coursename}
Expiry Date: {expirydate}
Days Remaining: {daysremaining}
Regards,
PulseLMS Team
10.5 Handling Expired Enrollments¶
| Action | Configuration | Result |
|---|---|---|
| Suspend | Default | User cannot access, grades kept |
| Unenroll | Manual action | User removed, grades kept |
| Delete | Manual action | User and data removed |
| Re-enroll | Manual/Self | Access restored |
10.6 Bulk Duration Management¶
Extending Multiple Enrollments:
- Navigate to Course → Participants
- Filter by expiry date
- Select affected users
- Use "Edit selected enrollments"
- Set new end date
10.7 Duration Best Practices¶
| Practice | Benefit |
|---|---|
| Set appropriate durations | Manage access lifecycle |
| Configure notifications | Reduce support requests |
| Review expiring enrollments | Proactive management |
| Document duration policies | Clear expectations |
| Regular audits | Clean enrollment data |
11. Enrollment Notifications¶
11.1 Overview¶
Enrollment notifications keep users and administrators informed about enrollment events.
11.2 Notification Types¶
| Notification | Trigger | Recipients |
|---|---|---|
| Enrollment confirmation | User enrolled | User |
| Welcome message | User enrolled | User |
| Expiry warning | Before expiration | User, Enroller |
| Expiry notice | At expiration | User |
| Enrollment reminder | Pending enrollment | User |
| Teacher notification | Student enrolled | Teacher |
11.3 Configuring Welcome Messages¶
Self Enrollment Welcome¶
Path: Course → Participants → Enrolment methods → Self enrolment → Edit
| Setting | Description |
|---|---|
| Send course welcome message | Enable/Disable |
| Custom welcome message | Message content |
| Send from | Course contact or no-reply |
Custom Message Template¶
Welcome to {$a->coursename}!
Dear {$a->firstname},
You have successfully enrolled in {$a->coursename}.
Course Details:
- Start Date: {$a->startdate}
- End Date: {$a->enddate}
- Your Role: {$a->role}
To access your course:
{$a->courseurl}
Getting Started:
1. Review the course introduction
2. Check the syllabus
3. Introduce yourself in the forum
If you need help, contact your instructor.
Best regards,
The Course Team
11.4 Notification Channels¶
| Channel | Configuration | Use Case |
|---|---|---|
| Default | Primary notification | |
| Web | Browser notification | Real-time alerts |
| Mobile | Push notification | Mobile users |
| Popup | On-screen message | Immediate attention |
11.5 Managing Notification Preferences¶
User Preference Path: User Menu → Preferences → Notification preferences
| Notification Type | Web | Mobile | |
|---|---|---|---|
| Course enrolment | Yes | Yes | Yes |
| Expiry warning | Yes | Yes | Yes |
| Role changes | Yes | No | No |
11.6 Notification Best Practices¶
| Practice | Benefit |
|---|---|
| Keep messages concise | Higher read rate |
| Include action items | Clear next steps |
| Provide course links | Easy access |
| Use consistent branding | Professional appearance |
| Test notifications | Verify delivery |
12. Bulk Enrollment Operations¶
12.1 Overview¶
Bulk enrollment enables efficient management of large numbers of enrollments using various methods.
12.2 Bulk Enrollment Methods¶
| Method | Use Case | Scale |
|---|---|---|
| User Upload CSV | New users + enrollment | Large |
| Cohort Sync | Automatic group enrollment | Medium-Large |
| Flat File | External system integration | Large |
| Multi-select | Manual bulk enrollment | Small-Medium |
| Database Sync | Enterprise integration | Very Large |
12.3 Bulk Enrollment via User Upload¶
Step 1: Prepare CSV File¶
Required Fields:
| Field | Description | Example |
|---|---|---|
| username | User login | jsmith |
| firstname | First name | John |
| lastname | Last name | Smith |
| Email address | [email protected] | |
| course1 | First course enrollment | MKT101 |
| course2 | Second course enrollment | MKT102 |
Example CSV:
username,firstname,lastname,email,password,course1,course2,role1,role2
jsmith,John,Smith,[email protected],Password1!,MKT101,MKT102,student,student
mjones,Mary,Jones,[email protected],Password2!,MKT101,,student,
tbrown,Tom,Brown,[email protected],Password3!,MKT101,MKT102,student,student
agarcia,Ana,Garcia,[email protected],Password4!,MKT102,,student,
Step 2: Upload Users¶
Path: Site Administration → Users → Upload users
- Upload CSV file
- Configure upload settings
- Preview changes
- Confirm upload
12.4 Bulk Enrollment via Participants Page¶
Step 1: Navigate to Course Participants
Step 2: Click "Enrol users"
Step 3: Use Filters and Selection
| Action | Description |
|---|---|
| Search | Find specific users |
| Filter by cohort | Show cohort members |
| Select all | Choose all visible users |
| Individual select | Choose specific users |
Step 4: Configure Enrollment
| Option | Setting |
|---|---|
| Role | Select role for all |
| Starting from | Common start date |
| Duration | Common duration |
Step 5: Complete Enrollment
Click "Enrol users" to process all selected.
12.5 Bulk Enrollment Scripts¶
Using Command Line¶
# Example: Sync enrollments from database
php admin/cli/sync_enrollments.php
# Example: Process flat file
php admin/cli/process_flatfile.php /path/to/enrollments.csv
12.6 Bulk Enrollment Verification¶
After bulk enrollment, verify:
| Check | Method | Expected |
|---|---|---|
| Enrollment count | Participants page | Matches expected |
| Role assignment | Check individual users | Correct roles |
| Notification delivery | Email logs | Sent successfully |
| Course access | Test login | Users can access |
12.7 Bulk Enrollment Best Practices¶
| Practice | Benefit |
|---|---|
| Validate data before upload | Prevent errors |
| Start with small test batch | Verify process |
| Document all enrollments | Audit trail |
| Schedule during low usage | Performance |
| Verify after completion | Catch issues early |
13. Troubleshooting Enrollment¶
13.1 Common Enrollment Issues¶
Issue: User Cannot Self-Enroll¶
| Symptom | Possible Cause | Solution |
|---|---|---|
| No enroll button | Self-enroll disabled | Enable self enrollment |
| "Incorrect key" | Wrong password | Verify enrollment key |
| "Course full" | Capacity reached | Increase limit |
| "Not available" | Date restrictions | Check dates |
| "Cannot enroll" | Cohort restriction | Add to cohort |
Issue: Manual Enrollment Fails¶
| Symptom | Possible Cause | Solution |
|---|---|---|
| User not found | User doesn't exist | Create user first |
| "Cannot enroll" | Enrollment disabled | Enable manual enrollment |
| Permission denied | Insufficient rights | Check capabilities |
| Database error | System issue | Check error logs |
Issue: Cohort Sync Not Working¶
| Symptom | Possible Cause | Solution |
|---|---|---|
| Users not enrolled | Sync not run | Trigger manual sync |
| Wrong role | Configuration error | Check role setting |
| Partial sync | Cohort issues | Verify cohort membership |
| Delayed sync | Cron issues | Check scheduled tasks |
13.2 Enrollment Debugging Steps¶
Step 1: Verify Plugin Status
Confirm the enrollment method is enabled.
Step 2: Check Course Configuration
Verify the method is active in the course.
Step 3: Review User Permissions
Verify the user has enrollment capabilities.
Step 4: Check Logs
Filter by: - User (affected user) - Course (target course) - Action (enrol, unenrol)
Step 5: Verify Cron Jobs
Check enrollment-related tasks are running.
13.3 Enrollment Error Messages¶
| Error Message | Meaning | Solution |
|---|---|---|
| "Sorry, you may not enrol" | Enrollment restricted | Check restrictions |
| "Incorrect enrolment key" | Wrong password | Verify key |
| "Enrolment is disabled" | Method disabled | Enable method |
| "Maximum enrolments reached" | Capacity full | Increase limit |
| "Not enrolled" | User lacks access | Enroll the user |
| "Enrolment has expired" | Past end date | Extend enrollment |
| "Enrolment is not yet active" | Future start date | Wait or adjust date |
13.4 Enrollment Recovery¶
Re-enrolling Users¶
- Navigate to Course → Participants
- Click "Enrol users"
- Search for the user
- Select and configure enrollment
- Enable "Recover user's old grades" if needed
- Complete enrollment
Restoring Suspended Enrollments¶
- Navigate to Course → Participants → Enrolment methods
- Find the enrollment method
- Click "Enrolled users"
- Find suspended user
- Click "Edit enrollment"
- Change status to "Active"
- Update dates if needed
- Save changes
13.5 Enrollment Audit¶
Regular Audit Tasks¶
| Task | Frequency | Purpose |
|---|---|---|
| Review expired enrollments | Weekly | Clean up stale data |
| Verify cohort syncs | Weekly | Ensure accuracy |
| Check enrollment logs | Daily | Monitor activity |
| Review capacity usage | Monthly | Plan for growth |
| Test enrollment methods | Monthly | Verify functionality |
Audit Report Generation¶
Filter options: - Choose time period - Select courses - Filter by action (enrol) - Export to CSV
13.6 Performance Considerations¶
| Issue | Cause | Solution |
|---|---|---|
| Slow enrollment | Large cohorts | Batch processing |
| Timeout errors | Too many users | Increase PHP timeout |
| Memory issues | Large operations | Increase memory limit |
| Delayed syncs | Cron backlog | Optimize cron schedule |
13.7 Getting Support¶
If issues persist after troubleshooting:
- Collect relevant logs
- Document steps to reproduce
- Note error messages
- Check system requirements
- Contact support team
Appendix A: Enrollment Method Comparison¶
A.1 Feature Comparison Matrix¶
| Feature | Manual | Self | Cohort | Guest | Meta | Flat File | LTI | PayPal |
|---|---|---|---|---|---|---|---|---|
| User-initiated | No | Yes | No | Yes | No | No | Yes | Yes |
| Automatic | No | No | Yes | No | Yes | Yes | Yes | No |
| Key required | N/A | Optional | N/A | Optional | N/A | N/A | N/A | N/A |
| Payment | No | No | No | No | No | No | No | Yes |
| Duration control | Yes | Yes | Limited | Session | Limited | Yes | Limited | Yes |
| Bulk capable | Limited | No | Yes | N/A | Yes | Yes | N/A | No |
| External integration | No | No | No | No | No | Yes | Yes | Yes |
| Role flexibility | High | Medium | High | Fixed | High | High | Medium | Low |
| Admin overhead | High | Low | Medium | Low | Low | Medium | Medium | Low |
A.2 Recommended Methods by Scenario¶
| Scenario | Primary Method | Secondary Method |
|---|---|---|
| Small class | Manual | Self enrollment |
| Large course | Cohort Sync | Flat File |
| Open course | Self enrollment | Guest access |
| Paid course | PayPal | Manual |
| Program | Meta Link | Cohort Sync |
| External LMS | LTI | Flat File |
| Enterprise | External DB | Cohort Sync |
Appendix B: Configuration Quick Reference¶
B.1 Site Administration Paths¶
| Configuration | Path |
|---|---|
| Manage plugins | Site Administration → Plugins → Enrolments → Manage enrol plugins |
| User upload | Site Administration → Users → Upload users |
| Cohorts | Site Administration → Users → Cohorts |
| Scheduled tasks | Site Administration → Server → Scheduled tasks |
| Logs | Site Administration → Reports → Logs |
| Capabilities | Site Administration → Users → Permissions → Define roles |
B.2 Course Administration Paths¶
| Configuration | Path |
|---|---|
| Enrollment methods | Course → Participants → Enrolment methods |
| Enrolled users | Course → Participants |
| Groups | Course → Participants → Groups |
| Permissions | Course → Participants → Permissions |
B.3 Default Enrollment Settings¶
| Setting | Default | Recommended |
|---|---|---|
| Manual enrollment | Enabled | Keep enabled |
| Self enrollment | Disabled | Enable per course |
| Guest access | Disabled | Enable cautiously |
| Cohort sync | Disabled | Enable for automation |
| Default role | Student | Keep as student |
| Duration | Unlimited | Set per course |
| Notifications | Enabled | Keep enabled |
B.4 Capability Reference¶
| Capability | Description | Default Roles |
|---|---|---|
| enrol/manual:enrol | Manually enroll users | Manager, Teacher |
| enrol/manual:unenrol | Manually unenroll users | Manager, Teacher |
| enrol/self:config | Configure self enrollment | Manager, Teacher |
| enrol/cohort:config | Configure cohort sync | Manager |
| enrol/guest:config | Configure guest access | Manager, Teacher |
| enrol/meta:config | Configure meta link | Manager |
Document History¶
| Version | Date | Author | Changes |
|---|---|---|---|
| 1.0 | 2024 | Admin Team | Initial creation |
| 2.0 | 2025 | Admin Team | Comprehensive update |
This document is part of the PulseLMS Administrator Documentation Series.