Moodle Plugin Development · Case Study

Training Reminder Automation for Moodle

A custom Moodle local plugin designed to automate mandatory training follow-ups through configurable rules, recurring notifications, course completion checks and manager escalation.

Project Overview

Making training follow-ups systematic

Mandatory learning programmes require administrators to follow up with users who remain enrolled but have not completed their assigned courses. This plugin provides configurable automation within Moodle for that workflow.

◎

The Challenge

Manual follow-ups can involve repeatedly identifying pending learners, preparing reminders and tracking communication across multiple courses.

↗

The Solution

A rule-based Moodle plugin that identifies eligible enrolments, checks course completion, groups course details into user digests and dispatches notifications through Moodle's messaging system.

Core Capabilities

Automation with administrative control

The plugin combines reminder configuration, scheduled processing, notification delivery and operational reporting.

⚙

Configurable Reminder Rules

Create rules for selected courses or course categories. Set the number of days after enrolment before a reminder is triggered, and configure the subject and HTML message.

⟳

Recurring Follow-ups

Enable recurring reminders and define the number of days between follow-ups. The reminder engine checks previous delivery records to control repeat notifications.

✓

Completion-aware Processing

The processing query checks Moodle course completion records and excludes users who have completed the relevant course.

✉

Digest Notifications

Pending courses for the same user are grouped into one digest notification, including course names, enrolment dates, pending status and course links.

↗

Manager Escalation

The plugin can read a configured Moodle user profile field containing the line manager's email. It supports Moodle-account notification and an external email fallback.

▤

Notification Audit Logs

Reminder deliveries are logged against the rule, user and course. Administrators can search delivery records and export results to CSV or Excel.

▥

Administrative Dashboard

A Moodle-native dashboard presents key metrics, reminder activity charts and rule-level progress indicators.

✧

Branded Message Templates

Configure a logo URL and corporate brand colour. Personalize notification content using placeholders such as {firstname}, {lastname}, {coursetable} and {reminderdays}.

Technical Architecture

Explore how scheduled processing, Moodle data, notification delivery and manager escalation work together.

Technical architecture of the Moodle Training Reminder Plugin

Select the diagram to open it at full size.

Technical Implementation

Built using Moodle-native components

The plugin uses Moodle's local plugin structure, scheduled task framework, database API, forms and messaging interfaces.

local/trainingreminder/
├── classes/
│ ├── form/rule_form.php
│ ├── privacy/provider.php
│ └── task/send_reminders.php
├── db/
│ ├── access.php
│ ├── install.xml
│ ├── messages.php
│ ├── tasks.php
│ └── upgrade.php
├── dashboard.php
├── edit.php
├── logs.php
├── manage.php
├── settings.php
└── version.php
PHP Moodle Local Plugin API Moodle Scheduled Tasks Moodle Message API Moodle Forms API SQL / MariaDB HTML Email Moodle Native Charts
Administration

Designed for configurable operations

Administrators can manage reminder rules, duplicate existing rules, review delivery history, configure the manager profile field and preview branded email templates.

Open-source project

The plugin source is available on GitHub under the GNU General Public License v3 or later. Explore the repository for the implementation and installation instructions.

Plugin Interface

See the Training Reminder Plugin in action

Screenshots from the Moodle administration interface, showing the reporting dashboard, reminder rule management and notification delivery history.

Have a Moodle Project?

Let's discuss your LMS requirements.

Available for Moodle development, custom plugins, LMS integrations, automation and technical consulting.