Plugins & Extensions Guide¶
Extending PulseLMS Functionality¶
Plugins extend PulseLMS with additional features, activities, themes, and integrations. This guide covers managing, installing, and configuring plugins.
Table of Contents¶
- Plugin Overview
- Plugin Types
- Managing Installed Plugins
- Installing New Plugins
- Updating Plugins
- Uninstalling Plugins
- Plugin Settings
- Core Plugins Reference
- Recommended Plugins
- Troubleshooting
Plugin Overview¶
What Are Plugins?¶
Plugins are modular components that add functionality to PulseLMS without modifying the core system. They follow standardized interfaces and can be: - Installed without coding - Updated independently - Enabled/disabled as needed - Removed cleanly
Plugin Sources¶
| Source | Description |
|---|---|
| Core | Included with PulseLMS |
| Additional | Installed separately |
| Custom | Developed specifically for your site |
Plugin Types¶
PulseLMS supports many plugin types:
Activity Modules (mod)¶
Interactive learning activities: - Assignment, Quiz, Forum - H5P, SCORM, Lesson - BigBlueButton, Workshop - Wiki, Database, Glossary
Resource Types (mod)¶
Static content delivery: - File, Folder, Page - URL, Book, Label
Blocks (block)¶
Dashboard and course sidebar blocks: - Calendar, Timeline - Online Users, Recent Activity - Navigation, Course Overview
Authentication (auth)¶
Login and user authentication: - Manual accounts - Email-based self-registration - OAuth2, LDAP, SAML - Custom authentication methods
Enrollment (enrol)¶
Course enrollment methods: - Manual, Self-enrollment - Cohort sync, Guest access - PayPal, LTI - Course meta link
Themes (theme)¶
Visual appearance: - Boost (default) - Classic - Custom themes
Question Types (qtype)¶
Quiz question formats: - Multiple choice, True/False - Essay, Short answer - Matching, Drag and drop - Calculated, Numerical
Filters (filter)¶
Content processing: - Auto-linking glossary - Multimedia embedding - MathJax equations - Activity names linking
Repositories (repository)¶
File sources: - Local files, Recent files - Private files - YouTube, Wikimedia - Google Drive, OneDrive
Reports (report)¶
Data analysis and reporting: - Course logs, Activity reports - Completion, Participation - Custom reports
Local Plugins (local)¶
Site-specific customizations: - Custom functionality - Integration plugins - Workflow automations
Admin Tools (tool)¶
Administrative utilities: - Database health check - Spam cleaner - Log management - mobile-responsive web version support
Course Formats (format)¶
Course layout options: - Topics, Weekly - Single activity - Grid, Tiles, Collapsed topics
Gradebook (gradereport, gradeexport, gradeimport)¶
Grade management: - Grader report, User report - CSV/XML import/export - Grade history
Message Outputs (message)¶
Notification delivery: - Email notifications - Mobile push notifications - Popup alerts
Calendar (calendartype)¶
Calendar systems: - Gregorian (default) - Alternative calendars
Managing Installed Plugins¶
Viewing Installed Plugins¶
- Go to Site Administration
- Navigate to Plugins > Plugins overview
- View all installed plugins by type
Plugin Information¶
For each plugin, you can see: - Name and version - Status (enabled/disabled) - Available updates - Settings link - Uninstall option
Checking Plugin Health¶
- Go to Site Administration > Plugins > Plugins overview
- Click Check for available updates
- Review any update notifications
Installing New Plugins¶
Method 1: Web Interface¶
- Download the plugin ZIP file
- Go to Site Administration > Plugins > Install plugins
- Upload the ZIP file
- Click Install plugin from ZIP file
- Confirm the installation
- Complete any required settings
Method 2: Manual Installation¶
- Extract the plugin to the appropriate directory:
- Visit the site as administrator
- PulseLMS detects the new plugin
- Follow the upgrade prompts
- Configure settings as needed
Plugin Directory Structure¶
Common plugin locations:
/mod/ - Activity modules
/blocks/ - Block plugins
/auth/ - Authentication plugins
/enrol/ - Enrollment plugins
/theme/ - Themes
/local/ - Local plugins
/admin/tool/ - Admin tools
/course/format/ - Course formats
/question/type/ - Question types
/filter/ - Filters
/repository/ - Repositories
Verifying Installation¶
After installation: 1. Check Plugins overview for the new plugin 2. Verify the version number 3. Configure any required settings 4. Test functionality
Updating Plugins¶
Checking for Updates¶
- Go to Site Administration > Plugins > Plugins overview
- Click Check for available updates
- Review available updates
Updating via Web Interface¶
- Download the new version ZIP
- Go to Install plugins
- Upload and install
- The old version is replaced
Updating Manually¶
- Backup the current plugin folder
- Replace with new version files
- Visit site administration
- Complete the upgrade process
Update Best Practices¶
- Backup first - Before any update
- Test in staging - If available
- Read changelogs - Know what's changing
- Update during low usage - Minimize disruption
- Verify after update - Test functionality
Uninstalling Plugins¶
Before Uninstalling¶
Consider: - Is the plugin in use? - Will data be lost? - Are other plugins dependent on it? - Have you backed up?
Uninstall Process¶
- Go to Site Administration > Plugins > Plugins overview
- Find the plugin
- Click Uninstall
- Review the warning messages
- Confirm uninstallation
- Delete files if prompted
Data Handling¶
During uninstall: - Plugin tables are dropped - Configuration is removed - User data may be preserved or deleted - Review prompts carefully
Plugin Settings¶
Accessing Plugin Settings¶
- Go to Site Administration > Plugins
- Navigate to the plugin category
- Select the specific plugin
- Configure settings
Common Settings by Type¶
Activity Modules¶
- Default settings for new instances
- Grading options
- Submission settings
- Display preferences
Authentication Plugins¶
- Enable/disable
- Order priority
- Connection settings
- Field mapping
Enrollment Plugins¶
- Default status
- Duration settings
- Notification options
Themes¶
- Colors and branding
- Layout options
- Custom CSS
- Logo and images
Core Plugins Reference¶
Essential Activity Modules¶
| Plugin | Purpose | Key Settings |
|---|---|---|
| mod_assign | Assignments | Submission types, feedback, grading |
| mod_quiz | Quizzes | Timing, attempts, review options |
| mod_forum | Discussions | Forum types, subscriptions, grading |
| mod_h5pactivity | Interactive | Content types, grading |
| mod_bigbluebuttonbn | Video conferencing | Room settings, recording |
| mod_lesson | Branching content | Flow control, grading |
| mod_scorm | SCORM packages | Attempts, grading |
Essential Enrollment Methods¶
| Plugin | Purpose | When to Use |
|---|---|---|
| enrol_manual | Admin enrollment | Always enabled |
| enrol_self | Self-enrollment | Open enrollment |
| enrol_cohort | Cohort sync | Bulk enrollment |
| enrol_guest | Guest access | Preview content |
| enrol_meta | Course linking | Inherited enrollment |
Essential Authentication¶
| Plugin | Purpose | Requirements |
|---|---|---|
| auth_manual | Admin-created accounts | Always enabled |
| auth_email | Self-registration | Email server |
| auth_oauth2 | Social login | OAuth provider |
| auth_ldap | Enterprise directory | LDAP server |
Essential Blocks¶
| Plugin | Purpose | Location |
|---|---|---|
| block_timeline | Upcoming activities | Dashboard |
| block_calendar_month | Calendar | Dashboard/Course |
| block_myoverview | Course list | Dashboard |
| block_recentlyaccessedcourses | Quick access | Dashboard |
| block_navigation | Site navigation | All pages |
| block_settings | Context settings | All pages |
Recommended Plugins¶
For Enhanced Learning¶
| Plugin | Description |
|---|---|
| Custom Certificate | Generate PDF certificates |
| Attendance | Track student attendance |
| Checklist | Visual progress checklists |
| Game | Gamification activities |
| Level Up XP | Experience points and levels |
For Better Administration¶
| Plugin | Description |
|---|---|
| Ad-hoc database queries | Custom SQL reports |
| Cohort role sync | Role assignment via cohorts |
| Mass actions | Bulk course editing |
| User bulk download | Export user data |
For Improved Assessment¶
| Plugin | Description |
|---|---|
| Quizaccess: Safe Exam Browser | Secure quiz delivery |
| Code runner | Programming exercises |
| Ordering | Order sequence questions |
| WordSelect | Word selection questions |
For Better Content¶
| Plugin | Description |
|---|---|
| Interactive Video | Video with embedded interactions |
| Board | Kanban-style boards |
| StudentQuiz | Student-created questions |
| PDF Annotation | Annotate PDF submissions |
Installed Custom Plugins¶
PulseLMS Custom Plugins¶
Your installation includes these custom plugins:
| Plugin | Location | Purpose |
|---|---|---|
| local_cohortauto | /local/cohortauto | Automatic cohort assignment |
| local_profilecohort | /local/profilecohort | Profile-based cohort membership |
| mod_customcert | /mod/customcert | Custom PDF certificates |
| mod_certificatebeautiful | /mod/certificatebeautiful | Enhanced certificates |
| mod_interactivevideo | /mod/interactivevideo | Interactive video content |
Custom Theme¶
| Theme | Description |
|---|---|
| fivemlms | Custom PulseLMS theme with organizational branding |
Troubleshooting¶
Plugin Won't Install¶
Symptoms: Error during installation Solutions: 1. Check directory permissions 2. Verify PHP version compatibility 3. Ensure PulseLMS version compatibility 4. Check for missing dependencies 5. Review error logs
Plugin Not Working¶
Symptoms: Feature not functioning Solutions: 1. Verify plugin is enabled 2. Check plugin settings 3. Clear all caches 4. Review capability assignments 5. Check for JavaScript errors
Performance Issues¶
Symptoms: Site slowdown after install Solutions: 1. Disable plugin to confirm cause 2. Check plugin logs 3. Review cron jobs 4. Optimize plugin settings 5. Contact plugin developer
Compatibility Issues¶
Symptoms: Conflicts with other plugins Solutions: 1. Check for known conflicts 2. Test disabling other plugins 3. Review version requirements 4. Contact plugin developers 5. Check community forums
Update Failed¶
Symptoms: Error during update Solutions: 1. Restore from backup 2. Try manual update 3. Check file permissions 4. Review upgrade.php errors 5. Contact support
Plugin Development Resources¶
For custom plugin development:
Key Files¶
| File | Purpose |
|---|---|
version.php |
Version and dependencies |
lib.php |
Main functions |
settings.php |
Admin settings |
db/install.xml |
Database schema |
db/upgrade.php |
Upgrade steps |
lang/en/*.php |
Language strings |
classes/ |
Autoloaded classes |
Development Standards¶
- Follow coding standards
- Include unit tests
- Document capabilities
- Provide language strings
- Include privacy API compliance
Security Considerations¶
Plugin Security¶
- Source verification - Only install from trusted sources
- Code review - Inspect custom plugins
- Updates - Keep plugins updated
- Permissions - Review capability requirements
- Data handling - Understand data storage
Vulnerability Response¶
If you discover a security issue: 1. Disable the plugin immediately 2. Document the issue 3. Report to the plugin developer 4. Check for patches 5. Consider alternatives
Previous: Reports & Analytics | Next: Troubleshooting