Skip to main content

UC-BEH-FP-001 — Beheerder-frontpage bekijken

1. Kerngegevens

VeldWaarde
Usecase-IDUC-BEH-FP-001
NaamBeheerder-frontpage bekijken
DomeinBeheerder / Frontpage en context
Primaire actorBeheerder
Secundaire actor(en)Frontend, backend, database, autorisatiecomponent, readmodelqueries
RolcontextActieve beheerdercontext; bij combinatierollen samengesteld volgens prioriteit Beheerder, Docent, Ouder/voogd
Betrokken schermenBeheerder-frontpage, gezamenlijke frontpage bij combinatierollen, hoofdmenu
Gerelateerde usecasesUC-BEH-FP-002, UC-BEH-FP-003, UC-BEH-FP-004, UC-BEH-FP-005, UC-GEN-ACC-002, UC-GEN-NOT-001
Primaire entiteitenUsers, Roles, UserRoles, ContentBlocks, SiteNotifications
Secundaire entiteiten / eventsExerciseModules, Categories, TeacherLevels, Exercises, Tickets, AdminAuditLog, SiteFeatureToggles
Gerelateerde popupsNiet van toepassing
PopupregisterOntwerpbronnen — Popup-register
MoSCoWMust

2. Omschrijving

De beheerder-frontpage is de eerste beheergerichte overzichtspagina nadat een gebruiker met een geldige beheerderrol de applicatie binnenkomt in beheerdercontext. De pagina geeft compacte oriëntatie en actuele beheersamenvattingen, maar voert zelf geen inhoudelijke beheerwijzigingen uit.

De pagina bevat minimaal een introblok, een attentieblok, een blok Contentbeheer, een blok Accounts & rollen en een blok Recente beheerwijzigingen. De structuur en volgorde van deze blokken zijn codegedreven. Beheerbare teksten binnen de blokken kunnen uit het contentblokmodel komen, maar de frontpage wordt niet vrij opgebouwd als pagebuilder.

Dieper beheer blijft bereikbaar via de vaste navigatie, zoals Site Instellingen, Content en Accounts beheren, of via een expliciete doorklik naar een onderliggende beheerpagina. De frontpage mag beheerstatussen tonen en naar beheerpagina’s verwijzen, maar bevat geen directe mutatieacties zoals activeren, uitschakelen, migreren, verwijderen of rollen wijzigen.

Uitgangspunten

  • De beheerder-frontpage wordt server-side samengesteld vanuit een geldige beheerdercontext.
  • Systeemnotificaties blokkeren het laden van de frontpage niet; controle op zichtbare notificaties gebeurt nadat de frontpage geladen is.
  • Tellers en recente wijzigingen zijn readmodelwaarden en geen bronrecords op de frontpage zelf.
  • Bij ontbrekende contentbloktekst blijft de codevaste blokstructuur intact en wordt een veilige lege of standaardweergave getoond.

3. Scope

Deze usecase beschrijft:

  • Laden en tonen van de beheerder-frontpage.
  • Tonen van de vaste blokstructuur van de beheerder-frontpage.
  • Controleren dat de gebruiker een actieve beheerdercontext heeft.
  • Opvragen van contentblokteksten en readmodelgegevens voor de frontpage.
  • Afbakenen dat de frontpage geen werkpagina voor mutaties is.
  • Starten van de systeemnotificatiecontrole na succesvolle frontpageload.

Deze usecase beschrijft niet:

  • Wijzigen van frontpagecontent; dit hoort bij Frontpagebeheer.
  • Wijzigen van site-instellingen, popups, systeemberichten of features.
  • Behandelen van meldingen; dit blijft bronhoudend in het meldingen-domein.
  • Accountbeheer, rolbeheer of accountanonimisering.
  • Live meekijken met actieve oefeningen; beheerder mag dat niet vanuit de frontpage starten.

3.1 Afbakening met aangrenzende usecases

OnderdeelAfbakening
UC-BEH-FP-002Bepaalt of de gebruiker beheerdercontext heeft; deze usecase gebruikt dat resultaat om de frontpage te tonen.
UC-BEH-FP-003Levert de concrete samenvattingswaarden binnen de frontpageblokken.
UC-BEH-FP-004Levert de regels voor het blok Recente beheerwijzigingen.
UC-BEH-FP-005Breidt de frontpage uit wanneer dezelfde gebruiker ook docent of ouder/voogd is.
UC-BEH-SITE-001Beschrijft de Site Instellingen-hub als aparte beheerroute, niet als onderdeel van de frontpage.

4. Pre-condities

IDVoorwaarde
PRE-001De gebruiker is succesvol geauthenticeerd via de identity provider en heeft een intern actief OefenHub-account.
PRE-002De server-side sessieverwerking heeft vastgesteld dat de gebruiker de rol Beheerder bezit.
PRE-003De beheerderrol is actief en niet ingetrokken of geblokkeerd.
PRE-004De frontendroute voor de beheerder-frontpage is bereikbaar binnen de actieve applicatiecontext.
PRE-005De contentblok- en readmodelbronnen zijn uitleesbaar of kunnen veilig met lege staten omgaan.
PRE-006Systeemnotificaties worden pas na frontpageload beoordeeld.

5. Post-condities

IDResultaat
POST-001De beheerder ziet de beheerder-frontpage met de vaste hoofdblokken.
POST-002De frontpage heeft geen domeinmutaties uitgevoerd.
POST-003De zichtbare navigatie sluit aan op de beheerdercontext.
POST-004De getoonde samenvattingen zijn via readmodels afgeleid uit de brondomeinen.
POST-005Na succesvolle frontpageload kan de systeemnotificatiecontrole worden gestart.
POST-006Bij een ongeldige beheerdercontext is geen beheerderfrontpage getoond.

6. Trigger

De usecase start wanneer een ingelogde gebruiker met beheerderrol de beheerder-frontpage opent, bijvoorbeeld na login, via Home of na terugkeer vanuit een andere beheerroute.

7. Normale processtroom

StapActorScherm / componentActieSysteemresponsData / regel
1BeheerderBrowser / routeOpent de beheerder-frontpage.De frontend vraagt server-side de actuele applicatie- en rolcontext op.Oude clientstate mag geen beheercontext afdwingen.
2FrontendRouteringStuurt routeverzoek naar backend.De backend controleert accountstatus, rolstatus en actieve frontendcontext.Users, UserRoles, Roles.
3BackendAutorisatiecomponentBepaalt of Beheerder de leidende context is.Bij een geldige beheerdercontext wordt de beheerderfrontpage toegestaan.Beheerder prioriteit boven Docent en Ouder/voogd.
4BackendContentblokserviceLaadt beheerbare intro- en blokteksten voor context Admin.Beschikbare contentblokken worden aan het frontpage-readmodel toegevoegd.DomainType FrontPage, ContextType Admin.
5BackendReadmodelqueriesLaadt beheersamenvattingen.Attentie, Contentbeheer en Accounts & rollen worden als compacte waarden toegevoegd.UC-BEH-FP-003.
6BackendAuditreadmodelLaadt recente beheerwijzigingen.Een beperkte lijst met centrale beheeracties wordt toegevoegd.UC-BEH-FP-004.
7BackendNavigatiecomponentBepaalt beheerdernavigatie.Menu bevat minimaal Site Instellingen, Content en Accounts beheren.Geen dubbele items door combinatierollen.
8BackendFrontendLevert frontpage-readmodel.De frontend ontvangt blokken, labels, waarden, navigatie en lege-staatinformatie.Read-only response.
9FrontendBeheerder-frontpageRendert de vaste blokstructuur.Introblok, attentieblok, Contentbeheer, Accounts & rollen en Recente beheerwijzigingen worden getoond.Structuur is codegedreven.
10FrontendFrontpageActiveert vervolgcontrole op systeemnotificaties.De pagina blijft zichtbaar; een relevante notificatie kan erboven worden getoond.UC-GEN-NOT-001.
11BeheerderBeheerder-frontpageOriënteert zich of kiest een vaste navigatieroute.De frontpage zelf voert geen mutatie uit.Dieper beheer via eigen beheerpagina.

8. Alternatieve en exceptionele processtromen

IDVanaf stapSituatieSysteemgedragPopup / meldingDatamutatie
ALT-0012Het interne account is niet actief.De backend blokkeert de beheerder-frontpage en leidt naar de veilige accountafhandeling.Inline of bestaande accountafhandeling.Geen.
ALT-0023De gebruiker heeft geen actieve beheerderrol.De beheerder-frontpage wordt niet getoond; de gebruiker krijgt de passende niet-beheercontext.Inline toegang geweigerd of veilige redirect.Geen.
ALT-0033De gebruiker heeft Beheerder plus Docent of Ouder/voogd.De beheerdercontext is leidend; aanvullende blokken worden pas via UC-BEH-FP-005 runtime toegevoegd.Niet van toepassing.Geen.
ALT-0044Een verwacht contentblok ontbreekt.De codevaste bloklocatie blijft bestaan met neutrale tekst of lege-staatweergave volgens schermconventie.Niet van toepassing.Geen.
ALT-0055Een samenvattingsquery faalt gedeeltelijk.De overige blokken blijven zichtbaar; het betreffende blok toont een veilige fout- of leegstaat zonder beheerdata te lekken.Inline melding.Geen.
ALT-0066Er zijn geen recente beheerwijzigingen.Het blok Recente beheerwijzigingen toont een neutrale lege staat.Niet van toepassing.Geen.
ALT-0077Een onderliggende beheerroute is tijdelijk niet beschikbaar.De frontpage blijft bruikbaar; de route wordt niet als directe mutatieactie uitgevoerd.Inline terugkoppeling bij doorklik.Geen.
ALT-00810Er zijn meerdere actieve systeemnotificaties.Na frontpageload wordt de oudste relevante notificatie als eerste getoond; na sluiten volgt controle op de volgende.Systeemnotificatiecomponent, geen popupregister-popup.Geen server-side seen-registratie.

9. Business rules

IDRegel
BR-UC-BEH-FP-001-001De beheerder-frontpage is een overzichts- en oriëntatiepagina en geen werkpagina voor domeinmutaties.
BR-UC-BEH-FP-001-002De vaste blokstructuur bestaat minimaal uit introblok, attentieblok, Contentbeheer, Accounts & rollen en Recente beheerwijzigingen.
BR-UC-BEH-FP-001-003De structurele layout, volgorde en aanwezigheid van hoofdblokken zijn codegedreven en niet vrij beheerbaar.
BR-UC-BEH-FP-001-004Beheerbare teksten binnen de frontpage mogen uit het contentblokmodel komen, maar mogen geen autorisaties of zichtbare dataset wijzigen.
BR-UC-BEH-FP-001-005De beheerdercontext wordt server-side bepaald; routeparameters of browserstate mogen geen beheercontext afdwingen.
BR-UC-BEH-FP-001-006Bij combinatierollen heeft beheerderfrontpageprioriteit boven docent- en ouder-/voogdfrontpageblokken.
BR-UC-BEH-FP-001-007Systeemnotificaties worden na het laden van de frontpage gecontroleerd en blokkeren de frontpageload niet.
BR-UC-BEH-FP-001-008De beheerder mag vanaf de frontpage geen live-meekijksessie met een actieve leerlingrun starten.
BR-UC-BEH-FP-001-009Alle zichtbare samenvattingswaarden zijn afgeleide readmodelwaarden met expliciete definities.

10. Datavalidatie

Veld / objectValidatie
RouteMoet overeenkomen met de beheerder-frontpageroute en server-side autorisatie vereisen.
AccountUsers.IsActive moet actief zijn en het account mag niet geanonimiseerd of geblokkeerd zijn.
RolcontextDe gebruiker moet een actieve UserRole met rolcode Admin of Beheerder hebben.
ContentBlocksDomainType moet FrontPage zijn en ContextType moet Admin zijn voor beheerdercontent.
SamenvattingswaardenWaarden mogen alleen uit geautoriseerde readmodels komen en nooit uit clientberekeningen.
Navigatie-itemsItems mogen alleen zichtbaar zijn wanneer de beheerderrol server-side is vastgesteld.
SysteemnotificatiesNotificatiecontrole gebruikt eigen notificatieregels en geen popupregisterrecords.
Lege statenEen ontbrekend blok of lege dataset mag geen technische identifiers of foutdetails tonen.

10.1 Autorisatie en server-side controles

ControleUitwerking
AccountstatusControleer dat het interne account actief is voordat beheerdata wordt geladen.
RolstatusControleer dat de beheerderrol actief is op het moment van het verzoek.
ClientstateGebruik browserstate uitsluitend als UI-hint en nooit als autorisatiebron.
Directe URLVoer dezelfde controle uit bij directe routes als bij navigatie via menu of tegel.
Veilige responseGeef bij blokkade geen beheerdata, technische sleutels of querydetails terug.
FrontpagecontextControleer dat de gekozen frontpagecontext Admin is en niet door querystring is afgedwongen.
ContentblokkenFilter contentblokken op DomainType FrontPage en ContextType Admin.
NotificatiecontroleStart notificatiecontrole pas nadat de frontpage-readmodelresponse succesvol is opgebouwd.

11. Datamutaties en events

StapTypeEntiteit / eventMutatie
1-11DatabaseNiet van toepassingHet bekijken van de beheerder-frontpage wijzigt geen brondomeinen.
10ClientstateSysteemnotificatie-renderingEenmalige notificaties kunnen clientside als gezien worden gemarkeerd wanneer zij daadwerkelijk worden getoond en gesloten.
10DatabaseNiet van toepassingEr wordt geen server-side seen-tabel voor systeemnotificaties bijgewerkt.

12. Geen datamutaties

EntiteitReden
ContentBlocksTeksten worden gelezen maar niet gewijzigd.
SiteSettings en SiteFeatureTogglesInstellingen en features worden niet aangepast vanaf de frontpage.
ExerciseModules, Categories, TeacherLevels en ExercisesContentbeheerwaarden worden alleen geteld.
Users, Roles en UserRolesAccount- en rolgegevens worden niet gewijzigd door frontpageweergave.
TicketsMeldingtotalen worden gelezen zonder ticketstatus of assignment te wijzigen.
AdminAuditLogHet bekijken van de frontpage hoeft geen beheerwijziging te registreren.

13. State diagram

Niet van toepassing. Deze usecase wijzigt geen persistente domeinstatus, workflowstatus of lifecycle-status. De flow bestaat uit server-side contextcontrole, readmodelopbouw en veilige weergave-afhandeling.

14. Decision flow

15. Data lifecycle diagram

16. Sequence diagrammen

Hoofdstroom beheerder-frontpage

Blokkade zonder beheerderrol

17. Popupverwijzingen

Deze usecase gebruikt geen popupregister-popup. Eventuele fout- of blokkademeldingen worden als inline melding, veilige redirect of statusweergave afgehandeld.

PopupKeyMomentDoel
Niet van toepassingGeen bevestigings- of invoerpopup in deze usecase.Niet van toepassing.

18. Afleiding naar Functioneel Ontwerp / Technisch Ontwerp / Software Requirements Specification

DoeldocumentAfleiding
Functioneel OntwerpLeg de beheerder-frontpage vast als vaste overzichtspagina met introblok, attentieblok, Contentbeheer, Accounts & rollen en Recente beheerwijzigingen. Beschrijf dat directe mutaties niet op deze pagina plaatsvinden.
Technisch OntwerpTechnisch Ontwerp: technische rolflows, readmodels en beheersamenvattingen en frontendcompositie beschrijven de technische uitwerking. Beschrijf server-side contextbepaling, frontpage-readmodel, contentbloklookup voor ContextType Admin, read-only queries en notificatiecontrole na frontpageload.
Software Requirements SpecificationNeem eisen op voor beheerderautorisatie, vaste blokstructuur, read-only gedrag, veilige lege staten, combinatierolprioriteit en notificatiegedrag na load.

19. SRS-trace

Deze usecase bevat geen normatieve requirementtekst. De centrale eis en acceptatiecriteria staan in de SRS; onderstaande tabel koppelt de usecase-afleiding alleen aan centrale SRS-*- en AC-*-items.

Usecase-afleidingDektUsecasecontext
REQ-UC-BEH-FP-001-001SRS-ADM-002
SRS-ADM-001
AC-ADM-002
AC-ADM-001
De beheerder-frontpage alleen tonen aan gebruikers met een actieve beheerderrol
REQ-UC-BEH-FP-001-002SRS-ACC-002
SRS-ADM-002
SRS-ADM-001
SRS-CNT-001
AC-ACC-002
AC-ADM-002
AC-ADM-001
AC-CNT-001
Op de beheerder-frontpage minimaal een introblok, attentieblok, Contentbeheer, Accounts & rollen en Recente beheerwijzigingen tonen
REQ-UC-BEH-FP-001-003SRS-ADM-001
AC-ADM-001
De structuur en volgorde van de beheerder-frontpage codegedreven houden
REQ-UC-BEH-FP-001-004SRS-ADM-001
AC-ADM-001
Vanaf de beheerder-frontpage geen directe beheerwijzigingen uitvoeren
REQ-UC-BEH-FP-001-005SRS-ADM-001
SRS-CNT-001
AC-ADM-001
AC-CNT-001
Beheerbare frontpageteksten ophalen uit de juiste frontpagecontentcontext wanneer deze beschikbaar zijn
REQ-UC-BEH-FP-001-006SRS-RDM-001
SRS-RDM-009
SRS-ADM-001
SRS-CNT-001
SRS-NFR-SEC-001
AC-RDM-001
AC-RDM-009
AC-ADM-001
AC-CNT-001
AC-NFR-SEC-001
Bij ontbrekende content of lege datasets een veilige lege staat tonen
REQ-UC-BEH-FP-001-007SRS-AUTH-003
SRS-ADM-002
SRS-ADM-001
AC-AUTH-003
AC-ADM-002
AC-ADM-001
Bij gecombineerde rollen de beheerdercontext als hoogste frontpageprioriteit toepassen
REQ-UC-BEH-FP-001-008SRS-ADM-002
SRS-ADM-001
SRS-POP-002
AC-ADM-002
AC-ADM-001
AC-POP-002
Systeemnotificaties pas controleren nadat de frontpage succesvol is geladen
REQ-UC-BEH-FP-001-009SRS-LRN-001
SRS-ADM-001
SRS-LIVE-006
AC-LRN-001
AC-ADM-001
AC-LIVE-006
Voorkomen dat een beheerder vanaf de frontpage live meekijken met een actieve oefening start