LMS Bridge & Communication
School doesn't rebuild an LMS or a messaging tool — it reuses the rest of ERPat. The
LMS Bridge (school/lms_bridge) links a section to a course in the
Learn module and pushes the roster over; the Communication page
(school/communication) is a launcher into ERPat's core Announcements,
Messages, and Events. Both are fail-safe: when a module they depend on is
switched off, they degrade to a notice instead of breaking anything.
Part 1 — LMS Bridge to Learn
The bridge connects the school structure you already maintain to the Learn module
(module slug courses). You link a section to a Learn course, then
sync the roster so the section's learners become course enrollments. The page needs the
school_lms permission, and its sidebar entry is additionally gated by whether
Learn (module_courses) is enabled.
Link a section and sync its roster
-
Open the LMS Bridge
The page lists the current school year's sections, showing which are already linked to a course. If Learn is off, you'll see the unavailable notice instead.
-
Link a section to a course
For a section, open the link form and choose the Learn course it should map to. Save to record the section-to-course link. A linked section is flagged in the list.
-
Sync the roster
Run sync on a linked section. School pushes that section's enrolled learners (current school year) into the course as enrollments and reports back how many were enrolled and how many were skipped.
-
Unlink if needed
You can remove the section-to-course link at any time; it doesn't touch the section itself.
| Sync result | Meaning |
|---|---|
| Enrolled | Learners with a student account who were added to the Learn course. |
| Skipped | Learners without a linked student account — not added. Provision their portal login, then re-sync. |
Part 2 — Communication launcher
The Communication page collects school communication in one place, but it is a
launcher, not a new tool. Each tile links into a core ERPat module, and each tile only
appears when its module is enabled. The page needs the school_communication
permission.
School-wide or per-section notices via the core Announcements module (module_announcement).
Parent-teacher and student-teacher conversations via the core Messages module (module_message).
The school calendar via the core Events module (module_event).
Because these are core modules, School doesn't duplicate their features, permissions, or data — it simply points you to them in a school-shaped menu. If a module is disabled, its tile is hidden; turn the module on in Settings → Manage Modules and the tile returns.
| Communication surface | Powered by (core module) | Enabled by |
|---|---|---|
| Announcements (school-wide / section) | Announcements | module_announcement |
| Messages (parent-teacher / student-teacher) | Messages | module_message |
| Events (school calendar) | Events | module_event |
Permissions at a glance
school_lms- Opens the LMS Bridge and lets you link a section, sync the roster, and unlink. The menu entry also needs Learn (
module_courses) enabled. school_communication- Opens the Communication launcher. The individual tiles then depend on the relevant core module being enabled.