Modules
Admin, Features (/admin/features), gated by the feature.manage
permission.
Every feature in Plugboard is a module. Turning one off hides its navigation and stops its endpoints answering, so a school that never runs inductions or a printer fleet does not see either.
This is the master switch list. Every environment is different, and the honest default is to enable only what you use.
Using the screen
Section titled “Using the screen”A strip at the top counts the modules that are on, those switched off here, those unavailable because of the licence or the deployment, and any whose dependency is off. Below it, modules are grouped by area (Service desk, Devices and assets, Network and monitoring, Operations and reporting, Identity and platform, Portals), each with its icon, a one-line description and a switch. Filter to All, On or Off, or search by name.
Each module has a chip that says why it is off, when it is:
| Chip | Means |
|---|---|
| On | Running for this school |
| Off here | Switched off on this screen. The switch turns it back on |
| Not in licence | Your licence does not include it. The switch is disabled |
| Off for this deployment | Turned off with DEMO_DISABLED_MODULES. The switch is disabled |
| Off until Tickets is on | Switched on, but the module it needs is off |
Dependency chips show what a module uses (Uses Tickets, or Needs Tickets, which is off) and what relies on it (Required by Time tracking). Some modules also link to their configuration page.
While the desk is read-only, modules stay on and their switches are disabled until the licence is renewed.
Changes take effect immediately, and your own navigation updates as soon as you flip the switch.
A technician who already has the console open sees the change within five minutes, or straight away if they reload. The desk reads the module list once when someone signs in and holds it for the rest of their sitting rather than asking again on every screen, which is what keeps moving between pages quick, so a change made while they are working takes up to that long to reach them.
The modules
Section titled “The modules”Core work
Section titled “Core work”| Module | Key | What it gives you |
|---|---|---|
| Submissions | module.repairs |
The repair queue: lodge and track repairs, loans on repair, outcomes and costs |
| Tickets | module.tickets |
The built-in service desk queue for work that is not a device repair. Switch it off if you use an external ticketing system |
| Time tracking | module.timeTracking |
Timers, time logged with replies, work types, estimates, My time and the time reports. On by default from 0.17.1 |
| Loans | module.loans |
Issue loan laptops and iPads, and track who has what |
| Stock | module.stock |
Sell and track consumables: cables, adapters, bags |
| Cost analytics | module.costs |
Break repair spending down by type, term and coverage |
People and devices
Section titled “People and devices”| Module | Key | What it gives you |
|---|---|---|
| Device inductions | module.inductions |
Start-of-year handout checklists, with roster import and tracking |
| Card checker | module.cardChecker |
Tap-to-verify student and staff cards against the directory |
| Asset lifecycle and stocktake | module.assets |
Device lifecycle fields, warranty tracking and scan-the-room audits |
| Directory management | module.directory |
Manage Entra, Google and AD users: licences, lock, inbox delegation, password reset |
Infrastructure
Section titled “Infrastructure”| Module | Key | What it gives you |
|---|---|---|
| Printers | module.printers |
Live printer fleet: toner levels, status and errors over SNMP |
| Services monitor | module.monitors |
Uptime-style monitoring of internal services with severity-based alerts |
| Security | module.security |
ThreatLocker approval requests, ticket-linked, with per-device history |
Service quality
Section titled “Service quality”| Module | Key | What it gives you |
|---|---|---|
| Service levels | module.sla |
Resolution targets per priority, with overdue flagging and alerts |
| Satisfaction | module.csat |
Post-repair star rating on the tracking page, summarised on the dashboard |
| Reports | module.reports |
Operational reports with CSV export and scheduled email delivery |
| Automation rules | module.automation |
When a new submission matches conditions, auto-assign, set priority or notify |
| Knowledge base | module.knowledgeBase |
Self-help articles surfaced on the public help page |
| Public status page | module.statusPage |
Community-facing uptime page driven by your monitors |
Platform
Section titled “Platform”| Module | Key | What it gives you |
|---|---|---|
| API and webhooks | module.integrations |
Public API keys, signed outbound event webhooks, and the MCP endpoint |
| Backups | module.backups |
Encrypted scheduled backups and portable per-tenant export |
Portals
Section titled “Portals”| Module | Key | What it gives you |
|---|---|---|
| Student portal | portal.client |
Let students look up their own repairs, loans and purchases, and lodge new ones |
| Parent portal | portal.parent |
Let parents view their child’s repairs and, optionally, costs |
What depends on what
Section titled “What depends on what”Modules are mostly independent. The exceptions:
- Cost analytics is fed by outcomes recorded on submissions. With
module.repairsoff, there is nothing to analyse. - Satisfaction ratings are collected on the repair tracking page, which exists because a submission exists.
- Public status page shows monitors marked public, so it needs
module.monitorsto have anything on it. - Knowledge base articles appear on the public help centre. The help centre is public and does not need a module of its own, but with no published articles it is empty.
- Stocktake and disposals both live under
module.assets. - The MCP endpoint is part of
module.integrations. With that module off,/api/mcpreturns 404. - Time tracking needs
module.tickets. It is included wherever Tickets is, on by default, and off whenever Tickets is off. Switching it off on its own hides the ticket timer and tray, the composer’s time field, the Work tab’s time, the estimate, the resolve prompt, My time, the time settings and the two time reports. The server refuses the time routes and those reports, including scheduled ones. Time already logged is kept and shows again when it is switched back on. See time tracking. - Automation rules require the module for their subject:
module.repairsfor submission rules, ormodule.ticketsfor ticket rules. Department ticket rules also require their active add-on.
Configuration links
Section titled “Configuration links”Several modules expand to a link to their settings:
| Module | Configuration |
|---|---|
| Tickets | Categories, queues, canned responses, reopen window |
| Time tracking | Timer mode, daily target, work types and estimates, under ticket settings |
| Loans | Loan groups |
| Service levels | Response and resolution times per priority |
| Reports | Run reports or schedule emails |
| Automation | The when-then rules |
| Knowledge base | Write and publish articles |
| Public status page | View it, and mark monitors public on the Monitors page |
| Asset lifecycle | Stocktake, audit devices by location |
| Directory | Search and manage accounts, in the Accounts view of People |
| API and webhooks | Issue keys, add webhooks |
| Backups | Schedule, run and verify |
Modules and your licence
Section titled “Modules and your licence”Your licence determines which modules you are entitled to. A module you are not licensed for cannot be enabled, and the Features screen says so rather than letting you switch on something that will not work.
| Licence | Includes |
|---|---|
| The Plugboard plan | Every base module |
| Campus operations add-on | Facilities, Administration, Other departments and School operations |
| No licence (30-day trial) | Every base module, no add-ons |
| An earlier tier (Core, Standard, Advanced, Enterprise) | The modules that tier was sold with |
Full detail in plans and licence and plan.
Disabling a module at the deployment level
Section titled “Disabling a module at the deployment level”A deployment can hide modules for everyone, regardless of what a tenant administrator does, with the same variable that tailors the public demo:
DEMO_DISABLED_MODULES=module.cardChecker,module.inductionsUseful when a school has decided centrally that a feature is not to be used. It is a blunt instrument: the module cannot be re-enabled from the interface while the variable is set.
What happens to the data
Section titled “What happens to the data”Disabling a module hides it. It does not delete the stored records. The candidate department add-ons also pause recurring work: restoring a department does not restart its schedules or replay missed occurrences. Review and explicitly re-enable them.
Before switching something off in a live system, check whether people are relying on it. Turning off Loans while devices are out leaves no way to return them until you turn it back on.