Beheerder — Features en systeemnotificaties
Dit subdomein beschrijft hoe beheerders sitebrede featuretoggles en beheerder-gedreven systeemnotificaties beheren. Featuretoggles zijn uitsluitend echte aan/uit-schakelaars voor functionaliteit die sitebreed tijdelijk beschikbaar of niet beschikbaar mag zijn. Systeemnotificaties vormen een eigen notificatiedomein en zijn nadrukkelijk geen mailbox-systeemberichten en geen popupregister-popups.
Usecases
Relevante schermdocumentatie
| Scherm / onderdeel | Gebruik binnen dit subdomein |
|---|
| Site Instellingen | Hub van waaruit de beheerder de pagina Features opent. |
| Features-tab | Overzicht en mutatie van sitebrede featuretoggles. |
| Systeemnotificaties-tab | Beheer van notificaties via Actief & gepland, Afgelopen 31 dagen en Alle verlopen. |
| Frontpage- en rolgerichte startpagina's | Gebruikerszijde waarop actieve systeemnotificaties na het laden getoond kunnen worden. |
Domeinafbakening
| Binnen dit subdomein | Buiten dit subdomein |
|---|
| Beheer van bekende featuretoggles. | Domeinspecifieke uitvoering van uitgeschakelde features in generieke, leerling-, docent- of ouder/voogdflows. |
| Beheer van systeemnotificatiebrondata. | Tonen, sluiten en eenmalig verwerken van systeemnotificaties aan gebruikerszijde. |
| UTC-planning, doelgroep, notificatietype en displayregel. | Mailbox-systeemberichten, privéberichten of popupregister-popups. |
| Auditbare wijzigingen aan features en notificaties. | Vrij aanmaken van technische sleutelsets, enumwaarden of nieuwe popupdefinities. |
Featuretoggles
| FeatureKey | Functionele betekenis |
|---|
RegistrationEnabled | Bepaalt of nieuwe registratie via de normale flow beschikbaar is. |
LoginEnabled | Bepaalt of reguliere login beschikbaar is. |
FriendshipsEnabled | Bepaalt of vriendschapsfunctionaliteit beschikbaar is. |
PrivateMessagingEnabled | Bepaalt of nieuwe privéberichtacties beschikbaar zijn. |
LiveViewingEnabled | Bepaalt of live meekijken beschikbaar is. |
ExerciseSharingEnabled | Bepaalt of oefeningen delen beschikbaar is. |
TestExercisesEnabled | Bepaalt of test-oefeningen beschikbaar zijn. |
IssueReportingEnabled | Bepaalt of meldingen indienen beschikbaar is. |
AccessibilityEnabled | Bepaalt of toegankelijkheidsbediening functioneel wordt toegepast. |
Featuretoggles verwijderen geen domeindata. Onderliggende domeinflows moeten de actuele status server-side controleren op het moment dat de gebruiker een actie uitvoert.
Systeemnotificaties
| Sleutelset | Waarden | Betekenis |
|---|
AudienceType | Public, Authenticated, Teacher, Student, Guardian, Admin | Doelgroep waarvoor de notificatie zichtbaar mag zijn. |
NotificationType | Info, Warning | Functionele toon en prioriteit van de notificatie. |
DisplayRule | Always, OncePerBrowser | Bepaalt of de notificatie bij ieder bezoek of één keer per browser wordt getoond. |
Systeemnotificaties worden in UTC opgeslagen en in de gebruikersinterface naar lokale tijd vertaald. De beheerstatussen Actief, Gepland, Bijna verlopen en Verlopen zijn afgeleid uit StartAtUtc, EndAtUtc en het actuele UTC-moment. Zij vormen geen zelfstandige databasewaarheid.
Bijzondere regels
- Systeemnotificaties zijn geen
SystemMessages.
- Systeemnotificaties gebruiken geen popupregister-records.
- Er bestaat geen server-side seen-tabel per gebruiker.
DisplayRule = Always wordt niet permanent als gezien geregistreerd.
DisplayRule = OncePerBrowser gebruikt een browserwaarde op notificatie-id.
- Wijziging van een bestaande notificatie doorbreekt een bestaande browsermarker niet automatisch.
- Meerdere gelijktijdig actieve notificaties zijn toegestaan; gebruikersweergave toont kandidaten in de volgorde die in de generieke notificatieflows is vastgelegd.
- De tab
Alle verlopen is read-only en biedt geen directe heractivatieactie.
Diagramgebruik
| Diagramtype | Gebruik binnen dit subdomein |
|---|
| State diagram | Alleen bij echte status- of lifecyclemutaties, zoals featuretoggle aan/uit of notificatieplanning. |
| Decision flow | Gebruikt voor autorisatie, sleutelvalidatie, datumvalidatie, tabselectie en statusafleiding. |
| Data lifecycle diagram | Gebruikt om te tonen welke records worden gelezen, gewijzigd of juist niet aangemaakt. |
| Sequence diagram | Gebruikt wanneer actor, frontend, backend, database en geschiedeniscomponent samenkomen. |