3. Frontpage ook docent
3.1 Schermafbeelding

3.2 Scherm meta data
| Veld | Waarde |
|---|---|
| Scherm-ID | SCH-OVG-02-01 |
| Schermnaam | Frontpage — Ouder/voogd en docent |
| Doelgroep / onderdeel | Gebruiker met actieve docentrol en actieve ouder-/voogdrol |
| Bronbestand | oefenhub_ouders&docent_04_frontpage_V1_9.html |
| Mockupversie | V1.9 |
| Screenshotbestand | oefenhub_ouders&docent_04_frontpage_V1_9.png |
| Processtap / context | Gebruiker is ingelogd en heeft binnen hetzelfde account zowel een actieve docentcontext als een actieve ouder-/voogdcontext. De frontpage toont daarom een samengestelde rolcontextweergave. |
| Documentatiestatus | Uitgewerkt op basis van HTML-mockup, PNG-screenshot, Functioneel Ontwerp, Technisch Ontwerp, Software Requirements Specification en ondersteunende documentatie. |
| Opmerkingen | Deze pagina introduceert geen nieuw inhoudelijk domein ten opzichte van de afzonderlijke docent- en ouder-/voogdfrontpages. De kern van deze view is de samengestelde weergave en de vaste volgordelijkheid: docentblokken worden vóór ouder-/voogdblokken getoond. Header, profielmenu, berichtenicoon en footer vallen buiten scope. |
| Route / URL-patroon | Functioneel routepatroon: gecombineerde frontpage na inloggen of contextbepaling voor een gebruiker met zowel docent- als ouder-/voogdrechten; de technische route wordt door de applicatieroutering bepaald. |
| Autorisatie / vereiste rol-context | Actieve gebruiker met minimaal een actieve docentrol én een actieve ouder-/voogdrol. De onderliggende gegevens worden per blok server-side beperkt tot de betreffende rolcontext. |
| Primair domeinobject / hoofdentiteit | Geen enkel primair mutatieobject; samengestelde read-only frontpage op basis van docentfrontpage-aggregaties en ouder-/voogdfrontpage-aggregaties. |
| Gerelateerde schermen / navigatie | 02_frontpage voor de ouder-/voogdfrontpage en Docent — 02_frontpage voor de docentfrontpage. |
| Data-karakter | Read-only samengestelde aggregatiepagina met dynamische tel- en resultaatwaarden uit twee rolcontexten. |
3.3 Functionele beschrijving
Deze frontpage is de gecombineerde landingspagina voor een gebruiker die binnen OefenHub zowel als docent als ouder/voogd optreedt. De pagina is bedoeld als rustige oriëntatieplek en combineert bestaande frontpage-informatie uit twee rolcontexten in één overzicht. De view is niet bedoeld om de afzonderlijke docent- of ouder-/voogdfrontpages inhoudelijk opnieuw te definiëren.
De belangrijkste functionele regel is de volgordelijkheid. Docentgerelateerde informatie wordt bovenaan en als eerste blokgroep getoond. Ouder-/voogdinformatie volgt daarna. Deze volgorde zorgt ervoor dat de professionele onderwijscontext van de docent prioriteit krijgt wanneer een gebruiker beide rollen heeft, terwijl de ouder-/voogdcontext nog steeds direct zichtbaar blijft.
De samengestelde view bevat dezelfde soorten samenvattingskaarten als de afzonderlijke frontpages:
-
Docent — Leerlingenoverzicht
Samenvattingsblok met kerncijfers rond gekoppelde leerlingen, actieve autorisaties, leerlingen op huidig niveau en openstaande uitnodigingen. De inhoudelijke betekenis van deze waarden volgt de docentfrontpage. -
Docent — Niveaus & inhoud
Samenvattingsblok met kerncijfers over actieve niveaus, gekoppelde categorieën, actieve oefeningen en oefeningen in onderhoud. De inhoudelijke betekenis van deze waarden volgt de docentfrontpage. -
Ouder/voogd — Kinderenoverzicht
Samenvattingsblok met kerncijfers over gekoppelde kinderen, huidig niveau, gekoppelde docenten en ontbrekende docentcontext. De inhoudelijke betekenis van deze waarden volgt de ouder-/voogdfrontpage. -
Ouder/voogd — Resultatenoverzicht
Samenvattingsblok met recente oefenactiviteit en resultaatindicaties van gekoppelde kinderen. De inhoudelijke betekenis van deze waarden volgt de ouder-/voogdfrontpage.
3.3.1 Interpretatie van mockupwaarden
Alle zichtbare namen, aantallen, percentages en meldingen in de mockup zijn voorbeelddata. Waarden zoals 24, 31, 12, 2, 4, 18, 56, 3, 81% en 6 worden per gebruiker en per rolcontext dynamisch bepaald. De mockupwaarden mogen niet als vaste productiegegevens of testdata worden beschreven.
De zichtbare teksten in het introblok en in de kaarttoelichtingen kunnen inhoudelijk via contextgebonden frontpagecontent worden beheerd. De samengestelde blokopbouw, de vaste volgorde en de keuze dat deze gecombineerde view geen extra detail-CTA's introduceert, zijn codegedreven.
3.3.2 Afbakening ten opzichte van afzonderlijke frontpages
Deze pagina documenteert alleen het samenstellen van de twee bestaande frontpagecontexten. De afzonderlijke velddefinities, telregels en business rules van de docentblokken horen primair bij de docentfrontpage. De afzonderlijke velddefinities, telregels en business rules van de ouder-/voogdblokken horen primair bij de ouder-/voogdfrontpage.
Daarom worden in dit schermdocument niet alle individuele kaartvelden opnieuw volledig inhoudelijk uitgewerkt. De waardelagen verwijzen naar de bestaande databronnen en benadrukken de compositieregel, autorisatieafbakening en volgorde. Hiermee blijft dit document aanvullend in plaats van duplicerend.
3.3.3 Autorisatie en gegevensafbakening
De pagina mag alleen als gecombineerde frontpage worden opgebouwd wanneer de ingelogde gebruiker beide rolcontexten actief mag gebruiken. De docentblokken mogen uitsluitend data gebruiken die binnen de docentcontext van de gebruiker hoort. De ouder-/voogdblokken mogen uitsluitend data gebruiken van leerlingen waarmee de gebruiker een actieve ouder-/voogdrelatie heeft.
Een gecombineerde frontendweergave mag niet leiden tot gecombineerde autorisatie. De server moet per blok en per aggregatie opnieuw controleren welke rolcontext wordt gebruikt. Docentdata mag niet via ouder-/voogdrelaties worden afgeleid en ouder-/voogddata mag niet via docentrelaties worden uitgebreid.
3.3.4 Leegstaten, foutstaten en disabled states
Wanneer één van beide rolcontexten functioneel geen bruikbare data heeft, blijft de andere rolcontext zichtbaar. Een gebruiker met beide rollen maar zonder gekoppelde kinderen ziet bijvoorbeeld nog steeds de docentblokken en een correcte lege of nulstatus binnen de ouder-/voogdblokken.
Wanneer de docentcontext technisch niet geladen kan worden, mag dit niet automatisch de ouder-/voogdcontext verbergen of andersom. Foutstaten moeten per blokgroep kunnen worden getoond, zodat een storing in één aggregatie niet als geldige nulwaarde wordt gepresenteerd en geen gegevens uit de andere rolcontext lekt.
De frontpage bevat geen directe mutatieacties voor leerlingen, niveaus, oefeningen, kinderen of resultaten. Eventuele dieperliggende acties blijven bereikbaar via de reguliere rolgebonden navigatie. Deze view introduceert geen extra knoppen om dezelfde onderliggende beheer- of detailprocessen opnieuw te starten.
3.4 UI-elementen en velddefinities
| Element-ID | Type | GUI-verwijzing | Omschrijving | Zichtbaar label | Opmerking | Technische naam |
|---|---|---|---|---|---|---|
| SCH-OVG-02-01-S01 | S | Hoofdinhoud | Shell van de gecombineerde docent- en ouder-/voogdfrontpage. | n.v.t. | Bevat alleen de frontpage-inhoud; header en footer vallen buiten scope. | CombinedTeacherGuardianFrontpageShell |
| SCH-OVG-02-01-S02 | S | Introkaart | Introblok dat uitlegt dat de gebruiker twee rolcontexten op één frontpage ziet. | Welkom op je frontpage voor docent en ouder/voogd | Tekst kan beheerbaar zijn; blokpositie en samenstelling zijn codegedreven. | CombinedFrontpageIntroCard |
| SCH-OVG-02-01-F01 | F | Introkaart | Titel van de gecombineerde frontpage. | Welkom op je frontpage voor docent en ouder/voogd | Geen gebruikersdata; rolcontexttekst. | CombinedFrontpageIntroTitle |
| SCH-OVG-02-01-F02 | F | Introkaart | Toelichtende tekst over de twee rolcontexten. | Vanaf deze startpagina krijg je in één oogopslag inzicht in je twee rolcontexten. | Beheerbare of codegedreven tekst, afhankelijk van frontpagecontentmodel. | CombinedFrontpageIntroText |
| SCH-OVG-02-01-F03 | F | Introkaart | Begeleidende slotregel onder het introblok. | Gebruik deze pagina vooral als rustige oriëntatieplek. | Benadrukt dat detailacties via bestaande menu-ingangen blijven lopen. | CombinedFrontpageIntroNote |
| SCH-OVG-02-01-S03 | S | Eerste kaart linksboven | Docentblok met leerlinggerelateerde samenvattingswaarden. | Leerlingenoverzicht | Overgenomen uit docentfrontpage; eerste blokpositie. | TeacherStudentOverviewCompositionBlock |
| SCH-OVG-02-01-S04 | S | Eerste kaart rechtsboven | Docentblok met structuur- en inhoudswaarden. | Niveaus & inhoud | Overgenomen uit docentfrontpage; tweede blokpositie. | TeacherStructureOverviewCompositionBlock |
| SCH-OVG-02-01-S05 | S | Tweede kaart linksonder | Ouder-/voogdblok met gekoppelde-kinderenwaarden. | Kinderenoverzicht | Overgenomen uit ouder-/voogdfrontpage; derde blokpositie. | GuardianChildrenOverviewCompositionBlock |
| SCH-OVG-02-01-S06 | S | Tweede kaart rechtsonder | Ouder-/voogdblok met recente resultaatwaarden. | Resultatenoverzicht | Overgenomen uit ouder-/voogdfrontpage; vierde blokpositie. | GuardianResultsOverviewCompositionBlock |
| SCH-OVG-02-01-F04 | F | Kaartkickers | Rolcontextlabel per kaartgroep. | Docent / Ouder/voogd | Maakt herkomst van de kaart zichtbaar; geen filteractie. | RoleContextKicker |
| SCH-OVG-02-01-F05 | F | Kaarttags | Compact label voor type kaart. | Overzicht / Structuur / Resultaten | Visueel label; geen zelfstandige actie. | SummaryCardContextTag |
| SCH-OVG-02-01-M01 | M | Kaartvoeten | Begeleidende tekst over afbakening van elk blok. | Geen leerlinglijst in dit blok / Alleen overzicht, geen dubbele CTA / Geen kindselectie op de frontpage / Zuiver informatief blok | Verduidelijkt dat deze gecombineerde frontpage geen extra detail- of beheeracties toevoegt. | FrontpageCompositionBoundaryMessages |
3.5 Waardelagen
| Element-ID | GUI-verwijzing | Zichtbaar label | Technische naam | Databron | Waardebron | Datatype | Bewerkbaar | Validatie / regel |
|---|---|---|---|---|---|---|---|---|
| SCH-OVG-02-01-S02 | Introkaart | Welkom op je frontpage voor docent en ouder/voogd | CombinedFrontpageIntroCard | ContentBlocks met DomainType = FrontPage en contextuele combinatie van Teacher + Guardian, of codegedreven fallbacktekst | Beheerbare of codevaste frontpagetekst voor gecombineerde rolcontext | section / rich text | Nee op deze view | Ontbrekende content mag de pagina niet breken; de gecombineerde blokvolgorde blijft codegedreven. |
| SCH-OVG-02-01-S03 | Leerlingenoverzicht | Leerlingenoverzicht | TeacherStudentOverviewCompositionBlock | Zie docentfrontpage: UserRelationships, RelationshipInvitations, TeacherStudentLevelAccess, TeacherLevels | Dynamische docentaggregaties uit actieve docentcontext | composite | Nee | Mag alleen data tonen waarvoor de gebruiker als docent bevoegd is. |
| SCH-OVG-02-01-S04 | Niveaus & inhoud | Niveaus & inhoud | TeacherStructureOverviewCompositionBlock | Zie docentfrontpage: TeacherLevels, TeacherLevelCollaborators, TeacherLevelCategories, Categories, Exercises | Dynamische docentstructuur- en oefenaggregaties | composite | Nee | Docentblok moet vóór ouder-/voogdblokken worden weergegeven en mag geen extra beheer-CTA introduceren. |
| SCH-OVG-02-01-S05 | Kinderenoverzicht | Kinderenoverzicht | GuardianChildrenOverviewCompositionBlock | Zie ouder-/voogdfrontpage: UserRelationships met RelationshipTypes.Code = GuardianStudent, Users, TeacherStudentLevelAccess, TeacherLevels | Dynamische ouder-/voogdaggregaties over gekoppelde leerlingen | composite | Nee | Mag uitsluitend gekoppelde leerlingen tonen waarvoor een actieve ouder-/voogdrelatie bestaat. |
| SCH-OVG-02-01-S06 | Resultatenoverzicht | Resultatenoverzicht | GuardianResultsOverviewCompositionBlock | Zie ouder-/voogdfrontpage: ExerciseRuns, gekoppelde leerlingen uit GuardianStudent-relaties, runstatistieken | Dynamische resultaataggregaties over gekoppelde kinderen | composite | Nee | Alleen afgeronde, toegestane runs van gekoppelde leerlingen mogen meetellen. |
| SCH-OVG-02-01-F04 | Kaartkickers | Docent / Ouder/voogd | RoleContextKicker | Runtime rolcontext van ingelogde gebruiker | Afgeleid uit actieve roltoekenningen en compositieregel | string / label | Nee | Label moet overeenkomen met de rolcontext van de kaartgroep. |
| SCH-OVG-02-01-F05 | Kaarttags | Overzicht / Structuur / Resultaten | SummaryCardContextTag | Codegedreven labelset of beheerbare labeltekst binnen frontpagecontext | Visuele categorisering van samenvattingskaarten | string | Nee op deze view | Tags zijn informatief en mogen geen filter- of autorisatiefunctie krijgen. |
| SCH-OVG-02-01-M01 | Kaartvoeten | Afbakeningsteksten | FrontpageCompositionBoundaryMessages | Codegedreven begeleidende tekst of ContentBlocks binnen relevante frontpagecontext | Uitleg dat detailbeheer via reguliere navigatie verloopt | string / rich text | Nee op deze view | Teksten mogen geen directe actie suggereren die niet op deze pagina beschikbaar is. |
3.6 Schermtrace naar SRS en acceptatiecriteria
De onderstaande tabel legt per schermrequirement de koppeling naar het centrale schermrequirements-trace-register, SRS-requirements en acceptatiecriteria vast. De normatieve requirementtekst staat in de SRS; dit schermdocument beschrijft alleen de lokale schermcontext.
Deze tabel bevat alleen schermtraceability. De normatieve requirementtekst en acceptatiecriteria staan centraal in de SRS.
| Schermrequirement | Dekt | Schermcontext |
|---|---|---|
REQ-SCH-OVG-02-01-01 | SRS-GUA-001 AC-GUA-001 | Voor een gebruiker met zowel een actieve docentrol als actieve ouder-/voogdrol een gecombineerde frontpage kunnen tonen |
REQ-SCH-OVG-02-01-02 | SRS-RDM-003 SRS-RDM-006 SRS-RDM-002 SRS-RDM-001 SRS-GUA-001 AC-RDM-003 AC-RDM-006 AC-RDM-002 AC-RDM-001 AC-GUA-001 | De gecombineerde frontpage docentgerichte samenvattingsblokken vóór ouder-/voogdgerichte samenvattingsblokken tonen |
REQ-SCH-OVG-02-01-03 | SRS-GUA-001 AC-GUA-001 | De gecombineerde frontpage de inhoudelijke betekenis van docentwaarden hergebruiken uit de docentfrontpage en deze niet als aparte rolcombinatielogica opnieuw definiëren |
REQ-SCH-OVG-02-01-04 | SRS-GUA-001 AC-GUA-001 | De gecombineerde frontpage de inhoudelijke betekenis van ouder-/voogdwaarden hergebruiken uit de ouder-/voogdfrontpage en deze niet als aparte rolcombinatielogica opnieuw definiëren |
REQ-SCH-OVG-02-01-05 | SRS-AUTH-001 SRS-GUA-001 AC-AUTH-001 AC-GUA-001 | Per blokgroep server-side controleren welke rolcontext van toepassing is voordat gegevens worden opgehaald of geaggregeerd |
REQ-SCH-OVG-02-01-06 | SRS-AUTH-001 SRS-GUA-001 AC-AUTH-001 AC-GUA-001 | Docentdata en ouder-/voogddata geen via elkaars relatie- of autorisatiecontext worden verrijkt |
REQ-SCH-OVG-02-01-07 | SRS-GUA-001 AC-GUA-001 | De gecombineerde frontpage read-only blijven en mag geen nieuwe detail-, beheer- of mutatieacties introduceren naast de bestaande rolgebonden navigatie |
REQ-SCH-OVG-02-01-08 | SRS-AUTH-001 SRS-GUA-001 AC-AUTH-001 AC-GUA-001 | Wanneer één rolcontext geen gegevens heeft, de andere rolcontext zichtbaar blijven en de lege rolcontext een correcte nul- of leegstatus tonen |
REQ-SCH-OVG-02-01-09 | SRS-GUA-001 AC-GUA-001 | Technische fouten bij het ophalen van één blokgroep geen als geldige nulwaarden worden gepresenteerd en mogen de gegevens van de andere blokgroep niet onterecht verbergen |
REQ-SCH-OVG-02-01-10 | SRS-GUA-001 AC-GUA-001 | Zichtbare tel- en resultaatwaarden op de gecombineerde frontpage dynamisch worden berekend en geen als vaste productiewaarden uit de mockup worden overgenomen |
REQ-SCH-OVG-02-01-11 | SRS-GUA-001 AC-GUA-001 | De gecombineerde intro- en toelichtingsteksten via het frontpage-contentmodel beheerbaar kunnen zijn of veilig op codegedreven fallbacktekst kunnen terugvallen |
REQ-SCH-OVG-02-01-12 | SRS-GUA-001 AC-GUA-001 | De gecombineerde frontpage schaalbaar blijven: leerlinglijsten, kindselecties, detailgeschiedenis en beheeracties blijven op de daarvoor bedoelde onderliggende pagina’s |
3.7 Technische koppeling
Voor technische uitwerking zijn vooral relevant:
- 04 Identiteit, authenticatie en rolcontext voor het bepalen van actieve docent- en ouder-/voogdcontexten binnen één account.
- 05 Autorisatie, policies en server-side contextcontrole voor afzonderlijke server-side controle per blok en per rolcontext.
- 08 Oefencatalogus, niveaus, categorieën, oefeningen en modules voor docentblokken over niveaus, categorieën en oefeningen.
- 10 Oefenruns, voortgang, resultaten, statistieken en PDF-brondata voor resultaten en samenvattingen van gekoppelde kinderen.
- 11 Rolflows technisch voor combinatierollen, contextscheiding en volgordelijkheid van rolblokken.
- 12 Relatiebeheer, uitnodigingen en gedeelde oefeningen voor ouder-/voogdrelaties en docent-leerlingrelaties die in de samengestelde view samenkomen.
- 17 Readmodels, tellers, badges, caching en materialisatie voor samengestelde frontpagewaarden en gescheiden readmodelbronnen.
- 24 Frontend, Blazor, routing, state en componentopbouw voor frontpagecompositie, kaartvolgorde en foutisolatie per blokgroep.
- 25 Privacy, retentie, anonimisering en gegevensbescherming voor gegevensminimalisatie tussen rolcontexten.