5. Online
5.1 Schermafbeelding

5.2 Scherm meta data
| Veld | Waarde |
|---|---|
| Scherm-ID | SCH-OVG-05-01 |
| Schermnaam | Online overzicht |
| Doelgroep / onderdeel | Ouder/voogd |
| Bronbestand | oefenhub_ouders_03_online_overzicht_V1_4.html |
| Mockupversie | V1.4 |
| Screenshotbestand | oefenhub_ouders_03_online_overzicht_V1_4.png |
| Processtap / context | Ouder/voogd opent het online overzicht om te zien welke gekoppelde kinderen online zijn en of live meekijken mogelijk is. |
| Documentatiestatus | Uitgewerkt op basis van HTML-mockup, PNG-screenshot, Functioneel Ontwerp, Technisch Ontwerp, Software Requirements Specification en ondersteunende documentatie. |
| Opmerkingen | Header, profielmenu, berichtenteller en footer vallen buiten scope van dit schermdocument. De headernavigatie toont wel hoe de gebruiker deze pagina bereikt, maar wordt hier niet als afzonderlijk UI-onderdeel uitgewerkt. |
| Route / URL-patroon | Functioneel routepatroon: ouder-voogd/online of functioneel gelijkwaardige route binnen actieve ouder-/voogdcontext. |
| Autorisatie / vereiste rol-context | Actieve ouder-/voogdcontext met minimaal één actieve ouder/voogd-leerlingrelatie voor de getoonde kinderen. |
| Primair domeinobject / hoofdentiteit | Samengesteld online-overzicht over gekoppelde leerlingen, runtime aanwezigheid, actieve oefenrun en historische oefenresultaten. |
| Gerelateerde schermen / navigatie | Ouder/voogd — Frontpage, Ouder/voogd — Kinderen, leerlinggeschiedenis, live meekijkweergave. |
| Data-karakter | Dynamische runtime- en databasegegevens; mockupnamen, niveaus, categorieën, oefeningen en statussen zijn voorbeeldwaarden. |
5.3 Functionele beschrijving
Deze pagina toont voor een ouder/voogd welke gekoppelde kinderen op dat moment online of recent actief zijn binnen OefenHub. Het scherm is bedoeld als overzichts- en doorverwijsview: de ouder/voogd kan zien of een kind met een oefening bezig is, kan in dat geval live meekijken en kan altijd naar de geschiedenis van het gekoppelde kind navigeren wanneer de autorisatie dat toestaat.
De zichtbare kinderen worden server-side bepaald op basis van actieve ouder/voogd-leerlingrelaties. Een ouder/voogd ziet nooit leerlingen waarmee geen actieve GuardianStudent-relatie bestaat. Frontend-zichtbaarheid van een kind of knop is daarom alleen ondersteunend; de backend controleert bij iedere actie opnieuw of de relatie nog actief is en of de gekozen run of geschiedenis daadwerkelijk bij het gekoppelde kind hoort.
De lijst toont per kind een statusindicatie, naam, relatiecontext en waar beschikbaar de actuele niveau-, categorie- en oefencontext. In de mockup is Mila de Groot bezig met een oefening; daarom is Kijk live mee actief. Daan de Groot heeft wel een sessie-/aanwezigheidsstatus, maar is niet bezig met een actieve oefenrun; daarom is Kijk live mee disabled. Deze waarden zijn dynamisch en mogen niet als vaste productiegegevens worden geïnterpreteerd.
Live meekijken is een read-only meekijkactie. De ouder/voogd neemt de oefening niet over, beantwoordt geen vragen namens het kind en kan de run niet starten, pauzeren of afronden. De live meekijkweergave gebruikt de actuele voortgang van de lopende ExerciseRuns-context en registreert de meekijksessie auditbaar, zodat later herleidbaar is wie vanuit welke rol bij welke leerling en run heeft meegekeken.
Als er geen gekoppelde kinderen online zijn, toont het scherm een lege staat binnen Actieve sessies. Als er wel gekoppelde kinderen bestaan maar geen actieve oefenrun loopt, blijft Geschiedenis beschikbaar en blijft Kijk live mee uitgeschakeld met een verklaring. Wanneer een actieve oefenrun precies tussen het laden van het overzicht en het klikken op Kijk live mee wordt afgerond of verbroken, moet de backend de live meekijkactie blokkeren en de actuele status laten verversen.
5.4 UI-elementen en velddefinities
| Element-ID | Type | GUI-verwijzing | Omschrijving | Zichtbaar label | Opmerking | Technische naam |
|---|---|---|---|---|---|---|
| SCH-OVG-05-01-S01 | S | Breadcrumb | Kruimelpad dat de gebruiker context geeft binnen de ouder-/voogdweergave. | Home › Online overzicht | Navigatie-element binnen de pagina-inhoud; header blijft buiten scope. | OnlineOverviewBreadcrumb |
| SCH-OVG-05-01-S02 | S | Introblok | Introductiekaart met titel en uitleg over online kinderen en live meekijken. | Online overzicht | Tekst is informatief; waarden in de lijst zijn dynamisch. | OnlineOverviewIntroSection |
| SCH-OVG-05-01-S03 | S | Actieve sessies | Hoofdsectie met de online of recent actieve gekoppelde kinderen. | Actieve sessies | Toont alleen kinderen binnen de actieve ouder-/voogdrelatie. | ActiveChildSessionsSection |
| SCH-OVG-05-01-S04 | S | Mijn kinderen | Subsectie binnen actieve sessies met toelichting over relatie-afbakening. | Mijn kinderen | Benadrukt dat alleen gekoppelde kinderen zichtbaar zijn. | GuardianChildrenOnlineSection |
| SCH-OVG-05-01-T01 | T | Kinderenlijst | Lijst met één kaart per zichtbaar kind in de online-overzichtcontext. | Mijn kinderen | Lijstinhoud is volledig dynamisch. | GuardianOnlineChildrenList |
| SCH-OVG-05-01-F01 | F | Kindkaart > statusindicator | Visuele indicatie van online, actief of niet-meekijkbaar. | Groene of oranje statusindicator | Betekenis volgt uit runtime status en actieve runcontext. | ChildOnlineStatusIndicator |
| SCH-OVG-05-01-F02 | F | Kindkaart > naam | Naam van het gekoppelde kind. | Mila de Groot / Daan de Groot | Voorbeelddata uit mockup. | ChildDisplayName |
| SCH-OVG-05-01-F03 | F | Kindkaart > relatiecontext | Relatieomschrijving voor de ouder/voogd. | Mijn kind | Afgeleid uit actieve GuardianStudent-relatie. | GuardianRelationshipLabel |
| SCH-OVG-05-01-F04 | F | Kindkaart > niveaucontext | Niveau of actuele onderwijscontext van het kind. | Groep 7 – Rekenen / Groep 5 – Rekenen | Dynamisch; komt uit geselecteerde of actieve runcontext. | ChildLevelContext |
| SCH-OVG-05-01-F05 | F | Kindkaart > oefencontext | Categorie en oefening wanneer het kind met een oefening bezig is. | Tafels • Tafels 6 t/m 9 | Alleen gevuld wanneer actuele runcontext beschikbaar is. | ActiveExerciseContext |
| SCH-OVG-05-01-B01 | B | Kindkaart > Kijk live mee | Opent de read-only live meekijkweergave voor de actieve oefenrun van dit kind. | Kijk live mee | Alleen actief wanneer er een actuele, meekijkbare oefenrun is. | StartGuardianLiveViewButton |
| SCH-OVG-05-01-B02 | B | Kindkaart > Geschiedenis | Opent de oefengeschiedenis van het gekoppelde kind binnen de toegestane ouder-/voogdcontext. | Geschiedenis | Actie is niet afhankelijk van een lopende oefening, maar wel van relatie-autorisatie. | OpenChildHistoryButton |
| SCH-OVG-05-01-M01 | M | Lege staat | Melding wanneer geen gekoppelde kinderen online of recent actief zijn. | Geen kinderen online | Niet zichtbaar in de mockup, maar vereist voor normale werking. | EmptyOnlineChildrenMessage |
| SCH-OVG-05-01-M02 | M | Foutstaat | Melding wanneer online status of actieve sessies tijdelijk niet geladen kunnen worden. | Online overzicht kon niet worden geladen | Niet zichtbaar in de mockup; foutafhandeling voor runtime data. | OnlineOverviewLoadErrorMessage |
5.5 Waardelagen
| Element-ID | GUI-verwijzing | Zichtbaar label | Technische naam | Databron | Waardebron | Datatype | Bewerkbaar | Validatie / regel |
|---|---|---|---|---|---|---|---|---|
| SCH-OVG-05-01-T01 | Kinderenlijst | Mijn kinderen | GuardianOnlineChildrenList | UserRelationships met relatietype GuardianStudent, Users, runtime aanwezigheidsstatus | Gefilterde lijst van gekoppelde kinderen met online-/sessiestatus | collection | Nee | Alleen kinderen met een actieve ouder/voogd-leerlingrelatie mogen worden getoond. |
| SCH-OVG-05-01-F01 | Statusindicator | Groene of oranje statusindicator | ChildOnlineStatusIndicator | Runtime aanwezigheidssignaal, SignalR-/sessiestatus en actieve ExerciseRuns-context | Afgeleide runtime state | enum / status | Nee | Status mag niet als autorisatiebron worden gebruikt; server-side controle blijft leidend. |
| SCH-OVG-05-01-F02 | Kindnaam | Mila de Groot / Daan de Groot | ChildDisplayName | Users.DisplayName of functioneel equivalent | Naam van gekoppelde leerling | string | Nee | Alleen tonen voor kinderen die binnen de actieve ouder-/voogdrelatie vallen. |
| SCH-OVG-05-01-F03 | Relatiecontext | Mijn kind | GuardianRelationshipLabel | RelationshipTypes.Code = GuardianStudent, UserRelationships.IsActive | Afgeleide relatieomschrijving | string | Nee | Label volgt uit relatietype en actieve rolcontext. |
| SCH-OVG-05-01-F04 | Niveaucontext | Groep 7 – Rekenen / Groep 5 – Rekenen | ChildLevelContext | TeacherStudentLevelAccess, TeacherLevels, UserSettings.SelectedTeacherLevelId en waar relevant ExerciseRuns.LevelId | Afgeleid uit actieve leerlingtoegang of actuele runcontext | string | Nee | Niveaucontext mag alleen zichtbaar zijn wanneer de leerling toegang heeft of historische runcontext dit rechtmatig toont. |
| SCH-OVG-05-01-F05 | Oefencontext | Tafels • Tafels 6 t/m 9 | ActiveExerciseContext | ExerciseRuns, Categories, Exercises, ExerciseModules | Actuele oefencontext van lopende run | string / composite | Nee | Alleen gevuld wanneer een niet-afgeronde actieve run voor het gekoppelde kind bestaat. |
| SCH-OVG-05-01-B01 | Kijk live mee | Kijk live mee | StartGuardianLiveViewButton | ExerciseRuns, ExerciseRunProgress, LiveViewAudit, runtime SignalR-sessie | Command om read-only live meekijken te starten | action | Ja | Alleen beschikbaar bij actieve run, actieve ouder/voogdrelatie en geldige server-side autorisatie. |
| SCH-OVG-05-01-B02 | Geschiedenis | Geschiedenis | OpenChildHistoryButton | ExerciseRuns met UserId van gekoppeld kind en toegestane relatiecontext | Navigatie naar geschiedenisoverzicht of gefilterde geschiedenis | action | Ja | Mag alleen runs tonen die voor de ouder/voogd binnen de actieve relatiecontext zichtbaar zijn. |
| SCH-OVG-05-01-M01 | Lege staat | Geen kinderen online | EmptyOnlineChildrenMessage | Afgeleid uit lege gefilterde lijst | UI-state | message | Nee | Tonen wanneer geen gekoppelde kinderen online of recent actief zijn. |
| SCH-OVG-05-01-M02 | Foutstaat | Online overzicht kon niet worden geladen | OnlineOverviewLoadErrorMessage | Fout bij ophalen runtime status of gekoppelde kinderen | UI-state | message | Nee | Mag geen ongeautoriseerde kind- of rundetails lekken. |
5.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-05-01-01 | SRS-GUA-006 AC-GUA-006 | Een ouder/voogd een online overzicht tonen van uitsluitend kinderen waarmee een actieve ouder/voogd-leerlingrelatie bestaat |
REQ-SCH-OVG-05-01-02 | SRS-GUA-006 AC-GUA-006 | Per zichtbaar kind minimaal naam, relatiecontext en online-/sessiestatus kunnen tonen |
REQ-SCH-OVG-05-01-03 | SRS-GUA-006 AC-GUA-006 | Bij een actieve oefenrun de actuele niveau-, categorie- en oefencontext van het kind kunnen tonen |
REQ-SCH-OVG-05-01-04 | SRS-GUA-006 AC-GUA-006 | De actie Kijk live mee alleen beschikbaar maken wanneer het gekoppelde kind een actieve, niet-afgeronde en meekijkbare oefenrun heeft |
REQ-SCH-OVG-05-01-05 | SRS-AUTH-001 SRS-GUA-006 AC-AUTH-001 AC-GUA-006 | Bij het starten van live meekijken server-side controleren of de ouder/voogdrelatie nog actief is en of de gekozen run bij het gekoppelde kind hoort |
REQ-SCH-OVG-05-01-06 | SRS-GUA-006 AC-GUA-006 | Live meekijken door een ouder/voogd read-only zijn en mag geen acties mogelijk maken waarmee de oefening van het kind wordt gestart, beïnvloed, beantwoord, gepauzeerd of afgerond |
REQ-SCH-OVG-05-01-07 | SRS-AUTH-001 SRS-NFR-AUD-001 AC-AUTH-001 AC-NFR-AUD-001 | Live meekijksessies auditbaar registreren met minimaal kijker, rolcontext, bekeken leerling, oefenrun en startmoment |
REQ-SCH-OVG-05-01-08 | SRS-AUTH-001 SRS-GUA-006 AC-AUTH-001 AC-GUA-006 | De actie Geschiedenis alleen gegevens tonen die binnen de actieve ouder/voogdrelatie en geldige autorisatiecontext zichtbaar mogen zijn |
REQ-SCH-OVG-05-01-09 | SRS-GUA-006 AC-GUA-006 | Wanneer een kind niet met een actieve oefenrun bezig is, Kijk live mee disabled zijn en mag dit niet alleen frontendmatig worden afgedwongen |
REQ-SCH-OVG-05-01-10 | SRS-GUA-006 AC-GUA-006 | Een lege staat tonen wanneer geen gekoppelde kinderen online of recent actief zijn |
REQ-SCH-OVG-05-01-11 | SRS-GUA-006 AC-GUA-006 | Voorkomen dat runtime-, geschiedenis- of live-viewfoutmeldingen gegevens over niet-gekoppelde kinderen of niet-toegestane runs prijsgeven |
5.7 Technische koppeling
Voor technische uitwerking zijn vooral relevant:
- 04 Identiteit, authenticatie en rolcontext voor actieve ouder-/voogdcontext bij online-overzichten.
- 05 Autorisatie, policies en server-side contextcontrole voor controle op zichtbare kinderen, actuele runcontext en de actie Kijk live mee.
- 10 Oefenruns, voortgang, resultaten, statistieken en PDF-brondata voor actieve runs, voortgang en actuele oefencontext.
- 12 Relatiebeheer, uitnodigingen en gedeelde oefeningen voor de ouder-/voogdrelatie die bepaalt welke kinderen in het online-overzicht mogen verschijnen.
- 15 Realtime live meekijken met SignalR voor online-status, SignalR-sessies, livebeschikbaarheid en read-only meekijken.
- 17 Readmodels, tellers, badges, caching en materialisatie voor
GuardianOnlineOverviewReadModelenLiveAvailabilityReadModel. - 19 Logging, audit, securitylogging en technische foutafhandeling voor audit en security-events rond live meekijken.
- 24 Frontend, Blazor, routing, state en componentopbouw voor realtime componentstate, disabled states, loading states en navigatie naar geschiedenis.
- 25 Privacy, retentie, anonimisering en gegevensbescherming voor gegevensminimalisatie bij online- en aanwezigheidsinformatie.