Beheerder — Frontpagebeheer
Dit subdomein beschrijft hoe beheerders tekstuele frontpagecontent beheren binnen vooraf bepaalde frontpagecontexten. De beheerinterface ondersteunt het raadplegen, selecteren, bewerken, opslaan en historisch terugzien van contentblokken, maar vormt geen vrije pagebuilder. De structurele pagina-opbouw, blokvolgorde, layout en runtime-rendering blijven codegedreven.
Frontpagebeheer werkt met basiscontexten. Gecombineerde rolfrontpages worden runtime samengesteld uit die basiscontexten volgens de vaste prioriteitsvolgorde en worden niet als afzonderlijke persistente ontwerpen beheerd.
Usecases
Relevante schermdocumentatie
| Scherm / onderdeel | Gebruik binnen dit subdomein |
|---|
| Site Instellingen | Hub van waaruit de beheerder Frontpagebeheer opent. |
| Frontpagebeheer | Beheerpagina met contexttabs en detail-/editorpaneel voor frontpagecontent. |
| Contexttabs | Scheiden de basiscontexten Public, NoRole, Student, Guardian, Teacher en Admin. |
| Contentblokeditor | Bewerkt alleen toegestane titel-, tekst-, label- of knoptekstvelden van bestaande blokken. |
| Geschiedenis | Toont wijzigingen aan frontpagecontent per context of blok. |
| Frontpages van gebruikersrollen | Runtime-verbruikers van de beheerde content; zij bepalen geen beheerstructuur. |
Domeinafbakening
| Binnen dit subdomein | Buiten dit subdomein |
|---|
| Beheer van tekstuele frontpagecontent binnen bestaande bloklocaties. | Vrij bouwen van nieuwe frontpage-layouts of pagebuilderfunctionaliteit. |
| Selecteren van basiscontexten voor frontpagecontent. | Persistente ontwerpen per rolcombinatie. |
| Opslaan van beheerbare contentvelden en bijbehorende historie. | Wijzigen van autorisaties, zichtbare gegevenssets, rollen of sessies. |
| Raadplegen van geschiedenis en runtime-samenstelling. | Beheer van systeemnotificaties, featuretoggles, popups, systeemberichttemplates of footercontent. |
Gebruik van het uniforme contentblokmodel met DomainType = FrontPage. | Aanmaken van nieuwe technische sleutels, rendererlogica, migraties of seeddefinities via de GUI. |
Frontpagecontexten
| ContextType | Functionele context | Persistente beheerinhoud |
|---|
Public | Niet-ingelogde publieke frontpage. | Ja, als basiscontext. |
NoRole | Ingelogde gebruiker zonder actieve rolcontext. | Ja, als basiscontext. |
Student | Leerlingfrontpage. | Ja, als basiscontext. |
Guardian | Ouder-/voogdfrontpage. | Ja, als basiscontext. |
Teacher | Docentfrontpage. | Ja, als basiscontext. |
Admin | Beheerderfrontpage. | Ja, als basiscontext. |
Voor gecombineerde rolfrontpages wordt geen extra contexttype of ontwerp opgeslagen. De runtime combineert beschikbare basiscontexten in de vaste volgorde Beheerder, Docent, Ouder/voogd. Voor de combinatie Docent + Ouder/voogd worden eerst docentblokken en daarna ouder-/voogdblokken getoond.
Contentblokmodel
| Onderdeel | Regel |
|---|
DomainType | Is voor dit subdomein altijd FrontPage. |
ContextType | Moet één van de bekende basiscontexten zijn. |
BlockKey | Is een codevast anker en wordt niet via de GUI aangemaakt of gewijzigd. |
| Beheerbare velden | Beperkt tot tekstuele inhoud zoals titel, introductietekst, korte toelichting, label of knoptekst waar het blok dat ondersteunt. |
| Read-only velden | Technische sleutel, domein, context, bloklocatie, layout, renderer en codegedreven gedrag. |
| Geschiedenis | Legt minimaal actor, UTC-tijdstip, gewijzigd veld, oude waarde en nieuwe waarde vast. |
Het contentblokmodel beheert geen structurele zichtbaarheid van willekeurige blokken, geen vrije volgorde en geen runtime-autorisaties. Ontbreekt een verwacht contentblok, dan wordt het blok veilig niet geladen of toont de beheerinterface een duidelijke niet-beschikbaarafhandeling.
Bijzondere regels
- Server-side beheerderautorisatie is leidend voor iedere lees- en mutatieactie.
- Zoek-, filter-, contextselectie- en geschiedenisacties zijn read-only.
- Bewerken in de editor is pas een persistente mutatie wanneer de beheerder expliciet opslaat.
- Iedere opgeslagen contentwijziging wordt historisch vastgelegd.
- Beheerbare frontpagecontent mag geen autorisaties, navigatiebevoegdheden, rolcontexten of zichtbare gegevenssets wijzigen.
- Gecombineerde rolfrontpages worden runtime samengesteld en zijn geen aparte beheerbare records.
- Teller- en samenvattingswaarden op frontpages blijven readmodelwaarden met expliciete definities per blok; frontpagebeheer wijzigt die definities niet.
- Popupteksten en popupgedrag worden niet in deze usecases gedupliceerd; usecases verwijzen uitsluitend op
PopupKey-niveau wanneer een popup relevant is.
Diagramgebruik
| Diagramtype | Gebruik binnen dit subdomein |
|---|
| State diagram | Alleen gebruiken wanneer een werkelijk statusobject wijzigt; de meeste frontpagebeheerflows kennen geen zelfstandig statusmodel. |
| Decision flow | Gebruikt voor autorisatie, contextkeuze, veldvalidatie, concurrency en blokkade van rolcombinatieontwerpen. |
| Data lifecycle diagram | Gebruikt om het verschil tussen readmodel, editorstate, persistente content en geschiedenis te tonen. |
| Sequence diagram | Gebruikt wanneer beheerder, frontend, backend, autorisatiecomponent, database en historyservice samenwerken. |