3. Niveaus en categorieën
3.1 Schermafbeelding

3.2 Scherm meta data
| Veld | Waarde |
|---|---|
| Scherm-ID | SCH-DOC-02-01 |
| Schermnaam | Niveaus en categorieën — Overzichtsview |
| Doelgroep / onderdeel | Docent |
| Bronbestand | oefenhub_docent_02_niveaus_en_categorieen_v1_10.html |
| Mockupversie | V1.10 |
| Screenshotbestand | oefenhub_docent_02_niveaus_en_categorieen_v1_10.png |
| Processtap / context | Docent beheert binnen een geselecteerd niveau de kerngegevens, gekoppelde categorieën en gekoppelde oefeningen. |
| Documentatiestatus | Uitgewerkt op basis van HTML-mockup, PNG-screenshot, Functioneel Ontwerp, Technisch Ontwerp, Software Requirements Specification en ondersteunende documentatie. |
| Opmerkingen | Generieke header-, berichten-, profiel- en footercomponenten worden centraal beschreven in hoofdstuk 1. Deze pagina focust daarom op de docent-specifieke beheerstructuur voor niveaus, categorieën, oefeningen en niveaugebonden vervolgstappen. |
| Route / URL-patroon | Functioneel routepatroon binnen docentcontext: Oefenaanbod > geselecteerd niveau. |
| Autorisatie / vereiste rol-context | Actieve docentcontext. Collaborators mogen op niveau-inhoud meewerken, maar krijgen via dit scherm niet automatisch toegang tot leerlingen, resultaten, geschiedenis of live meekijken. |
| Primair domeinobject / hoofdentiteit | TeacherLevels met onderliggende TeacherLevelCategories, TeacherLevelCategoryExercises en gekoppelde Exercises. |
| Gerelateerde schermen / navigatie | 04_niveau_categorie_modals, 05_nieuwe_oefening, 11_autoriseer_niveau, 12_collaborator, 13_eigenaarschap_overdragen. |
| Data-karakter | Combinatie van uitlees-, selecteer- en beheercontext. Samenvattingswaarden zijn dynamisch; structuuracties openen vervolgschermen of modale beheerflows. |
3.3 Functionele beschrijving
Deze view is het centrale docentscherm voor het beheren van het oefenaanbod binnen één gekozen niveau. De pagina combineert drie functies in één samenhangende beheercontext:
- oriënteren op de totale docentstructuur via een compacte samenvatting bovenaan;
- selecteren van een specifiek niveau in de linkerkolom;
- beheren van categorieën en oefeningen binnen dat geselecteerde niveau in de hoofdinhoud.
Bovenaan staat een introductieblok met de titel Oefenaanbod. Dit blok legt uit dat de docent hier niveaus beheert, categorieën koppelt en oefeningen onderhoudt. Daarnaast toont dezelfde kaart drie samenvattingswaarden voor actieve niveaus, categorieën en actieve oefeningen. Deze kaart is vooral bedoeld als snelle context voor de huidige docentstructuur en vervangt geen aparte detailselectie.
Daaronder toont de pagina links een niveaulijst. De docent selecteert eerst het niveau waarin gewerkt wordt, of start vanuit dezelfde sectie met het aanmaken van een nieuw niveau. Per niveaukaart zijn minimaal zichtbaar:
- de naam van het niveau;
- een compacte samenvatting met aantallen gekoppelde leerlingen en categorieën, plus de huidige eigenaar;
- de zichtbaarheid als Open of Privé;
- en, indien van toepassing, een aanduiding van actieve collaborators.
Rechts naast de niveaulijst staat het blok Geselecteerd niveau. Dit blok toont de kerngegevens van het momenteel gekozen niveau: naam, beschrijving, actuele eigenaar, zichtbaarheid, collaborators en aantal gekoppelde leerlingen. Vanuit dit blok vertrekt de docent naar vervolgacties zoals niveau bewerken, collaborators beheren, eigenaarschap overdragen en leerlingen aan het niveau koppelen. Deze acties veranderen de niveaucontext niet zelf op deze pagina, maar openen vervolgflows of vervolgschermen.
Onder deze twee blokken staat de sectie Categorieën binnen <geselecteerd niveau>. Hier wordt per aan het niveau gekoppelde categorie een kaart getoond met:
- de centrale categorie-identiteit (naam, kleur en icoon);
- een compacte samenvatting van aantallen oefeningen en recente wijziging;
- een actie om de categorie te openen;
- een actie om een nieuwe oefening aan die categorie toe te voegen;
- en een lijst van reeds gekoppelde oefeningen.
Per oefening zijn minimaal zichtbaar:
- de oefennaam;
- de gekoppelde technische module;
- de inzetbaarheidsstatus, zoals Actief of In onderhoud;
- en een actie Open om de concrete oefening verder te bekijken of te bewerken.
Onderaan staan twee ondersteunende informatieblokken:
-
Belangrijke regels
Dit blok maakt expliciet welke business rules voor deze pagina leidend zijn. De mockup benoemt hier onder meer het onderscheid tussen open en privé-niveaus, het blokkeren van wijzigen bij bestaande child-relaties en het feit dat nieuwe oefeningen standaard in onderhoud starten. -
Volgende stap
Dit blok helpt de docent navigeren naar logisch verwante vervolgcontexten, zoals leerlingenbeheer, bulk-autorisatie van leerlingen aan een niveau en collaboratorbeheer.
Voor dit scherm gelden de volgende functionele uitgangspunten:
- De pagina werkt altijd vanuit één geselecteerd niveau.
- Een niveau heeft altijd precies één actuele eigenaar, maar kan daarnaast actieve collaborators hebben.
- Collaborators mogen meewerken aan categorieën, oefeningen en configuraties binnen dit niveau, maar krijgen geen leerlingtoegang via deze pagina.
- Categorieën zijn centrale identiteiten. Naam, kleur en icoon horen functioneel bij de centrale categorie en niet bij de niveaukoppeling.
- Nieuwe oefeningen starten standaard in In onderhoud en zijn pas zichtbaar voor leerlingen nadat zij actief zijn gemaakt.
- De zichtbaarheid van een categorie voor leerlingen volgt uit actieve onderliggende inhoud en wordt niet als handmatige docentactie op deze pagina beheerd.
- Wijzigen of verwijderen van niveau- of categorie-structuur is begrensd door bestaande child-relaties en historiebescherming.
- De pagina blijft een webapp-scherm binnen de reguliere docentflow; er is geen aparte publieke API-flow of losstaand extern beheerkanaal voor deze acties.
De aantallen en namen in de mockup moeten daarom gelezen worden als voorbeeldweergave van structuur en betekenis, niet als definitieve productiegegevens.
3.4 UI-elementen en velddefinities
| Element-ID | Type | GUI-verwijzing | Omschrijving | Zichtbaar label | Opmerking | Technische naam |
|---|---|---|---|---|---|---|
| SCH-DOC-02-01-S01 | Section | Bovenste introductiekaart | Intro- en samenvattingskaart voor het oefenaanbodscherm. | Oefenaanbod | Combineert contextuitleg met drie globale docentstatistieken. | TeacherOfferHeroSection |
| SCH-DOC-02-01-F01 | Field | Introkaart — titel | Hoofdtitel van de pagina. | Oefenaanbod | Read-only weergavetekst. | TeacherOfferTitle |
| SCH-DOC-02-01-F02 | Field | Introkaart — hoofdtekst | Toelichting op doel en afbakening van de beheerpagina. | Hier beheer je je niveaus, koppel je categorieën en onderhoud je de oefeningen met hun oefenconfiguratie. | Read-only weergavetekst. | TeacherOfferIntroText |
| SCH-DOC-02-01-F03 | Field | Introkaart — statistiek 1 | Samenvattingswaarde voor actieve niveaus in de docentstructuur. | Actieve niveaus | Integer-uitleeswaarde. | ActiveTeacherLevelsSummaryValue |
| SCH-DOC-02-01-F04 | Field | Introkaart — statistiek 2 | Samenvattingswaarde voor categoriegebruik in de docentstructuur. | Categorieën | Integer-uitleeswaarde; exacte teldefinitie expliciet vastleggen. | CategoriesSummaryValue |
| SCH-DOC-02-01-F05 | Field | Introkaart — statistiek 3 | Samengestelde samenvattingswaarde voor actieve versus totale oefeningen. | Actieve oefeningen | Samengestelde weergave, bijvoorbeeld 27 van 30. | ActiveExercisesSummaryValue |
| SCH-DOC-02-01-S02 | Section | Linker bovenblok | Sectie met niveauselectie en actie voor nieuw niveau. | Niveaus | Primair selectieblok voor de rest van de pagina. | TeacherLevelsSelectionSection |
| SCH-DOC-02-01-A01 | Action | Niveaus — kopactie | Start actie om een nieuw niveau aan te maken. | Nieuw niveau | Opent vervolgflow voor aanmaken van een niveau. | CreateTeacherLevelAction |
| SCH-DOC-02-01-T01 | Table/Card list | Niveaulijst | Kaartlijst van beschikbare niveaus binnen de docentstructuur. | Niveaus | Functioneel lijst-/kaartweergave; niet per se een klassieke tabel. | TeacherLevelsCardList |
| SCH-DOC-02-01-A02 | Action | Niveaulijst — kaartselectie | Selecteert een niveau en ververst de overige schermsecties naar die context. | Groep 7 / Rekenen plusgroep / Klas 2026 – Groep 7 | Exact zichtbaar label verschilt per record. | SelectTeacherLevelAction |
| SCH-DOC-02-01-F06 | Field | Niveaulijst — kaarttitel | Naam van een niveaukaart in de lijst. | Groep 7 | Vrije naamgeving per niveau. | TeacherLevelNameField |
| SCH-DOC-02-01-F07 | Field | Niveaulijst — kaartsubregel | Compacte samenvatting per niveaukaart. | 12 gekoppelde leerlingen · 4 categorieën · eigenaar: Noor van Dijk | Samengestelde uitleesregel. | TeacherLevelSummaryField |
| SCH-DOC-02-01-M01 | Message | Niveaulijst — zichtbaarheidstag | Statusaanduiding voor zichtbaarheid van het niveau. | Open / Privé | Read-only statusweergave. | TeacherLevelVisibilityMessage |
| SCH-DOC-02-01-M02 | Message | Niveaulijst — collaborationtag | Aanduiding van actieve collaborators op het niveau. | 1 collaborator / 2 collaborators | Alleen zichtbaar indien van toepassing. | TeacherLevelCollaboratorsMessage |
| SCH-DOC-02-01-S03 | Section | Rechter bovenblok | Detailsamenvatting van het geselecteerde niveau. | Geselecteerd niveau | Toont kerngegevens en vervolgstappen voor het huidige niveau. | SelectedTeacherLevelSection |
| SCH-DOC-02-01-F08 | Field | Geselecteerd niveau — regel 1 | Naam van het geselecteerde niveau. | Naam | Label links, waarde rechts. | SelectedTeacherLevelNameField |
| SCH-DOC-02-01-F09 | Field | Geselecteerd niveau — regel 2 | Beschrijving van het geselecteerde niveau. | Beschrijving | Optioneel tekstveld op domeinniveau. | SelectedTeacherLevelDescriptionField |
| SCH-DOC-02-01-F10 | Field | Geselecteerd niveau — regel 3 | Actuele eigenaar van het geselecteerde niveau. | Eigenaarschap | Read-only in deze view. | SelectedTeacherLevelOwnerField |
| SCH-DOC-02-01-F11 | Field | Geselecteerd niveau — regel 4 | Zichtbaarheid van het geselecteerde niveau. | Zichtbaarheid | Read-only in deze view. | SelectedTeacherLevelVisibilityField |
| SCH-DOC-02-01-F12 | Field | Geselecteerd niveau — regel 5 | Samenvatting van actieve collaborators op het niveau. | Collaborators | Read-only in deze view. | SelectedTeacherLevelCollaboratorsField |
| SCH-DOC-02-01-F13 | Field | Geselecteerd niveau — regel 6 | Totaal gekoppelde leerlingen met toegang tot dit niveau. | Gekoppelde leerlingen | Integer-uitleeswaarde. | SelectedTeacherLevelStudentsCountField |
| SCH-DOC-02-01-A03 | Action | Geselecteerd niveau — actie 1 | Start vervolgactie om niveau-eigenschappen te wijzigen. | Niveau bewerken | Opent vervolgflow; niet inline op deze pagina. | EditTeacherLevelAction |
| SCH-DOC-02-01-A04 | Action | Geselecteerd niveau — actie 2 | Start vervolgactie voor collaboratorbeheer op het niveau. | Collaborators beheren | Verwijst naar het collaboratorscherm. | ManageTeacherLevelCollaboratorsAction |
| SCH-DOC-02-01-A05 | Action | Geselecteerd niveau — actie 3 | Start vervolgactie voor eigendomsoverdracht. | Eigenaarschap overdragen | Verwijst naar eigendomsoverdrachtsflow. | TransferTeacherLevelOwnershipAction |
| SCH-DOC-02-01-A06 | Action | Geselecteerd niveau — actie 4 | Start vervolgactie voor bulk-autorisatie van leerlingen aan het niveau. | Leerlingen aan niveau koppelen | Verwijst naar het autorisatiescherm. | ManageTeacherLevelStudentAccessAction |
| SCH-DOC-02-01-S04 | Section | Middelste hoofdblok | Overzicht van categorieën en oefeningen binnen het geselecteerde niveau. | Categorieën binnen Groep 7 | Contexttitel verandert mee met gekozen niveau. | TeacherLevelCategoriesSection |
| SCH-DOC-02-01-A07 | Action | Categorieënblok — kopactie | Start actie om een nieuwe categorie aan het geselecteerde niveau toe te voegen. | Nieuwe categorie | Ondersteunt koppelen van bestaande centrale categorie of aanmaken van nieuwe centrale categorie. | CreateTeacherLevelCategoryAction |
| SCH-DOC-02-01-T02 | Table/Card list | Categorielijst | Kaartlijst van categorieën die aan het geselecteerde niveau zijn gekoppeld. | Categorieën binnen Groep 7 | Functioneel lijst-/kaartweergave. | TeacherLevelCategoriesCardList |
| SCH-DOC-02-01-F14 | Field | Categoriekaart — titel | Centrale categorienaam. | Rekenen / Spelling | Naam hoort bij centrale categorie-identiteit. | CategoryNameField |
| SCH-DOC-02-01-F15 | Field | Categoriekaart — subregel | Compacte samenvatting van gekoppelde oefeningen en recente wijziging. | 6 oefeningen · 42 actieve oefeningen · laatste wijziging vandaag | Samengestelde uitleesregel. | CategorySummaryField |
| SCH-DOC-02-01-A08 | Action | Categoriekaart — actie 1 | Opent de gekozen categorie binnen de docentcontext. | Open categorie | Verwijst naar onderliggende categorie-/subcategoriecontext. | OpenCategoryAction |
| SCH-DOC-02-01-A09 | Action | Categoriekaart — actie 2 | Start actie om een nieuwe oefening onder deze categorie toe te voegen. | Nieuwe oefening | Opent keuze voor technische module en daaropvolgende configuratieflow. | CreateExerciseAction |
| SCH-DOC-02-01-T03 | Table/Card list | Oefeningen binnen categorie | Lijst met concrete oefeningen onder de geselecteerde categoriekaart. | Breuken optellen / Tafels tot 12 / Werkwoorden tegenwoordige tijd | Functioneel lijst-/kaartweergave van oefeningen. | TeacherCategoryExercisesList |
| SCH-DOC-02-01-F16 | Field | Oefenregel — titel | Naam van een concrete oefening. | Breuken optellen | Door docent gekozen naam van de oefening. | ExerciseNameField |
| SCH-DOC-02-01-F17 | Field | Oefenregel — subregel | Samenvatting van gekoppelde module en status. | Module: FractionModule · status: Actief | Samengestelde uitleesregel. | ExerciseModuleAndStatusField |
| SCH-DOC-02-01-M03 | Message | Oefenregel — statusbadge | Visuele statusaanduiding van de oefening. | Actief / In onderhoud | Read-only statusweergave. | ExerciseStatusMessage |
| SCH-DOC-02-01-A10 | Action | Oefenregel — regelactie | Opent de concrete oefening voor detail- of configuratiebeheer. | Open | Verwijst naar concrete oefeningdetail of bewerkcontext. | OpenExerciseAction |
| SCH-DOC-02-01-S05 | Section | Linker onderblok | Uitlegblok met business rules voor de gekozen structuurcontext. | Belangrijke regels | Read-only toelichtingssectie. | TeacherLevelRulesSection |
| SCH-DOC-02-01-M04 | Message | Belangrijke regels — item 1 | Toelichting op verschil tussen open en privé-niveaus. | Open of privé | Verduidelijkt zichtbaarheid voor andere docenten en collaborators. | OpenPrivateRuleMessage |
| SCH-DOC-02-01-M05 | Message | Belangrijke regels — item 2 | Toelichting op blokkade bij bestaande child-relaties. | Child-relaties blokkeren wijzigen | Verduidelijkt begrenzing van hernoemen of verwijderen. | ChildRelationsRuleMessage |
| SCH-DOC-02-01-M06 | Message | Belangrijke regels — item 3 | Toelichting op startstatus van nieuwe oefeningen. | Oefening-status | Verduidelijkt dat nieuwe oefeningen in onderhoud starten. | ExerciseStatusRuleMessage |
| SCH-DOC-02-01-S06 | Section | Rechter onderblok | Navigatiehulp naar logisch verwante vervolgcontexten. | Volgende stap | Bevat geen primaire mutatie, maar contextuele doorverwijzing. | NextStepSection |
| SCH-DOC-02-01-M07 | Message | Volgende stap — item 1 | Toelichting op leerlingbeheer als vervolgroute. | Leerlingen | Read-only begeleidende navigatietekst. | StudentsNextStepMessage |
| SCH-DOC-02-01-M08 | Message | Volgende stap — item 2 | Toelichting op bulk-koppelen van leerlingen aan het niveau. | Leerlingen aan niveau koppelen | Read-only begeleidende navigatietekst. | StudentLevelLinkingNextStepMessage |
| SCH-DOC-02-01-M09 | Message | Volgende stap — item 3 | Toelichting op collaboratorbeheer als vervolgroute. | Collaborators beheren | Read-only begeleidende navigatietekst. | CollaboratorsNextStepMessage |
3.5 Waardelagen
| Element-ID | GUI-verwijzing | Zichtbaar label | Technische naam | Databron | Waardebron | Datatype | Bewerkbaar | Validatie / regel |
|---|---|---|---|---|---|---|---|---|
| SCH-DOC-02-01-S01 | Bovenste introductiekaart | Oefenaanbod | TeacherOfferHeroSection | Codegedreven webapp-sectie met vaste layout; onderliggende tekst- en labelinhoud komt uit front-end rendering binnen de docentcontext | Samengestelde introductie- en samenvattingskaart voor het oefenaanbodscherm | Section / composite | Nee op deze view | Layout en blokvolgorde zijn codegedreven; samenvattingswaarden zijn dynamisch en niet handmatig bewerkbaar op dit scherm. |
| SCH-DOC-02-01-F01 | Introkaart — titel | Oefenaanbod | TeacherOfferTitle | Front-end renderwaarde binnen actieve docentcontext | Vaste schermtitel van deze beheerpagina | String | Nee | Read-only schermtitel. |
| SCH-DOC-02-01-F02 | Introkaart — hoofdtekst | Hier beheer je je niveaus, koppel je categorieën en onderhoud je de oefeningen met hun oefenconfiguratie. | TeacherOfferIntroText | Front-end renderwaarde binnen actieve docentcontext | Functionele toelichting op doel en afbakening van het scherm | String / rich text | Nee | Read-only begeleidende tekst; inhoud kan in mockup afwijken van uiteindelijke beheerbare contentblokken. |
| SCH-DOC-02-01-F03 | Introkaart — statistiek 1 | Actieve niveaus | ActiveTeacherLevelsSummaryValue | TeacherLevels.IsActive + eigenaarschap via TeacherLevels.OwnerTeacherUserId of actieve samenwerking via TeacherLevelCollaborators.IsActive | Telling van actieve niveaus waarin de huidige docent actuele eigenaar is of actief samenwerkt | Integer | Nee | Een niveau mag in deze samenvatting niet dubbel meetellen wanneer eigenaarschap en collaboration beide van toepassing zijn. |
| SCH-DOC-02-01-F04 | Introkaart — statistiek 2 | Categorieën | CategoriesSummaryValue | TeacherLevelCategories + Categories + actieve TeacherLevels binnen de huidige docentcontext | Samenvattende telling van categoriegebruik in de actieve docentstructuur | Integer | Nee | Expliciet vastleggen of dit distinct centrale categorieën betreft of het totaal aantal actieve niveau-categoriekoppelingen. |
| SCH-DOC-02-01-F05 | Introkaart — statistiek 3 | Actieve oefeningen | ActiveExercisesSummaryValue | TeacherLevelCategoryExercises.IsActive + Exercises.IsActive + actieve bovenliggende TeacherLevelCategories / TeacherLevels | Samengestelde waarde van actief inzetbare oefeningen ten opzichte van totaal gekoppelde oefeningen binnen de docentstructuur | String / samengesteld getal | Nee | Weergave gebruikt een samengesteld formaat zoals 27 van 30; teller- en noemerdeel moeten afzonderlijk functioneel definieerbaar zijn. |
| SCH-DOC-02-01-S02 | Linker bovenblok | Niveaus | TeacherLevelsSelectionSection | Codegedreven beheersectie met onderliggende waarden uit TeacherLevels | Selectiekaart voor niveaus binnen de docentstructuur | Section / composite | Nee op sectieniveau | Deze sectie bepaalt de actieve niveaucontext voor de overige schermblokken. |
| SCH-DOC-02-01-A01 | Niveaus — kopactie | Nieuw niveau | CreateTeacherLevelAction | Geen directe databron; actie start create-flow voor TeacherLevels | Start route of modalflow voor het aanmaken van een nieuw niveau | Action | Ja | Nieuwe niveaus worden aangemaakt in docentcontext met precies één actuele eigenaar. |
| SCH-DOC-02-01-T01 | Niveaulijst | Niveaus | TeacherLevelsCardList | TeacherLevels + samenvattende afleidingen uit TeacherLevelCategories, TeacherStudentLevelAccess en TeacherLevelCollaborators | Lijst van niveaurecords die voor de huidige docent zichtbaar en selecteerbaar zijn | Table/Card list | Nee direct; selectie via regelactie | Lijst toont alleen niveaus binnen de huidige docentstructuur; sortering en selectiegedrag moeten expliciet zijn vastgelegd. |
| SCH-DOC-02-01-A02 | Niveaulijst — kaartselectie | Groep 7 / Rekenen plusgroep / Klas 2026 – Groep 7 | SelectTeacherLevelAction | Geselecteerd TeacherLevels.Id | Zet de actieve niveaucontext voor detailblok, categorielijst en vervolgstappen | Action | Ja | Exact één niveau is tegelijk actief in deze view. |
| SCH-DOC-02-01-F06 | Niveaulijst — kaarttitel | Groep 7 | TeacherLevelNameField | TeacherLevels.Name | Vrije naamgeving van het niveau | String | Nee op deze view | Naam hoeft niet globaal uniek te zijn. |
| SCH-DOC-02-01-F07 | Niveaulijst — kaartsubregel | 12 gekoppelde leerlingen · 4 categorieën · eigenaar: Noor van Dijk | TeacherLevelSummaryField | TeacherStudentLevelAccess.IsActive + TeacherLevelCategories + TeacherLevels.OwnerTeacherUserId + Users | Samengestelde samenvatting van gekoppelde leerlingen, categoriegebruik en eigenaar per niveaukaart | String / composite | Nee | Samengestelde uitleesregel; onderliggende aantallen en naamdelen moeten elk uit hun eigen bron worden opgebouwd. |
| SCH-DOC-02-01-M01 | Niveaulijst — zichtbaarheidstag | Open / Privé | TeacherLevelVisibilityMessage | TeacherLevels zichtbaarheidseigenschap zoals functioneel in docentstructuur vastgelegd | Read-only statusweergave van zichtbaarheid van het niveau | Message / status | Nee | Open niveaus zijn zichtbaar voor andere docenten; privé-niveaus niet, behalve voor actief gekoppelde collaborators. |
| SCH-DOC-02-01-M02 | Niveaulijst — collaborationtag | 1 collaborator / 2 collaborators | TeacherLevelCollaboratorsMessage | TeacherLevelCollaborators.IsActive | Samenvattende statusweergave van actieve collaborators op het niveau | Message / status | Nee | Alleen actieve collaborators tellen mee; huidige eigenaar telt niet als collaborator van hetzelfde niveau. |
| SCH-DOC-02-01-S03 | Rechter bovenblok | Geselecteerd niveau | SelectedTeacherLevelSection | Codegedreven beheersectie met onderliggende waarden uit het geselecteerde TeacherLevels-record en verwante structuurgegevens | Detailsamenvatting van het gekozen niveau | Section / composite | Nee op sectieniveau | Sectie toont kerngegevens en vertakking naar vervolgflows, maar voert die niet inline uit. |
| SCH-DOC-02-01-F08 | Geselecteerd niveau — regel 1 | Naam | SelectedTeacherLevelNameField | TeacherLevels.Name | Naam van het geselecteerde niveau | String | Nee | Read-only in deze view. |
| SCH-DOC-02-01-F09 | Geselecteerd niveau — regel 2 | Beschrijving | SelectedTeacherLevelDescriptionField | TeacherLevels.Description | Beschrijving van het geselecteerde niveau | String | Nee | Beschrijving is optioneel op domeinniveau. |
| SCH-DOC-02-01-F10 | Geselecteerd niveau — regel 3 | Eigenaarschap | SelectedTeacherLevelOwnerField | TeacherLevels.OwnerTeacherUserId + Users | Naam van de actuele eigenaar van het geselecteerde niveau | String | Nee | Een niveau heeft altijd precies één actuele eigenaar. |
| SCH-DOC-02-01-F11 | Geselecteerd niveau — regel 4 | Zichtbaarheid | SelectedTeacherLevelVisibilityField | Functionele zichtbaarheidseigenschap van TeacherLevels | Read-only zichtbaarheid van het geselecteerde niveau | String / status | Nee | Alleen open of privé; technische opslagvorm ligt buiten deze schermdocumentatie en hoort in het Technisch Ontwerp en de database-informatie. |
| SCH-DOC-02-01-F12 | Geselecteerd niveau — regel 5 | Collaborators | SelectedTeacherLevelCollaboratorsField | TeacherLevelCollaborators.IsActive + Users | Samenvatting van actieve collaborators op het geselecteerde niveau | String / composite | Nee | Alleen actieve collaborators meetellen; oude eigenaar blijft na overdracht standaard collaborator. |
| SCH-DOC-02-01-F13 | Geselecteerd niveau — regel 6 | Gekoppelde leerlingen | SelectedTeacherLevelStudentsCountField | TeacherStudentLevelAccess.IsActive + geselecteerd TeacherLevels.Id | Telling van leerlingen met actieve toegang tot dit niveau | Integer | Nee | Alleen actieve toegangen tellen mee; collaborators krijgen hierdoor geen leerlingtoegang. |
| SCH-DOC-02-01-A03 | Geselecteerd niveau — actie 1 | Niveau bewerken | EditTeacherLevelAction | Geen directe databron; vervolgactie op geselecteerd TeacherLevels.Id | Opent wijzigingsflow voor niveaugegevens | Action | Ja | Wijzigen van niveaustructuur kan functioneel begrensd zijn door bestaande child-relaties en historiebescherming. |
| SCH-DOC-02-01-A04 | Geselecteerd niveau — actie 2 | Collaborators beheren | ManageTeacherLevelCollaboratorsAction | Geen directe databron; vervolgactie op geselecteerd TeacherLevels.Id en TeacherLevelCollaborators | Opent collaboratorbeheer voor het niveau | Action | Ja | Alleen docenten met actieve docent-docentrelatie mogen als nieuwe collaborator worden toegevoegd. |
| SCH-DOC-02-01-A05 | Geselecteerd niveau — actie 3 | Eigenaarschap overdragen | TransferTeacherLevelOwnershipAction | Geen directe databron; vervolgactie op geselecteerd TeacherLevels.Id, TeacherLevelCollaborators en TeacherLevelOwnershipTransfers | Opent eigendomsoverdrachtsflow voor het niveau | Action | Ja | Nieuwe eigenaar moet op overdrachtsmoment al actieve collaborator van het niveau zijn; reden is verplicht. |
| SCH-DOC-02-01-A06 | Geselecteerd niveau — actie 4 | Leerlingen aan niveau koppelen | ManageTeacherLevelStudentAccessAction | Geen directe databron; vervolgactie op geselecteerd TeacherLevels.Id en TeacherStudentLevelAccess | Opent bulk-autorisatieflow voor leerlingtoegang tot het niveau | Action | Ja | Een leerling kan alleen gekoppeld worden wanneer al een actieve docent-leerlingrelatie bestaat. |
| SCH-DOC-02-01-S04 | Middelste hoofdblok | Categorieën binnen Groep 7 | TeacherLevelCategoriesSection | Codegedreven beheersectie met onderliggende waarden uit TeacherLevelCategories, Categories, TeacherLevelCategoryExercises en Exercises | Overzichtssectie voor categorieën en oefeningen binnen het geselecteerde niveau | Section / composite | Nee op sectieniveau | Contexttitel wijzigt mee met het geselecteerde niveau. |
| SCH-DOC-02-01-A07 | Categorieënblok — kopactie | Nieuwe categorie | CreateTeacherLevelCategoryAction | Geen directe databron; vervolgactie op geselecteerd TeacherLevels.Id en eventueel Categories | Start flow om een bestaande centrale categorie te koppelen of een nieuwe centrale categorie aan te maken | Action | Ja | Categorieën zijn centrale identiteiten; naam, kleur en icoon horen bij Categories en niet bij de niveaukoppeling. |
| SCH-DOC-02-01-T02 | Categorielijst | Categorieën binnen Groep 7 | TeacherLevelCategoriesCardList | TeacherLevelCategories + Categories + afleidingen uit TeacherLevelCategoryExercises / Exercises | Lijst van categoriekaarten binnen het geselecteerde niveau | Table/Card list | Nee direct; acties per kaart | Per actieve combinatie TeacherLevelId + CategoryId bestaat maximaal één actieve koppeling. |
| SCH-DOC-02-01-F14 | Categoriekaart — titel | Rekenen / Spelling | CategoryNameField | Categories.Name | Centrale categorienaam | String | Nee op deze view | Naam hoort bij centrale categorie-identiteit en niet bij TeacherLevelCategories. |
| SCH-DOC-02-01-F15 | Categoriekaart — subregel | 6 oefeningen · 42 actieve oefeningen · laatste wijziging vandaag | CategorySummaryField | TeacherLevelCategoryExercises + Exercises + relevante audit-/wijziginformatie | Samengestelde samenvattingsregel per categoriekaart | String / composite | Nee | De betekenis van oefeningen versus actieve oefeningen en de bron van laatste wijziging moet expliciet zijn vastgelegd. |
| SCH-DOC-02-01-A08 | Categoriekaart — actie 1 | Open categorie | OpenCategoryAction | Geen directe databron; vervolgactie op geselecteerd TeacherLevelCategories.Id of onderliggende contextsleutel | Opent de gekozen categorie in verdere docentcontext | Action | Ja | Verwijst naar vervolgscherm of detailcontext volgens de functionele routering. |
| SCH-DOC-02-01-A09 | Categoriekaart — actie 2 | Nieuwe oefening | CreateExerciseAction | Geen directe databron; vervolgactie op geselecteerde categoriecontext met nieuwe Exercises + TeacherLevelCategoryExercises | Start flow voor toevoegen van een nieuwe oefening | Action | Ja | Flow verloopt in twee fasen: technische module kiezen, daarna modulespecifieke configuratie. |
| SCH-DOC-02-01-T03 | Oefeningen binnen categorie | Breuken optellen / Tafels tot 12 / Werkwoorden tegenwoordige tijd | TeacherCategoryExercisesList | TeacherLevelCategoryExercises + Exercises | Lijst van concrete oefeningen binnen een categorie in het geselecteerde niveau | Table/Card list | Nee direct; acties per regel | Koppeling van plaatsing binnen categorie is bewust los van de oefening zelf gemodelleerd. |
| SCH-DOC-02-01-F16 | Oefenregel — titel | Breuken optellen | ExerciseNameField | Exercises.Name | Door docent gekozen naam van de oefening | String | Nee op deze view | Read-only in dit overzicht; detailbeheer verloopt via openen van de oefening. |
| SCH-DOC-02-01-F17 | Oefenregel — subregel | Module: FractionModule · status: Actief | ExerciseModuleAndStatusField | Exercises.ExerciseModuleId + ExerciseModules + Exercises.IsActive | Samengestelde uitleesregel van module-identiteit en inzetbaarheidsstatus | String / composite | Nee | Een oefening verwijst altijd naar precies één record in ExerciseModules. |
| SCH-DOC-02-01-M03 | Oefenregel — statusbadge | Actief / In onderhoud | ExerciseStatusMessage | Exercises.IsActive | Read-only statusweergave van de oefening | Message / status | Nee | Nieuwe oefeningen starten standaard in onderhoud (IsActive = 0). |
| SCH-DOC-02-01-A10 | Oefenregel — regelactie | Open | OpenExerciseAction | Geen directe databron; vervolgactie op geselecteerd Exercises.Id | Opent de concrete oefening voor detail- of configuratiebeheer | Action | Ja | Bestaande oefening opent modulespecifieke bewerkconfiguratie binnen een generieke opslagflow. |
| SCH-DOC-02-01-S05 | Linker onderblok | Belangrijke regels | TeacherLevelRulesSection | Codegedreven read-only begeleidingsblok | Samengestelde regels- en toelichtingskaart voor de huidige niveaucontext | Section / composite | Nee | Dit blok verduidelijkt business rules, maar wijzigt zelf geen data. |
| SCH-DOC-02-01-M04 | Belangrijke regels — item 1 | Open of privé | OpenPrivateRuleMessage | Front-end renderwaarde op basis van business rules uit docentstructuur | Toelichting op zichtbaarheid van open versus privé-niveaus | Message | Nee | Open niveaus zijn zichtbaar voor andere docenten; privé-niveaus niet, behalve voor actief gekoppelde collaborators. |
| SCH-DOC-02-01-M05 | Belangrijke regels — item 2 | Child-relaties blokkeren wijzigen | ChildRelationsRuleMessage | Front-end renderwaarde op basis van business rules voor structuurwijziging | Toelichting op beperking bij bestaande child-relaties | Message | Nee | Niveau of categorie met child-relaties mag niet worden hernoemd of verwijderd totdat die relaties zijn weggehaald. |
| SCH-DOC-02-01-M06 | Belangrijke regels — item 3 | Oefening-status | ExerciseStatusRuleMessage | Front-end renderwaarde op basis van oefenlifecycle | Toelichting op startstatus van nieuwe oefeningen | Message | Nee | Nieuwe oefeningen starten in onderhoud en worden pas zichtbaar voor leerlingen na activering. |
| SCH-DOC-02-01-S06 | Rechter onderblok | Volgende stap | NextStepSection | Codegedreven read-only begeleidingsblok | Navigatiekaart naar logisch verwante vervolgcontexten | Section / composite | Nee | Dit blok helpt oriënteren maar is niet de primaire drager van de vervolgacties zelf. |
| SCH-DOC-02-01-M07 | Volgende stap — item 1 | Leerlingen | StudentsNextStepMessage | Front-end renderwaarde binnen docentcontext | Toelichting op leerlingbeheer als logische vervolgroute | Message | Nee | Verwijst functioneel naar het leerlingenoverzicht en openstaande uitnodigingen. |
| SCH-DOC-02-01-M08 | Volgende stap — item 2 | Leerlingen aan niveau koppelen | StudentLevelLinkingNextStepMessage | Front-end renderwaarde binnen docentcontext | Toelichting op bulk-autorisatie van leerlingen aan het geselecteerde niveau | Message | Nee | Verwijst functioneel naar de niveau-autorisatieflow. |
| SCH-DOC-02-01-M09 | Volgende stap — item 3 | Collaborators beheren | CollaboratorsNextStepMessage | Front-end renderwaarde binnen docentcontext | Toelichting op collaboratorbeheer voor het geselecteerde niveau | Message | Nee | Verduidelijkt dat collaboratorbeheer geen leerlingtoegang of resultaattoegang verleent. |
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-DOC-02-01-01 | SRS-TCH-008 AC-TCH-008 | Binnen de docentcontext een centraal oefenaanbodscherm tonen waarin niveaus geselecteerd kunnen worden en categorieën en oefeningen binnen precies één gekozen niveau beheerd worden |
REQ-SCH-DOC-02-01-02 | SRS-RDM-005 SRS-RDM-006 SRS-RDM-002 SRS-RDM-001 SRS-TCH-008 AC-RDM-005 AC-RDM-006 AC-RDM-002 AC-RDM-001 AC-TCH-008 | Bovenaan een introductie- en samenvattingskaart tonen met een docentgerichte uitleg over het beheer van niveaus, categorieën en oefeningen |
REQ-SCH-DOC-02-01-03 | SRS-TCH-008 AC-TCH-008 | In de bovenste samenvatting minimaal waarden tonen voor actieve niveaus, categoriegebruik en actieve oefeningen binnen de huidige docentstructuur |
REQ-SCH-DOC-02-01-04 | SRS-RDM-005 SRS-RDM-002 SRS-RDM-001 SRS-TCH-008 AC-RDM-005 AC-RDM-002 AC-RDM-001 AC-TCH-008 | Links een selecteerbare niveaulijst tonen met per niveau ten minste naam, een compacte samenvattingsregel, zichtbaarheid en eventuele collaborator-aanduiding |
REQ-SCH-DOC-02-01-05 | SRS-TCH-008 AC-TCH-008 | Exact één niveau tegelijk als actieve context behandelen en de overige schermsecties aan die gekozen niveaucontext koppelen |
REQ-SCH-DOC-02-01-06 | SRS-TCH-008 AC-TCH-008 | Vanuit het niveaublok een vervolgactie bieden om een nieuw niveau aan te maken |
REQ-SCH-DOC-02-01-07 | SRS-RDM-005 SRS-RDM-002 SRS-RDM-001 SRS-TCH-008 AC-RDM-005 AC-RDM-002 AC-RDM-001 AC-TCH-008 | In het blok Geselecteerd niveau minimaal naam, beschrijving, actuele eigenaar, zichtbaarheid, collaborators en aantal gekoppelde leerlingen tonen |
REQ-SCH-DOC-02-01-08 | SRS-TCH-008 AC-TCH-008 | Vanuit het blok Geselecteerd niveau vervolgacties bieden voor niveau bewerken, collaborators beheren, eigenaarschap overdragen en leerlingen aan niveau koppelen |
REQ-SCH-DOC-02-01-09 | SRS-TCH-008 AC-TCH-008 | Binnen het geselecteerde niveau een overzicht tonen van gekoppelde categorieën met per categorie ten minste naam, samenvatting, een actie om de categorie te openen en een actie om een nieuwe oefening toe te voegen |
REQ-SCH-DOC-02-01-10 | SRS-TCH-001 AC-TCH-001 | Per categorie een lijst tonen van concrete oefeningen met ten minste oefennaam, gekoppelde technische module, status en een actie om de oefening te openen |
REQ-SCH-DOC-02-01-11 | SRS-TCH-001 AC-TCH-001 | Een oefening altijd verwijzen naar precies één technische module uit ExerciseModules |
REQ-SCH-DOC-02-01-12 | SRS-TCH-008 AC-TCH-008 | Nieuwe oefeningen standaard starten in de status In onderhoud en mogen pas zichtbaar zijn voor leerlingen nadat zij actief zijn gemaakt |
REQ-SCH-DOC-02-01-13 | SRS-TCH-008 AC-TCH-008 | Een niveau altijd precies één actuele eigenaar hebben en mag daarnaast één of meerdere actieve collaborators hebben |
REQ-SCH-DOC-02-01-14 | SRS-AUTH-001 SRS-LIVE-002 AC-AUTH-001 AC-LIVE-002 | Collaborators op een niveau aan categorieën, oefeningen en configuraties binnen dat niveau mogen werken, maar krijgen daardoor niet automatisch toegang tot leerlingen, resultaten, geschiedenis of live meekijken |
REQ-SCH-DOC-02-01-15 | SRS-TCH-008 AC-TCH-008 | Eigenaarschap van een niveau mag uitsluitend worden overgedragen aan een bestaande actieve collaborator van dat niveau en vereist altijd een expliciete reden |
REQ-SCH-DOC-02-01-16 | SRS-TCH-008 AC-TCH-008 | Categorieën functioneren als centrale identiteiten; naam, kleur en icoon horen bij de centrale categorie en geen vrij per niveaucontext afwijken |
REQ-SCH-DOC-02-01-17 | SRS-TCH-008 AC-TCH-008 | De zichtbaarheid van een categorie voor leerlingen volgen uit actieve onderliggende inhoud binnen het geselecteerde niveau en geen als zelfstandige handmatige docentactie op deze pagina worden bestuurd |
REQ-SCH-DOC-02-01-18 | SRS-NFR-AUD-001 SRS-TCH-008 AC-NFR-AUD-001 AC-TCH-008 | Structuurwijzigingen begrenzen wanneer child-relaties of historiebescherming dat vereisen, zodat niveau- of categorieonderdelen niet blind hernoemd of verwijderd kunnen worden |
REQ-SCH-DOC-02-01-19 | SRS-TCH-008 AC-TCH-008 | Een leerling mag alleen aan een niveau worden gekoppeld wanneer tussen de betreffende docent en leerling al een actieve docent-leerlingrelatie bestaat |
REQ-SCH-DOC-02-01-20 | SRS-RDM-005 SRS-RDM-002 SRS-RDM-001 SRS-AUTH-001 SRS-TCH-008 AC-RDM-005 AC-RDM-002 AC-RDM-001 AC-AUTH-001 AC-TCH-008 | Samenvattingswaarden op dit scherm dynamisch worden opgebouwd uit onderliggende structuur- en autorisatiedata; voor elke teller expliciet vastliggen welke records meetellen, welke filters gelden en of distinct-logica van toepassing is |
REQ-SCH-DOC-02-01-21 | SRS-TCH-008 AC-TCH-008 | Een read-only blok Belangrijke regels tonen waarin de voor deze niveaucontext relevante business rules begrijpelijk worden samengevat |
REQ-SCH-DOC-02-01-22 | SRS-AUTH-001 SRS-TCH-008 AC-AUTH-001 AC-TCH-008 | Een read-only blok Volgende stap tonen dat de docent oriënteert op logisch verwante vervolgcontexten zoals leerlingenbeheer, niveau-autorisatie en collaboratorbeheer |
REQ-SCH-DOC-02-01-23 | SRS-TCH-001 AC-TCH-001 | De beheerflow voor bestaande oefeningen modulespecifieke configuratie kunnen openen, terwijl opslag en verdere afhandeling generiek blijven binnen de webapp-architectuur |
3.7 Technische koppeling
Voor technische uitwerking zijn vooral relevant:
- 05 Autorisatie, policies en server-side contextcontrole voor server-side controle op docentcontext, eigenaarschap en zichtbare beheeracties.
- 08 Oefencatalogus, niveaus, categorieën, oefeningen en modules voor niveaus, categorieën, oefeningkoppelingen, statusvelden en beheerregels.
- 09 Oefenmodulecontract en dynamische module-integratie voor de koppeling tussen concrete oefenmodules en configureerbare oefeningen.
- 11 Rolflows technisch voor docentflows rond eigenaar, collaborator en contextwisseling.
- 17 Readmodels, tellers, badges, caching en materialisatie voor aantallen, statusoverzichten en afgeleide beheerinformatie.
- 24 Frontend, Blazor, routing, state en componentopbouw voor tabellen, filters, modalroutes en componentstate.
- 25 Privacy, retentie, anonimisering en gegevensbescherming voor gegevensminimalisatie in docentoverzichten.