Skip to content

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

  1. Introduction to Enrollment
  2. Manual Enrollment
  3. Self Enrollment
  4. Cohort Sync
  5. Guest Access
  6. Course Meta Link
  7. Flat File Enrollment
  8. LTI Enrollment
  9. PayPal Enrollment
  10. Enrollment Duration and Expiry
  11. Enrollment Notifications
  12. Bulk Enrollment Operations
  13. Troubleshooting Enrollment
  14. Appendix A: Enrollment Method Comparison
  15. 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:

Site Administration → Plugins → Enrolments → Manage enrol plugins

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

  1. Navigate to the enrollment plugins page
  2. Locate "Manual enrolments" in the list
  3. Click the eye icon to enable if disabled
  4. 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

  1. Open the course where you want manual enrollment
  2. Click "Participants" in the course menu
  3. Click the gear icon and select "Enrolment methods"
  4. If Manual enrolments is not listed:
  5. Click "Add method" dropdown
  6. Select "Manual enrolments"
  7. 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

Dashboard → My courses → [Select Course]

Step 2: Access Participants

Course Navigation → 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

  1. Click the checkbox next to each user
  2. Or use "Select all" for bulk selection
  3. 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

  1. Review selected users
  2. Click "Enrol users" button
  3. Confirm the enrollment

Method 2: Enroll from User Profile

Step 1: Find the User

Site Administration → Users → Browse list of users

Step 2: Open User Profile

Click on the user's name to open their profile.

Step 3: Access Course Enrollment

  1. Click "Administration" in the user profile
  2. Select "Enrollments"
  3. Click "Enrol" button

Step 4: Select Course and Configure

  1. Search for the course
  2. Select the role
  3. Set duration options
  4. 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

Course → Participants

Step 2: Find the User

Use the search or filter to locate the user.

Step 3: Edit Enrollment

  1. Click the pencil icon next to the user's role
  2. Select new role from dropdown
  3. Click the save icon (checkmark)

Extending Enrollment

Step 1: Access Enrolled Users

Course → Participants → Enrolment methods → Manual enrolments

Step 2: Find User and Click Edit

  1. Locate the user in the enrolled users list
  2. 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

  1. Navigate to Course → Participants
  2. Find the user
  3. Click the trash icon next to their enrollment
  4. Confirm removal

Method 2: From Enrollment Methods

  1. Navigate to Course → Participants → Enrolment methods
  2. Click the users icon next to "Manual enrolments"
  3. Find the user
  4. Click "Unenrol" button
  5. Confirm removal

Bulk Removal

Step 1: Access Participants with Selection

Course → Participants

Step 2: Select Users

  1. Use filters to find users to remove
  2. Check the boxes next to each user
  3. Or use "Select all"

Step 3: Choose Action

  1. Click "With selected users..." dropdown
  2. Select "Delete selected user enrolments"
  3. 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

  1. Find "Self enrolment" in the list
  2. Enable using the eye icon
  3. 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

Course → Participants → Groups → Create group

Step 2: Enable Group Keys in Self Enrollment

  1. Navigate to Course → Participants → Enrolment methods
  2. Edit the Self enrolment instance
  3. Enable "Use group enrolment keys"
  4. Save changes

Step 3: Set Group Keys

  1. Go to Course → Participants → Groups
  2. Click on a group
  3. Click "Edit group settings"
  4. Enter "Enrolment key" for the group
  5. 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

Site Administration → Plugins → Enrolments → Manage enrol plugins

Enable "Cohort sync" if not already enabled.

Step 2: Access Course Enrollment Methods

Course → Participants → Enrolment methods

Step 3: Add Cohort Sync

  1. Click "Add method" dropdown
  2. 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

Course → Participants → Enrolment methods → Cohort sync → Sync now

Method 2: From Site Administration

Site Administration → Courses → Enrol users → Sync cohort enrolments

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

  1. Enable "Guest access" plugin
  2. 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

Course → Participants → Enrolment methods

Step 2: Add Guest Access

  1. Click "Add method" dropdown
  2. 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.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.

┌─────────────────────────────────────────────────────────────────┐
│                    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                  │
│                                                                  │
└─────────────────────────────────────────────────────────────────┘

Step 1: Enable the Plugin

Path: Site Administration → Plugins → Enrolments → Manage enrol plugins

  1. Find "Course meta link"
  2. 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

In the Parent Course

Step 1: Navigate to Enrollment Methods

Parent Course → Participants → Enrolment methods

Step 2: Add Course Meta Link

  1. Click "Add method" dropdown
  2. 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.

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
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
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

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:

  1. Create all courses
  2. In "Digital Marketing Overview" course:
  3. Add meta link to "Marketing Fundamentals"
  4. Add meta link to "Social Media Marketing"
  5. Add meta link to "SEO & Analytics"
  6. Add meta link to "Content Marketing"
  7. Enroll students in individual child courses
  8. Students automatically appear in parent course
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

  1. Find "Flat file (CSV)"
  2. Enable using eye icon
  3. 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

  1. Enable "Publish as LTI tool"
  2. 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

Course → Participants → Enrolment methods → Publish as LTI tool

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

  1. Enable "PayPal" enrollment
  2. 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

Course → Participants → Enrolment methods → Add method → PayPal

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

  1. Create PayPal Sandbox account at developer.paypal.com
  2. Enable sandbox mode in PulseLMS
  3. Use sandbox credentials for testing
  4. Process test payments
  5. Verify enrollment works
  6. 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:

  1. Navigate to Course → Participants
  2. Filter by expiry date
  3. Select affected users
  4. Use "Edit selected enrollments"
  5. 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
Email 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 Email 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 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

  1. Upload CSV file
  2. Configure upload settings
  3. Preview changes
  4. Confirm upload

12.4 Bulk Enrollment via Participants Page

Step 1: Navigate to Course Participants

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

Site Administration → Plugins → Enrolments → Manage enrol plugins

Confirm the enrollment method is enabled.

Step 2: Check Course Configuration

Course → Participants → Enrolment methods

Verify the method is active in the course.

Step 3: Review User Permissions

Site Administration → Users → Permissions → Check system permissions

Verify the user has enrollment capabilities.

Step 4: Check Logs

Site Administration → Reports → Logs

Filter by: - User (affected user) - Course (target course) - Action (enrol, unenrol)

Step 5: Verify Cron Jobs

Site Administration → Server → Scheduled tasks

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

  1. Navigate to Course → Participants
  2. Click "Enrol users"
  3. Search for the user
  4. Select and configure enrollment
  5. Enable "Recover user's old grades" if needed
  6. Complete enrollment

Restoring Suspended Enrollments

  1. Navigate to Course → Participants → Enrolment methods
  2. Find the enrollment method
  3. Click "Enrolled users"
  4. Find suspended user
  5. Click "Edit enrollment"
  6. Change status to "Active"
  7. Update dates if needed
  8. 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

Site Administration → Reports → Logs

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:

  1. Collect relevant logs
  2. Document steps to reproduce
  3. Note error messages
  4. Check system requirements
  5. 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
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.