Skip to content

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

  1. Plugin Overview
  2. Plugin Types
  3. Managing Installed Plugins
  4. Installing New Plugins
  5. Updating Plugins
  6. Uninstalling Plugins
  7. Plugin Settings
  8. Core Plugins Reference
  9. Recommended Plugins
  10. 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

  1. Go to Site Administration
  2. Navigate to Plugins > Plugins overview
  3. 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

  1. Go to Site Administration > Plugins > Plugins overview
  2. Click Check for available updates
  3. Review any update notifications

Installing New Plugins

Method 1: Web Interface

  1. Download the plugin ZIP file
  2. Go to Site Administration > Plugins > Install plugins
  3. Upload the ZIP file
  4. Click Install plugin from ZIP file
  5. Confirm the installation
  6. Complete any required settings

Method 2: Manual Installation

  1. Extract the plugin to the appropriate directory:
    /var/www/html/pulselms/[plugintype]/[pluginname]/
    
  2. Visit the site as administrator
  3. PulseLMS detects the new plugin
  4. Follow the upgrade prompts
  5. 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

  1. Go to Site Administration > Plugins > Plugins overview
  2. Click Check for available updates
  3. Review available updates

Updating via Web Interface

  1. Download the new version ZIP
  2. Go to Install plugins
  3. Upload and install
  4. The old version is replaced

Updating Manually

  1. Backup the current plugin folder
  2. Replace with new version files
  3. Visit site administration
  4. Complete the upgrade process

Update Best Practices

  1. Backup first - Before any update
  2. Test in staging - If available
  3. Read changelogs - Know what's changing
  4. Update during low usage - Minimize disruption
  5. 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

  1. Go to Site Administration > Plugins > Plugins overview
  2. Find the plugin
  3. Click Uninstall
  4. Review the warning messages
  5. Confirm uninstallation
  6. 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

  1. Go to Site Administration > Plugins
  2. Navigate to the plugin category
  3. Select the specific plugin
  4. 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

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

  1. Source verification - Only install from trusted sources
  2. Code review - Inspect custom plugins
  3. Updates - Keep plugins updated
  4. Permissions - Review capability requirements
  5. 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