Your platform, a little simpler

A quick guide to welcoming schools and making the platform yours.

Two ways to welcome schools

Register a school directly in Schools, or let a school apply using the registration link on your login page. Applications stay pending until you approve them. Approval creates the school and its administrator account.

Manage schools

Your agreement note, automatically prepared

Each registration or approval creates an agreement email addressed to the school contact email. There is no acceptance step. Review the editable wording, configure SMTP, and enable delivery in a private installation.

Open mail settings

A platform with your identity

Set the platform name, short wordmark, public URL and logo. Your school workspaces still keep their own school names and logos. The public URL supplies the login link in your agreement emails.

Update branding

Photos and logos, safely uploaded

Every signed-in user can upload or remove their profile photo from My account. School administrators can manage their school logo. JPG, PNG and WebP images are validated, resized and re-encoded; original metadata is removed.

My profile & photo

Before you welcome real schools

The important production and account-recovery details.

Start with a private installation

Use APP_DEMO=0 and a fresh database, enable HTTPS, and create your owner with php scripts/manage.php create-owner "Your Name" you@example.com. Do not put real records or SMTP passwords in the shared demonstration.

Protect your backups

Use php scripts/manage.php backup for a consistent SQLite backup. Also back up your private storage/media/ images and storage/secrets/ mail-encryption keys. Stop writes while taking a coordinated database/media snapshot. Test restoration before relying on it.

Passwords and recovery

For a forgotten password, the server operator can run php scripts/manage.php reset-password account@example.com. Initial school administrator passwords are shown once to the owner, not emailed. Applicants use the password chosen in their application. Existing sessions are not automatically revoked by a CLI password reset.

Email queue processing

Ready messages are attempted after registration. Review failures in Agreement emails and retry them there. A server operator can run php scripts/manage.php send-mail to process queued messages; schedule that bounded command with cron for background queue processing. Review and retry failed messages from the dashboard. SMTP acceptance is not proof of inbox delivery.

Scope and privacy

The portal records school fee payments but does not process bank transfers or cards. Announcements are in-app, not SMS. Review access policies, privacy obligations, backups, and load capacity before production use. Teachers have school-wide academic access. Historical report snapshots across class promotions remain a future enhancement; archive reports before changing class assignments.