Systeemberichtenbeheer
Systeemberichtenbeheer beschrijft het beheer van bestaande systeemberichtsjablonen binnen Site Instellingen. De beheerder kan alleen inhoudelijke velden aanpassen die door de bestaande template worden ondersteund, zoals domein, type, onderwerp, tekst en de zichtbare knoptekst wanneer een codegestuurde actieknop aanwezig is.
Het subdomein wijzigt uitsluitend de broninhoud voor toekomstige systeemcommunicatie. Reeds aangemaakte mailbox-systeemberichten, privéberichtthreads, thread-events en meldingscommunicatie blijven zelfstandige runtimegegevens en worden niet met terugwerkende kracht aangepast.
Usecases
| Usecase | Bestand | Omschrijving |
|---|---|---|
| UC-BEH-SYSMSG-001 | uc-beh-sysmsg-001_systeemberichttemplates-overzicht-bekijken.md | De beheerder opent het overzicht van bestaande systeemberichttemplates en zoekt of filtert op referentienaam, domein, onderwerp en tekst. |
| UC-BEH-SYSMSG-002 | uc-beh-sysmsg-002_systeemberichttemplate-openen.md | De beheerder opent één bestaand systeemberichttemplate en ziet beheerbare velden gescheiden van technische read-only velden. |
| UC-BEH-SYSMSG-003 | uc-beh-sysmsg-003_systeemberichttemplate-wijzigen.md | De beheerder wijzigt toegestane templatevelden, waarna het systeem server-side valideert, atomair opslaat en history vastlegt. |
| UC-BEH-SYSMSG-004 | uc-beh-sysmsg-004_templatevalidatie-en-placeholders-controleren.md | Het systeem controleert lengte-eisen, sleutelsets, read-only grenzen en toegestane placeholders voordat een templatewijziging mag worden opgeslagen. |
| UC-BEH-SYSMSG-005 | uc-beh-sysmsg-005_templategeschiedenis-bekijken.md | De beheerder bekijkt de wijzigingsgeschiedenis van één systeemberichttemplate met actor, tijdstip, soort wijziging en veldverschillen. |
Relevante schermdocumentatie
| Scherm | Relevantie |
|---|---|
| Site Instellingen | Ingang naar Systeemberichten. |
| Systeemberichten | Overzicht, detailweergave, editor, validatiefouten en geschiedenis voor bestaande templates. |
| Berichtenoverzicht | Runtimeconsumptie van aangemaakte SystemMessages; geen beheerbron voor templates. |
| Popupregister | Alleen relevant voor eventuele fout- of bevestigingspopups; usecases verwijzen uitsluitend naar PopupKey. |
Domeinafbakening
Systeemberichtenbeheer valt binnen Beheerder / Site Instellingen en werkt alleen op bestaande SystemMessageTemplates. Nieuwe templatekeys, technische referenties, actiecodes en routeringslogica ontstaan via code en database-migraties, niet via de GUI.
Binnen scope:
- raadplegen van bestaande systeemberichttemplates;
- zoeken en filteren op referentienaam, domein, onderwerp en tekst;
- openen van één template;
- wijzigen van beheerbare templatevelden;
- server-side valideren van onderwerp, tekst, knoptekst, type, domein en placeholders;
- atomair opslaan van geldige wijzigingen;
- raadplegen van wijzigingsgeschiedenis.
Buiten scope:
- nieuwe systeemberichttemplates aanmaken via de GUI;
- templates verwijderen of via een actief/inactief-schakelaar uitschakelen;
- technische referentienaam, entiteitstype, actioncode of routeringslogica wijzigen;
- reeds verzonden
SystemMessagesmet terugwerkende kracht aanpassen; - privéberichten, mailboxthreads of thread-events beheren;
- generieke meldingen-, relatie-, leerling-, docent- of accountflows opnieuw bronhoudend beschrijven.
Beheerbare, read-only en codegedreven velden
| Veldgroep | Gedrag |
|---|---|
| Domein | Beheerbaar wanneer de bestaande template dit ondersteunt en de waarde binnen de toegestane sleutelset valt. |
| Type | Beheerbaar binnen de vastgestelde SystemMessageType-waarden. |
| Onderwerp | Beheerbaar tot maximaal 50 tekens. |
| Tekst | Beheerbaar tot maximaal 1000 tekens en veilig te renderen zonder actieve inhoud. |
| Knoptekst | Alleen beheerbaar wanneer de bestaande codegestuurde actieknop dit ondersteunt; maximaal 20 tekens. |
| Referentienaam | Read-only; stabiele technische sleutel voor code, templates en routering. |
| Actiecode / doelroutering | Read-only en codegedreven. |
| Placeholderdefinities | Codegedreven; de GUI mag alleen expliciet ondersteunde placeholders gebruiken. |
| Verzonden SystemMessages | Runtimegegevens; blijven ongewijzigd wanneer een template wordt aangepast. |
Business rules
| ID | Regel |
|---|---|
| BR-BEH-SYSMSG-001 | Systeemberichtenbeheer werkt uitsluitend op bestaande template-records. |
| BR-BEH-SYSMSG-002 | Er bestaat geen GUI-functie om templates aan te maken, te verwijderen of actief/inactief te zetten. |
| BR-BEH-SYSMSG-003 | De technische referentienaam en codegestuurde actie blijven read-only. |
| BR-BEH-SYSMSG-004 | Templatewijzigingen gelden alleen voor toekomstige systeemcommunicatie. |
| BR-BEH-SYSMSG-005 | Reeds aangemaakte SystemMessages worden niet met terugwerkende kracht aangepast. |
| BR-BEH-SYSMSG-006 | Placeholdergebruik is alleen toegestaan voor expliciet ondersteunde en veilig te vullen variabelen. |
| BR-BEH-SYSMSG-007 | Iedere opgeslagen templatewijziging wordt auditbaar vastgelegd met actor, UTC-tijdstip, soort wijziging en oude en nieuwe waarde. |
Validatiegrenzen
| Veld | Grens / regel |
|---|---|
| Onderwerp | Maximaal 50 tekens. |
| Berichttekst | Maximaal 1000 tekens. |
| Knoptekst | Maximaal 20 tekens wanneer een codegestuurde knoptekst beheerbaar is. |
| Type | Alleen toegestane SystemMessageType-waarden, zoals Info, Success, Warning, Error en Critical. |
| Domein | Alleen toegestane domeinclassificaties voor systeemcommunicatie. |
| Placeholders | Alleen expliciet ondersteunde variabelen; onbekende placeholders blokkeren opslaan. |
| HTML / actieve inhoud | Niet toegestaan; tekst wordt veilig opgeslagen en gerenderd. |
| Concurrency | Opslaan moet de actuele recordversie controleren. |
Diagramgebruik
Read-only usecases gebruiken geen persistent state diagram. De wijzigingsusecase toont alleen diagrammen die de server-side validatie, atomische opslag en historyregistratie verduidelijken. De validatie-usecase beschrijft controlelogica zonder eigen domeinmutatie. Er worden geen ERD's in usecases opgenomen.