Beheerder — Systeeminstellingen en beheerlogging
Dit subdomein beschrijft hoe beheerders bestaande systeeminstellingen raadplegen en wijzigen, hoe runtimeconfiguratie na een wijziging opnieuw beschikbaar wordt gemaakt en hoe beheeracties via een centraal beheerlogreadmodel kunnen worden geraadpleegd. Het subdomein is bedoeld voor niet-booleaanse, sitebrede instellingen en voor beheerlogging. Nieuwe systeeminstellingssleutels worden niet via de GUI aangemaakt; zij blijven code- en migratiegedreven.
Booleaanse featuretoggles horen primair in het subdomein Features en systeemnotificaties. De toegankelijkheidsfeature wordt hier alleen expliciet benoemd voor de sitebrede impact op toegankelijkheidsinstellingen, browserwaarden en profielgedrag.
Usecases
| Usecase | Omschrijving |
|---|---|
| UC-BEH-SET-001 — Systeeminstellingen-overzicht bekijken | Toont bestaande niet-booleaanse systeeminstellingen gegroepeerd naar functioneel domein, zonder waarden of cache te wijzigen. |
| UC-BEH-SET-002 — Systeeminstelling wijzigen | Wijzigt één bestaande systeeminstelling met server-side typevalidatie, auditregistratie en cacheverversing. |
| UC-BEH-SET-003 — Configuratiecache verversen na wijziging | Beschrijft de technische vervolgafhandeling waarmee gewijzigde configuratie runtime beschikbaar wordt gemaakt zonder nieuwe instellingmutatie. |
| UC-BEH-SET-004 — Toegankelijkheidsfeature sitebreed schakelen | Beschrijft de specifieke impact van het sitebreed aan- of uitzetten van toegankelijkheid, met behoud van individuele UserSettings. |
| UC-BEH-SET-005 — Instellingstype en invoervorm afdwingen | Dwingt per SettingKey de juiste invoervorm, waardetype en server-side validatie af zonder zelf een instelling op te slaan. |
| UC-BEH-SET-006 — Beheerlog-overzicht raadplegen | Toont een centraal read-only beheerlog over beheerhistorie uit meerdere onderliggende beheerbronnen. |
| UC-BEH-SET-007 — Beheerlog filteren en detail openen | Filtert het beheerlog server-side en opent één veilige detailweergave zonder historyrecords of beheerde objecten te wijzigen. |
Relevante schermdocumentatie
| Scherm / onderdeel | Gebruik binnen dit subdomein |
|---|---|
| Site Instellingen-hub | Startpunt vanwaar de beheerder naar Technische instellingen of Beheerlog navigeert. |
| Systeeminstellingen-overzicht | Toont bestaande beheerbare instellingen, functionele groepen, actuele waarden, type-informatie en laatste wijziging. |
| Instellingdetail / wijzigweergave | Toont de codegedreven invoervorm voor één bestaande SettingKey. |
| Cacheverwerking | Technische backendafhandeling waardoor gewijzigde configuratie runtime beschikbaar wordt. |
| Toegankelijkheidsfeature | Sitebrede schakelaar die bepaalt of toegankelijkheidsfunctionaliteit aangeboden en toegepast wordt. |
| Beheerlog-overzicht | Read-only overzicht over beheeracties uit meerdere history- en auditbronnen. |
| Beheerlog-detail | Read-only detailweergave van één beheeractie met masking van gevoelige waarden. |
Domeinafbakening
| Binnen dit subdomein | Buiten dit subdomein |
|---|---|
| Raadplegen en wijzigen van bestaande niet-booleaanse SystemSettings. | Aanmaken van nieuwe SettingKeys via de GUI. |
| Typecatalogus, invoervorm en server-side validatie per bestaande SettingKey. | Vrij wijzigen van datatype, technische sleutel of codegedreven instellingdefinitie. |
| Cacheverversing of invalidatie na een geldige configuratiemutatie. | Handmatig leegmaken van willekeurige applicatiecaches zonder voorafgaande instellingmutatie. |
| Specifieke impact van AccessibilityEnabled op toegankelijkheidsfunctionaliteit. | Beheer van reguliere featuretoggles; dat hoort bij Features en systeemnotificaties. |
| Centraal beheerlogreadmodel over beheerhistorie. | Objectspecifieke geschiedenis vervangen of historyrecords wijzigen. |
| Masking en privacyveilige weergave van beheerlogwaarden. | Technische serverlogs, stacktraces, Keycloaklogs, credentials, tokens of secrets tonen. |
Bijzondere regels
- Server-side beheerderautorisatie is leidend voor ieder verzoek binnen dit subdomein.
- Clientstate, querystrings, zichtbare knoppen of browserstate mogen geen instelling, datatype, waarde of beheercontext afdwingen.
SystemSettingsbevat alleen bestaande, expliciet beheerbare niet-booleaanse instellingen.- Booleaanse featuretoggles blijven functioneel gescheiden van
SystemSettings. - Nieuwe technische sleutels, instellingtypen en toegestane waardebereiken zijn code- en migratiegedreven.
- Een instellingwijziging werkt sitebreed en schrijft geen bestaande domeinrecords zoals berichten, PDF’s, resultaten of gebruikersprofielen om.
- Cacheverversing is een technische vervolgafhandeling van een geldige configuratiemutatie en geen vrije beheeractie voor willekeurige runtimecache.
- Beheerlog is read-only en vervangt niet de objectgerichte geschiedenis op afzonderlijke beheerpagina’s.
- Beheerlog toont nooit wachtwoorden, tokens, secrets, credentialdata of ruwe technische stacktraces.
- Popupteksten en popupgedrag worden niet in usecases gedupliceerd; usecases verwijzen uitsluitend naar
PopupKey.
Waardetypen en beheerbare instellingvelden
| Onderdeel | Regel |
|---|---|
| SettingKey | Read-only technische sleutel; niet wijzigbaar via de GUI. |
| Functionele naam en beschrijving | Worden uit catalogus of beheerbare metadata getoond; bepalen niet zelfstandig autorisatie. |
| Type | Codegedreven; beheerder kiest het datatype niet zelf. |
| ValueText | Alleen betekenisvol voor tekstuele instellingen en begrensd op maximaal 500 tekens. |
| ValueInt / ValueDecimal | Alleen betekenisvol voor numerieke instellingen met sleutelgebonden bereik. |
| ValueDate | Alleen betekenisvol voor datum- of tijdgestuurd gedrag; backend verwerkt relevante waarden in UTC. |
| Historievelden | Actor, tijdstip, oude waarde, nieuwe waarde en gewijzigd veld worden auditbaar vastgelegd bij muterende flows. |
Diagramgebruik
| Diagramtype | Gebruik binnen dit subdomein |
|---|---|
| State diagram | Alleen gebruiken bij echte status- of lifecyclewijzigingen zoals instelling opgeslagen of feature aan/uit; niet bij read-only overzichten en beheerlograadpleging. |
| Decision flow | Gebruikt voor autorisatie, SettingKey-controle, typevalidatie, cacheverwerking, masking en filtervalidatie. |
| Data lifecycle diagram | Gebruikt om het verschil tussen catalogus, databasewaarde, runtimecache, history en readmodel te tonen. |
| Sequence diagram | Gebruikt wanneer beheerder, frontend, backend, database, cache of historybronnen samenwerken. |