Dashboard¶
The admin dashboard provides an overview of the system status and quick access to management functions.
Accessing the Admin Panel¶
Each institute has its own tenant schema and a dedicated admin URL:
https://<domain>/<institute-slug>/admin/
https://localhost:8443/default-institute/admin/
- Navigate to your institute's admin URL
- Log in via your institution's SSO provider (Keycloak)
- Your role (superuser, admin, teacher) determines which sections you can access
Tenant Isolation¶
Each institute runs in an isolated PostgreSQL schema. All data (exams, sessions, SEB configs, manuals, users) is scoped to the institute's schema. There is no cross-tenant data access.
Key Sections¶
| Section | Purpose |
|---|---|
| Institutes | View institute settings (tenant-scoped, only your own institute) |
| EMS Environments | Configure external exam management systems (Moodle, ANS, Remindo) or built-in EMS |
| Exams | Create and manage exams |
| Exam Sessions | View and manage active/past exam sessions |
| SEB Configurations | Configure Safe Exam Browser settings templates |
| LLM Configuration | Configure AI question generation (built-in EMS only) |
| Manuals | Manage documentation content |
Tenant Management (Superusers)¶
Superusers manage tenants via management commands on the server:
# List all tenants
python manage.py list_tenants
# Add a new tenant
python manage.py add_tenant <slug> "<Name>"
# Delete a tenant (drops the entire schema)
python manage.py delete_tenant <slug>
There is no tenant management in the admin UI to prevent accidental schema modifications.