Skip to main content

8. Site instellingen - Systeemberichten

8.1 Schermafbeelding

oefenhub_beheerder_07_sys_03_systeemberichten_v1_4.png

8.2 Scherm meta data

VeldWaarde
Scherm-IDSCH-BEH-07-01
SchermnaamSite instellingen — Systeemberichten
Doelgroep / onderdeelBeheerder / Site instellingen
Bronbestandoefenhub_beheerder_07_sys_03_systeemberichten_V1_4.html
MockupversieV1.4
Screenshotbestandoefenhub_beheerder_07_sys_03_systeemberichten_v1_4.png
Processtap / contextBeheerder opent binnen Site instellingen de beheerpagina voor bestaande systeemberichtsjablonen. De pagina combineert links zoeken, filteren en selecteren met rechts detailbewerking, actieknopconfiguratie en geschiedenis van het geselecteerde sjabloon.
DocumentatiestatusUitgewerkt op basis van HTML-mockup, PNG-screenshot, Functioneel Ontwerp, Technisch Ontwerp, Software Requirements Specification en ondersteunende database-informatie.
OpmerkingenHeader, beheerdernavigatie, berichteningang, profielmenu en footer vallen buiten scope van dit schermdocument. Alle zichtbare referenties, aantallen, onderwerpteksten, berichtteksten, geschiedenisregels, namen en datums in de mockup zijn voorbeelddata.
Route / URL-patroonFunctioneel routepatroon: beheer/site-instellingen/systeemberichten. De technische route wordt door de applicatieroutering bepaald.
Autorisatie / vereiste rol-contextActieve beheerdercontext. Toegang en opslag moeten server-side worden beperkt tot gebruikers met beheerrechten voor Site instellingen.
Primair domeinobject / hoofdentiteitSystemMessageTemplates met bijbehorende SystemMessageTemplateHistory.
Gerelateerde schermen / navigatie05_site-instellingen, 07_site-instellingen-popups, 09_site-instellingen-handige-links-paginas, 10_site-instellingen-features, generiek berichtenoverzicht en domeinen die systeemberichten aanmaken, zoals relaties, meldingen en oefendelen.
Data-karakterBeheer- en mutatiepagina voor bestaande, codegedreven systeemberichtsjablonen. De pagina wijzigt sjablooninhoud en beperkte metadata, maar maakt geen runtime-systeemberichten aan en beheert geen individuele mailboxitems.

8.3 Functionele beschrijving

8.3.1 Doel van het scherm

Het scherm Site instellingen — Systeemberichten is de beheerpagina voor bestaande systeemberichtsjablonen binnen OefenHub. Een systeemberichtsjabloon bepaalt de herbruikbare tekstuele basis voor systeemcommunicatie die door applicatieprocessen kan worden gebruikt, bijvoorbeeld bij rolselectie, relatie-uitnodigingen, gedeelde oefeningen, meldingen of beheermeldingen.

De pagina is bedoeld voor inhoudelijk beheer van bestaande templates. De beheerder kan sjablonen zoeken, filteren, selecteren, inhoudelijk aanpassen en de wijzigingsgeschiedenis bekijken. De pagina is niet bedoeld voor het aanmaken, verwijderen, activeren, deactiveren of vrij routeren van systeemberichtsjablonen.

De runtime-berichten die uiteindelijk bij gebruikers in de mailbox verschijnen, worden niet rechtstreeks op deze pagina beheerd. Een save-actie op deze pagina past het sjabloon aan voor toekomstig gebruik door de applicatielogica. Bestaande runtime-berichten blijven zelfstandige SystemMessages-records met eigen ontvanger, titel, body, leesstatus en domeinverwijzing.

8.3.2 Afbakening ten opzichte van popups en runtime-systeemberichten

Systeemberichtsjablonen lijken qua beheerpatroon op systeem-popups, omdat beide via een overzicht links en een detailpaneel rechts worden beheerd. Functioneel is het domein smaller:

  • er is geen sluitkruis, overlaymodus of linker-/rechterknopconfiguratie;
  • er is geen actief-/inactiefschakelaar in de GUI;
  • er is geen rolgebonden zichtbaarheid op templateniveau;
  • aanmaken en verwijderen blijven code- en migratiegedreven;
  • de technische referentienaam en technische actie-identificatie blijven read-only.

Systeemberichten verschillen ook van runtime-systeemberichten in de mailbox. SystemMessageTemplates bevat beheerbare sjablonen; SystemMessages bevat daadwerkelijke berichten voor concrete ontvangers. Klikbare opvolging in runtime-systeemberichten wordt niet als vrije URL in de template opgeslagen, maar door applicatielogica bepaald op basis van de relevante domeinverwijzing en rechtencontrole.

8.3.3 Hoofdopbouw van de pagina

De hoofdinhoud bestaat uit:

  1. een breadcrumb binnen de beheercontext;
  2. een introblok Systeemberichten beheren met korte uitleg en een dynamische teller Bericht records;
  3. een zoekveld om te zoeken op referentienaam, onderwerp of tekst;
  4. een domeinfilter met de keuze Alle domeinen en functionele domeinen zoals Account & rollen, Koppelingen, Oefeningen, Meldingen, Beheer en Algemeen;
  5. een selecteerbare lijst met systeemberichtsjablonen;
  6. een detailpaneel voor het geselecteerde sjabloon;
  7. een subsectie Actieknop wanneer het geselecteerde sjabloon een codegestuurde actie ondersteunt;
  8. de expliciete actie Wijzigingen opslaan;
  9. een geschiedenisblok met eerdere inhoudelijke wijzigingen.

Bij openen van de pagina wordt de lijst opgebouwd uit bestaande SystemMessageTemplates. De standaardselectie kan het eerste record volgens de actieve sortering zijn, of het record dat via route-/querycontext is meegegeven. De mockup toont TICKET_REOPEN_REQUESTED als actief record, maar dit is voorbeelddata.

8.3.4 Zoek-, filter- en selectiegedrag

Het zoekveld filtert binnen de bestaande templates op minimaal:

  • ReferenceName;
  • Subject;
  • BodyText.

Het domeinfilter beperkt de lijst tot één functioneel domein of toont alle domeinen. De filterkeuze wijzigt geen templatewaarde; alleen de linker lijst en eventueel de beschikbare selectie veranderen.

De lijst wordt standaard voorspelbaar gesorteerd op referentienaam, tenzij de applicatie een andere vastgelegde sortering hanteert. Wanneer een beheerder een andere sjabloonkaartenregel selecteert, wordt het detailpaneel opnieuw geladen met de waarden van dat geselecteerde template. Als er onopgeslagen wijzigingen zijn, moet de applicatie voorkomen dat deze stilzwijgend verloren gaan, bijvoorbeeld door een bevestiging, blokkade of expliciete waarschuwing.

8.3.5 Detailbewerking

In het detailpaneel zijn de volgende gegevens zichtbaar:

  • Referentienaam: stabiele technische sleutel, read-only;
  • Domein: functionele domeinclassificatie;
  • Categorie / type: visuele of functionele classificatie van het bericht;
  • Onderwerp: bewerkbare onderwerpregel;
  • Tekst: bewerkbare berichttekst;
  • Knoptekst: optionele zichtbare tekst voor een actieknop;
  • Actie: technische actie-identificatie, read-only;
  • Geschiedenis: read-only wijzigingsgeschiedenis van het geselecteerde sjabloon.

De referentienaam en actie zijn technische contractwaarden tussen template, applicatiecode en migraties. Zij mogen niet via de GUI wijzigbaar zijn. De beheerder past alleen inhoudelijke en beperkte classificerende waarden aan.

8.3.6 Actieknop en domeinverwijzing

Een systeemberichttemplate kan een optionele actieknop ondersteunen. De knoptekst is beheerbaar zolang het onderliggende template een codegestuurde actie heeft. De actie zelf is read-only en wordt vanuit code of migratie bepaald. De mockup toont bijvoorbeeld de actie openTicketOverview, maar deze waarde is voorbeelddata van het geselecteerde record.

De GUI mag geen vrije URL, route of willekeurige actie laten opslaan. De technische vervolgactie wordt uitsluitend bepaald door applicatiecode en de toegestane domeinlogica. Bij runtime-systeemberichten wordt doorklikgedrag daarnaast server-side gecontroleerd op ontvanger, domeinobject en actuele rechten.

Wanneer een geselecteerd template geen actie ondersteunt, moet de actieknopsectie worden verborgen of als niet-toepasbaar worden weergegeven. In dat geval mag knoptekst leeg zijn en mag opslaan geen impliciete nieuwe actie creëren.

8.3.7 Templatevariabele- en renderingregels

Systeemberichttemplates mogen alleen templatevariabelen bevatten die door de applicatie voor het betreffende template expliciet worden ondersteund. De definitieve templatevariabele-set is codegedreven en templategebonden. Een beheerder mag geen willekeurige variabele, script, HTML of routeringslogica toevoegen.

Bij opslag moet de applicatie controleren dat gebruikte templatevariabelen toegestaan zijn voor het geselecteerde template. Bij renderen van een runtime-systeembericht moeten templatevariabelen server-side worden vervangen met veilige waarden en moet de uiteindelijke inhoud veilig worden geëncodeerd of gesanitized voordat deze in de mailbox of detailweergave zichtbaar wordt.

8.3.8 Opslaan, audit en geschiedenis

Wijzigingen worden niet direct per toetsaanslag persistent gemaakt. De beheerder slaat wijzigingen op via Wijzigingen opslaan. Bij opslaan:

  • valideert de server de beheerderautorisatie;
  • valideert de server de templatewaarden;
  • controleert de server of de template nog bestaat;
  • controleert de server of de versie niet tussentijds gewijzigd is;
  • schrijft de server de gewijzigde velden naar SystemMessageTemplates;
  • werkt de server UpdatedAtUtc en UpdatedByUserId bij;
  • schrijft de server per gewijzigd veld een regel in SystemMessageTemplateHistory.

Wanneer één save-actie meerdere velden wijzigt, ontstaan meerdere historyregels met hetzelfde wijzigingsmoment en dezelfde uitvoerende beheerder. De geschiedenisweergave mag deze regels compact groeperen zolang het gewijzigde veld en de oude en nieuwe waarde herleidbaar blijven.

8.3.9 Leegstaten, foutstaten en disabled states

De pagina moet de volgende toestanden ondersteunen:

  • geen templates beschikbaar: de lijst toont een lege staat en het detailpaneel toont geen bewerkbaar formulier;
  • actieve zoekterm of domeinfilter levert geen resultaat: de lijst toont een filter-lege staat met mogelijkheid om zoekterm of filter te wissen;
  • geen geselecteerd record: detailvelden en opslaanknop zijn disabled;
  • geen wijziging aangebracht: Wijzigingen opslaan is disabled of geeft aan dat er niets gewijzigd is;
  • validatiefout: het betreffende veld toont een foutmelding en de save-actie wordt niet verwerkt;
  • template tussentijds gewijzigd: de gebruiker krijgt een melding dat de gegevens opnieuw geladen moeten worden voordat opslaan betrouwbaar kan plaatsvinden;
  • fout bij laden of opslaan: de pagina toont een herstelbare foutmelding zonder ingevoerde wijzigingen stilzwijgend te verliezen;
  • template zonder actie: actieveld blijft leeg/read-only en knoptekst is leeg of disabled.

8.3.10 Autorisatie en beveiliging

Frontend-zichtbaarheid is geen beveiliging. Alle lees- en mutatieacties moeten server-side controleren dat de gebruiker een actieve beheerdercontext heeft en Site instellingen mag beheren.

Daarnaast moeten invoer en output veilig worden behandeld:

  • HTML, JavaScript en actieve inhoud mogen niet als uitvoerbare content uit templatevelden worden gerenderd;
  • templatevariabelen worden alleen vervangen wanneer zij voor het template expliciet zijn toegestaan;
  • technische identifiers zoals interne template-id's worden niet als primair GUI-element getoond;
  • foutmeldingen mogen geen interne stacktraces, querydetails of geheime configuratie tonen;
  • historyrecords worden niet via de GUI aangepast of verwijderd.

8.4 UI-elementen en velddefinities

Element-IDTypeGUI-verwijzingOmschrijvingZichtbaar labelOpmerkingTechnische naam
SCH-BEH-07-01-S01SBreadcrumbContextnavigatie binnen beheerder en Site instellingen.Home › Site instellingen › Systeemberichten beherenHeader en hoofdmenu vallen buiten scope; de breadcrumb hoort bij de pagina-inhoud.SystemMessageTemplatesBreadcrumb
SCH-BEH-07-01-S02SIntroblokIntroductiekaart met paginatitel, uitleg en samenvattende recordteller.Systeemberichten beherenDe uitleg is schermspecifiek; mockupwaarden zijn voorbeelddata.SystemMessageTemplatesIntroSection
SCH-BEH-07-01-F01FIntroblok > Bericht recordsRead-only aantal bestaande systeemberichtsjablonen.Bericht recordsDe waarde 38 uit de mockup is voorbeelddata.SystemMessageTemplateRecordCountValue
SCH-BEH-07-01-S03SZoek- en filterbalkContainer voor zoeken en domeinfilter.Beïnvloedt alleen de linker lijst en niet direct het geselecteerde record.SystemMessageTemplateFilterSection
SCH-BEH-07-01-F02FZoekveldZoekterm voor filteren op referentienaam, onderwerp of tekst.Zoek op referentienaam, onderwerp of tekst...Gebruikersinvoer; niet persistent als templatewaarde.SystemMessageTemplateSearchInput
SCH-BEH-07-01-FILTER01FILTERDomeinfilterFilter op functioneel domein van systeemberichtsjablonen.Alle domeinenKeuzes zijn code-/enumgestuurd.SystemMessageTemplateDomainFilter
SCH-BEH-07-01-S04SSysteemberichtenoverzichtLinkerpaneel met selecteerbare templatekaarten.SysteemberichtenoverzichtToont bestaande templates in kaartvorm.SystemMessageTemplateOverviewSection
SCH-BEH-07-01-T01TSjabloonkaartenlijstSelecteerbare lijst met referentienaam, onderwerp, tekstfragment en domein/typebadge.SysteemberichtenoverzichtSelectie bepaalt het detailpaneel rechts.SystemMessageTemplateCardList
SCH-BEH-07-01-A01ASjabloonkaartenlijst > kaartSelecteert een sjabloon en laadt het detailpaneel.De hele kaart fungeert als selectieactie.SelectSystemMessageTemplateAction
SCH-BEH-07-01-S05SSysteemberichtdetailsRechterpaneel met read-only en bewerkbare templatevelden.SysteemberichtdetailsDetailpaneel wordt gevuld op basis van geselecteerde kaart.SystemMessageTemplateDetailsSection
SCH-BEH-07-01-F03FReferentienaamRead-only technische referentienaam van het geselecteerde template.ReferentienaamNiet wijzigbaar via de GUI.ReferenceNameDisplay
SCH-BEH-07-01-F04FDomeinSelectieveld voor functionele domeinclassificatie.DomeinBeheerbaar binnen centrale domeinset.DomainSelect
SCH-BEH-07-01-F05FCategorie / typeSelectieveld voor systeemberichttype.Categorie / typeKeuzes zijn minimaal Info, Success, Warning, Error en Critical.MessageTypeSelect
SCH-BEH-07-01-F06FOnderwerpTekstinvoer voor onderwerpregel van het template.OnderwerpMaximaal 50 tekens.SubjectInput
SCH-BEH-07-01-F07FTekstMeerregelig tekstveld voor berichttekst van het template.TekstMaximaal 1000 tekens; alleen toegestane templatevariabelen.BodyTextTextarea
SCH-BEH-07-01-S06SActieknopConfiguratieblok voor optionele codegestuurde actieknop.ActieknopAlleen functioneel wanneer het template een actie ondersteunt.ActionButtonSection
SCH-BEH-07-01-F08FActieknop > KnoptekstTekstinvoer voor zichtbaar label van de actieknop.KnoptekstOptioneel; maximaal 20 tekens.ActionButtonTextInput
SCH-BEH-07-01-F09FActieknop > ActieRead-only technische actie-identificatie.ActieWordt vanuit code/migraties bepaald en is niet via de GUI wijzigbaar.ActionNameDisplay
SCH-BEH-07-01-B01BDetailpaneel > save rowSlaat gewijzigde templatevelden op.Wijzigingen opslaanDisabled of niet-effectief wanneer er geen wijzigingen zijn of validatie faalt.SaveSystemMessageTemplateButton
SCH-BEH-07-01-S07SGeschiedenisHistorieblok voor het geselecteerde sjabloon.GeschiedenisRead-only weergave.SystemMessageTemplateHistorySection
SCH-BEH-07-01-T02TGeschiedenislijstLijst met eerdere wijzigingen aan het geselecteerde template.GeschiedenisToont minimaal wijzigingssamenvatting, veld, uitvoerder en tijdstip.SystemMessageTemplateHistoryList
SCH-BEH-07-01-M01MFout- en leegstatenMeldingen voor geen resultaat, laadfout, validatiefout, opslaan mislukt of concurrencyconflict.DynamischWordt alleen getoond wanneer de betreffende toestand optreedt.SystemMessageTemplateStateMessage

8.5 Waardelagen

Element-IDGUI-verwijzingZichtbaar labelTechnische naamDatabronWaardebronDatatypeBewerkbaarValidatie / regel
SCH-BEH-07-01-S01BreadcrumbHome › Site instellingen › Systeemberichten beherenSystemMessageTemplatesBreadcrumbApplicatieroutering / beheercontextActieve route en schermcontextnavigationNeeBreadcrumb wijzigt geen data en toont geen generieke headernavigatie.
SCH-BEH-07-01-S02IntroblokSysteemberichten beherenSystemMessageTemplatesIntroSectionCodegedreven schermtekstVast schermlabel en vaste toelichting voor beheerpaginasection / textNeeIntroblok is schermuitleg; templatebeheer zelf gebeurt in de detailvelden.
SCH-BEH-07-01-F01Bericht recordsBericht recordsSystemMessageTemplateRecordCountValueSystemMessageTemplatesTelling van bestaande systeemberichtsjablonen binnen beheercontextintNeeRead-only waarde; mockupwaarde mag niet hardcoded worden.
SCH-BEH-07-01-F02ZoekveldZoek op referentienaam, onderwerp of tekst...SystemMessageTemplateSearchInputNiet direct databasegebonden; query over SystemMessageTemplates.ReferenceName, Subject, BodyTextUser input / runtime statestringJaLege zoekterm betekent geen zoekbeperking; zoeken wijzigt geen templategegevens.
SCH-BEH-07-01-FILTER01DomeinfilterAlle domeinenSystemMessageTemplateDomainFilterSystemMessageTemplates.Domain + centrale domeinsetRuntime filterwaardeenum / filterwaardeJaKeuze Alle domeinen toont alle templates; overige keuzes beperken de lijst tot één domein.
SCH-BEH-07-01-T01SjabloonkaartenlijstSysteemberichtenoverzichtSystemMessageTemplateCardListSystemMessageTemplatesRead model met ReferenceName, Domain, MessageType, Subject en BodyText-fragmentlist / collectionNeeAlleen bestaande templates tonen; aanmaken en verwijderen zijn geen GUI-acties.
SCH-BEH-07-01-A01Sjabloonkaartenlijst > kaartSelectSystemMessageTemplateActionGeselecteerd SystemMessageTemplates.Id via applicatiestateRuntime selectieactionJaBij onopgeslagen wijzigingen moet verlies van invoer worden voorkomen.
SCH-BEH-07-01-F03ReferentienaamReferentienaamReferenceNameDisplaySystemMessageTemplates.ReferenceNameDatabasewaardestringNeeUniek en read-only; technische sleutel blijft code-/migratiegedreven.
SCH-BEH-07-01-F04DomeinDomeinDomainSelectSystemMessageTemplates.DomainDatabasewaarde + centrale domeinsetenum / stringJaWaarde moet binnen de centraal ondersteunde domeinen vallen.
SCH-BEH-07-01-F05Categorie / typeCategorie / typeMessageTypeSelectSystemMessageTemplates.MessageTypeDatabasewaarde + SystemMessageType enumenum / stringJaToegestane waarden zijn minimaal Info, Success, Warning, Error en Critical.
SCH-BEH-07-01-F06OnderwerpOnderwerpSubjectInputSystemMessageTemplates.SubjectDatabasewaardestringJaVerplicht; maximaal 50 tekens; actieve inhoud is niet toegestaan.
SCH-BEH-07-01-F07TekstTekstBodyTextTextareaSystemMessageTemplates.BodyTextDatabasewaardestring / multilineJaVerplicht; maximaal 1000 tekens; alleen template-toegestane templatevariabelen; uitvoer veilig renderen.
SCH-BEH-07-01-S06ActieknopActieknopActionButtonSectionSystemMessageTemplates.ActionName, ActionButtonTextAfgeleid uit geselecteerd templatesection / compositeNee als sectieSectie is alleen relevant wanneer het template een codegestuurde actie ondersteunt.
SCH-BEH-07-01-F08KnoptekstKnoptekstActionButtonTextInputSystemMessageTemplates.ActionButtonTextDatabasewaardestring / nullableJaOptioneel; maximaal 20 tekens; alleen relevant bij aanwezige ActionName.
SCH-BEH-07-01-F09ActieActieActionNameDisplaySystemMessageTemplates.ActionNameDatabasewaarde / codegedreven sleutelstring / nullableNeeRead-only; geen vrije URL, route of functie-invoer via de GUI.
SCH-BEH-07-01-B01Wijzigingen opslaanWijzigingen opslaanSaveSystemMessageTemplateButtonSystemMessageTemplates, SystemMessageTemplateHistory, UsersServer-side saveactieactionJaValideert autorisatie, invoer, templatevariabelen en concurrency; schrijft gewijzigde velden en history.
SCH-BEH-07-01-T02GeschiedenislijstGeschiedenisSystemMessageTemplateHistoryListSystemMessageTemplateHistory + UsersAuditregels van geselecteerd templatelist / collectionNeeToont per wijziging minimaal veld, oude waarde, nieuwe waarde, uitvoerder en tijdstip; history wordt niet via GUI aangepast.
SCH-BEH-07-01-M01Fout- en leegstatenDynamischSystemMessageTemplateStateMessageApplicatiestate, validatieresultaat, serverresponseRuntime statemessageNeeGeen technische stacktraces tonen; foutmeldingen moeten begrijpelijk en herstelbaar zijn.

8.6 Schermtrace naar SRS en acceptatiecriteria

De onderstaande tabel legt per schermrequirement de koppeling naar het centrale schermrequirements-trace-register, SRS-requirements en acceptatiecriteria vast. De normatieve requirementtekst staat in de SRS; dit schermdocument beschrijft alleen de lokale schermcontext.

Deze tabel bevat alleen schermtraceability. De normatieve requirementtekst en acceptatiecriteria staan centraal in de SRS.

SchermrequirementDektSchermcontext
REQ-SCH-BEH-07-01-01SRS-POP-004
SRS-MSG-007
AC-POP-004
AC-MSG-007
De beheerder binnen Site instellingen een beheerpagina tonen voor bestaande systeemberichtsjablonen met een overzicht links en een detailpaneel rechts
REQ-SCH-BEH-07-01-02SRS-AUTH-001
SRS-POP-004
AC-AUTH-001
AC-POP-004
Toegang tot de systeemberichtenbeheerpagina server-side beperken tot gebruikers met een actieve beheerdercontext en beheerrechten voor Site instellingen
REQ-SCH-BEH-07-01-03SRS-RDM-004
SRS-RDM-007
SRS-RDM-002
SRS-RDM-001
SRS-POP-004
SRS-MSG-007
AC-RDM-004
AC-RDM-007
AC-RDM-002
AC-RDM-001
AC-POP-004
AC-MSG-007
In het introblok een dynamisch aantal bestaande systeemberichtsjablonen tonen en mag de mockupwaarde niet hardcoded gebruiken
REQ-SCH-BEH-07-01-04SRS-POP-004
SRS-MSG-007
AC-POP-004
AC-MSG-007
Zoeken ondersteunen op minimaal referentienaam, onderwerp en berichttekst van bestaande systeemberichtsjablonen
REQ-SCH-BEH-07-01-05SRS-POP-004
AC-POP-004
Filteren op functioneel domein ondersteunen, inclusief een overkoepelende keuze Alle domeinen
REQ-SCH-BEH-07-01-06SRS-POP-004
AC-POP-004
De templateoverzichtslijst standaard voorspelbaar sorteren, minimaal op referentienaam of een functioneel gelijkwaardige vaste sortering
REQ-SCH-BEH-07-01-07SRS-POP-004
AC-POP-004
Per templatekaart minimaal referentienaam, onderwerp, tekstfragment en domein- of type-indicatie tonen
REQ-SCH-BEH-07-01-08SRS-POP-004
AC-POP-004
Bij selectie van een template het detailpaneel vullen met de waarden van dat geselecteerde template
REQ-SCH-BEH-07-01-09SRS-POP-004
SRS-MSG-007
AC-POP-004
AC-MSG-007
De referentienaam van een systeemberichttemplate read-only tonen en mag wijziging van deze technische sleutel via de GUI niet toestaan
REQ-SCH-BEH-07-01-10SRS-POP-004
SRS-MSG-007
AC-POP-004
AC-MSG-007
De technische actie-identificatie van een systeemberichttemplate read-only tonen en mag geen vrije URL, route of functienaam via de GUI laten opslaan
REQ-SCH-BEH-07-01-11SRS-POP-004
AC-POP-004
Minimaal de velden domein, categorie/type, onderwerp, berichttekst en optionele knoptekst beheerbaar maken voor bestaande templates
REQ-SCH-BEH-07-01-12SRS-POP-004
SRS-MSG-007
AC-POP-004
AC-MSG-007
Geen GUI-functionaliteit bieden voor het aanmaken, verwijderen, activeren, deactiveren of rolgebonden zichtbaar maken van systeemberichtsjablonen
REQ-SCH-BEH-07-01-13SRS-AUTH-001
SRS-POP-004
AC-AUTH-001
AC-POP-004
Voor systeemberichttemplates server-side afdwingen dat onderwerp maximaal 50 tekens bevat
REQ-SCH-BEH-07-01-14SRS-AUTH-001
SRS-POP-004
AC-AUTH-001
AC-POP-004
Voor systeemberichttemplates server-side afdwingen dat berichttekst maximaal 1000 tekens bevat
REQ-SCH-BEH-07-01-15SRS-AUTH-001
SRS-POP-004
AC-AUTH-001
AC-POP-004
Voor systeemberichttemplates server-side afdwingen dat optionele knoptekst maximaal 20 tekens bevat
REQ-SCH-BEH-07-01-16SRS-POP-004
AC-POP-004
Domein en categorie/type beperken tot centraal ondersteunde code-/enumwaarden
REQ-SCH-BEH-07-01-17SRS-POP-004
SRS-MSG-007
AC-POP-004
AC-MSG-007
Alleen templatevariabelen toestaan die voor het geselecteerde systeemberichttemplate expliciet door de applicatie worden ondersteund
REQ-SCH-BEH-07-01-18SRS-POP-004
AC-POP-004
Template-inhoud veilig opslaan en renderen, zodat HTML, JavaScript of andere actieve inhoud niet als uitvoerbare content bij gebruikers terechtkomt
REQ-SCH-BEH-07-01-19SRS-POP-004
AC-POP-004
Wijzigingen pas persistent maken na de expliciete actie Wijzigingen opslaan
REQ-SCH-BEH-07-01-20SRS-POP-004
AC-POP-004
Bij opslaan UpdatedAtUtc en UpdatedByUserId op het gewijzigde SystemMessageTemplates-record bijwerken
REQ-SCH-BEH-07-01-21SRS-NFR-AUD-001
SRS-POP-004
AC-NFR-AUD-001
AC-POP-004
Per gewijzigd veld een SystemMessageTemplateHistory-regel vastleggen met minimaal gewijzigd veld, oude waarde, nieuwe waarde, uitvoerende beheerder en tijdstip
REQ-SCH-BEH-07-01-22SRS-NFR-AUD-001
SRS-POP-004
AC-NFR-AUD-001
AC-POP-004
De geschiedenis van het geselecteerde systeemberichttemplate read-only tonen en mag historyrecords niet via de GUI laten wijzigen of verwijderen
REQ-SCH-BEH-07-01-23SRS-POP-004
AC-POP-004
Voorkomen dat onopgeslagen wijzigingen stilzwijgend verloren gaan wanneer de beheerder een ander template selecteert, de filtercontext wijzigt of de pagina verlaat
REQ-SCH-BEH-07-01-24SRS-POP-004
AC-POP-004
Concurrency controleren bij opslaan en de beheerder informeren wanneer het template sinds het laden door een andere actie is gewijzigd
REQ-SCH-BEH-07-01-25SRS-POP-004
AC-POP-004
Een lege staat tonen wanneer geen templates beschikbaar zijn of wanneer zoekterm en filter geen resultaten opleveren
REQ-SCH-BEH-07-01-26SRS-POP-004
AC-POP-004
Foutmeldingen bij laden, valideren en opslaan begrijpelijk tonen zonder interne technische details, stacktraces of gevoelige configuratie prijs te geven
REQ-SCH-BEH-07-01-27SRS-POP-004
SRS-MSG-007
AC-POP-004
AC-MSG-007
Bestaande runtime-systeemberichten in de mailbox niet retroactief wijzigen wanneer een template op deze beheerpagina wordt aangepast
REQ-SCH-BEH-07-01-28SRS-POP-004
SRS-MSG-007
AC-POP-004
AC-MSG-007
Bij runtime-gebruik van systeemberichttemplates de actuele rechten van de ontvanger op het gekoppelde domeinobject controleren voordat een vervolgactie beschikbaar wordt gemaakt

8.7 Technische koppeling

Voor technische uitwerking van systeemberichtenbeheer zijn vooral relevant: