UC-GEN-NOT-002 — Systeemnotificatie sluiten
1. Kerngegevens
| Veld | Waarde |
|---|---|
| Usecase-ID | UC-GEN-NOT-002 |
| Naam | Systeemnotificatie sluiten |
| Domein | Systeemnotificaties |
| Primaire actor | Bezoeker of ingelogde gebruiker |
| Secundaire actor(en) | Systeem, frontendschil, systeemnotificatieservice, cookie-/browsercomponent, doelgroep-/rolcontextservice |
| Rolcontext | Publiek, ingelogd zonder rol, Leerling, Ouder/voogd, Docent of Beheerder, afhankelijk van de doelgroep van de getoonde systeemnotificatie |
| Betrokken schermen | Frontpage / applicatieschil; notificatiecomponent boven de reeds geladen frontpage |
| Gerelateerde usecases | UC-GEN-NOT-001 — Systeemnotificatie tonen; UC-GEN-NOT-003 — Eenmalige systeemnotificatie verwerken; UC-GEN-PROF-005 — Toegankelijkheidsinstellingen beheren; UC-GEN-PROF-006 — Toegankelijkheid vóór en na login synchroniseren |
| Primaire entiteiten | SystemNotifications, browserwaarde/cookie voor OncePerBrowser, tijdelijke uitgesloten-notificatieset binnen de actuele frontpagecontext |
| Secundaire entiteiten / events | doelgroepcontext, rolcontext, frontpagecontext, SystemNotificationClosed, SystemNotificationDismissedForCurrentSequence, SystemNotificationOncePerBrowserMarked, SystemNotificationNextCheckStarted, SystemNotificationDisplayed |
| Gerelateerde popups | Geen popupregisterverwijzing; systeemnotificaties zijn beheerbare systeemnotificatiecontent en geen PopupDetails-popup |
| Popupregister | Ontwerpbronnen — Popup-register |
| MoSCoW | Must have |
2. Omschrijving
De bezoeker of ingelogde gebruiker sluit een systeemnotificatie die boven een reeds geladen frontpage of applicatiecontext wordt getoond. Het sluiten verwijdert de actuele notificatie uit beeld en zorgt ervoor dat dezelfde notificatie niet direct opnieuw in dezelfde notificatiereeks verschijnt.
Wanneer de gesloten notificatie de weergaveregel OncePerBrowser heeft, registreert de frontend in een cookie of vergelijkbare browserwaarde dat deze notificatie in deze browser is afgehandeld. Daardoor wordt dezelfde notificatie in deze browser niet opnieuw getoond zolang dezelfde notificatie-id actief blijft.
Wanneer de gesloten notificatie de weergaveregel Always heeft, wordt geen permanente browserregistratie geschreven. De notificatie wordt wel tijdelijk uitgesloten binnen de lopende notificatiereeks, zodat het direct opnieuw controleren op volgende actieve notificaties niet dezelfde notificatie opnieuw toont.
Na het sluiten controleert het systeem onmiddellijk of er nog een volgende actieve en doelgroeprelevante systeemnotificatie beschikbaar is. Als dat zo is, wordt die volgende notificatie boven dezelfde reeds geladen frontpage getoond. Als er geen volgende notificatie is, blijft de frontpage zonder systeemnotificatie zichtbaar.
Systeemnotificaties zijn geen mailbox-systeemberichten en geen popupregister-popups. Het sluiten van een systeemnotificatie wijzigt daarom geen SystemMessages, privéberichtthreads, popupdefinities, frontpagecontent of gebruikersprofiel.
3. Scope
Deze usecase beschrijft:
- het sluiten van een zichtbaar getoonde systeemnotificatie;
- het verwijderen van de actuele notificatie uit de gebruikersinterface;
- het tijdelijk uitsluiten van de gesloten notificatie binnen de lopende notificatiereeks;
- het registreren van een afgehandelde notificatie in de browserwaarde wanneer
DisplayRule = OncePerBrowser; - het bewust niet persistent registreren van een gesloten
Always-notificatie; - het direct opnieuw controleren of er een volgende actieve systeemnotificatie moet worden getoond;
- het selecteren en tonen van de volgende relevante notificatie volgens dezelfde volgorderegel als UC-GEN-NOT-001;
- veilige afhandeling wanneer browseropslag niet beschikbaar is;
- veilige afhandeling wanneer de notificatie ondertussen is verlopen, uitgeschakeld of niet meer doelgroeprelevant is;
- requirement-afleiding voor sluiten en vervolgcontrole.
Deze usecase beschrijft niet:
- het initieel bepalen en tonen van de eerste systeemnotificatie;
- het beheren, aanmaken, wijzigen, plannen of uitschakelen van systeemnotificaties;
- beheerstatussen zoals Actief, Gepland, Bijna verlopen of Verlopen binnen de beheerinterface;
- systeemberichten in de mailbox;
- popups uit het popupregister;
- frontpagecontentbeheer;
- het wijzigen van toegankelijkheidsinstellingen;
- server-side gebruikersgebonden logging dat een notificatie is gezien;
- het verwijderen of aanpassen van de systeemnotificatieconfiguratie zelf.
4. Pre-condities
| ID | Voorwaarde |
|---|---|
| PRE-001 | Er is een systeemnotificatie zichtbaar boven een reeds geladen frontpage of applicatiecontext. |
| PRE-002 | De systeemnotificatie heeft een stabiele notificatie-id. |
| PRE-003 | De frontend kent de DisplayRule van de getoonde notificatie. |
| PRE-004 | De frontend kan de notificatiecomponent sluiten zonder de volledige frontpage te herladen. |
| PRE-005 | Voor OncePerBrowser kan de frontend proberen een cookie of vergelijkbare browserwaarde te schrijven. |
| PRE-006 | De systeemnotificatieservice kan na sluiten opnieuw bepalen of er nog relevante notificaties beschikbaar zijn. |
| PRE-007 | Start- en eindmomenten van systeemnotificaties zijn backend/database-technisch in UTC opgeslagen. |
| PRE-008 | De actuele doelgroep- en rolcontext kan opnieuw worden bepaald of veilig worden hergebruikt voor de vervolgcontrole. |
5. Post-condities
| ID | Resultaat |
|---|---|
| POST-001 | De gesloten systeemnotificatie is uit de gebruikersinterface verwijderd. |
| POST-002 | De gesloten systeemnotificatie wordt niet direct opnieuw getoond binnen dezelfde lopende notificatiereeks. |
| POST-003 | Wanneer de notificatie DisplayRule = OncePerBrowser heeft en browseropslag beschikbaar is, is een veilige browsermarker voor deze notificatie geschreven. |
| POST-004 | Wanneer de notificatie DisplayRule = Always heeft, is geen permanente browsermarker geschreven voor deze sluitactie. |
| POST-005 | Na sluiten is gecontroleerd of er nog een volgende actieve en doelgroeprelevante systeemnotificatie beschikbaar is. |
| POST-006 | Wanneer een volgende relevante notificatie beschikbaar is, is deze boven de reeds geladen frontpage getoond. |
| POST-007 | Wanneer geen volgende relevante notificatie beschikbaar is, blijft de frontpage zonder systeemnotificatie zichtbaar. |
| POST-008 | Het sluiten heeft geen SystemNotifications-configuratie gewijzigd. |
| POST-009 | Het sluiten heeft geen mailbox-systeembericht, privéberichtthread, popupdefinitie, contentblok, gebruikersprofiel of gebruikersinstelling gewijzigd. |
| POST-010 | Technische fouten bij browseropslag of vervolgcontrole blokkeren de frontpage niet en tonen geen kale technische foutdetails aan de gebruiker. |
6. Trigger
De usecase start wanneer een bezoeker of ingelogde gebruiker een zichtbare systeemnotificatie sluit via het sluitkruis, de sluitactie of een gelijkwaardige bediening in de notificatiecomponent.
7. Normale processtroom
| Stap | Actor | Scherm / component | Actie | Systeemrespons | Data / regel |
|---|---|---|---|---|---|
| 1 | Bezoeker / gebruiker | Frontpage / notificatiecomponent | Sluit de zichtbare systeemnotificatie. | De frontend ontvangt de sluitactie voor de actuele notificatie. | Sluiten is een UI-handeling op de getoonde notificatie. |
| 2 | Systeem | Frontpage / notificatiecomponent | Verwijdert de notificatie uit beeld. | De reeds geladen frontpage blijft zichtbaar. | De frontpage wordt niet opnieuw geladen door alleen sluiten. |
| 3 | Systeem | Frontendstate | Markeert de notificatie tijdelijk als afgehandeld binnen de lopende notificatiereeks. | Dezelfde notificatie wordt niet direct opnieuw geselecteerd tijdens de vervolgcontrole. | Dit voorkomt een directe herhaal-loop, vooral bij DisplayRule = Always. |
| 4 | Systeem | Cookie-/browsercomponent | Controleert de DisplayRule van de gesloten notificatie. | Bij OncePerBrowser wordt geprobeerd een veilige browsermarker te schrijven. | Browsermarker bevat maximaal de notificatie-id of veilige compacte marker. |
| 5 | Systeem | Cookie-/browsercomponent | Schrijft bij OncePerBrowser de browsermarker. | De notificatie wordt in deze browser voortaan als afgehandeld behandeld. | Er ontstaat geen server-side gebruikersgebonden gezienlog. |
| 6 | Systeem | Systeemnotificatieservice | Start direct een vervolgcontrole op actieve systeemnotificaties. | De service beoordeelt opnieuw tijdvenster, doelgroep, DisplayRule en tijdelijke uitsluitingen. | Vervolgcontrole gebruikt dezelfde basisregels als UC-GEN-NOT-001. |
| 7 | Systeem | Doelgroep-/rolcontextservice | Bepaalt of hergebruikt de actuele doelgroepcontext. | Alleen notificaties voor de actuele doelgroep blijven kandidaat. | Rolgebonden notificaties worden niet getoond zonder betrouwbare rolcontext. |
| 8 | Systeem | Systeemnotificatieservice | Filtert kandidaten op start-/eindmoment, doelgroep, browsermarker en tijdelijke uitsluiting. | De gesloten notificatie en niet-relevante notificaties worden overgeslagen. | UTC-tijdvenster, doelgroep en OncePerBrowser blijven leidend. |
| 9 | Systeem | Systeemnotificatieservice | Sorteert resterende relevante notificaties. | De oudste aangemaakte relevante notificatie wordt als volgende geselecteerd. | Bij overlap wordt de oudste aangemaakte notificatie eerst getoond. |
| 10 | Systeem | Frontpage / notificatiecomponent | Toont de volgende relevante systeemnotificatie, indien aanwezig. | De gebruiker ziet de volgende notificatie boven dezelfde frontpage. | Als geen kandidaat resteert, blijft de frontpage zonder notificatie zichtbaar. |
| 11 | Bezoeker / gebruiker | Frontpage / notificatiecomponent | Leest of sluit eventueel de volgende notificatie. | Bij opnieuw sluiten wordt dezelfde usecase opnieuw doorlopen. | Notificaties worden één voor één verwerkt. |
8. Alternatieve en exceptionele processtromen
| ID | Vanaf stap | Situatie | Systeemgedrag | Popup / melding | Datamutatie |
|---|---|---|---|---|---|
| ALT-001 | 1 | De notificatie is al verdwenen door navigatie, refresh of frontendstate-wijziging. | De sluitactie wordt genegeerd of veilig afgehandeld zonder foutmelding. | Geen. | Geen. |
| ALT-002 | 3 | De tijdelijke uitsluitingsstate kan niet worden bijgewerkt. | De frontend sluit de notificatie alsnog; vervolgcontrole moet voorkomen dat dezelfde notificatie direct opnieuw verschijnt via expliciete uitsluiting van de actuele notificatie-id in de vervolgaanroep. | Geen. | Geen persistente mutatie. |
| ALT-003 | 4 | De gesloten notificatie heeft DisplayRule = Always. | Het systeem schrijft geen permanente browsermarker en sluit alleen voor de actuele notificatiereeks. | Geen. | Geen permanente browsermutatie. |
| ALT-004 | 5 | Browseropslag is niet beschikbaar of wordt geweigerd. | De notificatie wordt visueel gesloten; het systeem blokkeert de frontpage niet. Bij een volgend bezoek kan dezelfde OncePerBrowser-notificatie opnieuw zichtbaar worden. | Geen technische foutmelding aan gebruiker. | Geen browsermarker. |
| ALT-005 | 5 | De browsermarker kan wel worden geschreven maar later niet betrouwbaar worden gelezen. | De volgende tooncontrole behandelt dit als ontbrekende marker en blijft veilig functioneren. | Geen. | Browsermarker is onbetrouwbaar of niet bruikbaar. |
| ALT-006 | 6 | De systeemnotificatieservice is tijdelijk niet beschikbaar tijdens de vervolgcontrole. | De huidige notificatie blijft gesloten en de frontpage blijft zonder volgende notificatie bruikbaar. | Geen technische foutmelding aan gebruiker. | Geen. |
| ALT-007 | 6 | De gesloten notificatie is ondertussen verlopen of door beheer uitgeschakeld. | Dit heeft geen nadelig effect op sluiten; de vervolgcontrole beoordeelt alleen nog actueel relevante notificaties. | Geen. | Geen wijziging aan notificatieconfiguratie. |
| ALT-008 | 7 | De rolcontext is na sluiten niet betrouwbaar vast te stellen. | Het systeem toont geen rolgebonden volgende notificatie en valt niet terug naar ruimere doelgroep zonder expliciete regel. | Geen. | Geen. |
| ALT-009 | 8 | Er zijn geen volgende relevante notificaties. | De notificatiecomponent blijft gesloten en de frontpage blijft zichtbaar zonder notificatie. | Geen. | Geen. |
| ALT-010 | 8 | De enige volgende kandidaat is dezelfde notificatie die net gesloten is. | De kandidaat wordt overgeslagen binnen de lopende notificatiereeks. | Geen. | Geen. |
| ALT-011 | 8 | Een volgende OncePerBrowser-notificatie is al eerder in deze browser afgehandeld. | De kandidaat wordt overgeslagen; het systeem zoekt eventueel verder naar een volgende kandidaat. | Geen. | Geen. |
| ALT-012 | 10 | De volgende notificatie bevat ongeldige of incompleet renderbare content. | De notificatie wordt niet getoond; het systeem logt de situatie veilig voor beheer/diagnose en zoekt eventueel verder of stopt de reeks. | Geen technische foutmelding aan gebruiker. | Geen. |
| ALT-013 | 10 | De gebruiker navigeert weg voordat de volgende notificatie wordt getoond. | De vervolgweergave wordt afgebroken; op de nieuwe pagina kan de reguliere toonflow opnieuw starten. | Geen. | Eventueel reeds geschreven OncePerBrowser-marker blijft bestaan. |
| ALT-014 | 1 | Sessie verloopt tussen tonen en sluiten. | De sluitactie op de reeds getoonde notificatie mag lokaal worden afgehandeld; verdere ingelogde doelgroepcontrole verloopt via de generieke loginflow. | Generieke loginflow indien nodig. | Geen server-side notificatiemutatie. |
9. Business rules
| ID | Regel |
|---|---|
| BR-UC-GEN-NOT-002-001 | Een systeemnotificatie moet door de gebruiker gesloten kunnen worden wanneer deze zichtbaar boven de frontpage wordt getoond. |
| BR-UC-GEN-NOT-002-002 | Sluiten van een systeemnotificatie mag de reeds geladen frontpage niet blokkeren of onbruikbaar maken. |
| BR-UC-GEN-NOT-002-003 | Na sluiten wordt direct gecontroleerd of er nog een volgende actieve en doelgroeprelevante systeemnotificatie getoond moet worden. |
| BR-UC-GEN-NOT-002-004 | Systeemnotificaties worden één voor één getoond; een volgende notificatie verschijnt pas nadat de actuele notificatie is gesloten. |
| BR-UC-GEN-NOT-002-005 | De notificatie die zojuist is gesloten mag niet direct opnieuw verschijnen binnen dezelfde lopende notificatiereeks. |
| BR-UC-GEN-NOT-002-006 | Voor DisplayRule = Always wordt geen permanente browsermarker geschreven bij sluiten. |
| BR-UC-GEN-NOT-002-007 | Voor DisplayRule = OncePerBrowser wordt bij sluiten een veilige browsermarker geschreven wanneer browseropslag beschikbaar is. |
| BR-UC-GEN-NOT-002-008 | De browsermarker voor OncePerBrowser mag geen persoonsgegevens, rollen, tokens, secrets of autorisatiedata bevatten. |
| BR-UC-GEN-NOT-002-009 | Voor OncePerBrowser wordt geen server-side gebruikersgebonden gezienregistratie bijgehouden. |
| BR-UC-GEN-NOT-002-010 | Wanneer browseropslag niet beschikbaar is, blijft sluiten functioneel mogelijk; alleen de eenmalige browsergarantie kan dan niet worden afgedwongen. |
| BR-UC-GEN-NOT-002-011 | De vervolgcontrole na sluiten gebruikt dezelfde tijdvenster-, doelgroep-, volgorde- en weergaveregels als de initiële tooncontrole. |
| BR-UC-GEN-NOT-002-012 | Bij meerdere volgende relevante notificaties wordt de oudste aangemaakte relevante notificatie eerst getoond. |
| BR-UC-GEN-NOT-002-013 | Het sluiten van een systeemnotificatie wijzigt de systeemnotificatieconfiguratie niet. |
| BR-UC-GEN-NOT-002-014 | Het sluiten van een systeemnotificatie maakt of wijzigt geen mailbox-systeembericht. |
| BR-UC-GEN-NOT-002-015 | Het sluiten van een systeemnotificatie maakt of wijzigt geen popupregister-popup. |
| BR-UC-GEN-NOT-002-016 | Systeemnotificaties blijven functioneel gescheiden van frontpagecontent, profielinstellingen en gebruikersvoorkeuren. |
| BR-UC-GEN-NOT-002-017 | Een rolgebonden volgende notificatie mag niet worden getoond wanneer de actuele rolcontext niet betrouwbaar kan worden vastgesteld. |
| BR-UC-GEN-NOT-002-018 | Technische fouten bij sluiten, browseropslag of vervolgcontrole mogen niet leiden tot kale technische foutdetails voor de gebruiker. |
| BR-UC-GEN-NOT-002-019 | Een bestaande OncePerBrowser-browsermarker wordt niet automatisch ongeldig doordat de inhoud van dezelfde notificatie later is gewijzigd. |
| BR-UC-GEN-NOT-002-020 | Wanneer beheer gewijzigde informatie opnieuw zichtbaar wil maken ondanks een bestaande OncePerBrowser-marker, moet een nieuwe notificatie worden gepubliceerd. |
10. Datavalidatie
| Veld / object | Validatie |
|---|---|
| Gesloten notificatie-id | Moet verwijzen naar de notificatie die op dat moment zichtbaar was of veilig als niet meer zichtbaar worden behandeld. |
SystemNotifications.Id | Moet stabiel genoeg zijn om tijdelijk uit te sluiten en eventueel als OncePerBrowser-marker te gebruiken. |
SystemNotifications.DisplayRule | Moet binnen de bekende set vallen, minimaal Always of OncePerBrowser. |
| Browsermarker | Mag alleen een notificatie-id of veilige compacte marker bevatten en mag geen persoonsgegevens of autorisatiegegevens bevatten. |
| Tijdelijke uitgesloten-notificatieset | Mag alleen gelden binnen de actuele frontpagecontext of notificatiereeks en is geen persistente bron van waarheid. |
| Vervolgkandidaten | Moeten opnieuw voldoen aan tijdvenster, doelgroep, weergaveregel en uitsluitingsregels. |
| Doelgroepcontext | Moet betrouwbaar worden vastgesteld voordat een rolgebonden volgende notificatie wordt getoond. |
| Notificatiecontent | Moet veilig renderbaar zijn voordat een volgende notificatie wordt getoond. |
| Browseropslag | Moet veilig falen; weigering of fout mag de frontpage niet blokkeren. |
11. Datamutaties en events
| Stap | Type | Entiteit / event | Mutatie |
|---|---|---|---|
| 1 | Command | CloseSystemNotification | De gebruiker sluit de actuele systeemnotificatie. |
| 2 | UI-mutatie | Notificatiecomponent | De actuele notificatie wordt uit beeld verwijderd. |
| 3 | Runtime-mutatie | Tijdelijke uitgesloten-notificatieset | De gesloten notificatie-id wordt uitgesloten voor de lopende notificatiereeks. |
| 3 | Event | SystemNotificationDismissedForCurrentSequence | Het systeem legt runtime vast dat deze notificatie in de huidige reeks is afgehandeld. |
| 5 | Browsermutatie | Browserwaarde/cookie voor OncePerBrowser | Bij DisplayRule = OncePerBrowser wordt de notificatie-id als afgehandeld gemarkeerd, voor zover browseropslag beschikbaar is. |
| 5 | Event | SystemNotificationOncePerBrowserMarked | De browsermarker is succesvol geschreven of als niet-schrijfbaar afgehandeld. |
| 6 | Event | SystemNotificationClosed | De actuele notificatie is functioneel gesloten. |
| 6 | Event | SystemNotificationNextCheckStarted | Het systeem start direct de controle op een volgende notificatie. |
| 6 | Read | SystemNotifications | Mogelijke volgende actieve notificaties worden opnieuw gelezen of beoordeeld. |
| 7 | Read | doelgroep-/rolcontext | De actuele doelgroepcontext wordt bepaald of veilig hergebruikt. |
| 8 | Read/filter | SystemNotifications | Niet-relevante, uitgesloten of reeds afgehandelde notificaties worden uitgesloten. |
| 10 | Event | SystemNotificationDisplayed | Een volgende relevante notificatie wordt getoond, indien aanwezig. |
| ALT-004 / ALT-006 / ALT-012 | Event / logging | Veilige foutafhandeling | Browseropslag, vervolgcontrole of rendering faalt veilig zonder gebruikersblokkerende fout. |
12. Geen datamutaties
| Entiteit | Reden |
|---|---|
SystemNotifications | Sluiten wijzigt de notificatieconfiguratie, planning of doelgroep niet. |
SystemMessages | Systeemnotificaties zijn geen mailbox-systeemberichten. |
PrivateMessages / PrivateMessageThreads | Sluiten van systeemnotificaties hoort niet bij privéberichten. |
Users | Sluiten wijzigt geen gebruiker. |
UserSettings | Sluiten wijzigt geen profiel-, voorkeuren- of toegankelijkheidsinstellingen. |
ContentBlocks | Sluiten wijzigt geen frontpagecontent. |
PopupDetails | Systeemnotificaties gebruiken geen popupregister als inhoudelijke bron. |
| Server-side seen-log | Voor OncePerBrowser wordt bewust geen server-side gebruikersgebonden gezienregistratie bijgehouden. |
| Rollen / autorisaties | Sluiten wijzigt geen rol, relatie of toegangsrecht. |
13. State diagram
Niet opgenomen als persistente state diagram, omdat het sluiten van een systeemnotificatie geen persistente status van SystemNotifications wijzigt. De beheerstatus van een systeemnotificatie blijft afgeleid uit startmoment, eindmoment en beheerconfiguratie. De runtime-toestand van de notificatiecomponent wordt in de decision flow en sequence diagrammen beschreven.
14. Decision flow
15. Data lifecycle diagram
16. Sequence diagrammen
16.1 Systeemnotificatie sluiten en geen volgende notificatie tonen
16.2 Systeemnotificatie sluiten en volgende notificatie tonen
16.3 Browseropslag of vervolgcontrole faalt veilig
17. Popupverwijzingen
| PopupKey | Gebruik |
|---|---|
| Niet van toepassing | Systeemnotificaties worden als beheerbare notificatiecontent boven de frontpage gesloten en gebruiken geen popupregister als inhoudelijke bron. |
18. Afleiding naar Functioneel Ontwerp / Technisch Ontwerp / Software Requirements Specification
| Doeldocument | Afleiding |
|---|---|
| Functioneel Ontwerp | Beschrijft dat een getoonde systeemnotificatie door de gebruiker gesloten kan worden zonder de frontpage te herladen. |
| Functioneel Ontwerp | Beschrijft dat na sluiten direct gecontroleerd wordt of er nog een volgende actieve systeemnotificatie zichtbaar moet worden. |
| Functioneel Ontwerp | Beschrijft dat systeemnotificaties één voor één worden getoond en dat de volgende pas verschijnt nadat de actuele notificatie is gesloten. |
| Functioneel Ontwerp | Beschrijft dat een Always-notificatie na sluiten niet direct opnieuw mag verschijnen binnen dezelfde notificatiereeks. |
| Functioneel Ontwerp | Beschrijft dat OncePerBrowser bij sluiten in een cookie of vergelijkbare browserwaarde wordt gemarkeerd en niet server-side per gebruiker wordt gelogd. |
| Functioneel Ontwerp | Beschrijft dat systeemnotificaties gescheiden blijven van mailbox-systeemberichten en popupregister-popups. |
| Technisch Ontwerp | Technisch Ontwerp: frontend, Blazor, routing, state en componentopbouw beschrijft hoe de frontend een tijdelijke uitgesloten-notificatieset of equivalent gebruikt om directe herhaling in dezelfde notificatiereeks te voorkomen. |
| Technisch Ontwerp | Technisch Ontwerp: frontend, Blazor, routing, state en componentopbouw beschrijft hoe de OncePerBrowser-browsermarker veilig wordt geschreven, gelezen en genegeerd bij fouten. |
| Technisch Ontwerp | Technisch Ontwerp: berichten, systeemberichten, notificaties en privéthreads beschrijft hoe de vervolgcontrole tijdvenster, doelgroep, DisplayRule, browsermarker en tijdelijke uitsluitingen combineert. |
| Technisch Ontwerp | Technisch Ontwerp: frontend, Blazor, routing, state en componentopbouw beschrijft veilige fallback wanneer browseropslag, notificatieservice of rendering faalt. |
| Software Requirements Specification | Bevat requirements voor sluiten, verwijderen uit beeld, vervolgcontrole, eenmalige browserregistratie, geen server-side gezienlog, looppreventie en veilige foutafhandeling. |
| Database-informatie | Bevestig dat sluiten geen databasekolom of server-side seen-tabel vereist voor systeemnotificaties. |
| Ontwerpbronnen | Voeg business rules, commands/events en usecase-matrices toe voor het sluiten van systeemnotificaties. |
19. SRS-trace
Deze usecase bevat geen normatieve requirementtekst. De centrale eis en acceptatiecriteria staan in de SRS; onderstaande tabel koppelt de usecase-afleiding alleen aan centrale SRS-*- en AC-*-items.
| Usecase-afleiding | Dekt | Usecasecontext |
|---|---|---|
REQ-UC-GEN-NOT-002-001 | SRS-POP-002 AC-POP-002 | Een zichtbare systeemnotificatie kunnen sluiten op initiatief van de bezoeker of gebruiker |
REQ-UC-GEN-NOT-002-002 | SRS-POP-002 AC-POP-002 | De gesloten systeemnotificatie uit de gebruikersinterface verwijderen zonder de frontpage volledig te herladen |
REQ-UC-GEN-NOT-002-003 | SRS-POP-002 AC-POP-002 | Voorkomen dat de zojuist gesloten notificatie direct opnieuw verschijnt binnen dezelfde lopende notificatiereeks |
REQ-UC-GEN-NOT-002-004 | SRS-POP-002 AC-POP-002 | Na sluiten direct controleren of er nog een volgende actieve en doelgroeprelevante systeemnotificatie beschikbaar is |
REQ-UC-GEN-NOT-002-005 | SRS-POP-002 AC-POP-002 | Systeemnotificaties één voor één tonen, waarbij een volgende notificatie pas zichtbaar wordt nadat de actuele notificatie is gesloten |
REQ-UC-GEN-NOT-002-006 | SRS-POP-002 AC-POP-002 | Bij DisplayRule = Always geen permanente browsermarker schrijven voor de sluitactie |
REQ-UC-GEN-NOT-002-007 | SRS-POP-005 SRS-NFR-SEC-001 AC-POP-005 AC-NFR-SEC-001 | Bij DisplayRule = OncePerBrowser een veilige cookie of vergelijkbare browserwaarde kunnen schrijven wanneer browseropslag beschikbaar is |
REQ-UC-GEN-NOT-002-008 | SRS-AUTH-001 SRS-POP-005 AC-AUTH-001 AC-POP-005 | Voor OncePerBrowser geen server-side gebruikersgebonden gezienregistratie vereisen |
REQ-UC-GEN-NOT-002-009 | SRS-AUTH-001 SRS-NFR-SEC-001 AC-AUTH-001 AC-NFR-SEC-001 | Browseropslagfouten veilig afhandelen zonder de frontpage te blokkeren |
REQ-UC-GEN-NOT-002-010 | SRS-POP-005 SRS-NFR-SEC-001 AC-POP-005 AC-NFR-SEC-001 | Bij ontbrekende OncePerBrowser-marker veilig blijven functioneren, ook als dezelfde notificatie later opnieuw zichtbaar kan worden |
REQ-UC-GEN-NOT-002-011 | SRS-ARCH-001 AC-ARCH-001 | Bij de vervolgcontrole na sluiten dezelfde tijdvenster-, doelgroep- en volgorderegels toepassen als bij het initieel tonen |
REQ-UC-GEN-NOT-002-012 | SRS-POP-002 AC-POP-002 | De gesloten notificatie-id kunnen meegeven of verwerken als tijdelijke uitsluiting voor de vervolgcontrole |
REQ-UC-GEN-NOT-002-013 | SRS-POP-002 AC-POP-002 | Bij meerdere volgende relevante notificaties de oudste aangemaakte relevante notificatie als volgende tonen |
REQ-UC-GEN-NOT-002-014 | SRS-ARCH-001 AC-ARCH-001 | Geen SystemNotifications-configuratie wijzigen als onderdeel van het sluiten |
REQ-UC-GEN-NOT-002-015 | SRS-ACC-003 SRS-MSG-001 SRS-CNT-001 SRS-POP-001 AC-ACC-003 AC-MSG-001 AC-CNT-001 AC-POP-001 | Geen mailbox-systeembericht, privéberichtthread, popupdefinitie, contentblok, gebruikersprofiel of gebruikersinstelling wijzigen als onderdeel van het sluiten |
REQ-UC-GEN-NOT-002-016 | SRS-NFR-SEC-001 SRS-NFR-LOG-001 AC-NFR-SEC-001 AC-NFR-LOG-001 | Technische fouten bij vervolgcontrole veilig afhandelen zonder kale technische foutdetails aan de gebruiker te tonen |
REQ-UC-GEN-NOT-002-017 | SRS-AUTH-001 SRS-POP-002 AC-AUTH-001 AC-POP-002 | Geen rolgebonden volgende notificatie tonen wanneer de rolcontext niet betrouwbaar kan worden vastgesteld |
REQ-UC-GEN-NOT-002-018 | SRS-POP-002 AC-POP-002 | De frontpage bruikbaar houden wanneer er na sluiten geen volgende notificatie beschikbaar is |
REQ-UC-GEN-NOT-002-019 | SRS-POP-005 AC-POP-005 | Voorkomen dat wijzigingen aan dezelfde bestaande OncePerBrowser-notificatie automatisch een bestaande browsermarker negeren |
REQ-UC-GEN-NOT-002-020 | SRS-POP-002 AC-POP-002 | Opnieuw tonen van gewijzigde of belangrijkere informatie ondersteunen door een nieuwe notificatie-id te publiceren in plaats van de bestaande browsermarker stilzwijgend te resetten |