7. Site instellingen - Popups
7.1 Schermafbeelding

7.2 Scherm meta data
| Veld | Waarde |
|---|---|
| Scherm-ID | SCH-BEH-06-01 |
| Schermnaam | Site instellingen - Popups beheren |
| Doelgroep / onderdeel | Beheerder / Site instellingen |
| Bronbestand | oefenhub_beheerder_06_sys_02_popups_V1_2.html |
| Mockupversie | V1.2 |
| Screenshotbestand | oefenhub_beheerder_06_sys_02_popups_v1_2.png |
| Processtap / context | Beheerder opent vanuit de hub Site instellingen de beheerpagina voor bestaande systeem-popups. |
| Documentatiestatus | Uitgewerkt op basis van HTML-mockup, PNG-screenshot, Functioneel Ontwerp, Technisch Ontwerp, Software Requirements Specification en ondersteunende documentatie. |
| Opmerkingen | Header, beheerdernavigatie, berichteningang, profielmenu en footer vallen buiten de scope van dit schermdocument. De zichtbare mockupwaarden, zoals popupreferenties, domeinen, historie-items en aantallen, zijn voorbeelddata en worden dynamisch bepaald. |
| Route / URL-patroon | Functioneel routepatroon: /beheer/site-instellingen/popups of gelijkwaardige beheerroute binnen Site instellingen. |
| Autorisatie / vereiste rol-context | Alleen toegankelijk voor gebruikers met een actieve beheerdercontext. De server valideert deze context bij het openen, zoeken, selecteren en opslaan. |
| Primair domeinobject / hoofdentiteit | PopupDetails met gekoppelde historie via PopupDetailsHistory en PopupDetailsHistoryItems. |
| Gerelateerde schermen / navigatie | Site instellingen-hub, Systeemberichten, Features, Frontpagebeheer en functionele schermen die deze popupdefinities runtime gebruiken. |
| Data-karakter | Configuratie- en beheerdata. De pagina beheert bestaande codegedreven popupdefinities; aanmaken, verwijderen en technische actiekoppelingen blijven buiten de GUI. |
7.3 Functionele beschrijving
Deze pagina is de beheeromgeving voor systeem-popups binnen OefenHub. Een beheerder kan bestaande popupdefinities zoeken, filteren, selecteren en de beheerbare eigenschappen van de geselecteerde popup aanpassen. De pagina is bedoeld voor tekstuele en presentatiegerichte configuratie van popups die al door de applicatiecode worden ondersteund. De pagina is niet bedoeld om nieuwe popupcodes te introduceren, popuprecords te verwijderen, popupflows technisch te koppelen of vrij nieuw gedrag te configureren.
De hoofdopbouw bestaat uit een breadcrumb, een introkaart met het doel van de pagina en een read-only teller van popuprecords, links een popupoverzicht en rechts een detailpaneel voor het geselecteerde record. In het popupoverzicht kan de beheerder zoeken op referentienaam, titel of tekst en filteren op domein. Elke resultaatkaart toont minimaal de technische referentie, de zichtbare titel, het domein of functionele classificatie en een tekstfragment. Selectie van een kaart bepaalt welk record in het detailpaneel wordt geladen.
Het detailpaneel toont de stabiele referentienaam als read-only waarde. Deze referentienaam is het technische anker waarmee applicatiecode de juiste popupdefinitie ophaalt. De beheerder mag die sleutel niet aanpassen, omdat dat bestaande codeverwijzingen zou breken. De beheerder mag wel de beheerbare popupinhoud wijzigen: domein, type, titel, tekst, zichtbaarheid van het sluitkruis, zichtbaarheid van de linker- en rechterknop, knopteksten en kleurthema's. De technische acties achter de knoppen worden read-only getoond en blijven via code en migraties bepaald.
Een popupdefinitie kan nul, één of twee zichtbare actieknoppen hebben. Wanneer een knop is uitgeschakeld, zijn de bijbehorende tekst- en themavelden functioneel niet verplicht en mogen die server-side leeg of null blijven. Wanneer een knop zichtbaar is, moeten de knoptekst en het kleurthema geldig zijn. De actie achter een zichtbare knop mag niet via deze pagina gewijzigd worden. Als de applicatiecode geen actie voor een knop kent, moet de UI die actie niet als vrij invoerveld aanbieden.
De instelling Sluitknop (kruisje) bepaalt of de gebruiker de popup met een sluitkruis kan sluiten. Wanneer deze uit staat, moet de gebruiker via een expliciete knopactie verder. Dit is relevant voor popups die een noodzakelijke keuze of bevestiging afdwingen. De beheerpagina wijzigt hiermee alleen de zichtbaarheid van het sluitkruis; zij bepaalt niet zelfstandig wanneer of aan wie de popup runtime wordt getoond.
Het veld Type bepaalt de visuele popupsoort, zoals Info, Warning, Error of Critical. Het veld Domein ondersteunt herkenbaarheid en filtering binnen popupbeheer, bijvoorbeeld Authenticatie, Frontpage, Oefeningen, Relaties, Beheer of Berichten. Deze waarden zijn geen vrije tekstvelden, maar komen uit centraal beheerde code- of enumlijsten. Uitbreiding van zulke lijsten gebeurt via codewijziging en waar nodig database-migratie.
Wijzigingen worden pas verwerkt via de expliciete actie Wijzigingen opslaan. Bij opslaan valideert de server de beheerdercontext, het bestaan van het popuprecord, de toegestane enumwaarden, de maximale lengtes en de knopconsistentie. Daarna worden de gewijzigde waarden opgeslagen, UpdatedAtUtc en UpdatedByUserId bijgewerkt en wordt precies één historymoment aangemaakt voor de opslaansessie. Wanneer meerdere velden tegelijk wijzigen, worden de concrete veldwijzigingen als aparte regels onder hetzelfde historymoment vastgelegd.
De sectie Geschiedenis toont recente wijzigingen voor het geselecteerde popuprecord. De historie is read-only en bedoeld voor herleidbaarheid: wie wijzigde wat, wanneer en in welke richting. De beheerweergave mag wijzigingen samenvatten op popupniveau, terwijl onderliggend de concrete van-naar-waarden per veld bewaard blijven. Historie-items worden niet via deze pagina aangepast of verwijderd.
De pagina kent ook fout- en leegstaten. Wanneer er geen popuprecords aan zoekterm en filter voldoen, toont het overzicht een duidelijke lege lijstmelding en blijft het laatst geselecteerde record ongewijzigd of wordt het detailpaneel leeg gemaakt volgens de gekozen UI-state. Wanneer geen record geselecteerd is, blijft Wijzigingen opslaan uitgeschakeld. Bij validatiefouten worden de fouten bij het betreffende veld getoond en wordt niets opgeslagen. Bij gelijktijdige wijziging door een andere beheerder moet het systeem voorkomen dat wijzigingen stilzwijgend worden overschreven; de beheerder krijgt dan een melding dat het record opnieuw geladen of opnieuw beoordeeld moet worden.
Alle zichtbare waarden in de mockup zijn dynamisch. De mockup toont bijvoorbeeld AUTH_ROLE_REQUIRED_POPUP, de domeinwaarde Authenticatie, type Warning, knopteksten Rol kiezen en Later, en historie-items met namen en datums. Deze waarden beschrijven de werking en vorm van de pagina, maar zijn geen vaste productiegegevens.
7.4 UI-elementen en velddefinities
| Element-ID | Type | GUI-verwijzing | Omschrijving | Zichtbaar label | Opmerking | Technische naam |
|---|---|---|---|---|---|---|
| SCH-BEH-06-01-S01 | Section | Breadcrumb | Contextpad binnen Site instellingen. | Home > Site instellingen > Popups beheren | Header en beheerdernavigatie vallen buiten scope. | PopupManagementBreadcrumb |
| SCH-BEH-06-01-S02 | Section | Introkaart | Introductie van het popupbeheer met toelichting op zoeken, filteren en aanpassen. | Popups beheren | Oriënterende tekst; geen mutatieveld. | PopupManagementIntroSection |
| SCH-BEH-06-01-F01 | Field | Popup records | Read-only teller van popupdefinities die in popupbeheer worden meegenomen. | Popup records | Mockupwaarde 46 is dynamisch. | PopupRecordCountValue |
| SCH-BEH-06-01-S03 | Section | Popupoverzicht | Linkerpaneel met zoekveld, domeinfilter en popupkaarten. | Popupoverzicht | Toont bestaande popuprecords. | PopupOverviewSection |
| SCH-BEH-06-01-FILTER01 | Filter | Zoek popups | Zoekveld voor filteren op referentienaam, titel of tekst. | Zoek op referentienaam, titel of tekst... | Niet persistent; werkt binnen het overzicht. | PopupSearchFilter |
| SCH-BEH-06-01-FILTER02 | Filter | Filter op domein | Selectielijst om popuprecords op domein te filteren. | Alle domeinen | Waarden zijn centrale domein-/codewaarden, geen vrije invoer. | PopupDomainFilter |
| SCH-BEH-06-01-T01 | Table/Card list | Popuprecords lijst | Selecteerbare lijst met popuprecords. | Popupoverzicht | Elke kaart selecteert een record voor het detailpaneel. | PopupRecordList |
| SCH-BEH-06-01-A01 | Action | Popupkaart selecteren | Selecteert een popuprecord en laadt details rechts. | Niet als losse knop zichtbaar | Actie ligt op de kaart of lijstregel. | SelectPopupRecordAction |
| SCH-BEH-06-01-F02 | Field | Popupkaart > referentienaam | Technische sleutel van een popuprecord in de lijst. | AUTH_ROLE_REQUIRED_POPUP | Voorbeeldwaarde; productie komt uit het geselecteerde record. | PopupListKeyValue |
| SCH-BEH-06-01-F03 | Field | Popupkaart > titel | Zichtbare beheer-/popuptitel in de lijst. | Rolselectie vereist | Dynamisch tekstfragment uit het record. | PopupListTitleValue |
| SCH-BEH-06-01-F04 | Field | Popupkaart > domeintag | Domein of functionele classificatie van de popup. | Authenticatie | Gebruikt voor herkenning en filteren. | PopupListDomainTag |
| SCH-BEH-06-01-F05 | Field | Popupkaart > snippet | Verkorte tekstpreview van de popuptekst. | Tekstfragment | Previewwaarde; kan afgekapt worden. | PopupListSnippetValue |
| SCH-BEH-06-01-S04 | Section | Popupdetails | Rechterpaneel met detail- en bewerkvelden van het geselecteerde popuprecord. | Popupdetails | Alleen gevuld wanneer een popuprecord geselecteerd is. | PopupDetailsSection |
| SCH-BEH-06-01-F06 | Field | Referentienaam | Read-only technische sleutel van het popuprecord. | Referentienaam | Niet wijzigbaar via de GUI. | PopupKeyDisplay |
| SCH-BEH-06-01-DD01 | Dropdown | Domein | Bewerkbare functionele domeinclassificatie van de popup. | Domein | Keuze uit centrale domeinwaarden. | PopupDomainInput |
| SCH-BEH-06-01-DD02 | Dropdown | Type | Bewerkbare popupsoort voor visuele stijl en ernst. | Type | Keuze uit centrale PopupType-waarden. | PopupTypeInput |
| SCH-BEH-06-01-CHK01 | Checkbox / Switch | Sluitknop (kruisje) | Schakelt of het sluitkruis in de runtime-popup zichtbaar is. | Sluitknop (kruisje) | Uit betekent dat de gebruiker een expliciete knopactie moet kiezen. | ShowCloseButtonToggle |
| SCH-BEH-06-01-F07 | Field | Titel | Bewerkbare popuptitel. | Titel | Maximaal volgens centrale validatieregel. | PopupTitleInput |
| SCH-BEH-06-01-F08 | Field | Tekst | Bewerkbare hoofdtekst van de popup. | Tekst | Meerregelig tekstveld; variabelen alleen indien toegestaan. | PopupTextInput |
| SCH-BEH-06-01-S05 | Section | Linkerknop | Configuratieblok voor de linkerknop. | Linkerknop | Alleen presentatie en zichtbaarheid zijn beheerbaar; actie is read-only. | LeftButtonConfigSection |
| SCH-BEH-06-01-CHK02 | Checkbox / Switch | Linkerknop zichtbaar | Schakelt of de linkerknop runtime zichtbaar is. | Linkerknop | Bepaalt of tekst en kleurthema functioneel verplicht zijn. | ShowLeftButtonToggle |
| SCH-BEH-06-01-F09 | Field | Linkerknop > Tekst | Zichtbare tekst van de linkerknop. | Tekst | Alleen verplicht wanneer linkerknop zichtbaar is. | LeftButtonTextInput |
| SCH-BEH-06-01-DD03 | Dropdown | Linkerknop > Kleurthema | Kleur- of stijlthema van de linkerknop. | Kleurthema | Keuze uit centrale ButtonTheme-waarden. | LeftButtonThemeInput |
| SCH-BEH-06-01-F10 | Field | Linkerknop > Actie | Read-only technische actiereferentie van de linkerknop. | Actie | Niet via de GUI wijzigbaar. | LeftButtonActionDisplay |
| SCH-BEH-06-01-F11 | Field | Linkerknop > themapreview | Visuele preview van het gekozen kleurthema. | Primair blauw | Afgeleid uit gekozen thema. | LeftButtonThemePreview |
| SCH-BEH-06-01-S06 | Section | Rechterknop | Configuratieblok voor de rechterknop. | Rechterknop | Alleen presentatie en zichtbaarheid zijn beheerbaar; actie is read-only. | RightButtonConfigSection |
| SCH-BEH-06-01-CHK03 | Checkbox / Switch | Rechterknop zichtbaar | Schakelt of de rechterknop runtime zichtbaar is. | Rechterknop | Bepaalt of tekst en kleurthema functioneel verplicht zijn. | ShowRightButtonToggle |
| SCH-BEH-06-01-F12 | Field | Rechterknop > Tekst | Zichtbare tekst van de rechterknop. | Tekst | Alleen verplicht wanneer rechterknop zichtbaar is. | RightButtonTextInput |
| SCH-BEH-06-01-DD04 | Dropdown | Rechterknop > Kleurthema | Kleur- of stijlthema van de rechterknop. | Kleurthema | Keuze uit centrale ButtonTheme-waarden. | RightButtonThemeInput |
| SCH-BEH-06-01-F13 | Field | Rechterknop > Actie | Read-only technische actiereferentie van de rechterknop. | Actie | Niet via de GUI wijzigbaar. | RightButtonActionDisplay |
| SCH-BEH-06-01-F14 | Field | Rechterknop > themapreview | Visuele preview van het gekozen kleurthema. | Neutraal grijs | Afgeleid uit gekozen thema. | RightButtonThemePreview |
| SCH-BEH-06-01-B01 | Button | Opslaan | Slaat wijzigingen voor het geselecteerde popuprecord op. | Wijzigingen opslaan | Uitgeschakeld bij geen selectie, geen wijziging of validatiefouten. | SavePopupChangesButton |
| SCH-BEH-06-01-S07 | Section | Geschiedenis | Historieblok voor het geselecteerde popuprecord. | Geschiedenis | Read-only. | PopupHistorySection |
| SCH-BEH-06-01-T02 | Table/Card list | Geschiedenis > lijst | Lijst met recente wijzigingsmomenten voor het geselecteerde popuprecord. | Geschiedenis | Toont samenvatting, datum/tijd en actor. | PopupHistoryList |
| SCH-BEH-06-01-M01 | Message | Lege lijst | Melding wanneer zoekterm en filter geen popuprecords opleveren. | Geen popups gevonden | Alleen zichtbaar bij lege resultaatset. | NoPopupResultsMessage |
| SCH-BEH-06-01-M02 | Message | Validatiefout | Veldgebonden of algemene foutmelding bij ongeldige invoer of mislukte opslag. | Afhankelijk van fout | Geen opslag zolang servervalidatie faalt. | PopupValidationMessage |
7.5 Waardelagen
| Element-ID | GUI-verwijzing | Zichtbaar label | Technische naam | Databron | Waardebron | Datatype | Bewerkbaar | Validatie / regel |
|---|---|---|---|---|---|---|---|---|
| SCH-BEH-06-01-S01 | Breadcrumb | Home > Site instellingen > Popups beheren | PopupManagementBreadcrumb | Codegedreven routeconfiguratie | Actieve beheerroute | navigation | Nee | Huidige pagina is de laatste breadcrumblaag. |
| SCH-BEH-06-01-F01 | Popup records | Popup records | PopupRecordCountValue | PopupDetails | Telling van popuprecords die door popupbeheer getoond mogen worden | int | Nee | Read-only; mockupwaarde is voorbeelddata. |
| SCH-BEH-06-01-FILTER01 | Zoek popups | Zoek op referentienaam, titel of tekst... | PopupSearchFilter | Geen persistente opslag | Runtime filter op PopupDetails.Key, PopupDetails.Title en PopupDetails.Text | string | Ja | Lege zoekterm betekent geen zoekfilter; zoekactie mag geen popupdata wijzigen. |
| SCH-BEH-06-01-FILTER02 | Filter op domein | Alle domeinen | PopupDomainFilter | Centrale domeinwaarden / PopupDetails.Domain | Runtime filter op functionele domeinclassificatie | enum / filterwaarde | Ja | Alleen vooraf toegestane domeinwaarden; Alle domeinen betekent geen domeinfilter. |
| SCH-BEH-06-01-T01 | Popuprecords lijst | Popupoverzicht | PopupRecordList | PopupDetails | Selecteerbaar read model over bestaande popuprecords | list / collection | Nee | Lijst toont bestaande records; aanmaken en verwijderen zijn geen GUI-acties. |
| SCH-BEH-06-01-F02 | Popupkaart > referentienaam | AUTH_ROLE_REQUIRED_POPUP | PopupListKeyValue | PopupDetails.Key | Technische referentie van popuprecord | string | Nee | Stabiele sleutel; niet bewerkbaar via deze pagina. |
| SCH-BEH-06-01-F03 | Popupkaart > titel | Rolselectie vereist | PopupListTitleValue | PopupDetails.Title | Titel of beheeromschrijving voor lijstweergave | string | Nee | Wordt dynamisch uit geselecteerd record gelezen. |
| SCH-BEH-06-01-F04 | Popupkaart > domeintag | Authenticatie | PopupListDomainTag | PopupDetails.Domain / functionele domeincode | Domeinclassificatie van popuprecord | enum / string | Nee | Wordt gebruikt voor herkenning en filteren; geen vrije tekst op kaartniveau. |
| SCH-BEH-06-01-F05 | Popupkaart > snippet | Tekstfragment | PopupListSnippetValue | PopupDetails.Text | Afgekorte tekstpreview van de popup | string | Nee | Mag visueel worden afgekapt; volledige tekst staat in detailpaneel. |
| SCH-BEH-06-01-F06 | Referentienaam | Referentienaam | PopupKeyDisplay | PopupDetails.Key | Technisch stabiele popupreferentie | string | Nee | Uniek; wijziging via GUI is niet toegestaan. |
| SCH-BEH-06-01-DD01 | Domein | Domein | PopupDomainInput | PopupDetails.Domain / centrale domeincode | Gekozen domeinclassificatie | enum / codewaarde | Ja | Alleen vooraf gedefinieerde domeinwaarden. |
| SCH-BEH-06-01-DD02 | Type | Type | PopupTypeInput | PopupDetails.Type | Gekozen visueel/functioneel popuptype | enum / codewaarde | Ja | Alleen Info, Warning, Error of Critical, tenzij de centrale sleutelset gecontroleerd is uitgebreid. |
| SCH-BEH-06-01-CHK01 | Sluitknop (kruisje) | Sluitknop (kruisje) | ShowCloseButtonToggle | PopupDetails.ShowCloseButton | Boolean voor zichtbaarheid van het sluitkruis | bool | Ja | false betekent dat de gebruiker de popup niet via kruisje sluit en een expliciete knopactie moet kiezen. |
| SCH-BEH-06-01-F07 | Titel | Titel | PopupTitleInput | PopupDetails.Title | Beheerbare popuptitel | string | Ja | Maximaal 50 tekens; verplichte waarde. |
| SCH-BEH-06-01-F08 | Tekst | Tekst | PopupTextInput | PopupDetails.Text | Beheerbare popuptekst | string / text | Ja | Maximaal 1000 tekens; verplichte waarde; server-side veilig renderen/encoden. |
| SCH-BEH-06-01-CHK02 | Linkerknop zichtbaar | Linkerknop | ShowLeftButtonToggle | PopupDetails.ShowLeftButton | Boolean voor zichtbaarheid van linkerknop | bool | Ja | Bij false zijn linkerknoptekst en linkerknopthema niet functioneel verplicht. |
| SCH-BEH-06-01-F09 | Linkerknop > Tekst | Tekst | LeftButtonTextInput | PopupDetails.LeftButtonText | Beheerbare tekst van linkerknop | string | Ja | Maximaal 20 tekens; verplicht wanneer linkerknop zichtbaar is. |
| SCH-BEH-06-01-DD03 | Linkerknop > Kleurthema | Kleurthema | LeftButtonThemeInput | PopupDetails.LeftButtonColor | Gekozen knopthema | enum / codewaarde | Ja | Alleen waarden uit centrale ButtonTheme-set, zoals Primary, Secondary, Success, Warning, Danger of Neutral. |
| SCH-BEH-06-01-F10 | Linkerknop > Actie | Actie | LeftButtonActionDisplay | Codegedreven popupconfiguratie | Technische actiereferentie die door applicatiecode is gekoppeld | string | Nee | Read-only; wijzigingen verlopen via code en migratie, niet via GUI. |
| SCH-BEH-06-01-F11 | Linkerknop > themapreview | Primair blauw | LeftButtonThemePreview | Afgeleid uit PopupDetails.LeftButtonColor | Runtime UI-afleiding | string / visual state | Nee | Toont gekozen thema; geen aparte brondata. |
| SCH-BEH-06-01-CHK03 | Rechterknop zichtbaar | Rechterknop | ShowRightButtonToggle | PopupDetails.ShowRightButton | Boolean voor zichtbaarheid van rechterknop | bool | Ja | Bij false zijn rechterknoptekst en rechterknopthema niet functioneel verplicht. |
| SCH-BEH-06-01-F12 | Rechterknop > Tekst | Tekst | RightButtonTextInput | PopupDetails.RightButtonText | Beheerbare tekst van rechterknop | string | Ja | Maximaal 20 tekens; verplicht wanneer rechterknop zichtbaar is. |
| SCH-BEH-06-01-DD04 | Rechterknop > Kleurthema | Kleurthema | RightButtonThemeInput | PopupDetails.RightButtonColor | Gekozen knopthema | enum / codewaarde | Ja | Alleen waarden uit centrale ButtonTheme-set. |
| SCH-BEH-06-01-F13 | Rechterknop > Actie | Actie | RightButtonActionDisplay | Codegedreven popupconfiguratie | Technische actiereferentie die door applicatiecode is gekoppeld | string | Nee | Read-only; wijzigingen verlopen via code en migratie, niet via GUI. |
| SCH-BEH-06-01-F14 | Rechterknop > themapreview | Neutraal grijs | RightButtonThemePreview | Afgeleid uit PopupDetails.RightButtonColor | Runtime UI-afleiding | string / visual state | Nee | Toont gekozen thema; geen aparte brondata. |
| SCH-BEH-06-01-B01 | Wijzigingen opslaan | Wijzigingen opslaan | SavePopupChangesButton | PopupDetails, PopupDetailsHistory, PopupDetailsHistoryItems, Users | Applicatieactie die gewijzigde waarden en audit vastlegt | action | Ja | Alleen actief bij geldig geselecteerd record en gewijzigde geldige invoer. Eén opslaansessie levert één historymoment op. |
| SCH-BEH-06-01-T02 | Geschiedenis > lijst | Geschiedenis | PopupHistoryList | PopupDetailsHistory + PopupDetailsHistoryItems + Users | Chronologische historie voor geselecteerd popuprecord | list / collection | Nee | Read-only; toont minimaal tijdstip, actor en wijzigingssamenvatting. |
| SCH-BEH-06-01-M01 | Lege lijst | Geen popups gevonden | NoPopupResultsMessage | Geen databasebron | Runtime state van zoek- en filterresultaat | message | Nee | Verschijnt wanneer geen popuprecords aan de actieve filters voldoen. |
| SCH-BEH-06-01-M02 | Validatiefout | Afhankelijk van fout | PopupValidationMessage | Server-side validatie | Runtime terugkoppeling bij ongeldige invoer of mislukte opslag | message | Nee | Opslaan wordt niet uitgevoerd zolang validatie faalt. |
7.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.
| Schermrequirement | Dekt | Schermcontext |
|---|---|---|
REQ-SCH-BEH-06-01-01 | SRS-AUTH-001 SRS-POP-001 AC-AUTH-001 AC-POP-001 | Popupbeheer alleen toegankelijk maken voor gebruikers met een actieve beheerdercontext en deze autorisatie server-side afdwingen bij openen, zoeken, selecteren en opslaan |
REQ-SCH-BEH-06-01-02 | SRS-POP-001 AC-POP-001 | Een beheerpagina tonen voor bestaande systeem-popups met een popupoverzicht links en een detail-/bewerkpaneel rechts voor het geselecteerde popuprecord |
REQ-SCH-BEH-06-01-03 | SRS-POP-001 AC-POP-001 | In het popupoverzicht zoeken ondersteunen op minimaal referentienaam, titel en tekst |
REQ-SCH-BEH-06-01-04 | SRS-POP-001 AC-POP-001 | In het popupoverzicht filteren op popupdomein ondersteunen, inclusief een optie om alle domeinen te tonen |
REQ-SCH-BEH-06-01-05 | SRS-POP-001 AC-POP-001 | Per popupkaart minimaal de referentienaam, titel, domeinclassificatie en een tekstfragment tonen |
REQ-SCH-BEH-06-01-06 | SRS-POP-001 AC-POP-001 | Na selectie van een popuprecord het detailpaneel vullen met de actuele waarden van dat record |
REQ-SCH-BEH-06-01-07 | SRS-POP-001 AC-POP-001 | De referentienaam van een popup als stabiele technische sleutel read-only worden getoond en geen via de GUI wijzigbaar zijn |
REQ-SCH-BEH-06-01-08 | SRS-POP-001 AC-POP-001 | Voor een popuprecord minimaal domein, type, titel, tekst, zichtbaarheid van sluitkruis, zichtbaarheid van linker- en rechterknop, knoptekst en kleurthema per zichtbare knop beheerbaar maken |
REQ-SCH-BEH-06-01-09 | SRS-POP-001 AC-POP-001 | Technische knopacties read-only tonen en geen toestaan dat een beheerder deze actiekoppelingen via de GUI wijzigt |
REQ-SCH-BEH-06-01-10 | SRS-POP-001 AC-POP-001 | Het systeem mag via deze pagina geen nieuwe popuprecords aanmaken, bestaande popuprecords verwijderen of technische popupreferenties wijzigen |
REQ-SCH-BEH-06-01-11 | SRS-POP-001 AC-POP-001 | Het systeem mag via deze pagina geen generieke actief/inactief-schakelaar voor popupdefinities aanbieden; runtime-gebruik van popups blijft door codegedreven aanroepen bepaald |
REQ-SCH-BEH-06-01-12 | SRS-AUTH-001 SRS-POP-001 AC-AUTH-001 AC-POP-001 | Popupvelden server-side valideren op verplichte waarden, toegestane enumwaarden en maximale lengtes: titel maximaal 50 tekens, popuptekst maximaal 1000 tekens en knoptekst maximaal 20 tekens |
REQ-SCH-BEH-06-01-13 | SRS-POP-001 AC-POP-001 | Wanneer een linker- of rechterknop zichtbaar is, het systeem een geldige knoptekst en een geldig kleurthema vereisen |
REQ-SCH-BEH-06-01-14 | SRS-POP-001 AC-POP-001 | Wanneer een linker- of rechterknop niet zichtbaar is, het systeem lege of null-waarden voor de bijbehorende knoptekst en het bijbehorende kleurthema toestaan |
REQ-SCH-BEH-06-01-15 | SRS-AUTH-001 SRS-POP-001 AC-AUTH-001 AC-POP-001 | Popupteksten en knopteksten veilig renderen en eventuele placeholders alleen toestaan wanneer zij door de betreffende popupdefinitie en server-side rendering expliciet ondersteund worden |
REQ-SCH-BEH-06-01-16 | SRS-POP-001 AC-POP-001 | Wijzigingen pas opslaan na de expliciete actie Wijzigingen opslaan |
REQ-SCH-BEH-06-01-17 | SRS-POP-001 AC-POP-001 | Bij iedere succesvolle opslaansessie UpdatedAtUtc en UpdatedByUserId bijwerken |
REQ-SCH-BEH-06-01-18 | SRS-NFR-AUD-001 SRS-POP-001 AC-NFR-AUD-001 AC-POP-001 | Bij iedere succesvolle opslaansessie precies één PopupDetailsHistory-record registreren en per gewijzigd veld een gekoppeld PopupDetailsHistoryItems-record vastleggen |
REQ-SCH-BEH-06-01-19 | SRS-NFR-AUD-001 SRS-POP-001 AC-NFR-AUD-001 AC-POP-001 | Popuphistorie read-only tonen met minimaal wijzigingssamenvatting, tijdstip en uitvoerende gebruiker |
REQ-SCH-BEH-06-01-20 | SRS-POP-001 AC-POP-001 | Bij een lege zoek- of filterresultaatset een duidelijke lege-lijstmelding tonen zonder automatisch bestaande popuprecords te wijzigen |
REQ-SCH-BEH-06-01-21 | SRS-POP-001 AC-POP-001 | Opslaan blokkeren wanneer geen popuprecord is geselecteerd, wanneer er geen wijzigingen zijn of wanneer validatie faalt |
REQ-SCH-BEH-06-01-22 | SRS-POP-001 AC-POP-001 | Voorkomen dat gelijktijdige wijzigingen door meerdere beheerders stilzwijgend worden overschreven |
REQ-SCH-BEH-06-01-23 | SRS-RDM-004 SRS-RDM-002 SRS-RDM-001 SRS-NFR-AUD-001 SRS-POP-001 AC-RDM-004 AC-RDM-002 AC-RDM-001 AC-NFR-AUD-001 AC-POP-001 | Alle zichtbare aantallen, popuprecords, domeinwaarden, historie-items en tekstwaarden dynamisch uit de actuele databronnen afleiden en mag mockupwaarden niet hardcoded gebruiken |
7.7 Technische koppeling
Voor technische uitwerking van popupbeheer zijn vooral relevant:
- 05 Autorisatie, policies en server-side contextcontrole voor beheerderautorisatie op popupmutaties.
- 13 Berichten, systeemberichten, notificaties en privéberichten voor inhoudelijke samenhang tussen popups, meldingen aan gebruikers en systeemcommunicatie.
- 17 Readmodels, tellers, badges, caching en materialisatie voor actieve/geplande popupoverzichten en statusbadges.
- 19 Logging, audit, securitylogging en technische foutafhandeling voor auditbare popupwijzigingen en foutafhandeling.
- 21 Beheerbeleid, monitoring, backup, restore en operatie voor publicatiebeheer en herstelbaarheid van beheerbare content.
- 24 Frontend, Blazor, routing, state en componentopbouw voor preview, formulieren, validatie en runtimeweergave.