Moodle Plugins directory: Solin Early Warning | Moodle.org
Solin Early Warning
Solin Early Warning
Version: 1.0.3 — 2026-06-08
Solin Early Warning adds a block to the course page listing the students who may be falling behind, ranked by severity. Every flag states its reason in plain language ("no login for 9 days", "missed Assignment 3, due 28 April"), so the teacher can judge whether to act. The signals are simple, configurable rules over data Moodle already has: activity, deadlines, grades, completion, and (optionally) forum participation. There is no machine-learning backend to set up, no demographic data, and no automatic messages to students.
No AI, no machine-learning backend, no email blasts. Signals you can read, thresholds you can tune.
What it does
The block sits in the course-view sidebar, visible only to users with the view capability (by default editing teachers, non-editing teachers, and managers; students never see it). Each flagged student renders as a collapsible row with their severity, the per-signal reasons, the worst-percentile relative to peers, and quick action links.
Signals
Five heuristics run on every render (cached for 5 minutes):
- Inactivity — student hasn't accessed the course in N days (configurable, default 7).
- Assessment miss — student failed to attempt one or more assignments / quizzes whose due date has passed within the last N days (default 14).
- Negative grade trend — student's course total has dropped relative to their own recent average, backed by a weekly grade snapshot.
- Stalled completion — student stopped progressing through the course's completion-tracked activities.
- Forum silence (opt-in, off by default) — student has posted nothing in N days while peers in the cohort have.
Each signal compares the student to peers in the same course (configurable to per-group), so thresholds adapt to the actual cohort rather than fixed absolutes.
Severity, calibration, cohort gating
- Yellow / Red severity tiering based on signal count and how far the student sits below peers.
- Calibration window during the first weeks of a course — flags appear with a Tentative badge until enough data has accumulated for a confident signal.
- Cohort floors — the block stays silent on courses with fewer than 10 active students (hard floor) and shows a "small cohort" notice at fewer than 20 (soft floor) to avoid noise on tiny groups.
Actions per flagged student
- Send message — link to Moodle's standard messaging.
- View student outline — link to the per-user course profile.
- Dismiss for one week — quiet a flag you've already addressed; undoable; auto-expires.
- Pause — temporarily silence the block on a course (e.g. during a holiday); resumes after the configured window.
Sensitivity preset
Per-block setting Show: More / Default / Fewer — a one-click control to adjust how aggressively flags appear. Useful for teachers running a large course who want to focus on the worst cases, or a small course where they want to catch borderline disengagement early.
What it does NOT do
- No machine learning. No
core_analyticsdependency. No external API calls. - No email or push notifications. The block surfaces information; it does not act on the student's behalf.
- No third-party SaaS. No data leaves the Moodle instance.
Requirements
- Moodle 4.5 LTS, 5.1, or 5.2 (separate branches per Moodle version).
- PHP 8.1+ (Moodle 4.5), 8.2+ (5.1), 8.3+ (5.2).
- PostgreSQL or MySQL 8 / MariaDB.
- Course completion tracking enabled site- and course-level for the stalled-completion signal to do anything; the block degrades gracefully if it isn't.
- Moodle cron running — the block schedules
prune_dismissals(daily) andsnapshot_grades(weekly).
Privacy
The block stores teacher dismissals (which student, by which teacher, until when) and weekly grade snapshots per active student. Both are covered by the plugin's Privacy API provider with full export, delete-as-subject, and delete-as-actor support. No personal data leaves the Moodle instance.
Documentation and source
- Full README, screenshots, and configuration walkthrough: https://github.com/solin-repo/moodle-block_atrisk
- Walkthrough article: https://solin.co/guide-identify-students-at-risk-moodle/
- Issues and bug reports: https://github.com/solin-repo/moodle-block_atrisk/issues
Requirements: Moodle 4.5 LTS, 5.1, or 5.2
But only Moodle 5.2 version is available for download.
Ricardo
Thanks for pointing that out. It's fixed now. The 4.5, 5.1 and 5.2 packages are all up.
Onno