UC-BEH-SET-004 — Toegankelijkheidsfeature sitebreed schakelen
1. Kerngegevens
| Veld | Waarde |
|---|---|
| Usecase-ID | UC-BEH-SET-004 |
| Naam | Toegankelijkheidsfeature sitebreed schakelen |
| Domein | Beheerder / Systeeminstellingen en beheerlogging |
| Primaire actor | Beheerder |
| Secundaire actor(en) | Frontend, backend, database, autorisatiecomponent, beheerlogcomponent |
| Rolcontext | Actieve beheerdercontext; server-side bepaald vanuit de ingelogde gebruiker |
| Betrokken schermen | Site Instellingen > Features of Technische instellingen > Toegankelijkheid |
| Gerelateerde usecases | UC-BEH-FEAT-002, UC-GEN-PROF-005, UC-GEN-PROF-006, UC-GEN-PROF-007 |
| Primaire entiteiten | SiteFeatureToggles, SiteFeatureToggleHistory, UserSettings, Users |
| Secundaire entiteiten / events | FeatureToggleChanged |
| Gerelateerde popups | POP-BEH-FEAT-TOGGLE-CONFIRM, POP-BEH-FEAT-TOGGLE-SAVED, POP-BEH-FEAT-TOGGLE-FAILED |
| Popupregister | Ontwerpbronnen — Popup-register |
| MoSCoW | Must |
2. Omschrijving
Deze usecase beschrijft de specifieke beheerhandeling voor de sitebrede toegankelijkheidsfeature. Technisch gebruikt deze flow de featuretoggle AccessibilityEnabled, maar de gevolgen zijn specifieker dan bij een algemene toggle.
Wanneer AccessibilityEnabled uit staat, worden de pagina Toegankelijkheid en bijbehorende bedieningselementen niet aangeboden aan gebruikers. Opgeslagen UserSettings blijven bestaan, maar worden functioneel genegeerd zolang de feature uit staat.
De technische cookie of browserwaarde voor toegankelijkheid wordt alleen gebruikt wanneer de feature sitebreed actief is. Uitschakelen verwijdert geen opgeslagen profielwaarden en wijzigt geen individuele voorkeuren.
Uitgangspunten
- AccessibilityEnabled is de centrale sleutel voor sitebrede toegankelijkheid.
- Gebruikerswaarden blijven bewaard in UserSettings.
- De generieke profiel- en toegankelijkheidsusecases blijven bronhoudend voor eigen gebruikersinstellingen.
- Voor-login browserwaarden bevatten geen persoonsgegevens of autorisatiedata.
3. Scope
Deze usecase beschrijft:
- Aanzetten of uitzetten van AccessibilityEnabled.
- Beschrijven van gevolgen voor toegankelijkheidspagina en bedieningselementen.
- Vastleggen dat opgeslagen UserSettings behouden blijven.
- Afbakening met individuele toegankelijkheidsinstellingen.
- Auditbaar vastleggen van de featurewijziging.
Deze usecase beschrijft niet:
- Individuele UserSettings wijzigen.
- Browsercookies van alle gebruikers actief wissen.
- Nieuwe toegankelijkheidsopties definiëren.
- Profielgegevens wijzigen.
- Identity-providerinstellingen wijzigen.
3.1 Afbakening met aangrenzende usecases
| Onderdeel | Afbakening |
|---|---|
| UC-BEH-FEAT-002 | Algemene mutatieflow voor featuretoggles. |
| UC-GEN-PROF-005 | Gebruiker beheert eigen toegankelijkheidsinstellingen wanneer feature actief is. |
| UC-GEN-PROF-006 | Synchronisatie tussen browserwaarde en profielwaarden blijft generiek. |
4. Pre-condities
| ID | Voorwaarde |
|---|---|
| PRE-001 | De gebruiker is succesvol ingelogd in OefenHub. |
| PRE-002 | De backend heeft server-side vastgesteld dat de gebruiker een actieve beheerderrol heeft. |
| PRE-003 | De Site Instellingen-route is beschikbaar via de beheerdernavigatie. |
| PRE-004 | Clientstate, querystringwaarden of zichtbare UI-elementen bepalen niet zelfstandig de autorisatie. |
| PRE-005 | De featuretoggle AccessibilityEnabled bestaat en is bekend. |
| PRE-006 | De beheerder heeft toegang tot de relevante feature- of toegankelijkheidsinstelling. |
5. Post-condities
| ID | Resultaat |
|---|---|
| POST-001 | AccessibilityEnabled is bijgewerkt wanneer alle validaties slagen. |
| POST-002 | De wijziging is vastgelegd in SiteFeatureToggleHistory. |
| POST-003 | UserSettings van gebruikers zijn niet verwijderd of aangepast. |
| POST-004 | Toegankelijkheidspagina en bedieningselementen volgen de nieuwe sitebrede status. |
| POST-005 | Browserwaarde wordt niet als bron van waarheid behandeld. |
6. Trigger
De usecase start wanneer de beheerder de sitebrede toegankelijkheidsfeature aan- of uitzet.
7. Normale processtroom
| Stap | Actor | Scherm / component | Actie | Systeemrespons | Data / regel |
|---|---|---|---|---|---|
| 1 | Beheerder | Features of Technische instellingen | Wijzigt AccessibilityEnabled. | De frontend toont bevestiging met functionele impact. | POP-BEH-FEAT-TOGGLE-CONFIRM. |
| 2 | Backend | Autorisatiecomponent | Controleert beheerdercontext. | Alleen beheerder mag sitebreed schakelen. | Server-side autorisatie. |
| 3 | Backend | Featurevalidatie | Controleert FeatureKey AccessibilityEnabled. | Andere instellingen worden niet via deze flow aangepast. | Centrale sleutelset. |
| 4 | Backend | Database-transactie | Werkt SiteFeatureToggles bij. | IsEnabled en auditvelden worden opgeslagen. | SiteFeatureToggles. |
| 5 | Backend | Historie | Schrijft SiteFeatureToggleHistory. | Oude en nieuwe waarde zijn herleidbaar. | Audit. |
| 6 | Backend | Runtimegedrag | Maakt nieuwe featurestatus beschikbaar. | Toegankelijkheidspagina en toepassing volgen deze status. | Featurecontrole. |
| 7 | Frontend | Resultaat | Toont opgeslagen status. | De beheerder ziet de actuele sitebrede stand. | POP-BEH-FEAT-TOGGLE-SAVED. |
8. Alternatieve en exceptionele processtromen
| ID | Vanaf stap | Situatie | Systeemgedrag | Popup / melding | Datamutatie |
|---|---|---|---|---|---|
| ALT-001 | 1 | Beheerder annuleert. | De featurestatus blijft ongewijzigd. | Popup sluiten. | Geen. |
| ALT-002 | 3 | AccessibilityEnabled ontbreekt. | De wijziging wordt geblokkeerd; sleutel wordt niet automatisch aangemaakt. | POP-BEH-FEAT-TOGGLE-FAILED. | Geen. |
| ALT-003 | 4 | Opslaan faalt. | Transactie wordt teruggedraaid. | POP-BEH-FEAT-TOGGLE-FAILED. | Geen. |
| ALT-004 | 6 | Feature wordt uitgeschakeld terwijl gebruikers waarden hebben. | Waarden blijven opgeslagen maar worden niet toegepast zolang de feature uit staat. | Niet van toepassing. | Geen UserSettings-mutatie. |
| ALT-005 | 6 | Feature wordt opnieuw ingeschakeld. | Bewaarde UserSettings kunnen weer functioneel toegepast worden volgens generieke toegankelijkheidsflows. | Niet van toepassing. | Geen extra mutatie. |
9. Business rules
| ID | Business rule |
|---|---|
| BR-001 | AccessibilityEnabled is de sitebrede bron voor het aanbieden en toepassen van toegankelijkheidsfunctionaliteit. |
| BR-002 | Uitschakelen verwijdert geen UserSettings. |
| BR-003 | De toegankelijkheidspagina wordt niet aangeboden wanneer de feature uit staat. |
| BR-004 | Technische browserwaarden worden alleen gebruikt wanneer de feature actief is. |
| BR-005 | Browserwaarden zijn nooit bron van autorisatie, identiteit of profieldata. |
| BR-006 | De generieke profielusecases blijven bronhoudend voor individuele instellingen. |
| BR-007 | De featurewijziging moet auditbaar zijn. |
10. Datavalidatie
| ID | Validatie |
|---|---|
| VAL-001 | FeatureKey moet exact AccessibilityEnabled zijn. |
| VAL-002 | Nieuwe waarde moet boolean zijn. |
| VAL-003 | Actor moet actieve beheerder zijn. |
| VAL-004 | OldValue en NewValue worden vastgelegd. |
| VAL-005 | UserSettings worden niet mee gemuteerd in dezelfde flow. |
| VAL-006 | Featurestatus moet server-side beschikbaar zijn voor profiel- en renderingcomponenten. |
11. Datamutaties en events
| ID | Mutatie / event | Toelichting |
|---|---|---|
| MUT-001 | SiteFeatureToggles update | AccessibilityEnabled.IsEnabled wordt bijgewerkt. |
| MUT-002 | SiteFeatureToggleHistory insert | Wijziging wordt vastgelegd met actor, tijdstip, oude en nieuwe waarde. |
| MUT-003 | FeatureToggleChanged event | Runtimecomponenten kunnen de nieuwe toegankelijkheidsstatus toepassen. |
12. Geen datamutaties
| ID | Geen mutatie | Reden |
|---|---|---|
| NO-001 | UserSettings | Opgeslagen toegankelijkheidswaarden blijven ongewijzigd. |
| NO-002 | Browserwaarden | Er wordt geen globale browsercookie-mutatie uitgevoerd vanuit beheer. |
| NO-003 | Profielgegevens | Naam, niveau en profielfoto blijven ongewijzigd. |
| NO-004 | SystemSettings | Niet-booleaanse instellingen blijven ongewijzigd. |
| NO-005 | Identity provider | Geen authenticatie- of credentialwijziging. |
13. State diagram
14. Decision flow
15. Data lifecycle diagram
16. Sequence diagrammen
17. Popupverwijzingen
Deze usecase verwijst uitsluitend naar PopupKey. Popupteksten, knopteksten, inputlabels en themakeuzes blijven bronhoudend in het popupregister en popup-themes.
| PopupKey | Gebruik |
|---|---|
| POP-BEH-FEAT-TOGGLE-CONFIRM | Bevestigt het sitebreed aan- of uitzetten van toegankelijkheid. |
| POP-BEH-FEAT-TOGGLE-SAVED | Terugkoppeling na succesvol opslaan. |
| POP-BEH-FEAT-TOGGLE-FAILED | Foutmelding wanneer de mutatie niet kan worden verwerkt. |
18. Afleiding naar Functioneel Ontwerp / Technisch Ontwerp / Software Requirements Specification
| Document | Afleiding |
|---|---|
| Functioneel Ontwerp | Legt specifiek gedrag van de toegankelijkheidsfeature vast. |
| Technisch Ontwerp | Technisch Ontwerp: logging en foutafhandeling, security en configuratie en beheer en operatie beschrijven de technische uitwerking. Vraagt featurecontrole bij profielpagina, pre-login browserwaarde en rendering. |
| Software Requirements Specification | Levert eisen voor behoud van UserSettings en niet-toepassen bij uitgeschakelde feature. |
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 |
|---|---|---|
UC-BEH-SET-004-REQ-001 | SRS-ACC-003 SRS-ACC-005 SRS-ADM-001 SRS-POP-003 SRS-NFR-ACC-001 AC-ACC-003 AC-ACC-005 AC-ADM-001 AC-POP-003 AC-NFR-ACC-001 | De toegankelijkheidsfeature sitebreed kunnen aan- en uitzetten via AccessibilityEnabled |
UC-BEH-SET-004-REQ-002 | SRS-ACC-003 SRS-ACC-005 SRS-ADM-001 SRS-NFR-ACC-001 AC-ACC-003 AC-ACC-005 AC-ADM-001 AC-NFR-ACC-001 | UserSettings behouden wanneer toegankelijkheid wordt uitgeschakeld |
UC-BEH-SET-004-REQ-003 | SRS-RDM-001 SRS-ACC-003 SRS-ACC-005 SRS-ADM-001 SRS-POP-003 SRS-NFR-ACC-001 AC-RDM-001 AC-ACC-003 AC-ACC-005 AC-ADM-001 AC-POP-003 AC-NFR-ACC-001 | De toegankelijkheidspagina niet aanbieden wanneer de feature uit staat |
UC-BEH-SET-004-REQ-004 | SRS-ACC-003 SRS-ACC-005 SRS-ADM-001 SRS-POP-003 SRS-NFR-ACC-001 AC-ACC-003 AC-ACC-005 AC-ADM-001 AC-POP-003 AC-NFR-ACC-001 | Browserwaarden voor toegankelijkheid alleen functioneel gebruiken wanneer de feature actief is |
UC-BEH-SET-004-REQ-005 | SRS-ADM-001 SRS-NFR-AUD-001 AC-ADM-001 AC-NFR-AUD-001 | De wijziging auditbaar vastleggen |
UC-BEH-SET-004-REQ-006 | SRS-ACC-003 SRS-ACC-005 SRS-ADM-001 SRS-NFR-ACC-001 AC-ACC-003 AC-ACC-005 AC-ADM-001 AC-NFR-ACC-001 | Individuele profiel- en toegankelijkheidsinstellingen buiten deze beheerflow houden |
UC-BEH-SET-004-REQ-007 | SRS-AUTH-001 SRS-ADM-001 SRS-POP-003 AC-AUTH-001 AC-ADM-001 AC-POP-003 | De featurestatus server-side toepassen |