RBAC for schools: roles, permissions and scopes
Role-based access control for an institute, explained without jargon — and why a role name should never appear anywhere in the code.
Guide
An LMS migration plan in four steps: what to move first, what to leave behind, and why the order matters more than the tooling.

Most migrations fail the same way: somebody moves everything at once, finds four columns nobody can explain, and stops. Move what is already structured, and leave the archaeology for later — or forever.
People are the only thing everything else references, so import them before courses, before fees, before anything. Algoryq Learn imports people from CSV with a per-row error report rather than an all-or-nothing failure, so a bad phone number in row 400 does not cost you the other 399.
One decision before you start: people are added by invitation. No route lets an administrator set somebody else’s password, deliberately — so an import creates invitations, and accounts exist once people accept them.
Historic attendance, closed enquiries from two years ago, the fee ledger from before your current pricing. Keep the spreadsheet read-only in a folder. The cost of importing data nobody will query again is not the import — it is that every report afterwards has to explain a discontinuity.
Outstanding invoices are the one historic thing worth carrying, because somebody will chase them. Import them as issued invoices with their real dates, not as new ones — an invoice line copies its description at issue precisely so last year’s invoice still says what was sold.
Role-based access control for an institute, explained without jargon — and why a role name should never appear anywhere in the code.
Online exam integrity without proctoring software: what a browser can honestly report, what it cannot, and what actually reduces cheating.
Nine WCAG procurement questions that separate a real accessibility programme from a paragraph in a sales deck — with our own answers.
A hundred seats, twenty-five courses and no conversation. If you would rather see it driven by someone who knows it, that takes twenty minutes.
Or open the sandbox (opens in a new tab) and click around first. No form.