3. Frontpage geen docent
3.1 Schermafbeelding

3.2 Scherm meta data
| Veld | Waarde |
|---|---|
| Scherm-ID | SCH-LLN-02-01 |
| Schermnaam | Frontpage zonder oefentoegang — Landingsview |
| Doelgroep / onderdeel | Leerling |
| Bronbestand | oefenhub_leerling_02_frontpage_geen_docent_v7_5.html |
| Mockupversie | V7.5 |
| Screenshotbestand | oefenhub_leerling_02_frontpage_geen_docent_v7_5.png |
| Processtap / context | Na inloggen in actieve leerlingcontext waarbij de leerling al een actieve docentrelatie heeft, maar nog geen actieve niveauautorisatie of oefentoegang. |
| Documentatiestatus | Uitgewerkt op basis van HTML-mockup, PNG-screenshot, Functioneel Ontwerp, Technisch Ontwerp, Software Requirements Specification en ondersteunende documentatie. |
| Opmerkingen | De bestandsnaam gebruikt de aanduiding geen_docent, maar functioneel beschrijft dit scherm de toestand waarin er nog geen oefentoegang beschikbaar is. Categorieknoppen die in de mockup zichtbaar zijn, worden in deze view niet als functionele oefentoegang uitgewerkt omdat de leerling in deze toestand geen geautoriseerde niveaus heeft. |
| Route / URL-patroon | Functioneel routepatroon: leerling-frontpage na inloggen binnen actieve leerlingcontext zonder actieve niveauautorisaties. |
| Autorisatie / vereiste rol-context | Actieve leerlingcontext; minimaal één actieve docent-leerlingrelatie, maar geen actieve niveauautorisaties voor de leerling. |
| Primair domeinobject / hoofdentiteit | Leerlingaccount met relatie- en autorisatiestatus; geen primair oefen- of runobject. |
| Gerelateerde schermen / navigatie | 01_schermen-leerling, 02_frontpage, berichtenoverzicht / nieuw privébericht. |
| Data-karakter | Uitlees- en situatieweergave; de zichtbare blokken zijn grotendeels lege staten of begeleidende teksten omdat oefenruns, statistieken en categorieën nog niet beschikbaar zijn. |
3.3 Functionele beschrijving
Deze frontpagevariant wordt getoond aan een leerling die wel binnen OefenHub kan inloggen en al aan een docent gekoppeld is, maar nog geen toegang heeft tot oefeningen. Functioneel betekent dit dat er nog geen actieve niveauautorisatie bestaat waarmee de leerling oefeningen binnen een docentniveau mag openen.
De pagina is daarom geen normale oefenfrontpage. In plaats van startknoppen, populaire categorieën, recente oefeningen of statistieken toont het scherm een duidelijke statusmelding en meerdere uitlegblokken. De leerling krijgt uitgelegd dat er op dit moment nog geen oefeningen aan het account gekoppeld zijn en dat de docent toegang moet geven.
De hoofdactie Stuur een bericht ondersteunt de leerling bij het benaderen van de gekoppelde docent. Deze actie mag geen autorisatie aanmaken en mag geen oefentoegang verlenen. De actie opent uitsluitend een bericht- of contactflow richting een toegestane gekoppelde gebruiker, waarbij de feitelijke autorisatie nog steeds door de docent moet worden toegekend via de daarvoor bedoelde docentfunctionaliteit.
Onder de waarschuwing staan introductie- en uitlegblokken. Deze blokken beschrijven wat OefenHub later op deze pagina zal tonen zodra de leerling toegang heeft en oefeningen gaat maken. Het gaat daarbij om uitleg over oefenen, verdergaan vanaf eerdere activiteit, resultaten, voortgang en statistieken.
Omdat de leerling in deze toestand geen actieve oefentoegang heeft, gelden de volgende beperkingen:
- Er wordt geen oefening gestart vanuit dit scherm.
- Er wordt geen Verder waar ik was-actie getoond of geactiveerd, omdat er geen toegankelijke niet-afgeronde oefenrun kan worden hervat.
- Er worden geen echte populaire categorieën berekend of getoond.
- Er worden geen recente oefenruns getoond.
- Er worden geen echte statistiekwaarden getoond.
- Zichtbare voorbeeld- of uitlegregels over toekomstige inhoud zijn informatief en mogen niet als actuele leerlingdata worden geïnterpreteerd.
Interpretatie van mockupwaarden
De mockup bevat enkele concrete voorbeeldwaarden, zoals de naam in de header, het aantal ongelezen berichten en voorbeeldteksten over categorieën of toekomstige statistieken. Deze waarden zijn illustratief. In de applicatie moeten zij dynamisch worden opgebouwd uit de actuele gebruiker, relatie-, berichten-, autorisatie- en oefendata.
De belangrijkste functionele status van dit scherm is niet de aanwezigheid van specifieke voorbeeldtekst, maar de combinatie:
- de gebruiker werkt in leerlingcontext;
- er bestaat een actieve docent-leerlingrelatie;
- er bestaat nog geen actieve niveauautorisatie die oefentoegang oplevert.
3.4 UI-elementen en velddefinities
| Element-ID | Type | GUI-verwijzing | Omschrijving | Zichtbaar label | Opmerking | Technische naam |
|---|---|---|---|---|---|---|
| SCH-LLN-02-01-S01 | Section | Header | Generieke leerlingheader met logo, welkomsttekst, berichteningang en profielingang. | OefenHub / Welkom terug, <naam> | Header wordt functioneel grotendeels generiek beschreven in het leerlingoverzicht; concrete gebruikersnaam en berichtbadge zijn dynamisch. | StudentHeaderSection |
| SCH-LLN-02-01-F01 | Field | Header — welkomsttekst | Persoonlijke welkomstregel voor de ingelogde leerling. | Welkom terug, <naam> | Naam is dynamisch op basis van gebruikersprofiel. | StudentWelcomeText |
| SCH-LLN-02-01-B01 | Button | Header — berichtenicoon | Opent het berichtenoverzicht. | Berichten | Badge toont dynamisch aantal ongelezen berichten wanneer van toepassing. | StudentMessagesButton |
| SCH-LLN-02-01-B02 | Button | Header — profiel | Opent het gebruikersmenu of profielmenu. | Profiel | Avatar/initialen zijn dynamisch. | StudentProfileButton |
| SCH-LLN-02-01-S02 | Section | Bovenste waarschuwing | Statusblok dat uitlegt dat de leerling nog geen oefentoegang heeft. | Je hebt nog geen toegang tot oefeningen | Hoofdblok van deze view. | NoExerciseAccessWarningSection |
| SCH-LLN-02-01-M01 | Message | Waarschuwing — tekst | Uitleg dat er nog geen oefeningen aan het account gekoppeld zijn en dat de docent toegang moet geven. | Op dit moment zijn er nog geen oefeningen aan jouw account gekoppeld. | De tekst is zichtbaar zolang geen actieve niveauautorisatie bestaat. | NoExerciseAccessMessage |
| SCH-LLN-02-01-B03 | Button | Waarschuwing — actie | Start een bericht- of contactflow richting een toegestane gekoppelde docent. | Stuur een bericht | Maakt geen autorisatie aan; autorisatie blijft docentactie. | SendTeacherMessageButton |
| SCH-LLN-02-01-S03 | Section | Introductieblok | Algemene introductie over OefenHub en wat de leerling later kan doen. | Welkom in OefenHub | Informatieve tekst; geen actuele oefendata. | StudentIntroExplanationSection |
| SCH-LLN-02-01-F02 | Field | Introductieblok — titel | Titel van het algemene introductieblok. | Welkom in OefenHub | Contentgedreven uitlegregel. | StudentIntroTitle |
| SCH-LLN-02-01-S04 | Section | Tipkaarten | Drie uitlegkaarten over toekomstige werkwijze binnen OefenHub. | 1. Kies een vak / 2. Werk stap voor stap / 3. Zie je groei | Beschrijft toekomstige reguliere functionaliteit; geen actieve toegang in deze status. | StudentIntroTipCardsSection |
| SCH-LLN-02-01-S05 | Section | Motivatieblok | Positief motivatieblok voor de eerste oefening zodra oefentoegang beschikbaar is. | Klaar voor je eerste oefening? | In deze status informatief; start geen oefening zonder autorisatie. | FirstExerciseMotivationSection |
| SCH-LLN-02-01-S06 | Section | Lege staat recente activiteit | Legt uit dat er nog niets zichtbaar is zolang de leerling niet heeft geoefend. | Nog niets om hier te tonen | Lege staat voor recente activiteit / hervatten. | NoRecentActivitySection |
| SCH-LLN-02-01-S07 | Section | Toekomstige inhoud | Uitlegkaart met voorbeelden van wat later in recente activiteit kan verschijnen. | Wat komt hier straks te staan? | Informatief; geen actuele runlijst. | FutureRecentActivityInfoSection |
| SCH-LLN-02-01-S08 | Section | Lege staat voortgang | Legt uit dat voortgang en statistieken later zichtbaar worden na afgeronde oefeningen. | Hier ga je straks jouw voortgang zien | Lege staat voor statistieken. | FutureProgressSection |
| SCH-LLN-02-01-S09 | Section | Voortgangsuitleg — volgen | Uitleg over toekomstige voortgangsindicatoren. | Wat je hier later kunt volgen | Beschrijft toekomstige inzichten; geen actuele statistiekwaarden. | FutureProgressMetricsInfoSection |
| SCH-LLN-02-01-S10 | Section | Voortgangsuitleg — motivatie | Uitleg waarom voortgangsinformatie helpt. | Waarom dit helpt | Informatieve tekst. | ProgressMotivationInfoSection |
| SCH-LLN-02-01-S11 | Section | Footer | Generieke leerlingfooter met beheerbare tekst en links. | OefenHub / Handige Links / Snel naar | Footerinhoud is beheerbaar en wordt niet als unieke businesslogica van deze view beschouwd. | StudentFooterSection |
3.5 Waardelagen
| Element-ID | GUI-verwijzing | Zichtbaar label | Technische naam | Databron | Waardebron | Datatype | Bewerkbaar | Validatie / regel |
|---|---|---|---|---|---|---|---|---|
| SCH-LLN-02-01-S01 | Header | OefenHub / Welkom terug, <naam> | StudentHeaderSection | Users, UserProfiles, berichtendomein | Samengestelde header op basis van ingelogde gebruiker en berichtstatus | Section / composite | Nee | Alleen toegankelijk binnen actieve leerlingcontext. |
| SCH-LLN-02-01-F01 | Header — welkomsttekst | Welkom terug, <naam> | StudentWelcomeText | UserProfiles.FirstName of gelijkwaardige profielweergave | Dynamisch afgeleid uit profiel van ingelogde gebruiker | String | Nee | Mockupnaam mag niet hardcoded worden. |
| SCH-LLN-02-01-B01 | Header — berichtenicoon | Berichten | StudentMessagesButton | Berichten- en systeemberichtendomein | Aantal ongelezen berichten per huidige gebruiker | Integer / badge + action | Nee | Badge alleen tonen wanneer ongelezen berichten aanwezig zijn; mockupwaarde is voorbeelddata. |
| SCH-LLN-02-01-B02 | Header — profiel | Profiel | StudentProfileButton | UserProfiles.ProfileImageId of initialen uit profiel | Dynamisch afgeleid uit profielinstellingen | Action / image | Nee | Opent alleen toegestane profiel-/gebruikersmenu-acties. |
| SCH-LLN-02-01-S02 | Bovenste waarschuwing | Je hebt nog geen toegang tot oefeningen | NoExerciseAccessWarningSection | UserRelationships.IsActive + RelationshipTypes + TeacherStudentLevelAccess.IsActive | Afgeleide status: wel leerlingcontext en docentrelatie, geen actieve niveauautorisatie | Section / state | Nee | Deze view wordt alleen getoond wanneer geen actieve niveauautorisatie beschikbaar is. |
| SCH-LLN-02-01-M01 | Waarschuwing — tekst | Op dit moment zijn er nog geen oefeningen aan jouw account gekoppeld. | NoExerciseAccessMessage | Contentblok of codegedreven statustekst + autorisatiestatus | Begeleidende uitleg bij toestand zonder oefentoegang | String / rich text | Nee | Tekst mag de leerling niet laten denken dat er oefendata ontbreekt door een technische fout. |
| SCH-LLN-02-01-B03 | Waarschuwing — actie | Stuur een bericht | SendTeacherMessageButton | Actieve docent-leerlingrelaties + privéberichtendomein | Actie naar nieuw privébericht of berichtkeuze voor gekoppelde docent(en) | Action | Ja, als klikactie | Alleen gekoppelde/toegestane ontvangers mogen selecteerbaar zijn; actie kent geen autorisatie toe. |
| SCH-LLN-02-01-S03 | Introductieblok | Welkom in OefenHub | StudentIntroExplanationSection | ContentBlocks of codegedreven leerlingfrontpagecontent | Informatieve tekst voor leerling zonder oefentoegang | Section / text | Nee | Mag zichtbaar zijn zonder oefenautorisatie; bevat geen echte oefenlijst. |
| SCH-LLN-02-01-F02 | Introductieblok — titel | Welkom in OefenHub | StudentIntroTitle | ContentBlocks (DomainType = FrontPage, ContextType = Student) of codegedreven tekst | Titeltekst voor introductieblok | String | Nee | Read-only op deze view. |
| SCH-LLN-02-01-S04 | Tipkaarten | 1. Kies een vak / 2. Werk stap voor stap / 3. Zie je groei | StudentIntroTipCardsSection | ContentBlocks of codegedreven instructieteksten | Uitleg over normale werking nadat toegang beschikbaar is | Section / collection | Nee | De teksten beschrijven toekomstige normale functionaliteit; zij zijn geen bewijs van actuele toegang. |
| SCH-LLN-02-01-S05 | Motivatieblok | Klaar voor je eerste oefening? | FirstExerciseMotivationSection | ContentBlocks of codegedreven frontpagecontent + autorisatiestatus | Motiverende tekst voor toekomstige start | Section / text | Nee | Er mag geen startactie actief zijn zolang geen niveauautorisatie bestaat. |
| SCH-LLN-02-01-S06 | Lege staat recente activiteit | Nog niets om hier te tonen | NoRecentActivitySection | ExerciseRuns gefilterd op huidige leerling en toegestane context | Afgeleide lege staat omdat er geen toegankelijke recente runs beschikbaar zijn | Section / empty state | Nee | Niet verwarren met technische fout; lege staat is functioneel verwacht in deze situatie. |
| SCH-LLN-02-01-S07 | Toekomstige inhoud | Wat komt hier straks te staan? | FutureRecentActivityInfoSection | ContentBlocks of codegedreven uitlegtekst | Uitleg over toekomstige recente activiteit en hervatten | Section / text | Nee | Items zoals laatst geopende oefening zijn uitleg, geen actuele runregels. |
| SCH-LLN-02-01-S08 | Lege staat voortgang | Hier ga je straks jouw voortgang zien | FutureProgressSection | ExerciseRuns en opgeslagen statistiekvelden zodra beschikbaar; in deze status geen actuele runbasis | Afgeleide lege staat omdat er nog geen toegankelijke afgeronde oefendata is | Section / empty state | Nee | Geen cijfers of grafieken tonen zolang geen oefenruns beschikbaar zijn. |
| SCH-LLN-02-01-S09 | Voortgangsuitleg — volgen | Wat je hier later kunt volgen | FutureProgressMetricsInfoSection | ContentBlocks of codegedreven uitlegtekst | Uitleg over toekomstige voortgangswaarden | Section / text | Nee | Voorbeelden zoals favoriete categorieën of aandachtspunten zijn informatief en niet actueel berekend in deze view. |
| SCH-LLN-02-01-S10 | Voortgangsuitleg — motivatie | Waarom dit helpt | ProgressMotivationInfoSection | ContentBlocks of codegedreven uitlegtekst | Motiverende uitleg bij toekomstige voortgangsinzichten | Section / text | Nee | Geen database-mutatie. |
| SCH-LLN-02-01-S11 | Footer | OefenHub / Handige Links / Snel naar | StudentFooterSection | ContentBlocks, FooterSections, FooterLinks en FooterLinkAssignments | Beheerbare footerinhoud voor leerlingcontext | Section / collection | Nee | Footerlinks mogen alleen naar toegestane routes leiden. |
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-LLN-02-01-01 | SRS-AUTH-001 AC-AUTH-001 | Deze frontpagevariant tonen wanneer een leerling in leerlingcontext werkt, wel een actieve docent-leerlingrelatie heeft, maar geen actieve niveauautorisatie of oefentoegang |
REQ-SCH-LLN-02-01-02 | SRS-AUTH-001 AC-AUTH-001 | Duidelijk melden dat er nog geen oefeningen aan het account gekoppeld zijn en dat de docent toegang geven |
REQ-SCH-LLN-02-01-03 | SRS-LRN-002 AC-LRN-002 | Het systeem mag in deze toestand geen oefening kunnen starten, hervatten of openen via een zichtbare of directe actie op de frontpage |
REQ-SCH-LLN-02-01-04 | SRS-AUTH-001 SRS-LRN-001 AC-AUTH-001 AC-LRN-001 | De actie Stuur een bericht alleen gebruiken voor berichtcommunicatie met toegestane gekoppelde gebruikers en mag via deze actie geen niveauautorisatie aanmaken |
REQ-SCH-LLN-02-01-05 | SRS-CAT-001 AC-CAT-001 | Wanneer meerdere docenten aan de leerling gekoppeld zijn, het systeem bij berichtversturen alleen toegestane gekoppelde docenten als ontvanger aanbieden |
REQ-SCH-LLN-02-01-06 | SRS-AUTH-001 AC-AUTH-001 | Uitlegblokken kunnen tonen die beschrijven wat OefenHub later laat zien zodra oefentoegang beschikbaar is |
REQ-SCH-LLN-02-01-07 | SRS-CAT-001 AC-CAT-001 | Recente activiteit als lege staat tonen wanneer er geen toegankelijke recente oefenruns beschikbaar zijn |
REQ-SCH-LLN-02-01-08 | SRS-LRN-010 SRS-LRN-003 AC-LRN-010 AC-LRN-003 | Voortgang en statistieken als lege staat tonen wanneer er geen toegankelijke afgeronde oefenruns beschikbaar zijn |
REQ-SCH-LLN-02-01-09 | SRS-LRN-003 SRS-LRN-006 AC-LRN-003 AC-LRN-006 | Het systeem mag voorbeeldteksten over toekomstige categorieën, oefeningen, statistieken of voortgang niet behandelen als actuele leerlingdata |
REQ-SCH-LLN-02-01-10 | SRS-AUTH-001 AC-AUTH-001 | Bij het bepalen van deze view server-side controleren of actieve niveauautorisaties ontbreken; alleen frontend-zichtbaarheid is onvoldoende |
REQ-SCH-LLN-02-01-11 | SRS-AUTH-001 AC-AUTH-001 | Als later een actieve niveauautorisatie wordt toegekend, de leerling bij een volgende relevante frontpageweergave de reguliere leerlingfrontpage met oefentoegang kunnen krijgen |
REQ-SCH-LLN-02-01-12 | SRS-CAT-001 AC-CAT-001 | De mockupwaarden voor naam, berichtbadge en uitlegvoorbeelden geen hardcoded worden en in productie dynamisch of contentgedreven worden bepaald |
3.7 Technische koppeling
Voor technische uitwerking zijn vooral relevant:
- 04 Identiteit, authenticatie en rolcontext voor actieve leerlingcontext zonder bruikbare oefentoegang.
- 05 Autorisatie, policies en server-side contextcontrole voor server-side blokkeren van categorieën, oefeningen en startacties zonder autorisatie.
- 11 Rolflows technisch voor rolgebonden lege staten en doorverwijzingen vanuit leerlingcontext.
- 13 Berichten, systeemberichten, notificaties en privéberichten voor de berichtactie richting gekoppelde docent.
- 24 Frontend, Blazor, routing, state en componentopbouw voor leerlingrouting, lege-toegangvariant en responsieve opbouw.