UC-BEH-SITE-002 — Beheertegel kiezen
1. Kerngegevens
| Veld | Waarde |
|---|---|
| Usecase-ID | UC-BEH-SITE-002 |
| Naam | Beheertegel kiezen |
| Domein | Beheerder / Site Instellingen-hub |
| Primaire actor | Beheerder |
| Secundaire actor(en) | Frontend, backend, autorisatiecomponent, routering |
| Rolcontext | Actieve beheerdercontext |
| Betrokken schermen | Site Instellingen-hub, beheerdernavigatie, onderliggende beheerpagina’s |
| Gerelateerde usecases | UC-BEH-SITE-001, UC-BEH-SITE-003 |
| Primaire entiteiten | SiteSettings, ContentBlocks, PopupDefinitions, SystemMessageTemplates, SiteFeatureToggles, SiteNotifications |
| Secundaire entiteiten / events | FooterSections, StaticPageBlocks, AdminAuditLog |
| Gerelateerde popups | Niet van toepassing |
| Popupregister | Ontwerpbronnen — Popup-register |
| MoSCoW | Must |
2. Omschrijving
Deze usecase beschrijft wat er gebeurt wanneer een beheerder op de Site Instellingen-hub een beheertegel kiest. De tegelkeuze is een navigatiehandeling naar een onderliggende beheerpagina en geen beheerwijziging.
De standaardtegels verwijzen naar Frontpage, Popups beheren, Systeemberichten, Handige links & pagina’s, Features en Technische instellingen. De tegel bepaalt het beheergebied, maar de doelpagina blijft verantwoordelijk voor het laden van details, validatie, mutaties, bevestigingen en geschiedenis.
De usecase legt de afbakening vast tussen hub en doelpagina. De hub mag route-informatie aanbieden, maar mag geen popuprecord, systeemberichttemplate, footerlink, featuretoggle, systeemnotificatie of technische instelling aanpassen.
Uitgangspunten
- Tegels zijn interne beheerroute-ingangen.
- Elke doelpagina voert opnieuw server-side autorisatie uit.
- De hub geeft geen mutatiecontext of onbevestigde formulierdata door.
- Een directe URL naar een doelpagina moet hetzelfde autorisatieresultaat geven als navigatie via de tegel.
3. Scope
Deze usecase beschrijft:
- Kiezen van een beheertegel op de Site Instellingen-hub.
- Routeren naar de juiste onderliggende beheerpagina.
- Controleren of de gekozen tegelroute beschikbaar en toegestaan is.
- Veilige afhandeling bij onbekende, uitgeschakelde of niet-geautoriseerde tegel.
- Afbakenen dat de tegelkeuze geen domeinmutatie is.
Deze usecase beschrijft niet:
- De inhoudelijke beheerflows van Frontpagebeheer, Popupbeheer, Systeemberichtenbeheer, Handige links, Features en Technische instellingen.
- Het aanmaken of wijzigen van hubtegels via GUI.
- Het opslaan van gebruikersvoorkeuren voor tegelvolgorde.
- Het registreren van een beheerwijziging door alleen navigeren.
- Het openen van Content-submenu’s Categorieën, Modules of Docent ondersteuning.
3.1 Afbakening met aangrenzende usecases
| Onderdeel | Afbakening |
|---|---|
| UC-BEH-SITE-001 | Levert de tegelweergave waaruit de beheerder kiest. |
| UC-BEH-SITE-003 | Controleert opnieuw of de doelroute toegankelijk is. |
| Frontpagebeheer | Is een mogelijke doelpagina, maar eigen beheerflow. |
| Popupbeheer en Systeemberichtenbeheer | Zijn mogelijke doelpagina’s met eigen validaties en geschiedenis. |
| Features en Technische instellingen | Zijn mogelijke doelpagina’s met eigen mutatiebevestigingen. |
4. Pre-condities
| ID | Voorwaarde |
|---|---|
| PRE-001 | De beheerder bevindt zich op de Site Instellingen-hub. |
| PRE-002 | De tegelset is server-side bepaald. |
| PRE-003 | De gekozen tegel bevat een geldige interne doelroute of is uitgeschakeld. |
| PRE-004 | De gebruiker heeft een geldige beheerdercontext. |
| PRE-005 | De doelpagina kan eigen autorisatie uitvoeren. |
| PRE-006 | De hub geeft geen formuliermutaties of domeincommands mee. |
5. Post-condities
| ID | Resultaat |
|---|---|
| POST-001 | Bij een geldige tegel wordt de beheerder naar de juiste onderliggende beheerpagina geleid. |
| POST-002 | Bij een ongeldige of niet-toegestane tegel blijft de beheerder veilig op de hub of krijgt een veilige blokkade. |
| POST-003 | De tegelkeuze heeft geen site-instelling of beheerobject gewijzigd. |
| POST-004 | De doelpagina voert eigen context- en autorisatiecontrole uit. |
| POST-005 | Een directe doelroute is functioneel gelijkwaardig beveiligd aan route via de tegel. |
| POST-006 | Er is geen beheerlogregel voor een inhoudelijke wijziging aangemaakt. |
6. Trigger
De usecase start wanneer de beheerder op een zichtbare of geactiveerde tegel van de Site Instellingen-hub klikt.
7. Normale processtroom
| Stap | Actor | Scherm / component | Actie | Systeemrespons | Data / regel |
|---|---|---|---|---|---|
| 1 | Beheerder | Site Instellingen-hub | Klikt een beheertegel. | De frontend leest de doelroute uit het hubreadmodel. | Geen clientside autorisatie als bron. |
| 2 | Frontend | Routering | Start navigatie naar de interne beheerroute. | De backend ontvangt het routeverzoek. | Interne route, geen externe URL. |
| 3 | Backend | Autorisatiecomponent | Controleert beheerdercontext opnieuw. | Bij geldige context gaat routecontrole verder. | UC-BEH-SITE-003. |
| 4 | Backend | Routecomponent | Controleert of de route bij de gekozen tegel hoort. | Onbekende of gemanipuleerde route wordt geblokkeerd. | Codegedreven tegelroute. |
| 5 | Backend | Doelpagina | Bepaalt het doelgebied. | Frontpage, Popups, Systeemberichten, Handige links, Features of Technische instellingen. | Onderliggende beheerflow. |
| 6 | Backend | Doelpagina | Voert eigen autorisatie en readmodelopbouw uit. | De doelpagina laadt alleen toegestane beheerdata. | Geen autorisatieoverdracht vanaf hub. |
| 7 | Frontend | Doelpagina | Rendert de gekozen beheerpagina. | Beheerder ziet overzicht, tabs of detailstructuur van het gekozen domein. | Mutaties pas via doelpaginaflows. |
| 8 | Beheerder | Doelpagina | Kan daar een aparte beheerhandeling starten. | Die handeling valt buiten deze usecase. | Eigen popup, validatie en audit indien van toepassing. |
8. Alternatieve en exceptionele processtromen
| ID | Vanaf stap | Situatie | Systeemgedrag | Popup / melding | Datamutatie |
|---|---|---|---|---|---|
| ALT-001 | 1 | De beheerder klikt een uitgeschakelde tegel. | Er vindt geen navigatie plaats of er verschijnt een veilige toelichting. | Inline melding. | Geen. |
| ALT-002 | 2 | De doelroute is ongeldig of gemanipuleerd. | De backend blokkeert de route en toont een veilige foutafhandeling. | Inline of 404/403-stijl. | Geen. |
| ALT-003 | 3 | Beheerdercontext is verlopen. | De gebruiker wordt opnieuw naar veilige sessie- of toegangafhandeling geleid. | Bestaande sessieafhandeling. | Geen. |
| ALT-004 | 4 | De tegel bestaat niet in de codegedreven tegelset. | De route wordt niet als geldige hubnavigatie geaccepteerd. | Veilige blokkade. | Geen. |
| ALT-005 | 5 | De doelpagina is tijdelijk niet beschikbaar. | De beheerder blijft op de hub of krijgt een veilige foutpagina zonder technische details. | Inline melding. | Geen. |
| ALT-006 | 6 | De doelpagina vereist aanvullende autorisatie. | De doelpagina blokkeert zelf zonder beheerdata te tonen. | Toegang geweigerd. | Geen. |
| ALT-007 | 7 | De beheerder gebruikt browser-terug naar de hub. | De hub wordt opnieuw read-only geladen. | Niet van toepassing. | Geen. |
| ALT-008 | 8 | De beheerder verwacht directe wijziging door tegelklik. | Het systeem voert geen wijziging uit; de doelpagina toont eerst eigen beheercontext. | Niet van toepassing. | Geen. |
9. Business rules
| ID | Regel |
|---|---|
| BR-UC-BEH-SITE-002-001 | Een beheertegel is een navigatie-ingang, geen command voor een beheerwijziging. |
| BR-UC-BEH-SITE-002-002 | Tegelroutes zijn interne beheerpagina’s en geen vrije externe URL’s. |
| BR-UC-BEH-SITE-002-003 | Elke doelpagina voert opnieuw server-side autorisatie uit. |
| BR-UC-BEH-SITE-002-004 | De hub draagt geen mutatierecht, formulierdata of bevestigde commandcontext over aan de doelpagina. |
| BR-UC-BEH-SITE-002-005 | De standaardtegels verwijzen naar Frontpage, Popups beheren, Systeemberichten, Handige links & pagina’s, Features en Technische instellingen. |
| BR-UC-BEH-SITE-002-006 | Onbekende of gemanipuleerde tegelroutes worden veilig geblokkeerd. |
| BR-UC-BEH-SITE-002-007 | Navigatie naar een doelpagina wordt niet als beheerwijziging gelogd. |
| BR-UC-BEH-SITE-002-008 | De doelpagina blijft bronhoudend voor eigen tabs, detailweergave, validatie, geschiedenis en mutaties. |
10. Datavalidatie
| Veld / object | Validatie |
|---|---|
| Tegel-id | Moet voorkomen in de server-side tegelset. |
| Doelroute | Moet een bekende interne beheerroute zijn. |
| Beheerdercontext | Moet opnieuw geldig zijn bij doelroute. |
| Tegelstatus | Uitgeschakelde tegel mag geen mutatie of stille navigatie uitvoeren. |
| Doelgebied | Moet één van de vastgelegde Site Instellingen-gebieden zijn. |
| Routeparameters | Mogen geen objectselectie of mutatie afdwingen zonder doelpagina-autorisatie. |
| Audit | Navigatie alleen mag niet als inhoudelijke beheerwijziging worden geregistreerd. |
| Foutmelding | Mag geen technische routeconfiguratie of stacktrace tonen. |
10.1 Autorisatie en server-side controles
| Controle | Uitwerking |
|---|---|
| Accountstatus | Controleer dat het interne account actief is voordat beheerdata wordt geladen. |
| Rolstatus | Controleer dat de beheerderrol actief is op het moment van het verzoek. |
| Clientstate | Gebruik browserstate uitsluitend als UI-hint en nooit als autorisatiebron. |
| Directe URL | Voer dezelfde controle uit bij directe routes als bij navigatie via menu of tegel. |
| Veilige response | Geef bij blokkade geen beheerdata, technische sleutels of querydetails terug. |
| Tegelroute | Controleer dat tegel-id en route bij elkaar horen. |
| Geen command | Start geen beheercommand door enkel op een tegel te klikken. |
| Doelpagina | Laat de doelpagina eigen readmodel en autorisatie bepalen. |
11. Datamutaties en events
| Stap | Type | Entiteit / event | Mutatie |
|---|---|---|---|
| 1-8 | Database | Niet van toepassing | Tegelkeuze is navigatie en wijzigt geen domeinrecord. |
| 1-8 | Audit | Niet van toepassing | Navigeren naar een beheerpagina is geen inhoudelijke beheerwijziging. |
| 1-8 | Event | Niet van toepassing | Er wordt geen domeinevent gepubliceerd. |
12. Geen datamutaties
| Entiteit | Reden |
|---|---|
| SiteSettings | Geen instelling gewijzigd door tegelklik. |
| ContentBlocks, FooterSections en StaticPageBlocks | Geen content gewijzigd door tegelklik. |
| PopupDefinitions | Geen popup gewijzigd door tegelklik. |
| SystemMessageTemplates | Geen template gewijzigd door tegelklik. |
| SiteFeatureToggles en SiteNotifications | Geen feature of notificatie gewijzigd door tegelklik. |
| AdminAuditLog | Geen beheerwijzigingsrecord door alleen navigeren. |
13. State diagram
Niet van toepassing. Een beheertegel kiezen is een navigatiehandeling en wijzigt geen persistent statusobject. De route wordt toegestaan of geblokkeerd binnen hetzelfde verzoek; de doelpagina bepaalt daarna eigen readmodel en eventuele mutatieflows.
14. Decision flow
15. Data lifecycle diagram
16. Sequence diagrammen
Tegelroute openen
Gemanipuleerde route blokkeren
17. Popupverwijzingen
Deze usecase gebruikt geen popupregister-popup. Eventuele fout-, blokkade- of niet-beschikbaarmeldingen worden als inline melding, veilige redirect of statusweergave afgehandeld.
| PopupKey | Moment | Doel |
|---|---|---|
| Niet van toepassing | Geen bevestigings- of invoerpopup in deze usecase. | De flow bevat alleen route-, hub- of autorisatiegedrag. |
18. Afleiding naar Functioneel Ontwerp / Technisch Ontwerp / Software Requirements Specification
| Doeldocument | Afleiding |
|---|---|
| Functioneel Ontwerp | Beschrijft beheertegels als navigatie naar onderliggende beheerpagina’s en benoem de standaarddoelen. Beschrijft dat de hub geen directe mutaties uitvoert. |
| Technisch Ontwerp | Technisch Ontwerp: domeinmodel en admin-eigenaarschap, security en configuratie, beheer en operatie en frontendcompositie beschrijven de technische uitwerking. Leg server-side tegelroutecontrole, interne routing, doelpagina-autorisatie en het ontbreken van commandcontext bij tegelklik vast. |
| Software Requirements Specification | Neem eisen op voor geldige tegelroutes, herhaalde autorisatie op doelpagina’s, blokkade van onbekende routes en read-only navigatiegedrag. |
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-afleiding | Dekt | Usecasecontext |
|---|---|---|
REQ-UC-BEH-SITE-002-001 | SRS-ADM-001 AC-ADM-001 | Een klik op een beheertegel behandelen als navigatie naar een interne beheerroute |
REQ-UC-BEH-SITE-002-002 | SRS-AUTH-001 SRS-ADM-002 SRS-ADM-001 AC-AUTH-001 AC-ADM-002 AC-ADM-001 | Tegelroutes server-side controleren tegen de bekende tegelset |
REQ-UC-BEH-SITE-002-003 | SRS-AUTH-001 SRS-RDM-001 SRS-ADM-001 AC-AUTH-001 AC-RDM-001 AC-ADM-001 | De doelpagina opnieuw server-side autoriseren |
REQ-UC-BEH-SITE-002-004 | SRS-ADM-001 AC-ADM-001 | Door een tegelklik geen site-instelling of beheerobject wijzigen |
REQ-UC-BEH-SITE-002-005 | SRS-AUTH-001 SRS-ADM-001 SRS-NFR-SEC-001 AC-AUTH-001 AC-ADM-001 AC-NFR-SEC-001 | Onbekende of gemanipuleerde tegelroutes veilig blokkeren |
REQ-UC-BEH-SITE-002-006 | SRS-ADM-001 AC-ADM-001 | Uitgeschakelde tegels zonder domeinmutatie afhandelen |
REQ-UC-BEH-SITE-002-007 | SRS-RDM-001 SRS-RDM-003 SRS-RDM-007 SRS-MSG-001 SRS-ADM-001 SRS-POP-001 AC-RDM-001 AC-RDM-003 AC-RDM-007 AC-MSG-001 AC-ADM-001 AC-POP-001 | Standaardtegels ondersteunen voor Frontpage, Popups beheren, Systeemberichten, Handige links & pagina’s, Features en Technische instellingen |
REQ-UC-BEH-SITE-002-008 | SRS-RDM-001 SRS-RDM-004 SRS-RDM-006 SRS-ADM-001 SRS-POP-001 SRS-NFR-AUD-001 AC-RDM-001 AC-RDM-004 AC-RDM-006 AC-ADM-001 AC-POP-001 AC-NFR-AUD-001 | Onderliggende beheerpagina’s bronhoudend laten voor hun eigen validaties, popups, mutaties en geschiedenis |