8. Online overzicht
8.0 Algemene context en rolweergave
Het scherm Online toont gekoppelde leerlingen of kinderen die op dit moment online zijn. Per zichtbaar persoon wordt de actuele online-context getoond: het huidige niveau en, wanneer er daadwerkelijk een oefening actief is, ook de actuele categorie en oefening. Vanuit dit scherm kan een bevoegde gebruiker direct naar Kijk live mee of naar Geschiedenis.
De mockup toont een gecombineerde gebruiker met zowel de rol Docent als Ouder/voogd. Daarom zijn in de mockup contexttabbladen zichtbaar: Docent en Ouder/voogd. Functioneel geldt:
- Heeft de gebruiker meerdere relevante rolcontexten, dan toont het scherm tabbladen per beschikbare online-context.
- Heeft de gebruiker alleen de rol Docent, dan wordt direct de docentinhoud getoond zonder tabbladnavigatie.
- Heeft de gebruiker alleen de rol Ouder/voogd, dan wordt direct de ouder-/voogdinhoud getoond zonder tabbladnavigatie.
- De actieve context bepaalt welke personen zichtbaar zijn, welke niveaus meetellen, of de knop Kijk live mee actief is en welke geschiedenisroute wordt geopend.
Interpretatie van mockupwaarden
Alle leerlingnamen, kindnamen, niveaus, categorieën, oefeningen, online-statussen en activiteitssituaties in de schermafbeeldingen zijn voorbeelddata uit de mockup. Zij mogen niet als vaste systeemdata worden geïnterpreteerd. De daadwerkelijke waarden worden runtime bepaald op basis van de ingelogde gebruiker, diens actieve rolcontext, gekoppelde relaties, actuele online-status en lopende exercise runs.
8.1 Docent
8.1.1 Schermafbeelding

8.1.2 Scherm meta data
| Veld | Waarde |
|---|---|
| Scherm-ID | SCH-DOC-06-01 |
| Schermnaam | Online overzicht — Docentcontext |
| Doelgroep / onderdeel | Docent |
| Bronbestand | oefenhub_docent_06_online_overzicht_v2_16.html |
| Mockupversie | V2.16 |
| Screenshotbestand | oefenhub_docent_06_online_overzicht_v2_16_tab_docent.png |
| Processtap / context | Docent bekijkt welke gekoppelde leerlingen online zijn, welk niveau zij actief gebruiken 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 | De zichtbare namen, niveaus, categorieën en oefeningen zijn mockupdata. De docenttab is alleen als tab zichtbaar wanneer de gebruiker daarnaast ook een andere relevante rolcontext heeft. |
| Route / URL-patroon | Docentnavigatie > Online. Functioneel routepatroon: /docent/online of generieke /online met actieve context Teacher. |
| Autorisatie / vereiste rol-context | Actieve docentcontext met actieve docent-leerlingrelaties. Live meekijken vereist daarnaast een actieve exercise run binnen de eigen docentcontext. |
| Primair domeinobject / hoofdentiteit | Online status van gekoppelde leerlingen en actieve exercise runs binnen docentcontext. |
| Gerelateerde schermen / navigatie | 07_bekijk_geschiedenis, 09_meekijken, 06_leerlingen. |
8.1.3 Functionele beschrijving
Dit scherm geeft de docent een actueel overzicht van leerlingen die binnen de eigen docentcontext zichtbaar mogen zijn en op dat moment online zijn. De lijst is bedoeld als startpunt voor twee contextgebonden acties:
- Kijk live mee: opent de live meekijkweergave voor een actieve oefening van de geselecteerde leerling.
- Geschiedenis: opent de geschiedenispagina voor de geselecteerde leerling binnen de eigen docentcontext.
Een leerling wordt in de docentcontext alleen getoond wanneer er een actieve docent-leerlingrelatie bestaat en de leerling op dat moment online is. De docent ziet geen leerlingen die uitsluitend via een andere rolcontext of via een andere docent zichtbaar zouden zijn. De docent ziet evenmin informatie over andere docenten die mogelijk ook aan dezelfde leerling gekoppeld zijn.
Per leerling toont de regel minimaal:
- online-indicator;
- leerlingnaam;
- huidig actief niveau;
- actuele categorie en oefening, alleen wanneer de leerling daadwerkelijk bezig is met een oefening;
- actie Kijk live mee;
- actie Geschiedenis.
De knop Kijk live mee is alleen actief wanneer de leerling daadwerkelijk een actieve, nog lopende exercise run heeft die binnen de eigen docentcontext valt. Wanneer de leerling wel online is maar niet met een oefening bezig is, blijft de knop zichtbaar maar uitgeschakeld met een toelichting waarom live meekijken niet mogelijk is.
De filters in de docenttab beïnvloeden uitsluitend de lijstweergave. Het Niveau-filter beperkt de zichtbare leerlingen tot leerlingen die binnen het gekozen docentniveau relevant zijn. De Sortering bepaalt de volgorde van de zichtbare regels, bijvoorbeeld op recentste activiteit, naam of langst online. Deze keuzes veranderen geen autorisaties en starten geen database-mutatie.
Business rules
- De docent mag alleen leerlingen zien met een actieve docent-leerlingrelatie binnen de eigen docentcontext.
- De docent mag alleen live meekijken wanneer de actieve run binnen een niveau valt waarvoor de docent richting deze leerling autorisatiecontext heeft.
- Collaboratorrechten op een niveau geven op zichzelf geen recht om leerlingen, online-statussen of live sessies van een andere docent te zien.
- Online-status is runtime-informatie en mag niet worden behandeld als permanente leerlinggeschiedenis.
- Starten van een live meekijksessie moet worden vastgelegd in het afzonderlijke auditspoor voor live meekijken.
- De actie Geschiedenis opent alleen geschiedenis die de docent binnen de eigen docentcontext mag zien.
- De zichtbare voorbeeldwaarden uit de mockup mogen nooit worden gehardcode.
8.1.4 UI-elementen en velddefinities
| Element-ID | Type | GUI-verwijzing | Omschrijving | Zichtbaar label | Opmerking | Technische naam |
|---|---|---|---|---|---|---|
| SCH-DOC-06-01-S01 | Section | Kruimelpad bovenaan | Toont de navigatiecontext van het scherm. | Home > Online | Geen mutatie; navigatiecontext. | OnlineBreadcrumb |
| SCH-DOC-06-01-S02 | Section | Introkaart | Legt uit wat de gebruiker op de onlinepagina kan doen. | Online | Tekst is informatief en contextonafhankelijk binnen dit scherm. | OnlineIntroSection |
| SCH-DOC-06-01-S03 | Section | Hoofdkaart | Container voor de actuele sessies. | Actieve sessies | Bevat tabs alleen bij meerdere rolcontexten. | ActiveSessionsCard |
| SCH-DOC-06-01-A01 | Action | Tabknop | Activeert de docentcontext binnen de gecombineerde onlineweergave. | Docent | Alleen zichtbaar wanneer meerdere online-contexten beschikbaar zijn. | ActivateTeacherContext |
| SCH-DOC-06-01-S04 | Section | Docenttab | Beschrijvende sectie voor de leerlinglijst binnen docentcontext. | Mijn leerlingen | Toont alleen leerlingen die in docentcontext zichtbaar mogen zijn. | TeacherOnlineStudentsSection |
| SCH-DOC-06-01-F01 | Field | Filterrij | Filtert de lijst op docentniveau. | Niveau | Opties worden dynamisch opgebouwd uit toegestane docentniveaus. | TeacherLevelFilter |
| SCH-DOC-06-01-F02 | Field | Filterrij | Bepaalt de volgorde van de lijst. | Sortering | Waarden zijn presentatielogica, geen autorisatieregel. | TeacherOnlineSortOrder |
| SCH-DOC-06-01-L01 | List | Leerlingenlijst | Scrollbare lijst met online leerlingen binnen de docentcontext. | n.v.t. | De lijst mag visueel scrollbaar zijn; dat betekent niet dat onbeperkt alle data tegelijk geladen moet worden. | TeacherOnlineStudentList |
| SCH-DOC-06-01-M01 | Message | Statusbol groen | Geeft aan dat de leerling online is en een actieve oefening heeft. | n.v.t. | De exacte kleur is UI-styling; de functionele status is bepalend. | OnlineAndPracticingIndicator |
| SCH-DOC-06-01-M02 | Message | Statusbol geel | Geeft aan dat de leerling online is maar niet actief oefent. | n.v.t. | In deze toestand is live meekijken niet beschikbaar. | OnlineIdleIndicator |
| SCH-DOC-06-01-F03 | Field | Leerlingregel | Toont de naam van de leerling. | <leerlingnaam> | Dynamisch uit gebruikersprofiel; mockupnamen zijn voorbeelddata. | StudentDisplayName |
| SCH-DOC-06-01-F04 | Field | Leerlingregel | Toont het huidige actieve niveau van de leerling. | Huidig niveau: <niveau> | Alleen niveaus binnen toegestane docentcontext mogen zichtbaar zijn. | CurrentTeacherVisibleLevelName |
| SCH-DOC-06-01-F05 | Field | Leerlingregel | Toont actuele categorie en oefening wanneer de leerling oefent. | <categorie> • <oefening> | Alleen zichtbaar bij een actieve run. | CurrentExerciseContextSummary |
| SCH-DOC-06-01-B01 | Button | Leerlingregel | Start de live meekijkflow voor de actieve run. | Kijk live mee | Alleen actief wanneer een toegestane actieve run bestaat. | StartLiveViewButton |
| SCH-DOC-06-01-B02 | Button | Leerlingregel | Opent de geschiedenispagina voor de geselecteerde leerling. | Geschiedenis | Toont alleen geschiedenis binnen de eigen docentcontext. | OpenStudentHistoryButton |
| SCH-DOC-06-01-M03 | Message | Tooltip op uitgeschakelde knop | Legt uit waarom live meekijken niet beschikbaar is. | Deze leerling is op dit moment niet bezig met een oefening, daarom kan er niet meegekeken worden. | Toegankelijk beschikbaar via tooltip, aria-description of gelijkwaardige UI. | LiveViewUnavailableMessage |
8.1.5 Waardelagen
| Element-ID | GUI-verwijzing | Zichtbaar label | Technische naam | Databron | Waardebron | Datatype | Bewerkbaar | Validatie / regel |
|---|---|---|---|---|---|---|---|---|
| SCH-DOC-06-01-S01 | Kruimelpad | Home > Online | OnlineBreadcrumb | Routeconfiguratie / frontend-router | Afgeleid | String / route | Nee | Moet overeenkomen met de actieve route. |
| SCH-DOC-06-01-S03 | Hoofdkaart | Actieve sessies | ActiveSessionsCard | Applicatiecontext / gebruikersrollen | Afgeleid | UI-container | Nee | Tabs alleen tonen bij meer dan één relevante online-context. |
| SCH-DOC-06-01-A01 | Contexttab | Docent | TeacherContextTab | UserRoles, actieve rolcontext | Database + afgeleid | Boolean / enum | Nee | Alleen beschikbaar wanneer gebruiker rol Docent heeft. |
| SCH-DOC-06-01-S04 | Sectietitel | Mijn leerlingen | TeacherOnlineStudentsSection | UserRelationships, Users | Database | Collection | Nee | Alleen actieve docent-leerlingrelaties tellen mee. |
| SCH-DOC-06-01-F01 | Niveau-filter | Niveau | TeacherLevelFilter | TeacherLevels, TeacherStudentLevelAccess | Database + afgeleid | GUID / selectie | Ja, UI-keuze | Dropdown mag alleen niveaus bevatten die binnen deze docentcontext relevant zijn. |
| SCH-DOC-06-01-F02 | Sortering | Sortering | TeacherOnlineSortOrder | Vaste UI-enum / gebruikersvoorkeur optioneel | User input | Enum | Ja | Toegestane waarden: Recentste activiteit, Naam A-Z, Langst online. |
| SCH-DOC-06-01-L01 | Leerlingenlijst | n.v.t. | TeacherOnlineStudentList | Users, UserRelationships, SignalR presence store, ExerciseRuns | Database + runtime | Collection | Nee | Alleen online leerlingen tonen die binnen docentcontext zichtbaar zijn. |
| SCH-DOC-06-01-M01 | Statusindicator | n.v.t. | OnlineAndPracticingIndicator | SignalR presence store, ExerciseRuns | Berekend | Boolean/status | Nee | Waar wanneer leerling online is en een toegestane actieve run heeft. |
| SCH-DOC-06-01-M02 | Statusindicator | n.v.t. | OnlineIdleIndicator | SignalR presence store, ExerciseRuns | Berekend | Boolean/status | Nee | Waar wanneer leerling online is maar geen actieve toegestane run heeft. |
| SCH-DOC-06-01-F03 | Leerlingnaam | <leerlingnaam> | StudentDisplayName | Users / UserProfiles | Database | String | Nee | Namen worden volgens de gekozen naamweergave opgebouwd. |
| SCH-DOC-06-01-F04 | Huidig niveau | Huidig niveau: <niveau> | CurrentTeacherVisibleLevelName | TeacherLevels, TeacherStudentLevelAccess, ExerciseRuns | Database + afgeleid | String | Nee | Niveau mag alleen zichtbaar zijn wanneer het binnen de docentcontext valt. |
| SCH-DOC-06-01-F05 | Actieve oefencontext | <categorie> • <oefening> | CurrentExerciseContextSummary | ExerciseRuns, Exercises, TeacherLevelCategories, Categories | Database + runtime | String | Nee | Alleen tonen bij actieve run; niet tonen bij online zonder oefening. |
| SCH-DOC-06-01-B01 | Actieknop | Kijk live mee | StartLiveViewButton | ExerciseRuns, TeacherStudentLevelAccess, featuretoggle Live meekijken | Berekend | Boolean/action | Ja | Actief alleen bij toegestane actieve run; bij start LiveViewAudit registreren. |
| SCH-DOC-06-01-B02 | Actieknop | Geschiedenis | OpenStudentHistoryButton | Routeconfiguratie, geselecteerde leerling, actieve docentcontext | Afgeleid | Action | Ja | Route moet leerling en docentcontext server-side autoriseren. |
| SCH-DOC-06-01-M03 | Tooltip | Deze leerling is op dit moment niet bezig met een oefening, daarom kan er niet meegekeken worden. | LiveViewUnavailableMessage | UI-regel op basis van actieve run | Berekend | String | Nee | Tonen wanneer live meekijken niet beschikbaar is door ontbreken actieve oefening. |
Procesverloop
- Bij openen van het scherm bepaalt de applicatie de beschikbare online-contexten voor de ingelogde gebruiker.
- In docentcontext worden actieve docent-leerlingrelaties opgehaald en gecombineerd met actuele online-presence.
- Voor online leerlingen wordt bepaald of er een actieve, toegestane exercise run bestaat.
- De lijst wordt gefilterd op gekozen niveau en gesorteerd volgens de gekozen sortering.
- Bij Kijk live mee wordt opnieuw server-side gecontroleerd of de run nog actief is en of de docent mag meekijken.
- Bij succesvolle start wordt een LiveViewAudit-record aangemaakt en opent scherm 09_meekijken.
- Bij Geschiedenis wordt de geschiedenispagina geopend met de geselecteerde leerling en docentcontext.
Randvoorwaarden
- SignalR-presence of een functioneel gelijkwaardige runtime online-registratie is nodig voor actuele online-status.
- De UI mag geen toegang verlenen op basis van alleen zichtbaarheid; alle acties moeten server-side opnieuw autoriseren.
- Het ontbreken van een actieve run mag geen fouttoestand zijn; het resulteert in een uitgeschakelde liveknop met toelichting.
- Bij verbindingsverlies of race conditions moet de liveactie veilig falen met een begrijpelijke melding.
8.1.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-DOC-06-01-01 | SRS-LIVE-002 AC-LIVE-002 | Het online-overzicht in docentcontext alleen beschikbaar maken voor gebruikers met een actieve docentrol |
REQ-SCH-DOC-06-01-02 | SRS-LIVE-002 AC-LIVE-002 | Contexttabbladen tonen wanneer de gebruiker meerdere relevante online-contexten heeft en de tabbladen verbergen wanneer slechts één context beschikbaar is |
REQ-SCH-DOC-06-01-03 | SRS-LIVE-002 AC-LIVE-002 | In docentcontext uitsluitend leerlingen tonen met een actieve docent-leerlingrelatie met de ingelogde docent |
REQ-SCH-DOC-06-01-04 | SRS-LIVE-002 AC-LIVE-002 | Leerlingen in dit scherm alleen tonen wanneer zij op dat moment online zijn volgens de actuele presence-registratie |
REQ-SCH-DOC-06-01-05 | SRS-LIVE-002 AC-LIVE-002 | Per online leerling het huidige actieve niveau tonen voor zover dat niveau binnen de docentcontext zichtbaar mag zijn |
REQ-SCH-DOC-06-01-06 | SRS-LIVE-002 AC-LIVE-002 | Per online leerling de actuele categorie en oefening tonen wanneer de leerling daadwerkelijk bezig is met een toegestane actieve oefening |
REQ-SCH-DOC-06-01-07 | SRS-LIVE-002 AC-LIVE-002 | De knop Kijk live mee alleen activeren wanneer een toegestane actieve exercise run bestaat |
REQ-SCH-DOC-06-01-08 | SRS-LIVE-002 AC-LIVE-002 | De knop Kijk live mee uitgeschakeld tonen met toelichting wanneer de leerling online is maar niet actief oefent |
REQ-SCH-DOC-06-01-09 | SRS-AUTH-001 SRS-LIVE-002 AC-AUTH-001 AC-LIVE-002 | Bij starten van live meekijken server-side opnieuw controleren of de docent de run mag bekijken |
REQ-SCH-DOC-06-01-10 | SRS-NFR-AUD-001 SRS-LIVE-002 AC-NFR-AUD-001 AC-LIVE-002 | Iedere gestarte live meekijksessie registreren in het afzonderlijke live-auditspoor |
REQ-SCH-DOC-06-01-11 | SRS-LIVE-002 AC-LIVE-002 | Het systeem mag collaboratorrechten niet gebruiken als zelfstandig recht om leerlingstatus, actieve runs of live meekijken te openen |
REQ-SCH-DOC-06-01-12 | SRS-LIVE-002 AC-LIVE-002 | Het niveau-filter vullen met uitsluitend niveaus die binnen de actieve docentcontext relevant en toegestaan zijn |
REQ-SCH-DOC-06-01-13 | SRS-LIVE-002 AC-LIVE-002 | Sortering ondersteunen op minimaal recentste activiteit, naam A-Z en langst online |
REQ-SCH-DOC-06-01-14 | SRS-LIVE-002 AC-LIVE-002 | De actie Geschiedenis openen binnen dezelfde docentcontext als de onlineweergave |
REQ-SCH-DOC-06-01-15 | SRS-LIVE-002 AC-LIVE-002 | Voorkomen dat online-status of actieve-run informatie van andere docentcontexten zichtbaar wordt |
REQ-SCH-DOC-06-01-16 | SRS-LIVE-002 AC-LIVE-002 | Mockupwaarden zoals namen, niveaus, categorieën en oefeningen altijd dynamisch afleiden en nooit hardcoded gebruiken |
REQ-SCH-DOC-06-01-17 | SRS-LIVE-002 AC-LIVE-002 | Race conditions afhandelen waarbij een leerling de oefening beëindigt tussen lijstweergave en klik op Kijk live mee |
REQ-SCH-DOC-06-01-18 | SRS-LIVE-002 AC-LIVE-002 | Een lege staat tonen wanneer er geen online leerlingen binnen de docentcontext beschikbaar zijn |
REQ-SCH-DOC-06-01-19 | SRS-AUTH-004 SRS-LIVE-002 AC-AUTH-004 AC-LIVE-002 | Technische identifiers zoals GUID's, run-id's en connection-id's niet zichtbaar tonen aan de docent |
REQ-SCH-DOC-06-01-20 | SRS-LIVE-002 AC-LIVE-002 | Onlinegegevens als actuele runtime-informatie behandelen en niet als permanente leerlinggeschiedenis |
8.2 Ouder/voogd
8.2.1 Schermafbeelding

8.2.2 Scherm meta data
| Veld | Waarde |
|---|---|
| Scherm-ID | SCH-OVG-03-01 |
| Schermnaam | Online overzicht — Ouder-/voogdcontext |
| Doelgroep / onderdeel | Ouder/voogd |
| Bronbestand | oefenhub_docent_06_online_overzicht_v2_16.html |
| Mockupversie | V2.16 |
| Screenshotbestand | oefenhub_docent_06_online_overzicht_v2_16_tab_ouder_voogd.png |
| Processtap / context | Ouder/voogd bekijkt 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 | OVG is gebruikt als rolcode voor Ouder/voogd. De zichtbare kindnamen, niveaus, categorieën en oefeningen zijn mockupdata. |
| Route / URL-patroon | Ouder-/voogdnavigatie > Online. Functioneel routepatroon: /ouder-voogd/online of generieke /online met actieve context Guardian. |
| Autorisatie / vereiste rol-context | Actieve ouder-/voogdcontext met actieve ouder-/voogd-kindrelaties. Live meekijken is toegestaan voor actieve oefeningen van gekoppelde kinderen. |
| Primair domeinobject / hoofdentiteit | Online status van gekoppelde kinderen en actieve exercise runs. |
| Gerelateerde schermen / navigatie | 09_meekijken, 07_bekijk_geschiedenis of ouder-/voogdgeschiedenis, ouder-/voogd-kinderenoverzicht. |
8.2.3 Functionele beschrijving
De ouder-/voogdcontext toont online kinderen die via een actieve ouder-/voogdrelatie aan de ingelogde gebruiker gekoppeld zijn. De weergave gebruikt functioneel dezelfde online- en live-meekijkbasis als de docentcontext, maar de autorisatiegrens is anders: een ouder/voogd mag de online oefeningen van gekoppelde kinderen volgen over alle niveaus heen, ongeacht welke docent het niveau of de oefening heeft aangeboden.
Per kind toont de regel minimaal:
- online-indicator;
- kindnaam;
- relatie-aanduiding Mijn kind;
- huidig niveau;
- actuele categorie en oefening, alleen wanneer het kind daadwerkelijk bezig is met een oefening;
- actie Kijk live mee;
- actie Geschiedenis.
De knop Kijk live mee is actief wanneer het kind online is en een actieve oefening heeft. Wanneer het kind wel online is maar op dat moment niet met een oefening bezig is, blijft de knop zichtbaar maar uitgeschakeld met de toelichting dat er niet meegekeken kan worden.
In de huidige mockup bevat de ouder-/voogdtab geen niveau- of sorteerfilter. De lijst wordt rechtstreeks opgebouwd vanuit de gekoppelde kinderen die op dat moment online zijn. Eventuele sorteer- of naamweergavevoorkeuren kunnen als presentatievoorkeur worden toegepast, maar wijzigen nooit welke kinderen functioneel zichtbaar zijn.
Business rules
- Een ouder/voogd mag alleen kinderen zien met een actieve ouder-/voogdrelatie.
- Een ouder/voogd mag live meekijken met actieve oefeningen van gekoppelde kinderen over alle niveaus heen.
- Een ouder/voogd mag geen oefeningen genereren, starten of inhoudelijk beïnvloeden vanuit dit scherm.
- De live meekijkweergave is altijd alleen-lezen.
- Geschiedenis vanuit deze context moet aansluiten op de ouder-/voogdrechten: alle niveaus van het gekoppelde kind mogen zichtbaar zijn.
- Online-status en actieve oefencontext zijn runtimewaarden en mogen niet worden gehardcode.
- De actie Kijk live mee moet opnieuw server-side autoriseren, ook wanneer de knop in de UI actief lijkt.
8.2.4 UI-elementen en velddefinities
| Element-ID | Type | GUI-verwijzing | Omschrijving | Zichtbaar label | Opmerking | Technische naam |
|---|---|---|---|---|---|---|
| SCH-OVG-03-01-S01 | Section | Kruimelpad bovenaan | Toont de navigatiecontext van het scherm. | Home > Online | Geen mutatie; navigatiecontext. | GuardianOnlineBreadcrumb |
| SCH-OVG-03-01-S02 | Section | Introkaart | Legt uit wat de gebruiker op de onlinepagina kan doen. | Online | De tekst in de mockup gebruikt “leerlingen”; in ouder-/voogdcontext is de functionele betekenis “kinderen”. | GuardianOnlineIntroSection |
| SCH-OVG-03-01-S03 | Section | Hoofdkaart | Container voor de actuele sessies. | Actieve sessies | Bevat tabs alleen bij meerdere rolcontexten. | GuardianActiveSessionsCard |
| SCH-OVG-03-01-A01 | Action | Tabknop | Activeert de ouder-/voogdcontext binnen de gecombineerde onlineweergave. | Ouder/voogd | Alleen zichtbaar wanneer meerdere online-contexten beschikbaar zijn. | ActivateGuardianContext |
| SCH-OVG-03-01-S04 | Section | Ouder-/voogdtab | Beschrijvende sectie voor de kinderlijst. | Mijn kinderen | Toont alleen kinderen die binnen ouder-/voogdcontext zichtbaar mogen zijn. | GuardianOnlineChildrenSection |
| SCH-OVG-03-01-L01 | List | Kinderlijst | Scrollbare lijst met online kinderen binnen de ouder-/voogdcontext. | n.v.t. | Geen filterrij zichtbaar in de huidige mockup. | GuardianOnlineChildList |
| SCH-OVG-03-01-M01 | Message | Statusbol groen | Geeft aan dat het kind online is en een actieve oefening heeft. | n.v.t. | De exacte kleur is UI-styling; de functionele status is bepalend. | ChildOnlineAndPracticingIndicator |
| SCH-OVG-03-01-M02 | Message | Statusbol geel | Geeft aan dat het kind online is maar niet actief oefent. | n.v.t. | In deze toestand is live meekijken niet beschikbaar. | ChildOnlineIdleIndicator |
| SCH-OVG-03-01-F01 | Field | Kinderregel | Toont de naam van het kind. | <kindnaam> | Dynamisch uit gebruikersprofiel; mockupnamen zijn voorbeelddata. | ChildDisplayName |
| SCH-OVG-03-01-F02 | Field | Kinderregel | Toont relatieaanduiding en huidig niveau. | Mijn kind • <niveau> | Relatieaanduiding volgt uit ouder-/voogdrelatie. | GuardianChildLevelSummary |
| SCH-OVG-03-01-F03 | Field | Kinderregel | Toont actuele categorie en oefening wanneer het kind oefent. | <categorie> • <oefening> | Alleen zichtbaar bij actieve run. | ChildCurrentExerciseContextSummary |
| SCH-OVG-03-01-B01 | Button | Kinderregel | Start de live meekijkflow voor de actieve run. | Kijk live mee | Alleen actief wanneer een actieve run bestaat. | GuardianStartLiveViewButton |
| SCH-OVG-03-01-B02 | Button | Kinderregel | Opent de geschiedenis voor het geselecteerde kind. | Geschiedenis | In ouder-/voogdcontext over alle niveaus van het kind. | GuardianOpenChildHistoryButton |
| SCH-OVG-03-01-M03 | Message | Tooltip op uitgeschakelde knop | Legt uit waarom live meekijken niet beschikbaar is. | Dit kind is op dit moment niet bezig met een oefening, daarom kan er niet meegekeken worden. | Toegankelijk beschikbaar via tooltip, aria-description of gelijkwaardige UI. | GuardianLiveViewUnavailableMessage |
8.2.5 Waardelagen
| Element-ID | GUI-verwijzing | Zichtbaar label | Technische naam | Databron | Waardebron | Datatype | Bewerkbaar | Validatie / regel |
|---|---|---|---|---|---|---|---|---|
| SCH-OVG-03-01-S01 | Kruimelpad | Home > Online | GuardianOnlineBreadcrumb | Routeconfiguratie / frontend-router | Afgeleid | String / route | Nee | Moet overeenkomen met de actieve route. |
| SCH-OVG-03-01-S03 | Hoofdkaart | Actieve sessies | GuardianActiveSessionsCard | Applicatiecontext / gebruikersrollen | Afgeleid | UI-container | Nee | Tabs alleen tonen bij meer dan één relevante online-context. |
| SCH-OVG-03-01-A01 | Contexttab | Ouder/voogd | GuardianContextTab | UserRoles, actieve rolcontext | Database + afgeleid | Boolean / enum | Nee | Alleen beschikbaar wanneer gebruiker rol Ouder/voogd heeft. |
| SCH-OVG-03-01-S04 | Sectietitel | Mijn kinderen | GuardianOnlineChildrenSection | UserRelationships, Users | Database | Collection | Nee | Alleen actieve ouder-/voogd-kindrelaties tellen mee. |
| SCH-OVG-03-01-L01 | Kinderlijst | n.v.t. | GuardianOnlineChildList | Users, UserRelationships, SignalR presence store, ExerciseRuns | Database + runtime | Collection | Nee | Alleen online kinderen tonen die binnen ouder-/voogdcontext zichtbaar zijn. |
| SCH-OVG-03-01-M01 | Statusindicator | n.v.t. | ChildOnlineAndPracticingIndicator | SignalR presence store, ExerciseRuns | Berekend | Boolean/status | Nee | Waar wanneer kind online is en een actieve run heeft. |
| SCH-OVG-03-01-M02 | Statusindicator | n.v.t. | ChildOnlineIdleIndicator | SignalR presence store, ExerciseRuns | Berekend | Boolean/status | Nee | Waar wanneer kind online is maar geen actieve run heeft. |
| SCH-OVG-03-01-F01 | Kindnaam | <kindnaam> | ChildDisplayName | Users / UserProfiles | Database | String | Nee | Namen worden volgens de gekozen naamweergave opgebouwd. |
| SCH-OVG-03-01-F02 | Relatie en niveau | Mijn kind • <niveau> | GuardianChildLevelSummary | UserRelationships, TeacherLevels, ExerciseRuns | Database + afgeleid | String | Nee | Relatie moet actief zijn; niveau is de actuele actieve niveaucontext van het kind. |
| SCH-OVG-03-01-F03 | Actieve oefencontext | <categorie> • <oefening> | ChildCurrentExerciseContextSummary | ExerciseRuns, Exercises, TeacherLevelCategories, Categories | Database + runtime | String | Nee | Alleen tonen bij actieve run; niet tonen bij online zonder oefening. |
| SCH-OVG-03-01-B01 | Actieknop | Kijk live mee | GuardianStartLiveViewButton | ExerciseRuns, UserRelationships, featuretoggle Live meekijken | Berekend | Boolean/action | Ja | Actief alleen bij actieve run van gekoppeld kind; bij start LiveViewAudit registreren. |
| SCH-OVG-03-01-B02 | Actieknop | Geschiedenis | GuardianOpenChildHistoryButton | Routeconfiguratie, geselecteerd kind, actieve ouder-/voogdcontext | Afgeleid | Action | Ja | Route moet kindrelatie server-side autoriseren. |
| SCH-OVG-03-01-M03 | Tooltip | Dit kind is op dit moment niet bezig met een oefening, daarom kan er niet meegekeken worden. | GuardianLiveViewUnavailableMessage | UI-regel op basis van actieve run | Berekend | String | Nee | Tonen wanneer live meekijken niet beschikbaar is door ontbreken actieve oefening. |
Procesverloop
- Bij openen van de ouder-/voogdcontext haalt de applicatie actieve ouder-/voogd-kindrelaties op.
- De zichtbare kinderen worden gecombineerd met actuele online-presence.
- Voor online kinderen wordt bepaald of er een actieve exercise run bestaat.
- Wanneer een actieve run bestaat, worden niveau, categorie en oefening voor weergave opgehaald.
- Bij Kijk live mee wordt opnieuw server-side gecontroleerd of het kind nog gekoppeld is en of de run nog actief is.
- Bij succesvolle start wordt een LiveViewAudit-record aangemaakt en opent scherm 09_meekijken.
- Bij Geschiedenis wordt de geschiedenis van het geselecteerde kind geopend binnen ouder-/voogdcontext.
Randvoorwaarden
- De ouder-/voogdcontext heeft een bredere inzagegrens dan de docentcontext: alle niveaus van het gekoppelde kind mogen zichtbaar zijn.
- De ouder/voogd mag vanuit dit scherm geen oefening starten, beantwoorden, onderbreken of aanpassen.
- Bij gecombineerde rollen moet duidelijk zijn vanuit welke rolcontext live meekijken wordt gestart, omdat die context in LiveViewAudit wordt vastgelegd.
- Het systeem moet veilig omgaan met situaties waarin een kind de oefening beëindigt voordat de meekijkweergave opent.
8.2.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-03-01-01 | SRS-LIVE-002 AC-LIVE-002 | Het online-overzicht in ouder-/voogdcontext alleen beschikbaar maken voor gebruikers met een actieve ouder-/voogdrol |
REQ-SCH-OVG-03-01-02 | SRS-LIVE-002 AC-LIVE-002 | Contexttabbladen tonen wanneer de gebruiker meerdere relevante online-contexten heeft en de tabbladen verbergen wanneer slechts één context beschikbaar is |
REQ-SCH-OVG-03-01-03 | SRS-AUTH-001 SRS-LIVE-002 AC-AUTH-001 AC-LIVE-002 | In ouder-/voogdcontext uitsluitend kinderen tonen met een actieve ouder-/voogd-kindrelatie met de ingelogde gebruiker |
REQ-SCH-OVG-03-01-04 | SRS-LIVE-002 AC-LIVE-002 | Kinderen in dit scherm alleen tonen wanneer zij op dat moment online zijn volgens de actuele presence-registratie |
REQ-SCH-OVG-03-01-05 | SRS-LIVE-002 AC-LIVE-002 | Per online kind het actuele niveau tonen waarin het kind zich op dat moment bevindt |
REQ-SCH-OVG-03-01-06 | SRS-LIVE-002 AC-LIVE-002 | Per online kind de actuele categorie en oefening tonen wanneer het kind daadwerkelijk bezig is met een oefening |
REQ-SCH-OVG-03-01-07 | SRS-LIVE-002 AC-LIVE-002 | De knop Kijk live mee alleen activeren wanneer het gekoppelde kind een actieve exercise run heeft |
REQ-SCH-OVG-03-01-08 | SRS-LIVE-002 AC-LIVE-002 | De knop Kijk live mee uitgeschakeld tonen met toelichting wanneer het kind online is maar niet actief oefent |
REQ-SCH-OVG-03-01-09 | SRS-AUTH-001 SRS-LIVE-002 AC-AUTH-001 AC-LIVE-002 | Bij starten van live meekijken server-side opnieuw controleren of de ouder/voogd nog een actieve relatie met het kind heeft |
REQ-SCH-OVG-03-01-10 | SRS-AUTH-001 SRS-NFR-AUD-001 AC-AUTH-001 AC-NFR-AUD-001 | Iedere gestarte live meekijksessie registreren in het afzonderlijke live-auditspoor, inclusief ouder-/voogdrolcontext |
REQ-SCH-OVG-03-01-11 | SRS-LIVE-002 AC-LIVE-002 | Ouder-/voogdgeschiedenis openen over alle niveaus van het geselecteerde gekoppelde kind |
REQ-SCH-OVG-03-01-12 | SRS-LIVE-002 AC-LIVE-002 | Het systeem mag de ouder/voogd vanuit dit scherm geen mogelijkheid geven om oefeningen te starten, te beantwoorden of te wijzigen |
REQ-SCH-OVG-03-01-13 | SRS-LIVE-002 AC-LIVE-002 | Online-status en actieve oefencontext behandelen als runtime-informatie en niet als vaste of permanente geschiedenisdata |
REQ-SCH-OVG-03-01-14 | SRS-LIVE-002 AC-LIVE-002 | Mockupwaarden zoals kindnamen, niveaus, categorieën en oefeningen altijd dynamisch afleiden en nooit hardcoded gebruiken |
REQ-SCH-OVG-03-01-15 | SRS-LIVE-002 AC-LIVE-002 | Een lege staat tonen wanneer er geen online kinderen binnen de ouder-/voogdcontext beschikbaar zijn |
REQ-SCH-OVG-03-01-16 | SRS-AUTH-004 SRS-LIVE-002 AC-AUTH-004 AC-LIVE-002 | Technische identifiers zoals GUID's, run-id's en connection-id's niet zichtbaar tonen aan de ouder/voogd |
REQ-SCH-OVG-03-01-17 | SRS-LIVE-002 AC-LIVE-002 | Race conditions afhandelen waarbij het kind de oefening beëindigt tussen lijstweergave en klik op Kijk live mee |
REQ-SCH-OVG-03-01-18 | SRS-AUTH-001 SRS-NFR-AUD-001 AC-AUTH-001 AC-NFR-AUD-001 | Bij gecombineerde rollen de gekozen rolcontext meenemen in autorisatie, routing en live-auditregistratie |
8.3 Technische koppeling
Voor technische uitwerking zijn vooral relevant:
- 05 Autorisatie, policies en server-side contextcontrole voor server-side controle op zichtbare leerlingen en toegang tot online-informatie.
- 10 Oefenruns, voortgang, resultaten, statistieken en PDF-brondata voor actuele oefenrunstatus en voortgangscontext.
- 11 Rolflows technisch voor docent- en ouder-/voogdcontexten binnen online-overzichten.
- 15 Realtime live meekijken met SignalR voor aanwezigheid, live-status en meekijkstart vanuit het online-overzicht.
- 17 Readmodels, tellers, badges, caching en materialisatie voor
GuardianOnlineOverviewReadModel,LiveAvailabilityReadModelen vergelijkbare online-overzichten. - 24 Frontend, Blazor, routing, state en componentopbouw voor realtime UI-state, sortering, filtering en navigatie.
- 25 Privacy, retentie, anonimisering en gegevensbescherming voor dataminimalisatie bij online- en aanwezigheidsinformatie.