Handige links en vaste pagina’s
Dit subdomein beschrijft het beheer van herbruikbare URL-records, footerinhoud en vaste publieke pagina’s binnen de beheeromgeving van OefenHub.
De beheerder kan bestaande contentposities inhoudelijk vullen en wijzigen, maar kan geen vrije pagina-opbouw, nieuwe footergebieden, nieuwe technische sleutelsets of contactformulierlogica aanmaken. De structurele layout, renderlocaties, vaste paginablokken en formulierwerking blijven codegedreven.
Usecases
| Usecase | Bestand | Doel |
|---|---|---|
| UC-BEH-LINKS-001 | uc-beh-links-001_handige-links-en-paginas-openen.md | De beheerder opent de beheerpagina Handige links & pagina’s en krijgt de bekende tabs, URL-records, footercontexten, vaste pagina’s en geschiedenisingangen te zien. |
| UC-BEH-LINKS-002 | uc-beh-links-002_url-record-aanmaken-of-wijzigen.md | De beheerder maakt een herbruikbaar URL-record aan of wijzigt een bestaand URL-record binnen de toegestane velden. |
| UC-BEH-LINKS-003 | uc-beh-links-003_url-validatie-uitvoeren.md | Het systeem valideert een interne route of externe URL voordat deze als bruikbaar URL-record kan worden opgeslagen. |
| UC-BEH-LINKS-004 | uc-beh-links-004_url-record-verwijderen.md | De beheerder verwijdert een URL-record alleen wanneer het nergens in footerlinktoewijzingen wordt gebruikt; de verwijdering is logisch en historisch herleidbaar. |
| UC-BEH-LINKS-005 | uc-beh-links-005_footertekst-bewerken.md | De beheerder bewerkt tekstuele footerinhoud per bestaande footercontext, waaronder linker tekstkolom en copyrighttekst. |
| UC-BEH-LINKS-006 | uc-beh-links-006_footerlink-toewijzingen-beheren.md | De beheerder wijst bestaande URL-records toe aan de middelste of rechter footerkolom per rolcontext en beheert de volgorde. |
| UC-BEH-LINKS-007 | uc-beh-links-007_vaste-publieke-pagina-bewerken.md | De beheerder bewerkt tekstuele contentblokken van vaste publieke pagina’s zoals Over OefenHub, Privacybeleid en Contact. |
| UC-BEH-LINKS-008 | uc-beh-links-008_wijzigingsgeschiedenis-raadplegen.md | De beheerder raadpleegt de wijzigingsgeschiedenis van URL-records, footercontent, footerlinktoewijzingen en vaste-paginacontent. |
Relevante schermdocumentatie
| Scherm | Relevantie |
|---|---|
| Site Instellingen | Hoofdingang naar Handige links & pagina’s. |
| Handige links & pagina’s | Beheerpagina met tabs Intro, Footer, Over OefenHub, Privacybeleid en Contact. |
| Footer | Beheer van URL-records, footerlinktoewijzingen en tekstuele footerinhoud per rolcontext. |
| Over OefenHub | Vaste publieke pagina waarvan alleen tekstuele blokinhoud beheerbaar is. |
| Privacybeleid | Vaste publieke pagina waarvan alleen tekstuele blokinhoud beheerbaar is. |
| Contact | Vaste publieke pagina waarvan omliggende tekst beheerbaar is; het contactformulier zelf valt buiten scope. |
Domeinafbakening
Binnen scope:
- beheren van herbruikbare URL-records;
- valideren van interne routes en externe URL’s vóór opslag;
- logisch verwijderen van ongebruikte URL-records;
- beheren van footerinhoud per bestaande rolcontext;
- beheren van footerlinktoewijzingen in de middelste en rechter footerkolom;
- tekstueel beheren van vaste publieke pagina’s binnen codevaste blokken;
- raadplegen van wijzigingsgeschiedenis.
Buiten scope:
- vrij opbouwen van pagina’s of footerlayout;
- toevoegen van nieuwe vaste pagina’s, nieuwe footergebieden of nieuwe renderlocaties via de GUI;
- wijzigen van het contactformulier, formulierroutering of ontvangen contactberichten;
- beheren van popups, systeemberichten, systeemnotificaties of frontpagecontent;
- account-, rol-, relatie-, oefen-, resultaat- of meldingenbeheer.
Beheerbare, read-only en codegedreven velden
| Onderdeel | Beheerbaar | Read-only / codegedreven |
|---|---|---|
| URL-records | Weergavenaam, URL, linktype, openen in nieuw tabblad. | Technische sleutel, ID, historyrecords, gebruiksafleiding. |
| Footer tekst | Titel, tekstblok, copyrighttekst binnen bestaande context. | Footerpositie, kolomstructuur, contextset, styling. |
| Footer links | Selectie van bestaande URL-records, volgorde binnen kolom en context. | Kolomtypen buiten Middle/Right, renderlayout, technische sleutels. |
| Vaste pagina’s | Titels en teksten van bestaande contentblokken. | Pagina-opbouw, blokvolgorde, contactformulier, routing, renderer. |
| Geschiedenis | Raadplegen van oude en nieuwe waarden. | Wijzigen of verwijderen van historyrecords. |
Bijzondere regels
- URL-records zijn herbruikbare bronrecords; plaatsing in de footer gebeurt via afzonderlijke toewijzingen.
- Een URL-record mag alleen logisch worden verwijderd wanneer het nergens in actieve footerlinktoewijzingen voorkomt.
- Interne routes en externe URL’s moeten server-side valideerbaar zijn voordat opslag slaagt.
- Footercontexten zijn beperkt tot de bekende contexten, zoals Publiek, Leerling, Docent, Ouder/voogd en Beheerder.
- Vaste publieke pagina’s gebruiken het uniforme contentblokmodel met
DomainType = StaticPage. - Footerinhoud gebruikt het uniforme contentblokmodel of footerrecords met
DomainType = Footer. LinkTypeis begrensd totInternalenExternal.FooterColumnTypeis begrensd totMiddleenRightvoor linktoewijzingen.- Contactformulierlogica wordt niet via dit subdomein aangepast.
- Elke mutatie legt actor, UTC-tijdstip, gewijzigd veld en oude/nieuwe waarde vast waar dat functioneel relevant is.
Diagramgebruik
Read-only usecases gebruiken geen persistent state diagram. Muterende usecases tonen alleen een state diagram wanneer het object binnen de flow aantoonbaar van toestand verandert, zoals bij opslaan of logisch verwijderen.
Decision flows tonen autorisatie, veldvalidatie, linkvalidatie, gebruikscontrole en opslagbeslissingen. Data lifecycle diagrams tonen onderscheid tussen bronrecords, toewijzingen, contentblokken, historyrecords en niet-gewijzigde runtimeweergave.