PulseLMS User Management Guide¶
Complete Guide to User Administration¶
Document Version: 2.0 Last Updated: January 2026 Applies To: PulseLMS 4.x and later
Table of Contents¶
- Introduction to User Management
- Creating Users Manually
- Bulk User Upload
- User Profile Fields
- Custom Profile Fields
- User Policies
- Browse Users
- User Account Settings
- Suspending and Deleting Users
- User Preferences
- Login as Another User
- User Authentication Methods
- User Data Privacy
- Best Practices
- Troubleshooting
- Appendix: Quick Reference Tables
Introduction to User Management¶
Overview¶
User management is a fundamental aspect of administering PulseLMS. As an administrator, you are responsible for creating, managing, and maintaining user accounts throughout their lifecycle within your learning management system. Effective user management ensures that learners, instructors, and staff have appropriate access to courses and resources while maintaining security and compliance.
Key Concepts¶
Before diving into user management, it's essential to understand several key concepts:
| Concept | Description |
|---|---|
| User Account | A unique identity within PulseLMS with a username, password, and profile |
| User Role | Defines capabilities and permissions assigned to a user |
| Authentication | The method by which a user proves their identity |
| Profile | Collection of information about a user including contact details and preferences |
| User Context | The scope within which a user's role applies (site, category, course, etc.) |
User Lifecycle¶
┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ Created │────>│ Active │────>│ Suspended │────>│ Deleted │
└─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘
│ │
│ │
└────────────────────┘
(Reactivated)
Accessing User Management¶
To access user management features:
- Log in as an administrator
- Navigate to Site Administration
- Click on Users in the left navigation
- Select the appropriate user management option
Required Permissions¶
| Permission | Description | Default Role |
|---|---|---|
moodle/user:create |
Create new user accounts | Manager, Administrator |
moodle/user:delete |
Delete user accounts | Administrator |
moodle/user:update |
Edit user profiles | Manager, Administrator |
moodle/user:viewdetails |
View user information | Authenticated User |
moodle/user:viewhiddendetails |
View hidden user details | Teacher, Manager |
Creating Users Manually¶
When to Create Users Manually¶
Manual user creation is appropriate in the following situations:
- Creating individual administrator or manager accounts
- Adding a small number of users (fewer than 10)
- Creating test accounts for development purposes
- Adding users who require special configurations
- Creating service accounts for integrations
Step-by-Step Manual User Creation¶
Step 1: Access the Add User Page¶
- Navigate to Site Administration > Users > Accounts > Add a new user
- The user creation form will appear
Step 2: Enter Required Information¶
The following fields are mandatory:
| Field | Description | Requirements |
|---|---|---|
| Username | Unique login identifier | Lowercase letters, numbers, underscores, hyphens, periods, @ symbol only. Must be unique. |
| Authentication Method | How the user logs in | Select from available methods (Manual, LDAP, OAuth2, etc.) |
| Password | User's initial password | Must meet password policy requirements |
| First Name | User's given name | Required, displayed throughout the system |
| Surname | User's family name | Required, displayed throughout the system |
| Email Address | Primary contact email | Must be valid format, may require uniqueness |
Step 3: Configure Password Options¶
Password Configuration Options:
┌────────────────────────────────────────────────────────────────┐
│ [ ] Generate password and notify user │
│ - System creates random password │
│ - Email sent to user with login credentials │
│ │
│ [x] Create password │
│ Password: •••••••••••• │
│ [ ] Force password change on first login │
│ │
│ Password Requirements: │
│ • Minimum 8 characters │
│ • At least 1 digit │
│ • At least 1 lowercase letter │
│ • At least 1 uppercase letter │
│ • At least 1 special character │
└────────────────────────────────────────────────────────────────┘
Step 4: Fill Optional Profile Information¶
Personal Information Section:
| Field | Description | Notes |
|---|---|---|
| Email Display | Controls who can see email | Options: Hidden, Visible to participants, Visible to everyone |
| City/Town | User's city | Optional location information |
| Country | User's country | Select from dropdown list |
| Timezone | User's local timezone | Affects displayed times throughout the system |
| Description | About the user | Can include formatted text |
| User Picture | Profile photo | Uploads displayed on profile and in forums |
Name Details Section:
| Field | Description |
|---|---|
| First Name (Phonetic) | Pronunciation guide |
| Surname (Phonetic) | Pronunciation guide |
| Middle Name | Additional name |
| Alternate Name | Preferred name or nickname |
Step 5: Configure Additional Settings¶
Interests: - Add comma-separated tags representing the user's interests - These appear on the user's profile - Can be used for user discovery and matching
Optional Fields: - ID Number: External system identifier - Institution: Organization name - Department: Department or division - Phone Numbers: Contact phone and mobile - Address: Mailing address information
Step 6: Review and Create¶
- Review all entered information for accuracy
- Click Create user to complete the process
- The system will validate the information
- If successful, you'll see a confirmation message
- The user will receive an email if password generation was selected
Manual Creation Best Practices¶
Best Practice Checklist for Manual User Creation:
┌────────────────────────────────────────────────────────────────┐
│ □ Use a consistent username format (e.g., firstname.lastname) │
│ □ Verify email addresses are correct before creation │
│ □ Enable "Force password change" for security │
│ □ Fill in department and institution for reporting │
│ □ Add profile picture if available │
│ □ Document any special configurations applied │
│ □ Assign to appropriate cohorts immediately after creation │
│ □ Test login before notifying the user │
└────────────────────────────────────────────────────────────────┘
Common Username Formats¶
| Format | Example | Best For |
|---|---|---|
| firstname.lastname | john.smith | Professional environments |
| firstinitial.lastname | j.smith | Organizations with name conflicts |
| email prefix | jsmith@company | Email-based systems |
| employee ID | EMP001234 | Enterprise organizations |
| student ID | STU2024001 | Educational institutions |
Bulk User Upload¶
Overview¶
Bulk user upload allows administrators to create multiple user accounts simultaneously using a CSV (Comma-Separated Values) file. This method is essential for:
- Beginning of term/year enrollment
- Onboarding large groups of employees
- Migrating users from another system
- Synchronizing with HR databases
Accessing Bulk Upload¶
Navigate to: Site Administration > Users > Accounts > Upload users
CSV File Preparation¶
Required Columns¶
Your CSV file must include these columns:
| Column | Description | Example |
|---|---|---|
username |
Unique login name | jsmith |
firstname |
User's first name | John |
lastname |
User's last name | Smith |
email |
Email address | [email protected] |
Optional Standard Columns¶
| Column | Description | Example |
|---|---|---|
password |
Initial password | SecurePass123! |
city |
City/Town | New York |
country |
Country code (2 letters) | US |
timezone |
Timezone identifier | America/New_York |
institution |
Organization | Acme Corporation |
department |
Department | Engineering |
phone1 |
Primary phone | +1-555-123-4567 |
phone2 |
Secondary phone | +1-555-987-6543 |
address |
Street address | 123 Main Street |
idnumber |
External ID | EMP001234 |
lang |
Language preference | en |
auth |
Authentication method | manual |
maildisplay |
Email visibility | 0, 1, or 2 |
mailformat |
Email format | 1 (HTML) or 0 (Plain) |
description |
User bio | Experienced developer |
Special Processing Columns¶
| Column | Description | Values |
|---|---|---|
deleted |
Mark for deletion | 0 or 1 |
suspended |
Suspend account | 0 or 1 |
oldusername |
For username updates | Previous username |
cohort1 |
Add to cohort | Cohort ID or idnumber |
cohort2 |
Additional cohort | Cohort ID or idnumber |
course1 |
Enroll in course | Course shortname |
role1 |
Role in course1 | student, teacher, etc. |
group1 |
Group in course1 | Group name |
enrolperiod1 |
Enrollment duration | Duration in days |
Sample CSV Files¶
Basic User Upload¶
username,firstname,lastname,email,password
jsmith,John,Smith,[email protected],TempPass123!
mjohnson,Mary,Johnson,[email protected],TempPass456!
twilliams,Tom,Williams,[email protected],TempPass789!
sbrown,Sarah,Brown,[email protected],TempPass321!
dlee,David,Lee,[email protected],TempPass654!
Complete User Upload with All Details¶
username,firstname,lastname,email,password,institution,department,city,country,timezone,phone1,idnumber,cohort1,course1,role1,group1
jsmith,John,Smith,[email protected],Secure123!,Acme Corp,Engineering,Boston,US,America/New_York,555-0101,EMP001,engineering_team,INTRO101,student,Team A
mjohnson,Mary,Johnson,[email protected],Secure456!,Acme Corp,Marketing,Chicago,US,America/Chicago,555-0102,EMP002,marketing_team,INTRO101,student,Team B
twilliams,Tom,Williams,[email protected],Secure789!,Acme Corp,Engineering,Seattle,US,America/Los_Angeles,555-0103,EMP003,engineering_team,INTRO101,student,Team A
sbrown,Sarah,Brown,[email protected],Secure321!,Acme Corp,HR,Boston,US,America/New_York,555-0104,EMP004,hr_team,INTRO101,student,Team C
dlee,David,Lee,[email protected],Secure654!,Acme Corp,Finance,New York,US,America/New_York,555-0105,EMP005,finance_team,INTRO101,student,Team B
User Update File¶
username,oldusername,email,department,suspended
jsmith_new,jsmith,[email protected],Engineering,0
mjohnson,mjohnson,[email protected],Marketing,0
twilliams,twilliams,[email protected],Engineering,1
Upload Settings Configuration¶
CSV Settings¶
| Setting | Description | Recommended Value |
|---|---|---|
| CSV delimiter | Character separating fields | comma (,) |
| Encoding | Character encoding | UTF-8 |
| Preview rows | Number of rows to preview | 10 |
Upload Type Options¶
| Option | Description | Use Case |
|---|---|---|
| Add new only | Only creates new accounts | Initial population |
| Add new and update existing | Creates new and updates matches | Ongoing synchronization |
| Update existing only | Only updates existing accounts | Data refresh |
| Add new and update existing and delete not in file | Full sync | Complete synchronization |
Password Options¶
Password Handling:
┌────────────────────────────────────────────────────────────────┐
│ ○ Create password if needed and send via email │
│ - Best for user-friendly onboarding │
│ - Users receive welcome email with credentials │
│ │
│ ● Field required in file │
│ - Password column must be present │
│ - Allows pre-defined passwords │
│ │
│ ○ Field required in file, generate if missing │
│ - Uses CSV password if present │
│ - Generates random password if blank │
└────────────────────────────────────────────────────────────────┘
Force Password Change¶
| Setting | Description |
|---|---|
| Yes | Users must change password at first login |
| No | Users can keep the assigned password |
Step-by-Step Upload Process¶
Step 1: Prepare Your CSV File¶
- Create a CSV file with required columns
- Ensure UTF-8 encoding
- Verify column headers match expected names exactly
- Remove any empty rows
- Check for special characters that may cause issues
Step 2: Access Upload Interface¶
- Navigate to Site Administration > Users > Accounts > Upload users
- Click Choose a file or drag and drop your CSV
- Select the appropriate CSV delimiter
- Set the encoding to match your file
Step 3: Configure Upload Settings¶
- Select the Upload type (Add new, Update existing, etc.)
- Configure Password handling
- Set Force password change preference
- Enable/disable Email new users
Step 4: Map and Verify Columns¶
- Review the column mapping screen
- Verify each column maps to the correct field
- Check for any unmapped or unrecognized columns
- Preview sample data to verify accuracy
Step 5: Configure Default Values¶
Set default values for fields not in your CSV:
| Field | Default Value Example |
|---|---|
| Authentication | manual |
| Language | English (en) |
| Timezone | Server default |
| Country | United States (US) |
Step 6: Preview and Execute¶
- Review the preview showing what will be created/updated
- Check for any errors or warnings
- Click Upload users to execute
- Review the results report
Upload Results Analysis¶
After upload, you'll see a detailed results report:
Upload Results Summary:
┌────────────────────────────────────────────────────────────────┐
│ Users created: 245 │
│ Users updated: 12 │
│ Users deleted: 0 │
│ Users skipped: 3 │
│ Errors: 2 │
│ │
│ Cohort memberships added: 215 │
│ Course enrollments added: 245 │
│ Group memberships added: 245 │
│ │
│ Warnings: │
│ - Row 47: Email already exists for another user │
│ - Row 123: Invalid country code 'USA', should be 'US' │
│ │
│ Errors: │
│ - Row 189: Username contains invalid characters │
│ - Row 203: Required field 'email' is empty │
└────────────────────────────────────────────────────────────────┘
Common CSV Errors and Solutions¶
| Error | Cause | Solution |
|---|---|---|
| Invalid username | Special characters or spaces | Use only lowercase letters, numbers, -, _, ., @ |
| Duplicate username | Username already exists | Use unique usernames or enable update mode |
| Invalid email | Malformed email address | Verify email format ([email protected]) |
| Duplicate email | Email uniqueness required | Use unique emails or change site settings |
| Invalid country | Wrong country code | Use 2-letter ISO country codes |
| Missing required field | Column value is empty | Ensure all required fields have values |
| Encoding error | Wrong character encoding | Save CSV as UTF-8 |
Bulk Upload Best Practices¶
- Test First: Upload a small test file (5-10 users) before the full upload
- Backup: Create a database backup before large uploads
- Off-Peak Hours: Schedule large uploads during low-traffic periods
- Validate Data: Use spreadsheet validation rules before upload
- Document Process: Keep records of uploads for auditing
- Incremental Uploads: For very large datasets, split into smaller batches
User Profile Fields¶
Standard Profile Fields¶
PulseLMS includes a comprehensive set of standard profile fields:
Identity Fields¶
| Field | Description | Required | Editable by User |
|---|---|---|---|
| Username | Unique login identifier | Yes | No (Admin only) |
| First Name | Given name | Yes | Yes |
| Surname | Family name | Yes | Yes |
| Primary email | Yes | Yes | |
| ID Number | External identifier | No | No (Admin only) |
Contact Information¶
| Field | Description | Visibility Options |
|---|---|---|
| City/Town | Location city | Configurable |
| Country | Location country | Configurable |
| Phone | Primary phone number | Configurable |
| Mobile Phone | Mobile number | Configurable |
| Address | Street address | Admin only |
Personal Details¶
| Field | Description | Notes |
|---|---|---|
| Description | User biography | Supports HTML formatting |
| Picture | Profile photo | Max size configurable |
| Interests | Topic tags | Comma-separated |
| First Name (Phonetic) | Pronunciation | Optional |
| Surname (Phonetic) | Pronunciation | Optional |
| Middle Name | Additional names | Optional |
| Alternate Name | Preferred name | Optional |
Profile Field Configuration¶
Administrators can configure how profile fields behave:
Field Visibility Settings¶
Navigate to: Site Administration > Users > Accounts > User profile fields
Profile Field Visibility Matrix:
┌─────────────────┬───────────┬─────────┬──────────┬───────────┐
│ Field │ Self View │ Others │ Teachers │ Admins │
├─────────────────┼───────────┼─────────┼──────────┼───────────┤
│ Username │ ✓ │ ✓ │ ✓ │ ✓ │
│ Email │ ✓ │ Config │ ✓ │ ✓ │
│ Phone │ ✓ │ ✗ │ ✓ │ ✓ │
│ Address │ ✓ │ ✗ │ ✗ │ ✓ │
│ Description │ ✓ │ ✓ │ ✓ │ ✓ │
│ ID Number │ Config │ ✗ │ Config │ ✓ │
│ Interests │ ✓ │ ✓ │ ✓ │ ✓ │
└─────────────────┴───────────┴─────────┴──────────┴───────────┘
Email Display Options¶
| Setting | Description |
|---|---|
| 0 - Hidden | Email hidden from all users |
| 1 - Visible to Participants | Shown to users in same courses |
| 2 - Visible to Everyone | Email visible to all logged-in users |
Profile Completeness¶
Encourage users to complete their profiles by:
- Required Fields: Mark essential fields as required
- Completion Tracking: Use profile completion plugins
- Gamification: Award badges for complete profiles
- Course Requirements: Require profile completion before enrollment
Custom Profile Fields¶
Overview¶
Custom profile fields extend the standard user profile with organization-specific data. These fields can capture any additional information needed for your learning environment.
Custom Field Types¶
| Type | Description | Use Cases |
|---|---|---|
| Checkbox | Yes/No toggle | Opt-in preferences, certifications held |
| Date/Time | Date picker | Hire date, certification expiry |
| Dropdown Menu | Single selection list | Department, job level, location |
| Text Area | Multi-line text | Skills summary, learning goals |
| Text Input | Single-line text | Employee ID, manager name |
Creating Custom Profile Fields¶
Step 1: Access Custom Field Management¶
Navigate to: Site Administration > Users > Accounts > User profile fields
Step 2: Create a Profile Category¶
Before creating fields, organize them into categories:
- Click Create a new profile category
- Enter a Category name (e.g., "Employment Information")
- Set Sort order to control display position
- Click Save changes
Step 3: Create a New Field¶
- Click Create a new profile field
- Select the field type
- Configure the field settings
Field Configuration Options¶
Common Settings (All Field Types)¶
| Setting | Description | Example |
|---|---|---|
| Short name | Internal identifier | employee_id |
| Name | Display label | Employee ID |
| Description | Help text | Your unique employee identification number |
| Required | Must be filled | Yes/No |
| Locked | User cannot edit | Yes/No |
| Unique | Value must be unique | Yes/No |
| Visible to | Who can see this field | Everyone, Users with role, Nobody |
| Display on signup | Show during registration | Yes/No |
Dropdown Menu Specific Settings¶
Dropdown Configuration:
┌────────────────────────────────────────────────────────────────┐
│ Options (one per line): │
│ ┌────────────────────────────────────────────────────────────┐ │
│ │ Engineering │ │
│ │ Marketing │ │
│ │ Sales │ │
│ │ Human Resources │ │
│ │ Finance │ │
│ │ Operations │ │
│ │ Customer Support │ │
│ └────────────────────────────────────────────────────────────┘ │
│ │
│ Default value: [ Select department ] │
└────────────────────────────────────────────────────────────────┘
Text Input Specific Settings¶
| Setting | Description |
|---|---|
| Default value | Pre-filled value |
| Display size | Width of input field |
| Maximum length | Max characters allowed |
| Password | Mask input (for sensitive data) |
Date/Time Specific Settings¶
| Setting | Description |
|---|---|
| Minimum year | Earliest selectable year |
| Maximum year | Latest selectable year |
| Include time | Show time selection |
Custom Field Examples¶
Example 1: Department Dropdown¶
Short name: department
Name: Department
Type: Dropdown Menu
Options:
- Engineering
- Marketing
- Sales
- Human Resources
- Finance
- Operations
Required: Yes
Locked: Yes (Admin editable only)
Visible to: Everyone
Example 2: Hire Date¶
Short name: hire_date
Name: Date of Hire
Type: Date/Time
Minimum year: 2000
Maximum year: Current year + 1
Include time: No
Required: Yes
Locked: Yes
Visible to: User and Admins only
Example 3: Skills Text Area¶
Short name: skills
Name: Professional Skills
Type: Text Area
Description: List your key professional skills
Default rows: 5
Maximum length: 2000
Required: No
Locked: No
Visible to: Everyone
Example 4: Manager Name¶
Short name: manager_name
Name: Direct Manager
Type: Text Input
Description: Name of your direct supervisor
Display size: 50
Maximum length: 100
Required: No
Locked: No
Visible to: User and Admins only
Using Custom Fields in CSV Upload¶
Include custom fields in bulk uploads using their short names with profile_field_ prefix:
username,firstname,lastname,email,profile_field_department,profile_field_hire_date,profile_field_skills
jsmith,John,Smith,[email protected],Engineering,2023-06-15,"Python, JavaScript, SQL"
mjohnson,Mary,Johnson,[email protected],Marketing,2022-03-01,"Content Marketing, SEO, Analytics"
Custom Fields for Cohort Assignment¶
Custom profile fields can trigger automatic cohort assignment:
Automatic Cohort Assignment Rules:
┌────────────────────────────────────────────────────────────────┐
│ Rule 1: Department = Engineering → Add to "Engineers" cohort │
│ Rule 2: Hire Date < 30 days ago → Add to "New Hires" cohort │
│ Rule 3: Location = Remote → Add to "Remote Workers" cohort │
└────────────────────────────────────────────────────────────────┘
Custom Field Best Practices¶
- Plan Before Creating: Design your field structure before implementation
- Use Meaningful Names: Choose clear, descriptive short names
- Minimize Required Fields: Only require truly essential data
- Lock Administrative Data: Prevent users from editing HR-managed fields
- Document Fields: Maintain documentation of all custom fields
- Regular Audits: Periodically review and clean up unused fields
User Policies¶
Overview¶
User policies define the rules and requirements that govern user accounts in PulseLMS. These include password policies, site-wide policies, and compliance requirements.
Password Policies¶
Configure password requirements at: Site Administration > Security > Site security settings
Password Complexity Settings¶
| Setting | Description | Recommended Value |
|---|---|---|
| Password policy | Enable/disable requirements | Enabled |
| Minimum length | Minimum character count | 8-12 |
| Digits required | Number of digits | 1-2 |
| Lowercase required | Lowercase letters | 1-2 |
| Uppercase required | Uppercase letters | 1-2 |
| Special characters | Non-alphanumeric | 1 |
| Maximum consecutive | Same character limit | 3 |
Password Rotation¶
| Setting | Description | Recommended Value |
|---|---|---|
| Password expiry | Days until password expires | 90-180 days |
| Password history | Prevent reuse of recent | 5-10 passwords |
| Grace period | Days after expiry | 7 days |
Site Policies¶
Configure at: Site Administration > Users > Privacy and policies > Manage policies
Creating a Site Policy¶
Site Policy Structure:
┌────────────────────────────────────────────────────────────────┐
│ Policy Name: Terms of Service │
│ Version: 2.0 │
│ Status: Active │
│ │
│ Summary (required before full text): │
│ ┌────────────────────────────────────────────────────────────┐ │
│ │ By using PulseLMS, you agree to abide by our terms of │ │
│ │ service, including acceptable use guidelines and privacy │ │
│ │ requirements. │ │
│ └────────────────────────────────────────────────────────────┘ │
│ │
│ Full Policy Text (HTML supported): │
│ ┌────────────────────────────────────────────────────────────┐ │
│ │ [Full legal terms and conditions...] │ │
│ └────────────────────────────────────────────────────────────┘ │
│ │
│ Applies to: ○ All users ● Authenticated users ○ Guests │
│ Agreement: ● Required ○ Optional │
│ Agreement frequency: ○ Once ● On each version change │
└────────────────────────────────────────────────────────────────┘
Policy Types¶
| Policy Type | Description | Example |
|---|---|---|
| Site Policy | General terms of use | Terms of Service |
| Privacy Policy | Data handling practices | GDPR Privacy Notice |
| Third-Party Policy | External service terms | Video Conferencing Terms |
| Acceptable Use | Behavioral expectations | Code of Conduct |
Policy Versioning¶
When policies are updated:
- Create a new version of the policy
- Users will be prompted to accept the new version
- Previous acceptances are logged for compliance
- Reports show acceptance status
Account Lockout Policy¶
Configure at: Site Administration > Security > Site security settings
| Setting | Description | Recommended |
|---|---|---|
| Account lockout threshold | Failed attempts before lockout | 5 |
| Account lockout duration | Minutes locked out | 15-30 |
| Account lockout observation window | Time frame for counting attempts | 30 minutes |
Session Policies¶
| Setting | Description | Recommended |
|---|---|---|
| Session timeout | Inactivity timeout | 2-4 hours |
| Extended session | "Remember me" duration | 7-30 days |
| Concurrent sessions | Allowed simultaneous logins | 3-5 |
| Session IP lock | Restrict session to IP | Disabled (causes issues) |
Browse Users¶
User Search Interface¶
Navigate to: Site Administration > Users > Accounts > Browse list of users
Search and Filter Options¶
Basic Search¶
| Field | Description | Examples |
|---|---|---|
| Search text | Matches name, username, email | "john", "@company.com" |
| First name | Matches first name only | "John" |
| Last name | Matches surname only | "Smith" |
| Matches email address | "[email protected]" | |
| Username | Matches username | "jsmith" |
Advanced Filters¶
Advanced Filter Options:
┌────────────────────────────────────────────────────────────────┐
│ Authentication: [ All ] [dropdown] │
│ Confirmed: [ All ] [dropdown] │
│ Suspended: [ All ] [dropdown] │
│ Deleted: [ All ] [dropdown] │
│ Time restrictions: [ All ] [dropdown] │
│ │
│ System Role: [ All ] [dropdown] │
│ Cohort: [ All ] [dropdown] │
│ │
│ Last access: [ Any time ] [dropdown] │
│ Date created: [ Any time ] [dropdown] │
│ │
│ Custom fields: │
│ Department: [ All ] [dropdown] │
│ Location: [ All ] [dropdown] │
└────────────────────────────────────────────────────────────────┘
User List Display¶
The user browser displays:
| Column | Description | Sortable |
|---|---|---|
| Full Name | First + Last name | Yes |
| Email address | Yes | |
| City/Town | Location | Yes |
| Country | Country name | Yes |
| Last Access | Last login time | Yes |
| Edit | Link to edit profile | No |
Bulk User Actions¶
Select multiple users to perform bulk actions:
| Action | Description |
|---|---|
| Confirm | Confirm pending accounts |
| Send message | Email selected users |
| Add to cohort | Add users to a cohort |
| Download | Export user data |
| Delete | Remove user accounts |
| Suspend | Suspend user accounts |
| Force password change | Require password reset |
Exporting User Data¶
Export Formats¶
| Format | Description | Use Case |
|---|---|---|
| CSV | Comma-separated values | Spreadsheet analysis |
| Excel | Microsoft Excel format | Complex reporting |
| ODS | OpenDocument Spreadsheet | Open-source tools |
| JSON | JavaScript Object Notation | System integration |
Export Fields Selection¶
Available Export Fields:
┌─────────────────────────────────────────────────────────────┐
│ Standard Fields: Custom Fields: │
│ [x] Username [x] Department │
│ [x] First name [x] Hire Date │
│ [x] Last name [x] Employee ID │
│ [x] Email [ ] Skills │
│ [x] City [x] Manager │
│ [x] Country [ ] Location │
│ [ ] Phone │
│ [x] Last access │
│ [x] Date created │
│ [ ] ID number │
│ [x] Institution │
│ [x] Department │
│ │
│ Include: [ ] Suspended users [ ] Deleted users │
└─────────────────────────────────────────────────────────────┘
User Account Settings¶
Global Account Defaults¶
Configure at: Site Administration > Users > Accounts > Account defaults
Default Settings¶
| Setting | Description | Options |
|---|---|---|
| Default language | Language for new users | Site language or specific |
| Default timezone | Time zone for new users | Server timezone or specific |
| Default country | Country for new users | None or specific country |
| Default city | City for new users | None or specific city |
| Default email format | HTML or plain text | HTML (recommended) |
| Auto-subscribe to forums | Forum subscription default | Yes/No |
Email Configuration¶
| Setting | Description | Recommended |
|---|---|---|
| Email change confirmation | Require email verification | Yes |
| Allowed email domains | Restrict email domains | Organizational domains |
| Blocked email domains | Prevent specific domains | Disposable email domains |
| Email uniqueness | Require unique emails | Yes for most cases |
Username Configuration¶
| Setting | Description | Notes |
|---|---|---|
| Username format | Allowed characters | Letters, numbers, -, _, ., @ |
| Case sensitivity | Match case in login | No (case insensitive) |
| Extend username | Allow special chars | Enable for email logins |
| Prevent username change | Lock username | Recommended: Yes |
Profile Visibility Settings¶
Configure at: Site Administration > Users > Permissions > User policies
Profile Visibility Configuration:
┌────────────────────────────────────────────────────────────────┐
│ Force users to login before: │
│ [x] Viewing profiles │
│ [x] Viewing user pictures │
│ [x] Seeing online users │
│ │
│ Profile fields visible to: │
│ Email: [ Course participants ] │
│ Phone: [ Nobody ] │
│ Address: [ Nobody ] │
│ Description: [ Everyone ] │
│ │
│ User profile access: │
│ [x] Allow users to view participant profiles │
│ [ ] Allow users to search all site users │
│ [x] Allow users to view course participants │
└────────────────────────────────────────────────────────────────┘
Suspending and Deleting Users¶
Understanding the Difference¶
| Action | Effect | Reversible | Data Retained |
|---|---|---|---|
| Suspend | User cannot login, account exists | Yes | All data kept |
| Delete | Account marked as deleted | Partial | Anonymized |
| Purge | Complete removal | No | Nothing retained |
Suspending Users¶
When to Suspend¶
- Employee on leave of absence
- Student taking a semester off
- Pending investigation
- Temporary access restriction
- Failed authentication attempts
How to Suspend a User¶
Method 1: Individual Suspension
- Navigate to Site Administration > Users > Accounts > Browse list of users
- Find the user and click Edit
- Scroll to Suspended account
- Check the box to suspend
- Click Update profile
Method 2: Bulk Suspension
- Navigate to Site Administration > Users > Accounts > Browse list of users
- Select multiple users using checkboxes
- Choose Suspend from the bulk actions menu
- Confirm the action
Method 3: CSV Upload
Effects of Suspension¶
Suspended User Restrictions:
┌────────────────────────────────────────────────────────────────┐
│ ✗ Cannot log in │
│ ✗ Cannot receive system emails │
│ ✗ Not visible in participant lists │
│ ✗ Cannot be assigned to activities │
│ ✓ Data and submissions retained │
│ ✓ Grades and history preserved │
│ ✓ Course enrollments maintained │
│ ✓ Forum posts remain visible │
└────────────────────────────────────────────────────────────────┘
Reactivating Suspended Users¶
- Navigate to user's profile
- Uncheck Suspended account
- Save changes
- User can immediately log in
Deleting Users¶
When to Delete¶
- Employee termination (after grace period)
- Student graduation (per retention policy)
- GDPR/privacy deletion request
- Duplicate accounts
- Test accounts no longer needed
Deletion Process¶
Method 1: Individual Deletion
- Navigate to Site Administration > Users > Accounts > Browse list of users
- Find the user and click the Delete icon
- Confirm the deletion
- Review the deletion summary
Method 2: Bulk Deletion
- Select multiple users from the user browser
- Choose Delete from bulk actions
- Confirm deletion for all selected users
Method 3: CSV Upload
What Happens During Deletion¶
User Deletion Process:
┌────────────────────────────────────────────────────────────────┐
│ Step 1: Mark account as deleted │
│ - Login disabled │
│ - Profile hidden │
│ │
│ Step 2: Anonymize personal data │
│ - Name changed to "Deleted User #12345" │
│ - Email anonymized │
│ - Custom fields cleared │
│ │
│ Step 3: Retain learning data (based on settings) │
│ - Grades preserved │
│ - Submissions kept or deleted │
│ - Forum posts retained with anonymized author │
│ │
│ Step 4: Remove from active systems │
│ - Removed from cohorts │
│ - Removed from groups │
│ - Enrollment records updated │
└────────────────────────────────────────────────────────────────┘
Data Retention Considerations¶
| Data Type | Default Behavior | Configurable |
|---|---|---|
| Grades | Retained (anonymized) | Yes |
| Assignment submissions | Retained | Yes |
| Forum posts | Retained (anonymized) | Yes |
| Quiz attempts | Retained (anonymized) | Yes |
| Course completion | Retained | Yes |
| Login history | Deleted | Yes |
| Messages | Deleted | Yes |
| Files (personal) | Deleted | Yes |
GDPR Data Deletion Requests¶
For GDPR "Right to be Forgotten" requests:
- Navigate to Site Administration > Users > Privacy and policies > Data requests
- Click New request
- Select Deletion of personal data
- Select the user
- Submit and process the request
- Review and approve the deletion
- Document the process for compliance
User Preferences¶
Overview¶
User preferences allow individuals to customize their PulseLMS experience. Administrators can set defaults and control which preferences users can modify.
Preference Categories¶
Editing Profile¶
User Editable Profile Options:
┌────────────────────────────────────────────────────────────────┐
│ General: │
│ [ ] First name [x] Description │
│ [ ] Surname [x] User picture │
│ [x] Email* [x] Interests │
│ [ ] City/Town [x] Timezone │
│ [ ] Country │
│ │
│ * Email changes require confirmation │
│ │
│ Locked by Admin: │
│ - Username │
│ - ID Number │
│ - Institution │
│ - Department │
└────────────────────────────────────────────────────────────────┘
Notification Preferences¶
Navigate to: User Menu > Preferences > Notification preferences
| Notification Type | Options |
|---|---|
| Forum posts | Web, Email, Mobile |
| Assignment grading | Web, Email, Mobile |
| Course announcements | Web, Email, Mobile |
| Quiz submissions | Web, Email, Mobile |
| Badge awards | Web, Email, Mobile |
| Course enrollment | Web, Email, Mobile |
| Calendar events | Web, Email, Mobile |
| Messages | Web, Email, Mobile |
Display Preferences¶
| Preference | Description | Options |
|---|---|---|
| Language | Interface language | Available languages |
| Timezone | Time display | All timezones |
| Calendar type | Calendar system | Gregorian, Islamic, etc. |
| Description format | Default editor | Plain text, HTML |
| Email format | Email display | Plain text, HTML |
Editor Preferences¶
| Preference | Description | Options |
|---|---|---|
| Text editor | Default editor | Atto, TinyMCE, Plain text |
| Editor autosave | Auto-save interval | 60-600 seconds |
| Editor spellcheck | Browser spellcheck | On/Off |
Course Display Preferences¶
| Preference | Description | Options |
|---|---|---|
| Activity chooser | Recommended activities | Show/Hide |
| Course overview | Dashboard display | Card, List, Summary |
| Starred courses | Show in filter | Yes/No |
| Hidden courses | Show in filter | Yes/No |
Administrator Preference Controls¶
Force User Preferences¶
Administrators can override user preferences:
Forced Preference Settings:
┌────────────────────────────────────────────────────────────────┐
│ Language: │
│ ○ User can change ● Force to site default │
│ │
│ Timezone: │
│ ● User can change ○ Force to server timezone │
│ │
│ Email format: │
│ ● User can change ○ Force HTML ○ Force plain text │
│ │
│ Text editor: │
│ ○ User can change ● Force Atto editor │
└────────────────────────────────────────────────────────────────┘
Bulk Preference Management¶
Update preferences for multiple users via scheduled task or CLI:
# Example: Reset all user timezones to UTC
php admin/cli/set_user_preference.php --name=timezone --value=UTC --all
# Example: Set email format for specific cohort
php admin/cli/set_user_preference.php --name=mailformat --value=1 --cohort=employees
Login as Another User¶
Overview¶
The "Login as" feature allows administrators to impersonate other users for troubleshooting and support purposes. This powerful feature requires careful use to maintain trust and security.
Enabling Login As¶
Navigate to: Site Administration > Users > Permissions > User policies
Login As Configuration:
┌────────────────────────────────────────────────────────────────┐
│ Allow login as: │
│ [x] Administrators can login as other users │
│ [ ] Managers can login as users they manage │
│ │
│ Restrictions: │
│ [x] Cannot login as other administrators │
│ [x] Log all login-as actions │
│ [x] Show banner when logged in as another user │
│ │
│ Excluded roles (cannot be impersonated): │
│ [x] Administrator │
│ [x] Manager │
└────────────────────────────────────────────────────────────────┘
Using Login As¶
Step 1: Navigate to User Profile¶
- Find the user via Browse list of users or course participants
- Click on their name to view their profile
Step 2: Access Login As¶
- On the user's profile page, find the Administration block
- Click Log in as [username]
- Confirm the action
Step 3: Verify Impersonation¶
When logged in as another user:
Impersonation Banner:
┌────────────────────────────────────────────────────────────────┐
│ ⚠ You are logged in as John Smith (jsmith) │
│ [Return to your account] │
└────────────────────────────────────────────────────────────────┘
Step 4: Perform Troubleshooting¶
While logged in as the user, you can:
- View their dashboard and courses
- Check their permissions
- Test activity access
- Review their grades view
- Check notification settings
Step 5: Return to Your Account¶
- Click Return to your account in the banner
- Or navigate to your profile and click Return to original user
- Your session returns to your administrator account
What You Can and Cannot Do¶
| Action | Allowed | Logged |
|---|---|---|
| View courses | Yes | Yes |
| View grades | Yes | Yes |
| Submit assignments | No | N/A |
| Take quizzes | No | N/A |
| Post to forums | No | N/A |
| Change settings | Limited | Yes |
| Access admin areas | No | N/A |
| View messages | Restricted | Yes |
Audit Logging¶
All "Login as" actions are logged:
| Log Entry | Details Captured |
|---|---|
| Session start | Admin user, target user, timestamp, IP |
| Page views | All pages accessed during impersonation |
| Session end | Duration, actions taken |
| Attempted changes | Any modification attempts |
Viewing Login As Logs¶
Navigate to: Site Administration > Reports > Logs
Filter by: - Event name: "User logged in as another user" - Event name: "User returned to own account"
Best Practices for Login As¶
Login As Best Practices:
┌────────────────────────────────────────────────────────────────┐
│ 1. ALWAYS inform the user before impersonating them │
│ 2. Document the reason for each impersonation │
│ 3. Minimize time spent in impersonated sessions │
│ 4. Never make changes while impersonating │
│ 5. Review audit logs regularly │
│ 6. Restrict access to only necessary administrators │
│ 7. Use for troubleshooting only, never for surveillance │
│ 8. Implement additional approval for sensitive impersonation │
└────────────────────────────────────────────────────────────────┘
Privacy Considerations¶
Organizations should establish policies for "Login as" usage:
- Require documentation of impersonation reasons
- Notify users when their account was accessed
- Regular audits of impersonation logs
- Annual review of who has this capability
User Authentication Methods¶
Available Authentication Methods¶
| Method | Description | Use Case |
|---|---|---|
| Manual | Local username/password | Default, standalone |
| LDAP | Active Directory / LDAP | Enterprise integration |
| OAuth 2.0 | Social/enterprise login | Google, Microsoft, etc. |
| SAML 2.0 | Single sign-on | Enterprise SSO |
| Email-based | Self-registration | Open registration |
| LTI | Learning Tools Interoperability | LMS integration |
| MFA | Multi-factor authentication | High security |
Configuring Authentication¶
Navigate to: Site Administration > Plugins > Authentication > Manage authentication
Authentication Plugin Priority¶
Authentication Order:
┌────────────────────────────────────────────────────────────────┐
│ 1. SAML 2.0 (Primary SSO) │
│ 2. OAuth 2.0 (Social Login) │
│ 3. LDAP (Active Directory) │
│ 4. Manual (Local accounts) │
│ │
│ [Users are authenticated in this order] │
└────────────────────────────────────────────────────────────────┘
Multi-Factor Authentication (MFA)¶
Configure at: Site Administration > Plugins > Admin tools > Multi-factor authentication
| Factor Type | Description |
|---|---|
| TOTP | Time-based one-time password (Authenticator app) |
| SMS | Text message codes |
| Email verification codes | |
| Security Keys | Hardware tokens (YubiKey, etc.) |
| Recovery codes | Backup access codes |
User Data Privacy¶
Privacy Compliance Features¶
PulseLMS includes features for GDPR and other privacy regulations:
Data Registry¶
Navigate to: Site Administration > Users > Privacy and policies > Data registry
View all personal data collected:
| Data Category | Description | Retention |
|---|---|---|
| Identity | Name, email, username | Until deletion |
| Contact | Phone, address | Until deletion |
| Learning | Grades, submissions | Per policy |
| Activity | Logins, page views | Time-limited |
| Preferences | Settings, choices | Until deletion |
Data Requests¶
Users can submit requests for:
- Data Export: Download all personal data
- Data Deletion: Remove personal data ("right to be forgotten")
Processing Requests¶
Navigate to: Site Administration > Users > Privacy and policies > Data requests
Data Request Workflow:
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ Submitted │────>│ Pending │────>│ Approved │
└─────────────┘ └─────────────┘ └─────────────┘
│ │
v v
┌─────────────┐ ┌─────────────┐
│ Rejected │ │ Completed │
└─────────────┘ └─────────────┘
Data Retention Policies¶
Configure at: Site Administration > Users > Privacy and policies > Retention periods
| Context | Default Retention | Configurable |
|---|---|---|
| User accounts | Indefinite | Yes |
| Course enrollments | Indefinite | Yes |
| Assignment submissions | Indefinite | Yes |
| Quiz attempts | Indefinite | Yes |
| Logs | 1 year | Yes |
| Messages | Indefinite | Yes |
Best Practices¶
User Management Best Practices¶
Account Creation¶
- Standardize usernames: Use consistent format (e.g., firstname.lastname)
- Validate email addresses: Require confirmation for all emails
- Use strong passwords: Enforce complexity requirements
- Enable MFA: Require for privileged accounts
- Set appropriate defaults: Configure sensible default settings
Ongoing Management¶
- Regular audits: Review user accounts quarterly
- Inactive user cleanup: Suspend accounts inactive for 6+ months
- Role review: Verify users have appropriate permissions
- Profile updates: Encourage users to maintain current information
- Documentation: Maintain records of all administrative actions
Security¶
- Principle of least privilege: Grant minimum necessary permissions
- Separation of duties: Distribute administrative responsibilities
- Audit logging: Enable and review security logs
- Access reviews: Regularly review who has administrative access
- Incident response: Have procedures for compromised accounts
Common Mistakes to Avoid¶
| Mistake | Impact | Prevention |
|---|---|---|
| Shared accounts | Security/audit issues | Create individual accounts |
| Generic passwords | Security vulnerability | Enforce password policies |
| Orphaned accounts | Security risk | Regular cleanup |
| Excessive permissions | Data breach risk | Role audits |
| Missing backups | Data loss | Regular backup schedule |
| No documentation | Knowledge loss | Document all procedures |
Troubleshooting¶
Common User Issues¶
Login Problems¶
| Issue | Possible Causes | Solutions |
|---|---|---|
| Can't login | Wrong password, suspended, deleted | Reset password, check status |
| Password not working | Caps lock, keyboard layout | Try password reset |
| Account locked | Too many failed attempts | Wait for lockout to expire or admin unlock |
| "Account not confirmed" | Email not verified | Resend confirmation email |
| SSO failure | Identity provider issue | Check SSO configuration |
Profile Issues¶
| Issue | Possible Causes | Solutions |
|---|---|---|
| Can't update profile | Field locked | Admin unlock field |
| Email change fails | Confirmation not received | Check spam, resend |
| Picture not saving | File too large, wrong format | Resize image, check format |
| Custom fields missing | Not assigned to user | Admin assign field |
Access Issues¶
| Issue | Possible Causes | Solutions |
|---|---|---|
| Can't see course | Not enrolled, hidden | Check enrollment |
| Missing permissions | Wrong role | Review role assignments |
| Feature unavailable | Capability not granted | Check role capabilities |
Administrative Troubleshooting¶
Bulk Upload Failures¶
Troubleshooting Bulk Upload:
┌────────────────────────────────────────────────────────────────┐
│ 1. Check CSV encoding (must be UTF-8) │
│ 2. Verify column headers match exactly │
│ 3. Look for hidden characters in data │
│ 4. Check for duplicate usernames/emails │
│ 5. Verify required fields are present │
│ 6. Review server error logs │
│ 7. Try smaller batch to isolate issues │
└────────────────────────────────────────────────────────────────┘
Authentication Debugging¶
- Enable debugging: Site Administration > Development > Debugging
- Check authentication logs in server error log
- Verify external system connectivity (LDAP, OAuth)
- Test with a known-working account
- Check time synchronization for TOTP issues
Performance Issues¶
| Symptom | Possible Cause | Solution |
|---|---|---|
| Slow user search | Large user base | Enable search indexing |
| Slow bulk operations | Server resources | Schedule off-peak |
| Slow profile loads | Many custom fields | Optimize field queries |
Getting Help¶
For issues not covered in this guide:
- Check the PulseLMS knowledge base
- Review system documentation
- Contact your system administrator
- Submit a support ticket
Appendix: Quick Reference Tables¶
User Status Reference¶
| Status | Can Login | Visible | Data Retained | Reversible |
|---|---|---|---|---|
| Active | Yes | Yes | Yes | N/A |
| Suspended | No | Limited | Yes | Yes |
| Deleted | No | No | Anonymized | Partial |
| Purged | No | No | No | No |
Role Capabilities Quick Reference¶
| Capability | Student | Teacher | Manager | Admin |
|---|---|---|---|---|
| View own profile | Yes | Yes | Yes | Yes |
| Edit own profile | Yes | Yes | Yes | Yes |
| View others' profiles | Course | Course | All | All |
| Edit others' profiles | No | No | Limited | Yes |
| Create users | No | No | Yes | Yes |
| Delete users | No | No | No | Yes |
| Suspend users | No | No | Yes | Yes |
| Login as other | No | No | Limited | Yes |
CSV Column Reference¶
| Column | Required | Type | Example |
|---|---|---|---|
| username | Yes | String | jsmith |
| firstname | Yes | String | John |
| lastname | Yes | String | Smith |
| Yes | [email protected] | ||
| password | Conditional | String | SecurePass123! |
| auth | No | String | manual |
| suspended | No | Boolean | 0 or 1 |
| deleted | No | Boolean | 0 or 1 |
| cohort1 | No | String | Cohort ID |
| course1 | No | String | Course shortname |
| role1 | No | String | student |
| group1 | No | String | Group name |
| profile_field_* | No | Varies | Custom field value |
Keyboard Shortcuts¶
| Shortcut | Action |
|---|---|
/ |
Open search |
g then u |
Go to Users |
g then p |
Go to Profile |
n |
Next user (in list) |
p |
Previous user (in list) |
e |
Edit current user |
Document History¶
| Version | Date | Author | Changes |
|---|---|---|---|
| 1.0 | 2024-01-15 | Admin Team | Initial document |
| 1.5 | 2024-06-01 | Admin Team | Added MFA section |
| 2.0 | 2026-01-03 | Admin Team | Major update, added privacy features |
This document is part of the PulseLMS Administrator Documentation Series.
For the latest version, visit: Site Administration > Documentation
Copyright 2024-2026 PulseLMS. All rights reserved.