Skip to main content

UC-BEH-FEAT-007 — Verlopen systeemnotificaties raadplegen

1. Kerngegevens

VeldWaarde
Usecase-IDUC-BEH-FEAT-007
NaamVerlopen systeemnotificaties raadplegen
DomeinBeheerder / Features en systeemnotificaties
Primaire actorBeheerder
Secundaire actor(en)Frontend, backend, database, autorisatiecomponent, beheerlogcomponent
RolcontextActieve beheerdercontext; server-side bepaald vanuit de ingelogde gebruiker
Betrokken schermenSite Instellingen > Features > tab Systeemnotificaties
Gerelateerde usecasesUC-BEH-FEAT-003, UC-BEH-FEAT-004, UC-BEH-FEAT-005, UC-GEN-NOT-001
Primaire entiteitenSiteNotifications, SiteNotificationHistory, Users
Secundaire entiteiten / eventsGeen
Gerelateerde popupsNiet van toepassing
PopupregisterOntwerpbronnen — Popup-register
MoSCoWMust

2. Omschrijving

Deze usecase beschrijft het raadplegen van verlopen systeemnotificaties. De beheerder kan recent verlopen notificaties bekijken via Afgelopen 31 dagen en de volledige verlopen historie raadplegen via Alle verlopen.

De tab Alle verlopen is read-only. Raadplegen van verlopen notificaties wijzigt geen notificatie, schrijft geen notificatiehistorie en activeert geen notificatie opnieuw. Wanneer een beheerder een verlopen notificatie als basis wil gebruiken voor nieuwe of gewijzigde communicatie, gebeurt dat via de daarvoor bedoelde aanmaak- of wijzigusecase en niet door de historische raadpleegflow zelf.

Alle datum- en statusafleidingen gebruiken UTC als technische bron en lokale tijd uitsluitend voor presentatie.

Uitgangspunten

  • Systeemnotificaties zijn geen mailbox-systeemberichten.
  • Systeemnotificaties zijn geen popupregister-popups.
  • Er bestaat geen server-side per-gebruiker-seentabel.
  • Raadpleging van verlopen notificaties is read-only.

3. Scope

Deze usecase beschrijft:

  • Openen van Afgelopen 31 dagen.
  • Openen van Alle verlopen.
  • Selecteren en raadplegen van één verlopen systeemnotificatie.
  • Tonen van inhoud, doelgroep, type, planning, displayregel en historie.
  • Afleiden van verlopen status op basis van EndAtUtc en het actuele UTC-moment.
  • Read-only gedrag van de volledige verlopen historie.

Deze usecase beschrijft niet:

  • Heractiveren van verlopen notificaties.
  • Wijzigen van een bestaande notificatie; dit hoort bij UC-BEH-FEAT-005.
  • Aanmaken van een nieuwe notificatie op basis van oude inhoud; dit hoort bij UC-BEH-FEAT-004.
  • Eindgebruikersweergave van notificaties.
  • Mailbox-systeemberichten of popupdefinities.

3.1 Afbakening met aangrenzende usecases

OnderdeelAfbakening
UC-BEH-FEAT-003Levert het algemene overzicht en de tabstructuur.
UC-BEH-FEAT-004Maakt een nieuwe notificatie aan wanneer oude inhoud opnieuw als nieuwe communicatie gebruikt moet worden.
UC-BEH-FEAT-005Wijzigt beheerbare velden van een bestaande notificatie wanneer dat vanuit een toegestane beheercontext beschikbaar is.
UC-GEN-NOT-001Toont actieve notificaties aan gebruikers.

4. Pre-condities

IDVoorwaarde
PRE-001De gebruiker is succesvol ingelogd in OefenHub.
PRE-002De backend heeft server-side vastgesteld dat de gebruiker een actieve beheerderrol heeft.
PRE-003De Site Instellingen-route is beschikbaar via de beheerdernavigatie.
PRE-004Clientstate, querystringwaarden of zichtbare UI-elementen bepalen niet zelfstandig de autorisatie.
PRE-005De beheerder opent een toegestane verlopen-tab.
PRE-006Voor detailraadpleging bestaat de geselecteerde verlopen systeemnotificatie.

5. Post-condities

IDResultaat
POST-001De beheerder ziet de geselecteerde verlopen notificatie en relevante historie.
POST-002Er is geen notificatie gewijzigd of opnieuw geactiveerd.
POST-003Er is geen SiteNotificationHistory geschreven door de raadpleegactie.
POST-004Er is geen server-side seenstatus aangemaakt.
POST-005Er is geen mailboxbericht of popupdefinitie aangemaakt.

6. Trigger

De usecase start wanneer de beheerder binnen de Systeemnotificaties-tab Afgelopen 31 dagen of Alle verlopen opent en een verlopen systeemnotificatie selecteert.

7. Normale processtroom

StapActorScherm / componentActieSysteemresponsData / regel
1BeheerderSysteemnotificaties-tabOpent Afgelopen 31 dagen of Alle verlopen.De frontend vraagt de verlopen notificaties op.Tabfilter.
2BackendAutorisatiecomponentControleert beheerdercontext.Alleen een actieve beheerder mag de historie raadplegen.Server-side autorisatie.
3BackendQueryLeest verlopen SiteNotifications.Afgelopen 31 dagen gebruikt een tijdvenster; Alle verlopen leest de volledige verlopen set.EndAtUtc <= nuUtc.
4BackendReadmodelLeidt status en lokale weergavewaarden af.De notificatie blijft read-only in de historische view.UTC-bron, lokale presentatie.
5BeheerderOverzichtSelecteert een verlopen notificatie.De frontend toont detailgegevens en historie.SiteNotifications, SiteNotificationHistory.
6FrontendDetailpaneelToont inhoud, doelgroep, type, planning, displayregel en historie.Er wordt geen mutatieactie uitgevoerd.Read-only.

8. Alternatieve en exceptionele processtromen

IDVanaf stapSituatieSysteemgedragPopup / meldingDatamutatie
ALT-0011Er zijn geen verlopen notificaties binnen de gekozen tab.De tab toont een lege staat zonder fout.Niet van toepassing.Geen.
ALT-0022Beheerdercontext is vervallen.De backend weigert de raadpleging.Toegang-geweigerdmelding.Geen.
ALT-0033De geselecteerde notificatie bestaat niet meer.Het overzicht wordt ververst en de selectie vervalt.Niet-beschikbaarmelding.Geen.
ALT-0045Beheerder probeert vanuit Alle verlopen direct te heractiveren.De UI biedt die actie niet; de backend accepteert vanuit deze flow geen mutatie.Niet van toepassing.Geen.
ALT-0056Historie ontbreekt voor een oud record.De notificatiegegevens blijven zichtbaar; het historiesegment toont een lege staat.Niet van toepassing.Geen.

9. Business rules

IDBusiness rule
BR-001Een systeemnotificatie geldt als verlopen wanneer EndAtUtc gevuld is en kleiner dan of gelijk aan het actuele UTC-moment is.
BR-002Afgelopen 31 dagen toont alleen notificaties waarvan het verlopen moment binnen de afgelopen 31 dagen valt.
BR-003Alle verlopen is read-only en biedt geen directe heractivatieactie.
BR-004Raadplegen van verlopen notificaties schrijft geen SiteNotificationHistory.
BR-005Verlopen notificaties blijven historisch raadpleegbaar voor beheerders.
BR-006Een verlopen notificatie is geen mailbox-systeembericht en geen popupregister-popup.
BR-007Browsermarkers en server-side seenstatus worden niet aangepast door beheerraadpleging.

10. Datavalidatie

IDValidatie
VAL-001De gekozen tab moet een toegestane beheer-tab zijn.
VAL-002De geselecteerde notificatie moet bestaan.
VAL-003De geselecteerde notificatie moet volgens UTC-afleiding verlopen zijn.
VAL-004Afgelopen 31 dagen gebruikt het actuele UTC-moment als basis voor het tijdvenster.
VAL-005Clientstate mag niet bepalen of een notificatie read-only of wijzigbaar is.

11. Datamutaties en events

Niet van toepassing. Deze usecase is een read-only raadpleegflow. Het raadplegen van verlopen notificaties wijzigt geen SiteNotifications, schrijft geen SiteNotificationHistory en publiceert geen domeinevent.

12. Geen datamutaties

IDGeen mutatieReden
NO-001SiteNotificationsInhoud, doelgroep, planning en displayregel blijven ongewijzigd.
NO-002SiteNotificationHistoryRaadplegen schrijft geen nieuwe historyregel.
NO-003SystemMessagesEr ontstaat geen mailbox-systeembericht.
NO-004PopupDetailsEr wordt geen popupdefinitie aangemaakt of gewijzigd.
NO-005GebruikersseenstatusEr wordt geen server-side seenrecord aangemaakt.
NO-006BrowsermarkersBeheerraadpleging wijzigt geen browsermarkers.

13. State diagram

Niet van toepassing. Deze usecase raadpleegt verlopen notificaties en wijzigt geen persistent statusobject. De status Verlopen is een afgeleide beheerstatus op basis van EndAtUtc en het actuele UTC-moment.

14. Decision flow

15. Data lifecycle diagram

16. Sequence diagrammen

17. Popupverwijzingen

Niet van toepassing.

18. Afleiding naar Functioneel Ontwerp / Technisch Ontwerp / Software Requirements Specification

DocumentAfleiding
Functioneel OntwerpBeschrijft Afgelopen 31 dagen en Alle verlopen als raadpleegviews voor verlopen systeemnotificaties.
Technisch OntwerpTechnisch Ontwerp: communicatie en systeemnotificaties, readmodels en badges en frontendstate beschrijven de technische uitwerking. Vraagt queryfilters op EndAtUtc, UTC-afleiding en read-only autorisatie op de historische view.
Software Requirements SpecificationLevert eisen voor raadpleging, read-only gedrag, lege staten en scheiding van notificatiedomeinen.

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-afleidingDektUsecasecontext
UC-BEH-FEAT-007-REQ-001SRS-ADM-001
SRS-POP-002
AC-ADM-001
AC-POP-002
Verlopen systeemnotificaties raadpleegbaar maken voor beheerders
UC-BEH-FEAT-007-REQ-002SRS-ADM-001
SRS-POP-002
AC-ADM-001
AC-POP-002
Afgelopen 31 dagen beperken tot notificaties die binnen dat tijdvenster verlopen zijn
UC-BEH-FEAT-007-REQ-003SRS-ADM-001
AC-ADM-001
Alle verlopen read-only maken
UC-BEH-FEAT-007-REQ-004SRS-ADM-001
SRS-NFR-AUD-001
AC-ADM-001
AC-NFR-AUD-001
Bij raadplegen geen SiteNotifications of SiteNotificationHistory wijzigen
UC-BEH-FEAT-007-REQ-005SRS-AUTH-001
SRS-ADM-001
AC-AUTH-001
AC-ADM-001
Bij raadplegen geen server-side seenstatus of browsermarker aanpassen
UC-BEH-FEAT-007-REQ-006SRS-RDM-001
SRS-ADM-001
AC-RDM-001
AC-ADM-001
Verlopen status afleiden uit EndAtUtc en het actuele UTC-moment