Ouder/voogd — Resultaten en geschiedenis
Dit subdomein beschrijft hoe een ouder/voogd resultaten, geschiedenis, resultaatdetails, statistieken en PDF-export van gekoppelde kinderen raadpleegt. De ouder-/voogdcontext geeft uitsluitend leesrechten op bestaande historische rungegevens en maakt geen nieuwe oefenruns, resultaatmutaties, relatieveranderingen of docentautorisaties aan.
De historische 'ExerciseRun' en bijbehorende voortgangs- en statistiekgegevens blijven de bron van waarheid. De ouder-/voogdweergave voegt alleen oudercontext, kindselectie, autorisatie en een read-only presentatielaag toe.
Usecases
| Usecase | Naam | Omschrijving |
|---|
| UC-OVG-RES-001 | Resultatensamenvatting van kind bekijken | Toont compacte resultaatstatistieken voor één gekoppeld kind. |
| UC-OVG-RES-002 | Kindgeschiedenis openen | Opent de volledige geschiedenis van afgeronde runs van een gekoppeld kind. |
| UC-OVG-RES-003 | Geschiedenis filteren op niveau, categorie en oefening | Filtert de kindgeschiedenis binnen de toegestane ouder-/voogdcontext. |
| UC-OVG-RES-004 | Afgeronde oefenrun van kind bekijken | Opent een read-only resultaatdetail van een afgeronde run. |
| UC-OVG-RES-005 | Resultaatdetails en statistieken bekijken | Toont vraagdetails, scores en statistieken van een afgeronde run. |
| UC-OVG-RES-006 | Resultaat als PDF downloaden binnen oudercontext | Genereert een tijdelijke PDF-download van een geautoriseerd resultaat. |
| UC-OVG-RES-007 | Geen toegang zonder actieve ouder-/voogdrelatie | Blokkeert resultaatinzage wanneer actuele ouder-/voogdautorisatie ontbreekt. |
Relevante schermdocumentatie
| Scherm | Relevantie |
|---|
| Ouder/voogd — Frontpage | Toont compacte resultatenoverzichtsamenvatting voor gekoppelde kinderen. |
| Ouder/voogd — Kinderen | Biedt kindselectie en route naar kindinformatie. |
| Ouder/voogd — Kindinformatie | Toont resultatensamenvatting en route naar volledige geschiedenis. |
| Ouder/voogd — Kindgeschiedenis | Toont, filtert en pagineert afgeronde runs van een gekoppeld kind. |
| Ouder/voogd — Resultaatdetail | Toont runheader, vraagdetails, statistieken en PDF-downloadactie. |
| Generiek — Popups | Wordt gebruikt voor veilige fout- en toegangsmeldingen via PopupKey. |
Domeinafbakening
| Onderdeel | Afbakening |
|---|
| Leerling / Resultaten en geschiedenis | De historische rungegevens, statistiekvelden en PDF-bron blijven dezelfde bron als in het leerlingdomein. Ouder/voogd krijgt alleen read-only inzage via oudercontext. |
| Docent / Resultaten en geschiedenis | Docentresultaten blijven beperkt tot eigen docentcontext. Ouder/voogd ziet alle historische niveaus van het gekoppelde kind zolang de ouder-/voogdrelatie actief is. |
| Ouder/voogd / Kinderen en koppelingen | Kindselectie, kindinformatie en ontkoppelen worden daar beschreven. Dit subdomein gebruikt alleen de actieve relatie als autorisatiebasis. |
| Generiek / Relaties | Relatievorming, uitnodiging, acceptatie en generieke relatie-lifecycle blijven bronhoudend in het generieke relatiedomein. |
| Leerling / Oefenen en voortgang | Nieuwe runs, antwoorden, voortgang, Geen idee en afronding worden door de leerlingflow geschreven. Dit subdomein leest alleen afgeronde runs. |
| Beheerder / Accountbeheer | Anonimisering of accountstatus kan zichtbaarheid beïnvloeden, maar wordt hier niet gewijzigd. |
Uitgangspunten
| Onderwerp | Regel |
|---|
| Autorisatie | Een actieve ouder-/voogdrelatie is vereist voor alle resultaat-, geschiedenis-, detail- en exportacties. |
| Server-side controle | Iedere raadpleeg-, filter-, detail- en exportactie herhaalt server-side de relatiecontrole. |
| Resultaatbron | Historische ExerciseRuns en ExerciseRunProgress blijven leidend voor detail, statistieken en PDF-export. |
| Reikwijdte | Ouder/voogd ziet alle niveaus van het gekoppelde kind, niet alleen actuele docentcontexten. |
| Mutaties | Raadplegen, filteren, openen en exporteren wijzigen geen run, antwoord, score, statistiek of relatie. |
| Lege staten | Geen afgeronde runs of lege filterresultaten zijn geldige toestanden en worden niet als fout behandeld. |
| PDF-export | PDF-export levert een tijdelijk bestand als response en maakt geen verplicht permanent documentrecord aan. |
| Clientstate | Oude routeparameters, browsergeschiedenis, filters en bookmarks geven nooit zelfstandig toegang. |
Readmodel- en tellerdefinities
| Waarde | Definitie |
|---|
| Resultatensamenvatting | Afgeleide totalen uit afgeronde, niet-test runs van één actief gekoppeld kind. |
| Kindgeschiedenisregel | Eén afgeronde run met afrondmoment, niveau, categorie, oefening, score en beschikbare totalen. |
| Filteropties | Periode-, niveau-, categorie- en oefeningwaarden afgeleid uit de toegestane geschiedenisdata van het kind. |
| Resultaatdetail | Read-only weergave van één afgeronde run met historische context en uniforme totalen. |
| Vraagdetail | Read-only vraagregel uit opgeslagen voortgang, inclusief gegeven antwoord, juist antwoord en resultaatstatus. |
| PDF-exportmodel | Tijdelijk exportmodel uit dezelfde historische runbron als resultaatdetail en statistieken. |
| Toegangsstatus | Afgeleid uit actuele actieve ouder-/voogdrelatie; beëindigde relaties zijn niet autoriserend. |
Bijzondere regels
- Alleen afgeronde runs tellen mee in samenvattingen, geschiedenis, details, statistieken en PDF-export.
- Niet-afgeronde runs, docenttestruns en tijdelijke live-informatie worden niet als historisch resultaat getoond.
- Historische niveau-, categorie- en oefeningcontext blijft leidend; latere hernoemingen of migraties herschrijven bestaande runcontext niet.
- Een ouder/voogd kan vanuit resultaatweergaven geen oefening opnieuw maken, delen, verwijderen, corrigeren of namens het kind starten.
- Filteren en pagineren zijn readmodelgedrag en vormen geen autorisatiebron.
- Een run-ID in een URL is nooit voldoende voor toegang.
- Bij autorisatiefouten wordt geen gedeeltelijke resultaatdata, kindnaam of runinhoud teruggegeven.
- Popupteksten, knopteksten, inputlabels en themakeuzes worden niet in usecases gedupliceerd; usecases verwijzen alleen naar
PopupKey.
Diagramgebruik
| Diagramtype | Toepassing binnen dit subdomein |
|---|
| State diagram | Niet gebruikt voor read-only raadpleeg-, filter-, detail- of exportflows, omdat deze geen persistent statusobject wijzigen. |
| Decision flow | Gebruikt voor autorisatie, lege staten, filtervalidatie, detailtoegang, PDF-export en toegang geweigerd. |
| Data lifecycle diagram | Gebruikt om te tonen hoe relatiecontrole en bestaande rungegevens leiden tot readmodels of tijdelijke exportresponses. |
| Sequence diagrammen | Gebruikt voor interacties tussen ouder/voogd, frontend, backend, database en PDF-service. |