13. Docent ondersteuning
13.0 Schermbrede uitgangspunten
De pagina Docent ondersteuning is een beheerderpagina binnen het onderdeel Content. De pagina is bedoeld om één geselecteerde docentcontext te analyseren en, waar nodig, gericht te ondersteunen. De pagina is geen centrale bulkbeheerpagina voor alle docentstructuren en vervangt ook niet de centrale beheerpagina's Categorieën en Modules.
Header, beheerdernavigatie, berichteningang, profielmenu en footer vallen buiten de scope van dit schermdocument. Alleen de viewspecifieke inhoud van Docent ondersteuning wordt beschreven.
Alle namen, aantallen, statussen, datums, recente wijzigingen en voorbeeldwaarden in de mockup zijn dynamische waarden. Zij worden afgeleid uit gebruikers-, relatie-, docentstructuur-, oefen-, autorisatie- en historiegegevens. Mockupwaarden mogen niet als vaste productiegegevens worden geïnterpreteerd.
De ondersteuningsweergave werkt steeds vanuit één geselecteerde docent. Mutaties die via deze pagina worden uitgevoerd, zijn uitzonderlijke beheerhandelingen. Zij moeten server-side worden geautoriseerd, binnen de gekozen docentcontext blijven, een verplichte beheerdersreden vastleggen en auditbaar zijn.
13.1 Landingspagina
13.1.1 Schermafbeelding

13.1.2 Scherm meta data
| Veld | Waarde |
|---|---|
| Scherm-ID | SCH-BEH-12-01 |
| Schermnaam | Docent ondersteuning — Landingspagina |
| Doelgroep / onderdeel | Beheerder |
| Bronbestand | oefenhub_beheerder_13_docent_ondersteuning_V1_9.html |
| Mockupversie | V1.9 |
| Screenshotbestand | oefenhub_beheerder_13_docent_ondersteuning_v1_9.png |
| Processtap / context | Beheerder opent Docent ondersteuning vanuit het beheerderonderdeel Content en selecteert eerst één docent. |
| Documentatiestatus | Uitgewerkt op basis van HTML-mockup, PNG-screenshot, Functioneel Ontwerp, Technisch Ontwerp, Software Requirements Specification en ondersteunende documentatie. |
| Opmerkingen | De pagina gebruikt bewust een tweestapsflow: eerst docent selecteren, daarna ondersteunen. |
| Route / URL-patroon | Functioneel routepatroon: beheer/content/docent-ondersteuning |
| Autorisatie / vereiste rol-context | Actieve beheerdercontext met recht om docentcontexten te bekijken en ondersteuningsacties te starten. |
| Primair domeinobject / hoofdentiteit | Docentgebruiker als ondersteuningscontext, opgebouwd uit Users, UserRoles en docentstructuurgegevens. |
| Gerelateerde schermen / navigatie | Accounts, Categorieën, Modules, Meldingen overzicht, Ondersteun docent-tabs. |
| Data-karakter | Samengesteld read model met dynamische aantallen, statuswaarden en selectiecontext. |
13.1.3 Functionele beschrijving
De landingspagina toont een overzicht van docenten waarvoor ondersteuning kan worden geopend. De beheerder gebruikt deze pagina om de juiste docent te zoeken, de samenvattingswaarden te beoordelen en daarna via Ondersteun docent de detailcontext van precies die docent te openen.
De pagina bevat geen bulkacties op docentstructuren. Een klik op Ondersteun docent is een navigatieactie naar een tabgebaseerde detailweergave. De landingspagina wijzigt zelf geen niveaus, categorieën, oefeningen, leerlingtoegang, collaborators of eigenaarschap.
Per docentregel toont het systeem dynamische samenvattingswaarden, zoals accountstatus, actieve rollen, aantal niveaus, aantal actieve categorieën, aantal actieve oefeningen, aantal collaborators en aantal leerlingen met toegang. Deze waarden worden server-side opgebouwd uit de actuele docentstructuur en autorisatielagen. De zoekinvoer filtert het overzicht zonder gegevens te wijzigen.
Wanneer er geen docenten beschikbaar zijn, toont het scherm een lege staat met een begrijpelijke melding. Wanneer zoeken geen resultaat oplevert, blijft de zoekterm zichtbaar en wordt aangegeven dat er geen docenten aan de huidige filter voldoen. Als de samenvattingswaarden niet geladen kunnen worden, moet het systeem onderscheid maken tussen een echte nulwaarde en een laad- of autorisatiefout.
13.1.4 UI-elementen en velddefinities
| Element-ID | Type | GUI-verwijzing | Omschrijving | Zichtbaar label | Opmerking | Technische naam |
|---|---|---|---|---|---|---|
| SCH-BEH-12-01-S01 | S | Pagina-intro | Introblok van Docent ondersteuning. | Docent ondersteuning | Legt uit dat ondersteuning per docentcontext werkt. | TeacherSupportIntroSection |
| SCH-BEH-12-01-FILTER01 | FILTER | Zoek docent | Zoekveld voor docentnaam, e-mailadres of andere toegestane identificatie. | Zoek docent | Filtert de zichtbare docentregels. | TeacherSearchFilter |
| SCH-BEH-12-01-T01 | T | Docentenoverzicht | Overzicht met selecteerbare docentregels en ondersteuningssamenvatting. | Docenten | Dynamische lijst op basis van beheerderautorisatie. | TeacherSupportOverviewList |
| SCH-BEH-12-01-F01 | F | Docentregel - naam | Naamweergave van de docent. | Naam | Dynamisch uit gebruikersprofiel. | TeacherDisplayNameValue |
| SCH-BEH-12-01-F02 | F | Docentregel - status | Accountstatus van de docent. | Status | Afgeleid uit accountstatus en roltoewijzing. | TeacherAccountStatusValue |
| SCH-BEH-12-01-F03 | F | Docentregel - rollen | Actieve rollen van de gebruiker. | Rollen | Toont alleen functioneel relevante rollen. | TeacherActiveRolesValue |
| SCH-BEH-12-01-F04 | F | Docentregel - samenvatting | Samenvatting van niveaus, categorieën, oefeningen, collaborators en leerlingtoegang. | Samenvatting | Alle aantallen zijn dynamisch. | TeacherSupportSummaryValue |
| SCH-BEH-12-01-B01 | B | Docentregel - Ondersteun docent | Opent de ondersteuningsweergave voor de gekozen docent. | Ondersteun docent | Navigatieactie; geen mutatie. | OpenTeacherSupportButton |
| SCH-BEH-12-01-M01 | M | Lege staat | Melding wanneer er geen docenten of geen zoekresultaten zijn. | Geen docenten gevonden | Tekst verschilt per lege staat. | TeacherSupportEmptyStateMessage |
13.1.5 Waardelagen
| Element-ID | GUI-verwijzing | Zichtbaar label | Technische naam | Databron | Waardebron | Datatype | Bewerkbaar | Validatie / regel |
|---|---|---|---|---|---|---|---|---|
| SCH-BEH-12-01-FILTER01 | Zoek docent | Zoek docent | TeacherSearchFilter | Geen persistente opslag; query/filter op Users en UserRoles | Gebruikersinvoer voor lijstfiltering | string | Ja | Filter mag geen data wijzigen en moet server-side worden begrensd op beheerderautorisatie. |
| SCH-BEH-12-01-T01 | Docentenoverzicht | Docenten | TeacherSupportOverviewList | Users, UserRoles, Roles, TeacherLevels, TeacherLevelCategories, TeacherLevelCategoryExercises, Exercises, TeacherLevelCollaborators, TeacherStudentLevelAccess | Samengesteld read model voor docenten met ondersteuningsrelevante kengetallen | list | Nee | Alleen gebruikers met actieve of historisch relevante docentcontexten mogen zichtbaar zijn binnen de beheerderrechten. |
| SCH-BEH-12-01-F02 | Docentregel - status | Status | TeacherAccountStatusValue | Users.IsActive, UserRoles.IsActive, Roles.Code | Afgeleide account- en rolstatus | enum/string | Nee | Status is read-only en mag niet vanuit deze pagina worden aangepast. |
| SCH-BEH-12-01-F04 | Docentregel - samenvatting | Samenvatting | TeacherSupportSummaryValue | TeacherLevels, TeacherLevelCategories, TeacherLevelCategoryExercises, Exercises, TeacherLevelCollaborators, TeacherStudentLevelAccess | Dynamische tellingen binnen de docentcontext | composite | Nee | Tellingen moeten statusfilters expliciet toepassen en nulwaarden onderscheiden van laadfouten. |
| SCH-BEH-12-01-B01 | Ondersteun docent | Ondersteun docent | OpenTeacherSupportButton | Geselecteerde Users.Id met actieve docentrol of relevante docentstructuur | Navigatieactie naar detailcontext | action | Ja | Alleen beschikbaar voor een docentregel waarvoor de beheerder ondersteuning mag openen. |
13.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-BEH-12-01-01 | SRS-AUTH-001 SRS-ADM-008 AC-AUTH-001 AC-ADM-008 | Een overzicht tonen van docenten die binnen de beheerdercontext voor ondersteuning beschikbaar zijn |
REQ-SCH-BEH-12-01-02 | SRS-RDM-004 SRS-RDM-006 SRS-RDM-002 SRS-RDM-001 SRS-AUTH-001 SRS-ADM-008 AC-RDM-004 AC-RDM-006 AC-RDM-002 AC-RDM-001 AC-AUTH-001 AC-ADM-008 | Per docent het systeem minimaal naam, accountstatus, actieve rollen, aantal niveaus, aantal actieve categorieën, aantal actieve oefeningen, aantal collaborators en aantal leerlingen met toegang kunnen tonen |
REQ-SCH-BEH-12-01-03 | SRS-ADM-008 AC-ADM-008 | Een tweestapsflow afdwingen waarbij eerst een docent wordt gekozen en pas daarna de ondersteuningsweergave voor die docent wordt geopend |
REQ-SCH-BEH-12-01-04 | SRS-ADM-008 AC-ADM-008 | De landingspagina mag geen bulkmutaties op docentstructuren aanbieden |
REQ-SCH-BEH-12-01-05 | SRS-RDM-004 SRS-RDM-002 SRS-RDM-001 SRS-AUTH-001 SRS-ADM-008 AC-RDM-004 AC-RDM-002 AC-RDM-001 AC-AUTH-001 AC-ADM-008 | Alle zichtbare aantallen op de landingspagina dynamisch en server-side consistent worden afgeleid uit de onderliggende structuur-, oefen-, collaborator- en autorisatielagen |
REQ-SCH-BEH-12-01-06 | SRS-AUTH-001 SRS-ADM-008 AC-AUTH-001 AC-ADM-008 | De beheerder mag alleen docenten zien en openen waarvoor de beheerder server-side autorisatie heeft |
REQ-SCH-BEH-12-01-07 | SRS-ADM-008 AC-ADM-008 | Lege staten en foutstaten onderscheiden van geldige nulwaarden |
13.2 Ondersteun docent — Intro uitleg
13.2.1 Schermafbeelding

13.2.2 Scherm meta data
| Veld | Waarde |
|---|---|
| Scherm-ID | SCH-BEH-12-02 |
| Schermnaam | Docent ondersteuning — Ondersteun docent — Intro uitleg |
| Doelgroep / onderdeel | Beheerder |
| Bronbestand | oefenhub_beheerder_13_docent_ondersteuning_V1_9.html |
| Mockupversie | V1.9 |
| Screenshotbestand | oefenhub_beheerder_13_docent_ondersteuning_v1_9_knop_ondersteun_docent_tab_01_intro_uitleg.png |
| Processtap / context | Beheerder heeft één docent gekozen en opent de ondersteuningsweergave op de introtab. |
| Documentatiestatus | Uitgewerkt op basis van HTML-mockup, PNG-screenshot, Functioneel Ontwerp, Technisch Ontwerp, Software Requirements Specification en ondersteunende documentatie. |
| Opmerkingen | Informatieve tab met samenvatting van de geselecteerde docentcontext. |
| Route / URL-patroon | Functioneel routepatroon: beheer/content/docent-ondersteuning/{teacherId}/intro |
| Autorisatie / vereiste rol-context | Actieve beheerdercontext en geldige geselecteerde docentcontext. |
| Primair domeinobject / hoofdentiteit | Geselecteerde docentcontext met afgeleide samenvattingswaarden. |
| Gerelateerde schermen / navigatie | Landingspagina, Structuur, Leerlingtoegang, Collaborators, Eigenaar, Geschiedenis. |
| Data-karakter | Read-only contextinformatie en dynamische samenvatting. |
13.2.3 Functionele beschrijving
De tab Intro / uitleg geeft de beheerder context voordat inhoudelijke ondersteuning wordt uitgevoerd. De tab benoemt welke ondersteuningstaken beschikbaar zijn en toont een compacte samenvatting van de geselecteerde docentcontext.
Deze tab voert geen mutaties uit. De samenvatting bevat dynamische waarden zoals actieve niveaus, actieve categorieën, concrete oefeningen, collaborators, leerlingen met niveauautorisatie en relevante recente wijzigingsinformatie. De tab is bedoeld om te bevestigen dat de beheerder in de juiste docentcontext werkt voordat naar structuur, leerlingtoegang, collaborators, eigenaar of geschiedenis wordt genavigeerd.
Als de docentcontext niet langer geldig is, bijvoorbeeld doordat de docentrol is ingetrokken of het account is gedeactiveerd, moet de tab dat zichtbaar maken en muterende tabs of acties blokkeren waar dat functioneel nodig is. Historische gegevens mogen nog raadpleegbaar blijven wanneer de beheerder daarvoor geautoriseerd is.
13.2.4 UI-elementen en velddefinities
| Element-ID | Type | GUI-verwijzing | Omschrijving | Zichtbaar label | Opmerking | Technische naam |
|---|---|---|---|---|---|---|
| SCH-BEH-12-02-TAB01 | TAB | Ondersteun docent-tabs | Tabnavigatie binnen de geselecteerde docentcontext. | Intro / uitleg / Structuur / Leerlingtoegang / Collaborators / Eigenaar / Geschiedenis | Actieve tab is Intro / uitleg. | TeacherSupportTabs |
| SCH-BEH-12-02-S01 | S | Intro uitleg | Uitlegblok over doel en reikwijdte van docentondersteuning. | Intro / uitleg | Read-only tekst. | TeacherSupportIntroExplanationSection |
| SCH-BEH-12-02-F01 | F | Geselecteerde docent | Naam en kernstatus van de geselecteerde docent. | Docent | Contextbepalend veld. | SelectedTeacherContextValue |
| SCH-BEH-12-02-F02 | F | Samenvatting docentcontext | Compacte samenvatting met niveaus, categorieën, oefeningen, collaborators en leerlingtoegang. | Samenvatting | Alle waarden zijn dynamisch. | TeacherContextSummaryValue |
| SCH-BEH-12-02-F03 | F | Recente wijzigingen | Korte indicatie van relevante recente wijzigingen binnen deze docentcontext. | Recente wijzigingen | Afgeleid uit historiebronnen. | TeacherRecentChangesSummaryValue |
| SCH-BEH-12-02-M01 | M | Contextwaarschuwing | Melding wanneer de docentcontext niet volledig actief of niet meer muteerbaar is. | Let op | Alleen zichtbaar bij relevante status. | TeacherContextWarningMessage |
13.2.5 Waardelagen
| Element-ID | GUI-verwijzing | Zichtbaar label | Technische naam | Databron | Waardebron | Datatype | Bewerkbaar | Validatie / regel |
|---|---|---|---|---|---|---|---|---|
| SCH-BEH-12-02-F01 | Geselecteerde docent | Docent | SelectedTeacherContextValue | Users, UserRoles, Roles | Geselecteerde docent uit de landingspagina | composite | Nee | Context moet server-side worden gevalideerd bij iedere tabwisseling. |
| SCH-BEH-12-02-F02 | Samenvatting docentcontext | Samenvatting | TeacherContextSummaryValue | TeacherLevels, TeacherLevelCategories, TeacherLevelCategoryExercises, Exercises, TeacherLevelCollaborators, TeacherStudentLevelAccess | Afgeleide actuele samenvatting binnen geselecteerde docentcontext | composite | Nee | Tellingen mogen mockupwaarden niet hardcoded gebruiken. |
| SCH-BEH-12-02-F03 | Recente wijzigingen | Recente wijzigingen | TeacherRecentChangesSummaryValue | TeacherLevelOwnershipTransfers, TeacherLevelCollaborators, TeacherStudentLevelAccess, ExerciseHistory en gerelateerde auditbronnen | Afgeleide recente wijzigingssamenvatting | list/summary | Nee | Alleen wijzigingen binnen de geselecteerde docentcontext tonen. |
| SCH-BEH-12-02-M01 | Contextwaarschuwing | Let op | TeacherContextWarningMessage | Users.IsActive, UserRoles.IsActive en statusafleidingen uit docentstructuur | Runtime state en server-side autorisatie | message | Nee | Waarschuwing mag geen beveiliging vervangen; server-side controles blijven leidend. |
13.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-BEH-12-02-01 | SRS-ADM-008 AC-ADM-008 | De introtab de beschikbare ondersteuningstaken binnen één geselecteerde docentcontext uitleggen |
REQ-SCH-BEH-12-02-02 | SRS-AUTH-001 SRS-ADM-008 AC-AUTH-001 AC-ADM-008 | De introtab minimaal actieve niveaus, actieve categorieën, concrete oefeningen, collaborators, leerlingen met niveauautorisatie en recente wijzigingsinformatie kunnen tonen |
REQ-SCH-BEH-12-02-03 | SRS-ADM-008 AC-ADM-008 | De introtab mag geen muterende beheeracties op docentstructuur uitvoeren |
REQ-SCH-BEH-12-02-04 | SRS-ADM-008 AC-ADM-008 | Bij iedere tabwisseling controleren of de geselecteerde docentcontext nog bestaat en voor de beheerder toegankelijk is |
13.3 Ondersteun docent — Structuur
13.3.1 Schermafbeelding

13.3.2 Scherm meta data
| Veld | Waarde |
|---|---|
| Scherm-ID | SCH-BEH-12-03 |
| Schermnaam | Docent ondersteuning — Ondersteun docent — Structuur |
| Doelgroep / onderdeel | Beheerder |
| Bronbestand | oefenhub_beheerder_13_docent_ondersteuning_V1_9.html |
| Mockupversie | V1.9 |
| Screenshotbestand | oefenhub_beheerder_13_docent_ondersteuning_v1_9_knop_ondersteun_docent_tab_02_structuur.png |
| Processtap / context | Beheerder analyseert de niveau-, categorie- en oefenstructuur van de geselecteerde docent. |
| Documentatiestatus | Uitgewerkt op basis van HTML-mockup, PNG-screenshot, Functioneel Ontwerp, Technisch Ontwerp, Software Requirements Specification en ondersteunende documentatie. |
| Opmerkingen | Structuurtab is primair read-only en opent contextafhankelijke detailinformatie. |
| Route / URL-patroon | Functioneel routepatroon: beheer/content/docent-ondersteuning/{teacherId}/structuur |
| Autorisatie / vereiste rol-context | Actieve beheerdercontext en geldige geselecteerde docentcontext. |
| Primair domeinobject / hoofdentiteit | TeacherLevels met onderliggende TeacherLevelCategories en concrete Exercises. |
| Gerelateerde schermen / navigatie | Leerlingtoegang, Collaborators, Eigenaar, Categorieën, Modules. |
| Data-karakter | Hiërarchisch read model met klikbare contextselectie en detailpaneel. |
13.3.3 Functionele beschrijving
De tab Structuur toont de docentstructuur hiërarchisch als niveau → categorie → oefening. De beheerder gebruikt deze tab om de opbouw van de docentcontext te analyseren en vanuit objecten door te klikken naar supportdetails.
Het zoekveld zoekt gelijktijdig binnen niveaunamen, categorienamen en concrete oefennamen. Er worden geen extra filters verondersteld. De zoekterm wijzigt uitsluitend de zichtbare boomstructuur.
Niveaus, categorieën en concrete oefeningen zijn klikbaar. Een klik opent rechts een contextafhankelijk detailpaneel. Voor een niveau toont het detailpaneel minimaal de naam, actuele eigenaar, aantal onderliggende categorieën, aantal onderliggende oefeningen, aantal leerlingen met toegang en aantal actieve collaborators. Vanuit een niveaudetail kunnen snelacties beschikbaar zijn naar Leerlingtoegang, Collaborators en Eigenaar voor hetzelfde niveau.
Een categoriedetail is read-only en bedoeld voor supportanalyse binnen de gekozen docentcontext. Centrale categorie-eigenschappen worden hier niet gewijzigd; daarvoor is de centrale pagina Categorieën bedoeld. Een oefeningdetail toont de concrete docent-oefening, de gekoppelde technische module en eventueel een actie om de configuratie van die concrete oefening in docentcontext te bekijken. Dit is geen centrale modulebeheeractie.
13.3.4 UI-elementen en velddefinities
| Element-ID | Type | GUI-verwijzing | Omschrijving | Zichtbaar label | Opmerking | Technische naam |
|---|---|---|---|---|---|---|
| SCH-BEH-12-03-TAB01 | TAB | Ondersteun docent-tabs | Tabnavigatie binnen de docentcontext. | Structuur | Actieve tab is Structuur. | TeacherSupportTabs |
| SCH-BEH-12-03-FILTER01 | FILTER | Zoek structuur | Zoekveld voor niveaus, categorieën en concrete oefeningen. | Zoek | Eén zoekveld voor drie objecttypen. | TeacherStructureSearchFilter |
| SCH-BEH-12-03-T01 | T | Structuurboom | Hiërarchische boom met niveaus, categorieën en oefeningen. | Structuur | Objecten zijn selecteerbaar. | TeacherStructureTree |
| SCH-BEH-12-03-A01 | A | Structuuritem selecteren | Selecteert niveau, categorie of oefening en opent detailpaneel. | Selecteer item | De zichtbare klikactie kan op de hele regel liggen. | SelectTeacherStructureItemAction |
| SCH-BEH-12-03-S01 | S | Detailpaneel | Rechterpaneel met contextafhankelijke details. | Details | Inhoud verschilt per objecttype. | TeacherStructureDetailPanel |
| SCH-BEH-12-03-F01 | F | Niveaudetail | Detailwaarden van geselecteerd niveau. | Niveau | Alleen bij geselecteerd niveau. | TeacherLevelDetailValues |
| SCH-BEH-12-03-F02 | F | Categoriedetail | Detailwaarden van geselecteerde categorie binnen docentniveau. | Categorie | Centrale categorie-eigenschappen zijn read-only. | TeacherCategoryDetailValues |
| SCH-BEH-12-03-F03 | F | Oefeningdetail | Detailwaarden van concrete docent-oefening. | Oefening | Verwijst naar gekoppelde technische module. | TeacherExerciseDetailValues |
| SCH-BEH-12-03-A02 | A | Snelacties niveau | Doorklik naar Leerlingtoegang, Collaborators of Eigenaar voor geselecteerd niveau. | Leerlingtoegang / Collaborators / Eigenaar | Alleen bij niveaudetail. | TeacherLevelQuickAction |
| SCH-BEH-12-03-A03 | A | Configuratie openen | Opent detailweergave van concrete docent-oefeningconfiguratie. | Configuratie openen | Geen centrale modulebeheeractie. | OpenTeacherExerciseConfigurationAction |
13.3.5 Waardelagen
| Element-ID | GUI-verwijzing | Zichtbaar label | Technische naam | Databron | Waardebron | Datatype | Bewerkbaar | Validatie / regel |
|---|---|---|---|---|---|---|---|---|
| SCH-BEH-12-03-FILTER01 | Zoek structuur | Zoek | TeacherStructureSearchFilter | Geen persistente opslag; filter op read model | Gebruikersinvoer voor filtering | string | Ja | Filtert niveaus, categorieën en oefeningen zonder data te wijzigen. |
| SCH-BEH-12-03-T01 | Structuurboom | Structuur | TeacherStructureTree | TeacherLevels, TeacherLevelCategories, Categories, TeacherLevelCategoryExercises, Exercises, ExerciseModules | Hiërarchisch read model binnen geselecteerde docentcontext | tree | Nee | Alleen objecten van de geselecteerde docentcontext tonen. |
| SCH-BEH-12-03-F01 | Niveaudetail | Niveau | TeacherLevelDetailValues | TeacherLevels, TeacherLevelCollaborators, TeacherStudentLevelAccess, TeacherLevelCategories, Exercises | Afgeleide detailwaarden van geselecteerd niveau | object | Nee | Minimaal eigenaar, aantallen categorieën, oefeningen, leerlingen en collaborators tonen. |
| SCH-BEH-12-03-F02 | Categoriedetail | Categorie | TeacherCategoryDetailValues | TeacherLevelCategories, Categories, TeacherLevelCategoryExercises, Exercises | Read-only detail van categorie binnen docentniveau | object | Nee | Centrale categorie-identiteit niet vanuit deze view wijzigen. |
| SCH-BEH-12-03-F03 | Oefeningdetail | Oefening | TeacherExerciseDetailValues | Exercises, ExerciseModules, TeacherLevelCategoryExercises | Concrete oefeningdetail binnen docentcontext | object | Nee | Module-inhoud en modulebeheer blijven buiten deze supporttab. |
| SCH-BEH-12-03-A02 | Snelacties niveau | Leerlingtoegang / Collaborators / Eigenaar | TeacherLevelQuickAction | Geselecteerd TeacherLevels.Id | Navigatie naar tab met niveaucontext | action | Ja | Alleen beschikbaar wanneer een niveau is geselecteerd. |
| SCH-BEH-12-03-A03 | Configuratie openen | Configuratie openen | OpenTeacherExerciseConfigurationAction | Exercises.ConfigurationPayload en modulegebonden configuratievelden | Runtime detailweergave van concrete docent-oefening | action | Ja | Weergave is docentcontext-specifiek en mag centrale ExerciseModules niet wijzigen. |
13.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-BEH-12-03-01 | SRS-ADM-008 AC-ADM-008 | De structuurtab de docentstructuur hiërarchisch tonen als niveau, categorie en oefening |
REQ-SCH-BEH-12-03-02 | SRS-ADM-008 AC-ADM-008 | De structuurtab één zoekveld bieden dat gelijktijdig zoekt op niveaus, categorieën en concrete oefeningen |
REQ-SCH-BEH-12-03-03 | SRS-ADM-008 AC-ADM-008 | Niveaus, categorieën en concrete oefeningen klikbaar zijn en een contextafhankelijk detailpaneel openen |
REQ-SCH-BEH-12-03-04 | SRS-RDM-004 SRS-RDM-006 SRS-RDM-002 SRS-RDM-001 SRS-AUTH-001 SRS-ADM-008 AC-RDM-004 AC-RDM-006 AC-RDM-002 AC-RDM-001 AC-AUTH-001 AC-ADM-008 | Het niveaudetail minimaal naam, actuele eigenaar, aantal categorieën, aantal oefeningen, aantal leerlingen met toegang en aantal actieve collaborators tonen |
REQ-SCH-BEH-12-03-05 | SRS-AUTH-001 SRS-ADM-008 AC-AUTH-001 AC-ADM-008 | Vanuit een niveaudetail snelacties naar Leerlingtoegang, Collaborators en Eigenaar voor hetzelfde niveau beschikbaar kunnen zijn |
REQ-SCH-BEH-12-03-06 | SRS-ADM-008 AC-ADM-008 | Categoriedetails binnen Docent ondersteuning read-only zijn voor centrale categorie-eigenschappen |
REQ-SCH-BEH-12-03-07 | SRS-ADM-008 AC-ADM-008 | Oefeningdetails binnen Docent ondersteuning mogen de concrete docent-oefening tonen, maar mogen geen centrale modulebeheerfunctie uitvoeren |
13.4 Ondersteun docent — Leerlingtoegang
13.4.1 Schermafbeelding

13.4.2 Scherm meta data
| Veld | Waarde |
|---|---|
| Scherm-ID | SCH-BEH-12-04 |
| Schermnaam | Docent ondersteuning — Ondersteun docent — Leerlingtoegang |
| Doelgroep / onderdeel | Beheerder |
| Bronbestand | oefenhub_beheerder_13_docent_ondersteuning_V1_9.html |
| Mockupversie | V1.9 |
| Screenshotbestand | oefenhub_beheerder_13_docent_ondersteuning_v1_9_knop_ondersteun_docent_tab_03_leerlingtoegang.png |
| Processtap / context | Beheerder ondersteunt niveauautorisaties van leerlingen binnen één geselecteerde docentcontext. |
| Documentatiestatus | Uitgewerkt op basis van HTML-mockup, PNG-screenshot, Functioneel Ontwerp, Technisch Ontwerp, Software Requirements Specification en ondersteunende documentatie. |
| Opmerkingen | Leerlingtoegang werkt per niveau en binnen bestaande docent-leerlingrelatie. |
| Route / URL-patroon | Functioneel routepatroon: beheer/content/docent-ondersteuning/{teacherId}/leerlingtoegang |
| Autorisatie / vereiste rol-context | Actieve beheerdercontext en geldige geselecteerde docentcontext. |
| Primair domeinobject / hoofdentiteit | TeacherStudentLevelAccess. |
| Gerelateerde schermen / navigatie | Structuur, Collaborators, Eigenaar, Relatiebeheer, Accounts. |
| Data-karakter | Read model met contextgebonden mutatieacties, verplichte reden en audit. |
13.4.3 Functionele beschrijving
De tab Leerlingtoegang toont welke leerlingen toegang hebben tot welke niveaus van de geselecteerde docent. De view werkt per geselecteerd niveau: de beheerder kiest of ziet een niveaucontext en krijgt daarna de leerlingen die op dat niveau geautoriseerd zijn.
De tab is bedoeld voor ondersteuning op niveauautorisatie. Zij maakt geen nieuwe algemene docent-leerlingrelatie aan en start geen relatie-uitnodigingsflow. Toevoegen van leerlingtoegang is alleen toegestaan wanneer tussen de geselecteerde docent en leerling al een actieve docent-leerlingrelatie bestaat. Intrekken of toevoegen van toegang blijft beperkt tot het gekozen niveau binnen de geselecteerde docentcontext.
Muterende acties, zoals leerling toevoegen aan niveau of leerlingtoegang intrekken, moeten altijd via een bevestigingsmodal verlopen. In die modal legt de beheerder een verplichte reden vast. De actie wordt server-side gevalideerd, verwerkt in TeacherStudentLevelAccess en auditbaar vastgelegd.
Disabled states zijn relevant wanneer er geen niveau is geselecteerd, wanneer de docent-leerlingrelatie ontbreekt of inactief is, wanneer de leerling al actieve toegang heeft, of wanneer de beheerder onvoldoende rechten heeft.
13.4.4 UI-elementen en velddefinities
| Element-ID | Type | GUI-verwijzing | Omschrijving | Zichtbaar label | Opmerking | Technische naam |
|---|---|---|---|---|---|---|
| SCH-BEH-12-04-TAB01 | TAB | Ondersteun docent-tabs | Tabnavigatie binnen docentcontext. | Leerlingtoegang | Actieve tab is Leerlingtoegang. | TeacherSupportTabs |
| SCH-BEH-12-04-FILTER01 | FILTER | Niveau kiezen | Niveaucontext waarvoor leerlingtoegang wordt bekeken. | Niveau | Vereist voor muterende acties. | StudentAccessLevelSelector |
| SCH-BEH-12-04-T01 | T | Leerlingtoegangsoverzicht | Overzicht van leerlingen met toegang binnen geselecteerd niveau. | Leerlingtoegang | Toont leerling, relatiecontext, status en sinds-datum. | TeacherStudentAccessList |
| SCH-BEH-12-04-F01 | F | Leerling | Naam of identificatie van de leerling. | Leerling | Dynamisch uit Users. | StudentDisplayNameValue |
| SCH-BEH-12-04-F02 | F | Niveau | Niveau waarvoor toegang geldt. | Niveau | Dynamisch uit TeacherLevels. | TeacherLevelNameValue |
| SCH-BEH-12-04-F03 | F | Relatiecontext | Docent-leerlingrelatie waarop toegang rust. | Relatie | Alleen bestaande actieve relatie mag dragend zijn. | TeacherStudentRelationshipValue |
| SCH-BEH-12-04-F04 | F | Actief sinds | Moment waarop toegang is toegekend. | Actief sinds | Dynamisch uit GrantedAtUtc. | StudentAccessGrantedAtValue |
| SCH-BEH-12-04-A01 | A | Leerling toevoegen | Start toevoegen van leerlingtoegang binnen gekozen niveau. | Leerling toevoegen | Alleen voor leerlingen met actieve docent-leerlingrelatie. | AddStudentLevelAccessAction |
| SCH-BEH-12-04-A02 | A | Toegang intrekken | Start intrekken van bestaande leerlingtoegang. | Toegang intrekken | Altijd met bevestiging en reden. | RevokeStudentLevelAccessAction |
| SCH-BEH-12-04-MOD01 | MOD | Bevestigingsmodal leerlingtoegang | Modal voor toevoegen of intrekken met verplichte reden. | Weet je het zeker? | Label en tekst verschillen per actie. | StudentLevelAccessConfirmationModal |
| SCH-BEH-12-04-F05 | F | Reden | Verplichte reden in de bevestigingsmodal. | Reden | Wordt auditbaar vastgelegd. | StudentLevelAccessReasonInput |
13.4.5 Waardelagen
| Element-ID | GUI-verwijzing | Zichtbaar label | Technische naam | Databron | Waardebron | Datatype | Bewerkbaar | Validatie / regel |
|---|---|---|---|---|---|---|---|---|
| SCH-BEH-12-04-FILTER01 | Niveau kiezen | Niveau | StudentAccessLevelSelector | TeacherLevels.Id, TeacherLevels.OwnerTeacherUserId | Geselecteerd niveau binnen docentcontext | guid/reference | Ja | Niveau moet behoren tot geselecteerde docentcontext. |
| SCH-BEH-12-04-T01 | Leerlingtoegangsoverzicht | Leerlingtoegang | TeacherStudentAccessList | TeacherStudentLevelAccess, TeacherLevels, Users, UserRelationships | Overzicht van leerlingen met niveauautorisatie | list | Nee | Alleen toegang binnen geselecteerd niveau tonen. |
| SCH-BEH-12-04-F03 | Relatiecontext | Relatie | TeacherStudentRelationshipValue | UserRelationships.Id, RelationshipType=TeacherStudent | Actieve docent-leerlingrelatie waarop toegang rust | composite | Nee | Zonder actieve docent-leerlingrelatie mag geen nieuwe niveauautorisatie worden toegevoegd. |
| SCH-BEH-12-04-F04 | Actief sinds | Actief sinds | StudentAccessGrantedAtValue | TeacherStudentLevelAccess.GrantedAtUtc | Datum/tijd van toekenning | datetime | Nee | UTC-bron lokaal en consistent weergeven. |
| SCH-BEH-12-04-A01 | Leerling toevoegen | Leerling toevoegen | AddStudentLevelAccessAction | TeacherStudentLevelAccess | Nieuwe actieve niveauautorisatie | action | Ja | Actieve combinatie relatie, niveau en leerling moet uniek zijn. |
| SCH-BEH-12-04-A02 | Toegang intrekken | Toegang intrekken | RevokeStudentLevelAccessAction | TeacherStudentLevelAccess.RevokedAtUtc, RevokedByUserId, RevocationReason, IsActive | Intrekken van bestaande toegang | action | Ja | Alleen actieve toegang kan worden ingetrokken. |
| SCH-BEH-12-04-F05 | Reden | Reden | StudentLevelAccessReasonInput | TeacherStudentLevelAccess.RevocationReason of auditregistratie | User input beheerder | string | Ja | Verplicht bij muterende acties via ondersteuning. |
13.4.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-BEH-12-04-01 | SRS-AUTH-001 SRS-ADM-008 AC-AUTH-001 AC-ADM-008 | De tab Leerlingtoegang per niveau inzicht geven in welke leerlingen toegang hebben tot de geselecteerde docentstructuur |
REQ-SCH-BEH-12-04-02 | SRS-AUTH-001 SRS-ADM-008 AC-AUTH-001 AC-ADM-008 | Per leerlingtoegang minimaal leerling, niveau, relatiecontext, toegangstatus en actief-sindswaarde kunnen tonen |
REQ-SCH-BEH-12-04-03 | SRS-AUTH-001 SRS-ADM-008 AC-AUTH-001 AC-ADM-008 | Toevoegen van leerlingtoegang via Docent ondersteuning mag alleen wanneer tussen de geselecteerde docent en leerling al een actieve docent-leerlingrelatie bestaat |
REQ-SCH-BEH-12-04-04 | SRS-AUTH-001 SRS-ADM-008 AC-AUTH-001 AC-ADM-008 | Docent ondersteuning mag geen nieuwe docent-leerlingrelatie of uitnodiging aanmaken vanuit de leerlingtoegangstab |
REQ-SCH-BEH-12-04-05 | SRS-AUTH-001 SRS-ADM-008 AC-AUTH-001 AC-ADM-008 | Toevoegen of intrekken van leerlingtoegang via een bevestigingsmodal met verplichte reden verlopen |
REQ-SCH-BEH-12-04-06 | SRS-AUTH-001 SRS-NFR-AUD-001 AC-AUTH-001 AC-NFR-AUD-001 | Mutaties in leerlingtoegang server-side worden gevalideerd en auditbaar zijn |
REQ-SCH-BEH-12-04-07 | SRS-AUTH-001 SRS-ADM-008 AC-AUTH-001 AC-ADM-008 | Voorkomen dat dezelfde actieve leerlingtoegang dubbel wordt vastgelegd voor dezelfde relatie, hetzelfde niveau en dezelfde leerling |
13.5 Ondersteun docent — Collaborators
13.5.1 Schermafbeelding

13.5.2 Scherm meta data
| Veld | Waarde |
|---|---|
| Scherm-ID | SCH-BEH-12-05 |
| Schermnaam | Docent ondersteuning — Ondersteun docent — Collaborators |
| Doelgroep / onderdeel | Beheerder |
| Bronbestand | oefenhub_beheerder_13_docent_ondersteuning_V1_9.html |
| Mockupversie | V1.9 |
| Screenshotbestand | oefenhub_beheerder_13_docent_ondersteuning_v1_9_knop_ondersteun_docent_tab_04_collaborators.png |
| Processtap / context | Beheerder ondersteunt collaborators op niveauniveau binnen één geselecteerde docentcontext. |
| Documentatiestatus | Uitgewerkt op basis van HTML-mockup, PNG-screenshot, Functioneel Ontwerp, Technisch Ontwerp, Software Requirements Specification en ondersteunende documentatie. |
| Opmerkingen | Collaboration is niveaugebonden en los gemodelleerd van de algemene docent-docentrelatie. |
| Route / URL-patroon | Functioneel routepatroon: beheer/content/docent-ondersteuning/{teacherId}/collaborators |
| Autorisatie / vereiste rol-context | Actieve beheerdercontext en geldige geselecteerde docentcontext. |
| Primair domeinobject / hoofdentiteit | TeacherLevelCollaborators. |
| Gerelateerde schermen / navigatie | Structuur, Eigenaar, Relatiebeheer, Geschiedenis. |
| Data-karakter | Read model met uitzonderlijke beheeracties, verplichte reden en audit. |
13.5.3 Functionele beschrijving
De tab Collaborators toont per niveau welke docenten als collaborator zijn gekoppeld binnen de geselecteerde docentcontext. Collaboration geeft bewerkrecht op het betreffende niveau, maar is niet hetzelfde als de algemene docent-docentrelatie.
De beheerder kan bestaande actieve collaborators bekijken en, in uitzonderingssituaties, collaborators forceren of intrekken. Nieuwe collaboration mag alleen worden toegevoegd op niveaus waarvan de geselecteerde docent de actuele eigenaar is. Normaal geldt een actieve TeacherTeacher-relatie als voorwaarde voor nieuwe collaboration. In beheercontext mag een beheerder in uitzonderingssituaties een collaborator forceren; daarbij moet de benodigde relatiecontext en het collaboratorrecord gecontroleerd worden vastgelegd.
Elke muterende collaboratoractie opent een bevestigingsmodal met de vraag of de beheerder zeker is van de actie. De reden is verplicht. Bij geforceerd toevoegen of intrekken wordt de actie auditbaar vastgelegd. Wanneer een beheerder een collaborator forceert, ontvangt de oorspronkelijk geselecteerde docent hierover een systeembericht of functioneel gelijkwaardige notificatie.
Disabled states zijn relevant wanneer er geen niveau is geselecteerd, wanneer de geselecteerde docent geen eigenaar van het niveau is, wanneer de kandidaat al actieve collaborator is, wanneer de eigenaar zelf als collaborator gekozen zou worden, of wanneer de beheerder onvoldoende rechten heeft.
13.5.4 UI-elementen en velddefinities
| Element-ID | Type | GUI-verwijzing | Omschrijving | Zichtbaar label | Opmerking | Technische naam |
|---|---|---|---|---|---|---|
| SCH-BEH-12-05-TAB01 | TAB | Ondersteun docent-tabs | Tabnavigatie binnen docentcontext. | Collaborators | Actieve tab is Collaborators. | TeacherSupportTabs |
| SCH-BEH-12-05-FILTER01 | FILTER | Niveau kiezen | Niveaucontext waarvoor collaborators worden bekeken. | Niveau | Mutaties zijn niveaugebonden. | CollaboratorLevelSelector |
| SCH-BEH-12-05-T01 | T | Collaboratorsoverzicht | Overzicht van actieve en relevante historische collaborators per niveau. | Collaborators | Toont niveau, collaborator, status en actief-sindswaarde. | TeacherLevelCollaboratorsList |
| SCH-BEH-12-05-F01 | F | Niveau | Niveau waarop collaboration geldt. | Niveau | Dynamisch uit TeacherLevels. | CollaboratorLevelNameValue |
| SCH-BEH-12-05-F02 | F | Collaborator | Docent die als collaborator op het niveau gekoppeld is. | Collaborator | Dynamisch uit Users. | CollaboratorTeacherNameValue |
| SCH-BEH-12-05-F03 | F | Status | Actieve of ingetrokken collaborationstatus. | Status | Afgeleid uit IsActive en RevokedAtUtc. | CollaboratorStatusValue |
| SCH-BEH-12-05-F04 | F | Actief sinds | Moment waarop collaboration is toegekend. | Actief sinds | Dynamisch uit GrantedAtUtc. | CollaboratorGrantedAtValue |
| SCH-BEH-12-05-A01 | A | Collaborator toevoegen | Start toevoegen of forceren van collaborator op geselecteerd niveau. | Collaborator toevoegen | Alleen in geldige eigenaarcontext. | AddCollaboratorAction |
| SCH-BEH-12-05-A02 | A | Collaborator intrekken | Start intrekken van actieve collaboration. | Collaborator intrekken | Altijd via modal met reden. | RevokeCollaboratorAction |
| SCH-BEH-12-05-MOD01 | MOD | Bevestigingsmodal collaborator | Modal voor toevoegen, forceren of intrekken van collaborator. | Weet je het zeker? | Bevat verplichte reden en waarschuwing over impact. | CollaboratorConfirmationModal |
| SCH-BEH-12-05-F05 | F | Reden | Verplichte reden in de modal. | Reden | Wordt auditbaar vastgelegd. | CollaboratorReasonInput |
13.5.5 Waardelagen
| Element-ID | GUI-verwijzing | Zichtbaar label | Technische naam | Databron | Waardebron | Datatype | Bewerkbaar | Validatie / regel |
|---|---|---|---|---|---|---|---|---|
| SCH-BEH-12-05-FILTER01 | Niveau kiezen | Niveau | CollaboratorLevelSelector | TeacherLevels.Id, TeacherLevels.OwnerTeacherUserId | Geselecteerd niveau binnen docentcontext | guid/reference | Ja | Niveau moet behoren aan de geselecteerde docent als eigenaar voor nieuwe collaboratoracties. |
| SCH-BEH-12-05-T01 | Collaboratorsoverzicht | Collaborators | TeacherLevelCollaboratorsList | TeacherLevelCollaborators, TeacherLevels, Users, UserRelationships | Overzicht van collaboration op niveauniveau | list | Nee | Actieve collaborators eerst tonen; ingetrokken records alleen wanneer historiecontext dat vraagt. |
| SCH-BEH-12-05-F03 | Status | Status | CollaboratorStatusValue | TeacherLevelCollaborators.IsActive, RevokedAtUtc | Afgeleide collaboratorstatus | enum/string | Nee | Intrekking gebeurt via RevokedAtUtc en RevokedByUserId, niet via hard delete. |
| SCH-BEH-12-05-A01 | Collaborator toevoegen | Collaborator toevoegen | AddCollaboratorAction | TeacherLevelCollaborators, UserRelationships | Nieuwe actieve collaboration op niveau | action | Ja | Eigenaar mag niet als collaborator worden toegevoegd; actieve combinatie niveau en collaborator moet uniek zijn. |
| SCH-BEH-12-05-A02 | Collaborator intrekken | Collaborator intrekken | RevokeCollaboratorAction | TeacherLevelCollaborators.RevokedAtUtc, RevokedByUserId, IsActive | Intrekken van bestaande collaboration | action | Ja | Alleen actieve collaboration kan worden ingetrokken. |
| SCH-BEH-12-05-F05 | Reden | Reden | CollaboratorReasonInput | Auditregistratie en eventuele systeemberichtcontext | User input beheerder | string | Ja | Verplicht bij geforceerde toevoeging of intrekking via beheer. |
13.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-BEH-12-05-01 | SRS-ADM-008 SRS-TCH-006 AC-ADM-008 AC-TCH-006 | De tab Collaborators per niveau inzicht geven in actieve collaborators binnen de geselecteerde docentcontext |
REQ-SCH-BEH-12-05-02 | SRS-ADM-008 SRS-TCH-006 AC-ADM-008 AC-TCH-006 | Per collaboration het systeem minimaal niveau, collaborator, status en actief-sindswaarde kunnen tonen |
REQ-SCH-BEH-12-05-03 | SRS-ADM-008 SRS-TCH-006 AC-ADM-008 AC-TCH-006 | Een beheerder mag een nieuwe collaborator via Docent ondersteuning alleen toevoegen wanneer de geselecteerde docent de actuele eigenaar van het niveau is |
REQ-SCH-BEH-12-05-04 | SRS-ADM-008 SRS-TCH-006 AC-ADM-008 AC-TCH-006 | De actuele eigenaar van een niveau geen als collaborator van datzelfde niveau worden toegevoegd |
REQ-SCH-BEH-12-05-05 | SRS-ADM-008 SRS-TCH-006 AC-ADM-008 AC-TCH-006 | Actieve collaboration tussen hetzelfde niveau en dezelfde collaborator uniek blijven |
REQ-SCH-BEH-12-05-06 | SRS-ADM-008 SRS-TCH-006 AC-ADM-008 AC-TCH-006 | Geforceerd toevoegen of intrekken van collaborators via een bevestigingsmodal met verplichte reden verlopen |
REQ-SCH-BEH-12-05-07 | SRS-NFR-AUD-001 SRS-ADM-008 AC-NFR-AUD-001 AC-ADM-008 | Geforceerde collaboratoracties via beheer auditbaar zijn en de betrokken docent informeren via systeembericht of functioneel gelijkwaardige notificatie |
REQ-SCH-BEH-12-05-08 | SRS-ADM-008 SRS-TCH-006 AC-ADM-008 AC-TCH-006 | Het beëindigen van een algemene docent-docentrelatie mag bestaande collaboratorrecords niet automatisch intrekken |
13.6 Ondersteun docent — Eigenaar
13.6.1 Schermafbeelding

13.6.2 Scherm meta data
| Veld | Waarde |
|---|---|
| Scherm-ID | SCH-BEH-12-06 |
| Schermnaam | Docent ondersteuning — Ondersteun docent — Eigenaar |
| Doelgroep / onderdeel | Beheerder |
| Bronbestand | oefenhub_beheerder_13_docent_ondersteuning_V1_9.html |
| Mockupversie | V1.9 |
| Screenshotbestand | oefenhub_beheerder_13_docent_ondersteuning_v1_9_knop_ondersteun_docent_tab_05_eigenaar.png |
| Processtap / context | Beheerder beoordeelt of ondersteunt eigenaarschap van niveaus binnen de geselecteerde docentcontext. |
| Documentatiestatus | Uitgewerkt op basis van HTML-mockup, PNG-screenshot, Functioneel Ontwerp, Technisch Ontwerp, Software Requirements Specification en ondersteunende documentatie. |
| Opmerkingen | Eigendomsoverdracht is niveaugebonden en vereist een actieve collaborator als nieuwe eigenaar. |
| Route / URL-patroon | Functioneel routepatroon: beheer/content/docent-ondersteuning/{teacherId}/eigenaar |
| Autorisatie / vereiste rol-context | Actieve beheerdercontext en geldige geselecteerde docentcontext. |
| Primair domeinobject / hoofdentiteit | TeacherLevels.OwnerTeacherUserId en TeacherLevelOwnershipTransfers. |
| Gerelateerde schermen / navigatie | Structuur, Collaborators, Leerlingtoegang, Geschiedenis. |
| Data-karakter | Read model met gecontroleerde overdrachtsactie, verplichte reden en audittrail. |
13.6.3 Functionele beschrijving
De tab Eigenaar toont per niveau wie de actuele eigenaar is en welke overdrachtscontext beschikbaar is. De view is bedoeld voor situaties waarin eigenaarschap moet worden beoordeeld of gecontroleerd overgedragen.
Eigendomsoverdracht mag uitsluitend plaatsvinden naar een bestaande actieve collaborator van het geselecteerde niveau. Wanneer er nog geen geschikte collaborator beschikbaar is, moet eerst collaboration worden toegevoegd via de collaboratorflow. Na overdracht wordt de nieuwe docent actuele eigenaar van het niveau en blijft de oude eigenaar standaard collaborator. Leerlingautorisaties blijven ongewijzigd.
De overdracht opent altijd een bevestigingsmodal met een verplichte reden. De modal moet duidelijk maken welke eigenaar wordt vervangen, wie de nieuwe eigenaar wordt en dat leerlingtoegang niet wordt aangepast. De overdracht wordt vastgelegd in TeacherLevelOwnershipTransfers en TeacherLevels.OwnerTeacherUserId wordt aangepast. Eerdere overdrachten blijven historisch beschikbaar.
Disabled states zijn relevant wanneer geen niveau geselecteerd is, wanneer er geen actieve collaborator beschikbaar is, wanneer de gekozen nieuwe eigenaar gelijk is aan de huidige eigenaar, of wanneer de beheerder onvoldoende rechten heeft.
13.6.4 UI-elementen en velddefinities
| Element-ID | Type | GUI-verwijzing | Omschrijving | Zichtbaar label | Opmerking | Technische naam |
|---|---|---|---|---|---|---|
| SCH-BEH-12-06-TAB01 | TAB | Ondersteun docent-tabs | Tabnavigatie binnen docentcontext. | Eigenaar | Actieve tab is Eigenaar. | TeacherSupportTabs |
| SCH-BEH-12-06-FILTER01 | FILTER | Niveau kiezen | Niveaucontext waarvoor eigenaarschap wordt bekeken. | Niveau | Overdracht is niveaugebonden. | OwnershipLevelSelector |
| SCH-BEH-12-06-T01 | T | Eigenaarschapsoverzicht | Overzicht van niveaus met actuele eigenaar en overdrachtscontext. | Eigenaar | Read-only overzicht met contextacties. | TeacherLevelOwnershipList |
| SCH-BEH-12-06-F01 | F | Niveau | Niveau waarvoor eigenaarschap geldt. | Niveau | Dynamisch uit TeacherLevels. | OwnershipLevelNameValue |
| SCH-BEH-12-06-F02 | F | Actuele eigenaar | Huidige eigenaar van het niveau. | Actuele eigenaar | Dynamisch uit OwnerTeacherUserId. | CurrentOwnerTeacherValue |
| SCH-BEH-12-06-F03 | F | Beschikbare opvolger | Actieve collaborator die als nieuwe eigenaar gekozen kan worden. | Nieuwe eigenaar | Alleen actieve collaborators zijn toegestaan. | NewOwnerCandidateValue |
| SCH-BEH-12-06-F04 | F | Overdrachtscontext | Informatie over eerdere of relevante overdrachtssituatie. | Overdracht | Read-only ondersteuningsinformatie. | OwnershipTransferContextValue |
| SCH-BEH-12-06-A01 | A | Eigendom overdragen | Start gecontroleerde eigendomsoverdracht. | Eigendom overdragen | Alleen beschikbaar bij geldige opvolger. | TransferOwnershipAction |
| SCH-BEH-12-06-MOD01 | MOD | Bevestigingsmodal eigendomsoverdracht | Modal met samenvatting van oude en nieuwe eigenaar en verplichte reden. | Weet je het zeker? | Toont impact en auditplicht. | OwnershipTransferConfirmationModal |
| SCH-BEH-12-06-F05 | F | Reden | Verplichte reden voor overdracht. | Reden | Wordt opgeslagen in TeacherLevelOwnershipTransfers.Reason. | OwnershipTransferReasonInput |
13.6.5 Waardelagen
| Element-ID | GUI-verwijzing | Zichtbaar label | Technische naam | Databron | Waardebron | Datatype | Bewerkbaar | Validatie / regel |
|---|---|---|---|---|---|---|---|---|
| SCH-BEH-12-06-FILTER01 | Niveau kiezen | Niveau | OwnershipLevelSelector | TeacherLevels.Id | Geselecteerd niveau binnen docentcontext | guid/reference | Ja | Niveau moet binnen de geselecteerde docentcontext vallen. |
| SCH-BEH-12-06-T01 | Eigenaarschapsoverzicht | Eigenaar | TeacherLevelOwnershipList | TeacherLevels, Users, TeacherLevelCollaborators, TeacherLevelOwnershipTransfers | Overzicht van eigenaar en overdrachtscontext per niveau | list | Nee | Read-only totdat een overdrachtsactie wordt gestart. |
| SCH-BEH-12-06-F02 | Actuele eigenaar | Actuele eigenaar | CurrentOwnerTeacherValue | TeacherLevels.OwnerTeacherUserId -> Users.Id | Huidige eigenaar van het niveau | user reference | Nee | Ieder actief niveau moet precies één actuele eigenaar hebben. |
| SCH-BEH-12-06-F03 | Beschikbare opvolger | Nieuwe eigenaar | NewOwnerCandidateValue | TeacherLevelCollaborators.CollaboratorTeacherUserId, IsActive | Actieve collaborator als kandidaat-opvolger | user reference | Ja | Nieuwe eigenaar moet actieve collaborator zijn en mag niet gelijk zijn aan huidige eigenaar. |
| SCH-BEH-12-06-A01 | Eigendom overdragen | Eigendom overdragen | TransferOwnershipAction | TeacherLevels, TeacherLevelOwnershipTransfers, TeacherLevelCollaborators | Overdracht van eigenaarschap | action | Ja | Oude eigenaar blijft standaard collaborator; nieuwe eigenaar hoort na overdracht niet als actieve collaborator op hetzelfde niveau te blijven staan. |
| SCH-BEH-12-06-F05 | Reden | Reden | OwnershipTransferReasonInput | TeacherLevelOwnershipTransfers.Reason | User input beheerder | string | Ja | Verplicht; maximaal passend bij databaseveld nvarchar(1000). |
13.6.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-BEH-12-06-01 | SRS-ADM-008 AC-ADM-008 | De tab Eigenaar per niveau de actuele eigenaar en beschikbare overdrachtscontext tonen |
REQ-SCH-BEH-12-06-02 | SRS-ADM-008 SRS-TCH-006 AC-ADM-008 AC-TCH-006 | Eigendomsoverdracht via Docent ondersteuning mag uitsluitend naar een bestaande actieve collaborator van het geselecteerde niveau plaatsvinden |
REQ-SCH-BEH-12-06-03 | SRS-ADM-008 SRS-TCH-006 AC-ADM-008 AC-TCH-006 | Wanneer geen actieve collaborator beschikbaar is, eigendomsoverdracht disabled zijn en de beheerder eerst collaboration kunnen herstellen of toevoegen via de juiste flow |
REQ-SCH-BEH-12-06-04 | SRS-AUTH-001 SRS-ADM-008 AC-AUTH-001 AC-ADM-008 | Bij eigendomsoverdracht de oude eigenaar standaard collaborator blijven en leerlingautorisaties ongewijzigd blijven |
REQ-SCH-BEH-12-06-05 | SRS-ADM-008 AC-ADM-008 | Eigendomsoverdracht een verplichte reden, oude eigenaar, nieuwe eigenaar, uitvoerende beheerder en overdrachtsmoment vastleggen |
REQ-SCH-BEH-12-06-06 | SRS-ADM-008 SRS-TCH-007 AC-ADM-008 AC-TCH-007 | Voorkomen dat eigenaarschap wordt overgedragen naar dezelfde gebruiker als de huidige eigenaar |
REQ-SCH-BEH-12-06-07 | SRS-ADM-008 SRS-TCH-006 AC-ADM-008 AC-TCH-006 | Na overdracht de nieuwe eigenaar actuele eigenaar van het niveau zijn en niet als actieve collaborator van datzelfde niveau blijven geregistreerd |
13.7 Ondersteun docent — Geschiedenis
13.7.1 Schermafbeelding

13.7.2 Scherm meta data
| Veld | Waarde |
|---|---|
| Scherm-ID | SCH-BEH-12-07 |
| Schermnaam | Docent ondersteuning — Ondersteun docent — Geschiedenis |
| Doelgroep / onderdeel | Beheerder |
| Bronbestand | oefenhub_beheerder_13_docent_ondersteuning_V1_9.html |
| Mockupversie | V1.9 |
| Screenshotbestand | oefenhub_beheerder_13_docent_ondersteuning_v1_9_knop_ondersteun_docent_tab_06_geschiedenis.png |
| Processtap / context | Beheerder raadpleegt beheer- en supporthistorie binnen één geselecteerde docentcontext. |
| Documentatiestatus | Uitgewerkt op basis van HTML-mockup, PNG-screenshot, Functioneel Ontwerp, Technisch Ontwerp, Software Requirements Specification en ondersteunende documentatie. |
| Opmerkingen | Geschiedenis is read-only en ondersteunt reconstructie van beheeracties. |
| Route / URL-patroon | Functioneel routepatroon: beheer/content/docent-ondersteuning/{teacherId}/geschiedenis |
| Autorisatie / vereiste rol-context | Actieve beheerdercontext en geldige geselecteerde docentcontext. |
| Primair domeinobject / hoofdentiteit | Samengestelde historie over docentstructuur, leerlingtoegang, collaborators en eigenaarschap. |
| Gerelateerde schermen / navigatie | Structuur, Leerlingtoegang, Collaborators, Eigenaar, Accounts. |
| Data-karakter | Read-only audit- en historieoverzicht met dynamische filtering. |
13.7.3 Functionele beschrijving
De tab Geschiedenis toont relevante beheer- en supporthistorie binnen de geselecteerde docentcontext. De beheerder gebruikt deze tab om eerdere acties te reconstrueren en te beoordelen wie wanneer welke wijziging heeft uitgevoerd.
De historieweergave is read-only. Zij kan gebeurtenissen tonen uit meerdere bronnen, waaronder wijzigingen aan niveaus, categorie- of oefenkoppelingen, leerlingtoegang, collaborators, eigendomsoverdrachten en beheerdersupportacties. Waar een actie via Docent ondersteuning is uitgevoerd, moet de opgegeven beheerdersreden zichtbaar of traceerbaar zijn.
De geschiedenis toont alleen gebeurtenissen binnen de geselecteerde docentcontext. Technische identifiers zoals GUID's mogen niet als primaire gebruikersinformatie worden getoond. Datum- en tijdwaarden worden uit UTC-bronnen lokaal en consistent weergegeven.
Leegstaten zijn relevant wanneer er voor de geselecteerde docentcontext geen historie beschikbaar is of wanneer filters geen resultaten opleveren. Een autorisatiefout moet als foutstaat worden behandeld en niet als lege geschiedenis.
13.7.4 UI-elementen en velddefinities
| Element-ID | Type | GUI-verwijzing | Omschrijving | Zichtbaar label | Opmerking | Technische naam |
|---|---|---|---|---|---|---|
| SCH-BEH-12-07-TAB01 | TAB | Ondersteun docent-tabs | Tabnavigatie binnen docentcontext. | Geschiedenis | Actieve tab is Geschiedenis. | TeacherSupportTabs |
| SCH-BEH-12-07-FILTER01 | FILTER | Typefilter | Filter voor type gebeurtenis. | Type | Optioneel filter binnen historie. | TeacherSupportHistoryTypeFilter |
| SCH-BEH-12-07-FILTER02 | FILTER | Zoek historie | Zoekveld voor actor, objectnaam of gebeurtenistekst. | Zoeken | Filtert zichtbare historielijst. | TeacherSupportHistorySearchFilter |
| SCH-BEH-12-07-T01 | T | Geschiedenissoverzicht | Chronologische lijst van beheer- en supportgebeurtenissen. | Geschiedenis | Read-only overzicht. | TeacherSupportHistoryList |
| SCH-BEH-12-07-F01 | F | Datum/tijd | Moment van gebeurtenis. | Datum/tijd | Lokaal weergegeven uit UTC. | HistoryTimestampValue |
| SCH-BEH-12-07-F02 | F | Gebeurtenis | Type of samenvatting van de actie. | Gebeurtenis | Bijvoorbeeld toegang ingetrokken of eigenaar gewijzigd. | HistoryEventValue |
| SCH-BEH-12-07-F03 | F | Details | Contextuele uitleg van de wijziging. | Details | Bevat geen technische identifiers als primaire tekst. | HistoryDetailsValue |
| SCH-BEH-12-07-F04 | F | Actor | Uitvoerende gebruiker of systeemactie. | Door | Dynamisch uit Users of systeemcontext. | HistoryActorValue |
| SCH-BEH-12-07-F05 | F | Reden | Opgegeven reden bij beheeractie. | Reden | Alleen wanneer beschikbaar of verplicht voor actie. | HistoryReasonValue |
| SCH-BEH-12-07-M01 | M | Lege staat | Melding wanneer geen historie beschikbaar is. | Geen geschiedenis gevonden | Verschilt per filter- of echte lege staat. | TeacherSupportHistoryEmptyStateMessage |
13.7.5 Waardelagen
| Element-ID | GUI-verwijzing | Zichtbaar label | Technische naam | Databron | Waardebron | Datatype | Bewerkbaar | Validatie / regel |
|---|---|---|---|---|---|---|---|---|
| SCH-BEH-12-07-FILTER01 | Typefilter | Type | TeacherSupportHistoryTypeFilter | Geen persistente opslag; filter op historisch read model | Gebruikersselectie voor gebeurtenistype | enum | Ja | Alleen geldige gebeurtenistypen tonen. |
| SCH-BEH-12-07-FILTER02 | Zoek historie | Zoeken | TeacherSupportHistorySearchFilter | Geen persistente opslag; filter op historisch read model | Gebruikersinvoer voor historiezoekopdracht | string | Ja | Zoekterm mag geen historie wijzigen. |
| SCH-BEH-12-07-T01 | Geschiedenissoverzicht | Geschiedenis | TeacherSupportHistoryList | TeacherLevels, TeacherLevelCategories, TeacherLevelCategoryExercises, Exercises, ExerciseHistory, TeacherStudentLevelAccess, TeacherLevelCollaborators, TeacherLevelOwnershipTransfers, Users | Samengesteld chronologisch historieoverzicht binnen docentcontext | list | Nee | Alleen gebeurtenissen binnen de geselecteerde docentcontext tonen. |
| SCH-BEH-12-07-F01 | Datum/tijd | Datum/tijd | HistoryTimestampValue | CreatedAtUtc, UpdatedAtUtc, GrantedAtUtc, RevokedAtUtc, TransferredAtUtc en vergelijkbare auditvelden | Tijdstip van gebeurtenis | datetime | Nee | UTC-bron lokaal en consistent weergeven. |
| SCH-BEH-12-07-F04 | Actor | Door | HistoryActorValue | Users via GrantedByUserId, RevokedByUserId, TransferredByUserId en vergelijkbare actorvelden | Uitvoerende gebruiker of systeemactie | string/composite | Nee | Actor moet herleidbaar blijven zonder technische id als primaire tekst. |
| SCH-BEH-12-07-F05 | Reden | Reden | HistoryReasonValue | RevocationReason, TeacherLevelOwnershipTransfers.Reason en ondersteuningsaudit | Opgegeven reden bij beheeractie | string | Nee | Verplichte redenen van supportmutaties moeten raadpleegbaar of traceerbaar blijven. |
13.7.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-BEH-12-07-01 | SRS-NFR-AUD-001 SRS-ADM-008 AC-NFR-AUD-001 AC-ADM-008 | De tab Geschiedenis relevante beheer- en supporthistorie binnen de geselecteerde docentcontext chronologisch tonen |
REQ-SCH-BEH-12-07-02 | SRS-NFR-AUD-001 SRS-ADM-008 AC-NFR-AUD-001 AC-ADM-008 | Het historieoverzicht minimaal datum/tijd, gebeurtenis, details, actor en reden kunnen tonen |
REQ-SCH-BEH-12-07-03 | SRS-NFR-AUD-001 SRS-ADM-008 AC-NFR-AUD-001 AC-ADM-008 | De historietab read-only zijn en mag geen historische records wijzigen of verwijderen |
REQ-SCH-BEH-12-07-04 | SRS-AUTH-001 SRS-NFR-AUD-001 AC-AUTH-001 AC-NFR-AUD-001 | Historie gebeurtenissen rond structuur, leerlingtoegang, collaborators en eigenaarschap kunnen combineren in één contextueel overzicht |
REQ-SCH-BEH-12-07-05 | SRS-ADM-008 AC-ADM-008 | Supportmutaties met verplichte reden in de geschiedenis zichtbaar of traceerbaar zijn |
REQ-SCH-BEH-12-07-06 | SRS-AUTH-001 SRS-NFR-AUD-001 AC-AUTH-001 AC-NFR-AUD-001 | Autorisatiefouten onderscheiden van een lege historie |
REQ-SCH-BEH-12-07-07 | SRS-AUTH-004 SRS-NFR-AUD-001 AC-AUTH-004 AC-NFR-AUD-001 | Technische identifiers geen als primaire gebruikersinformatie in het historieoverzicht worden getoond |
13.8 Technische koppeling
Voor technische uitwerking van docentondersteuning door beheerders zijn vooral relevant:
- 04 Identiteit, authenticatie en rolcontext voor docentgebruikers, rollen en beheerdercontext.
- 05 Autorisatie, policies en server-side contextcontrole voor uitzonderlijke beheeracties binnen één geselecteerde docentcontext.
- 08 Oefencatalogus, niveaus, categorieën, oefeningen en modules voor docentstructuur, niveaus, categorieën en oefeningen.
- 11 Rolflows technisch voor docentrolflows en combinatierollen.
- 12 Relatiebeheer, uitnodigingen en gedeelde oefeningen voor leerlingtoegang, relaties, collaborators en eigenaarschapsoverdracht.
- 17 Readmodels, tellers, badges, caching en materialisatie voor docentondersteuningssamenvattingen en tabtellers.
- 19 Logging, audit, securitylogging en technische foutafhandeling voor verplichte beheerdersreden, audittrail en foutafhandeling bij ondersteuningsacties.
- 24 Frontend, Blazor, routing, state en componentopbouw voor selectie, tabnavigatie, beheerformulieren en detailstate.
- 25 Privacy, retentie, anonimisering en gegevensbescherming voor minimale weergave van docent- en leerlinggegevens tijdens ondersteuning.