Ouder/voogd-frontpage en context
Dit subdomein beschrijft de usecases rond de ouder-/voogd-frontpage en de contextbepaling die nodig is om deze frontpage veilig en voorspelbaar samen te stellen.
De ouder-/voogd-frontpage is een overzichts- en oriëntatiepagina. De pagina toont compacte samenvattingsblokken voor gekoppelde kinderen en resultaten, maar voert geen detailacties uit waarvoor eerst een kind, resultaat, geschiedenisregel of live sessie gekozen moet worden. Zulke acties blijven onderdeel van de achterliggende ouder-/voogd-usecases.
Usecases
| Usecase-ID | Naam | Bestand |
|---|---|---|
| UC-OVG-FP-001 | Ouder-/voogd-frontpage bekijken | uc-ovg-fp-001_ouder-voogd-frontpage-bekijken |
| UC-OVG-FP-002 | Ouder-/voogdcontext bepalen | uc-ovg-fp-002_ouder-voogdcontext-bepalen |
| UC-OVG-FP-003 | Kinderenoverzichtsamenvatting tonen | uc-ovg-fp-003_kinderenoverzichtsamenvatting-tonen |
| UC-OVG-FP-004 | Resultatenoverzichtsamenvatting tonen | uc-ovg-fp-004_resultatenoverzichtsamenvatting-tonen |
| UC-OVG-FP-005 | Gecombineerde docent-ouder-frontpage tonen | uc-ovg-fp-005_gecombineerde-docent-ouder-frontpage-tonen |
Relevante context
De ouder-/voogdnavigatie bevat onder meer Kinderen en Online. De frontpage vervangt deze routes niet, maar biedt een rustige startpagina met samenvattingen en oriëntatiepunten.
Een ouder/voogd mag gekoppelde kinderen ondersteunen, geschiedenis bekijken en live meekijken, maar kan geen oefeningen namens een kind starten of voortgang wijzigen. De zichtbare kinderen en resultaten worden altijd server-side afgeleid uit actieve ouder-/voogdrelaties.
Voor gecombineerde rollen geldt dat Ouder/voogd en Docent samen in één account mogen voorkomen. In dat geval wordt één gecombineerde frontpage getoond met één gezamenlijk introblok. Binnen die gecombineerde frontpage worden eerst de docentblokken getoond en daarna de ouder-/voogdblokken. Wanneer ook een beheerderrol aanwezig is, gelden de bredere prioriteitsregels waarbij beheerderblokken voor docentblokken komen.
Domeinafbakening
Dit subdomein omvat wel:
- bepalen van de actieve ouder-/voogdcontext;
- tonen van de ouder-/voogd-frontpage;
- tonen van compacte samenvattingsblokken voor gekoppelde kinderen en resultaten;
- samenstellen van een gecombineerde docent-ouder-frontpage;
- veilig omgaan met lege of beperkte frontpagetoestanden;
- verwijzen naar achterliggende routes zonder die routes opnieuw uit te werken.
Dit subdomein omvat niet:
- aanmaken, accepteren, afwijzen of beëindigen van relaties;
- beheren van berichten of systeemberichten;
- openen van kinddetails;
- tonen van volledige resultaten, geschiedenis of PDF-export;
- starten of volgen van live meekijken;
- uitvoeren van oefeningen namens een kind;
- beheren van docent- of beheerderfunctionaliteit.
Hoofdobjecten en brondata
De frontpage gebruikt bestaande brondata, waaronder:
Users;UserRoles;Roles;UserSettings;UserRelationships;ExerciseRuns;Levels;Categories;Exercises;SystemNotifications.
Er wordt geen aparte ouder-/voogd-frontpage-entiteit of frontpagecache als bron van waarheid geïntroduceerd. De frontpageweergave is een afgeleid readmodel.
Bijzondere regels
- De ouder-/voogd-frontpage is read-only voor domeindata.
- Alle samenvattingswaarden moeten eenduidig gedefinieerd zijn.
- Een ouder/voogd ziet alleen kinderen met een actieve ouder-/voogdrelatie.
- Beëindigde relaties, verlopen uitnodigingen en pending uitnodigingen tellen niet als actieve kindrelatie.
- Een ouder/voogd ziet resultaten over alle niveaus van een actief gekoppeld kind.
- Niet-afgeronde runs en docenttestruns tellen niet mee als afgeronde kindresultaten.
- Clientstate mag nooit bepalen welke ouder-/voogdcontext of kindscope actief is.
- Ouder-/voogd- en docentcontext blijven bij gecombineerde frontpages functioneel gescheiden.
- Systeemnotificaties worden pas na normale frontpageload gecontroleerd.
Popupverwijzingen
Voor dit subdomein worden geen domeinspecifieke popupregister-popups gebruikt. Routeguardgedrag, lege toestanden en generieke foutafhandeling worden via componentgedrag of bestaande generieke flows verwerkt.
| Usecase | PopupKey | Toelichting |
|---|---|---|
| UC-OVG-FP-001 | Niet van toepassing | Frontpage bekijken gebruikt geen popupregister-popup. |
| UC-OVG-FP-002 | Niet van toepassing | Contextbepaling gebruikt routeguard- en toegangafhandeling. |
| UC-OVG-FP-003 | Niet van toepassing | Kinderenoverzichtsamenvatting gebruikt componentweergave en lege staten. |
| UC-OVG-FP-004 | Niet van toepassing | Resultatensamenvatting gebruikt componentweergave en lege staten. |
| UC-OVG-FP-005 | Niet van toepassing | Gecombineerde frontpage gebruikt runtime-samenstelling. |
Teller- en readmodelregels
| Regel-ID | Regel |
|---|---|
| TR-001 | Een frontpagewaarde mag alleen worden getoond wanneer de bronrecords, statusvoorwaarden en contextfilters eenduidig zijn vastgelegd. |
| TR-002 | Alle kindgerelateerde aantallen worden beperkt tot de actuele ouder-/voogdcontext. |
| TR-003 | Soft-deactivated relaties, inactieve roltoekenningen en verlopen of afgehandelde uitnodigingen tellen niet als actieve context. |
| TR-004 | Pending uitnodigingen tellen niet als gekoppelde kinderen. |
| TR-005 | Resultatensamenvattingen tellen uitsluitend afgeronde, niet-test exercise runs van actief gekoppelde kinderen. |
| TR-006 | Een lege toestand is een geldige readmodeluitkomst en mag geen automatische herstel- of mutatieflow starten. |
| TR-007 | Een frontpage-readmodel is afgeleid en mag geen tweede bron van waarheid worden. |
| TR-008 | Gecombineerde frontpages worden runtime samengesteld en niet als losse rolcombinatiepagina opgeslagen. |
Diagramgebruik
De individuele usecases gebruiken vooral decision flows, data lifecycle diagrams en sequence diagrams om contextcontrole, readmodelopbouw en routeguardgedrag te verduidelijken. State diagrams blijven beperkt tot de expliciete vaststelling dat deze frontpageflows geen persistent statusobject wijzigen.