Skip to main content

UC-BEH-FEAT-003 — Systeemnotificaties-overzicht bekijken

1. Kerngegevens

VeldWaarde
Usecase-IDUC-BEH-FEAT-003
NaamSysteemnotificaties-overzicht bekijken
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-004, UC-BEH-FEAT-005, UC-BEH-FEAT-006, UC-BEH-FEAT-007, UC-GEN-NOT-001
Primaire entiteitenSiteNotifications, Users
Secundaire entiteiten / eventsSiteNotificationHistory
Gerelateerde popupsNiet van toepassing
PopupregisterOntwerpbronnen — Popup-register
MoSCoWMust

2. Omschrijving

Deze usecase beschrijft het beheerderoverzicht van systeemnotificaties. Systeemnotificaties zijn beheerder-gedreven UI-notificaties die boven een reeds geladen frontpage of rolgerichte startpagina getoond kunnen worden. Zij zijn geen mailbox-systeemberichten en geen popupregister-popups.

De beheerpagina gebruikt binnen de Systeemnotificaties-tab minimaal de tabbladen Actief & gepland, Afgelopen 31 dagen en Alle verlopen. Per notificatie toont het overzicht minimaal titel, type-tag, doelgroep, startmoment, eindmoment of geen einddatum, afgeleide status en laatste wijziging.

De tab Alle verlopen is read-only; vanuit Actief & gepland en Afgelopen 31 dagen kan een geselecteerde notificatie worden bewerkt of hergebruikt via de daarvoor bedoelde usecases.

Uitgangspunten

  • Datums worden opgeslagen en verwerkt in UTC en lokaal getoond.
  • Actief, gepland, bijna verlopen en verlopen zijn afgeleide beheerstatussen.
  • Overlapping tussen notificaties is toegestaan.
  • Het overzicht schrijft geen seen-status per gebruiker.

3. Scope

Deze usecase beschrijft:

  • Tonen van actief en gepland notificatieoverzicht.
  • Tonen van recent verlopen notificaties van de afgelopen 31 dagen.
  • Read-only raadpleging van alle verlopen notificaties.
  • Afleiden van statuslabels op basis van StartAtUtc en EndAtUtc.
  • Afbakening met generieke weergaveusecases voor eindgebruikers.

Deze usecase beschrijft niet:

  • Aanmaken van notificaties.
  • Wijzigen of uitschakelen van notificaties.
  • Tonen van notificaties aan eindgebruikers.
  • Server-side seen-log per gebruiker.
  • Popupdefinities of mailbox-systeemberichten beheren.

3.1 Afbakening met aangrenzende usecases

OnderdeelAfbakening
UC-GEN-NOT-001 t/m UC-GEN-NOT-003Zijn bronhoudend voor tonen, sluiten en eenmalig verwerken aan gebruikerszijde.
UC-BEH-FEAT-004Maakt een nieuwe SiteNotification aan.
UC-BEH-FEAT-006Vult EndAtUtc om een notificatie uit te schakelen.

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 heeft de Systeemnotificaties-tab geopend.
PRE-006SiteNotifications kunnen server-side worden gelezen.

5. Post-condities

IDResultaat
POST-001De beheerder ziet per tab de juiste set systeemnotificaties.
POST-002Afgeleide statuslabels zijn berekend op basis van het actuele UTC-moment.
POST-003Er is geen notificatie aangemaakt, gewijzigd, uitgeschakeld of verwijderd.
POST-004Alle verlopen is read-only zichtbaar.
POST-005De beheerder kan vanuit toegestane tabs doorklikken naar beheeracties.

6. Trigger

De usecase start wanneer de beheerder binnen de Features-pagina de tab Systeemnotificaties opent of tussen de notificatietabs wisselt.

7. Normale processtroom

StapActorScherm / componentActieSysteemresponsData / regel
1BeheerderSysteemnotificaties-tabOpent de tab.De frontend vraagt het notificatieoverzicht op.Geen mutatie.
2BackendAutorisatiecomponentControleert beheerdercontext.Alleen beheerders krijgen het overzicht.Server-side autorisatie.
3BackendTijdcomponentBepaalt actueel UTC-moment.Alle statussen worden ten opzichte van hetzelfde telmoment afgeleid.UTC.
4BackendActief en geplandSelecteert notificaties met StartAtUtc in toekomst of zichtbare huidige periode.Einddatum null of toekomst wordt correct meegenomen.SiteNotifications.
5BackendAfgelopen 31 dagenSelecteert recent verlopen notificaties.Alleen records met EndAtUtc binnen 31 dagen worden getoond.EndAtUtc.
6BackendAlle verlopenSelecteert verlopen historie.Deze tab krijgt read-only markering.Read-only.
7BackendStatusafleidingBepaalt actief, gepland, bijna verlopen of verlopen.Bijna verlopen betekent EndAtUtc minder dan 24 uur in de toekomst.Afgeleide status.
8FrontendOverzichtToont linkerlijst en detailpaneel voor geselecteerde notificatie.De beheerder ziet titel, type, doelgroep, einddatum en status.Geen mutatie.

8. Alternatieve en exceptionele processtromen

IDVanaf stapSituatieSysteemgedragPopup / meldingDatamutatie
ALT-0014Geen actieve of geplande notificaties.De tab toont een lege staat met mogelijkheid om een nieuwe notificatie te maken.Niet van toepassing.Geen.
ALT-0025Geen recent verlopen notificaties.De tab toont een neutrale lege staat.Niet van toepassing.Geen.
ALT-0036Alle verlopen bevat veel records.De backend past sortering en paginering of lazy loading toe zonder inhoud te wijzigen.Niet van toepassing.Geen.
ALT-0047EndAtUtc ontbreekt.De notificatie krijgt geen bijna-verlopenstatus zolang er geen einddatum bestaat.Niet van toepassing.Geen.
ALT-0058Een notificatie is verlopen terwijl de pagina open staat.Bij verversen of herladen wordt de status opnieuw afgeleid.Niet van toepassing.Geen.

9. Business rules

IDBusiness rule
BR-001Systeemnotificaties zijn geen SystemMessages en geen PopupDetails.
BR-002Afgeleide beheerstatussen worden niet als zelfstandige databasewaarheid opgeslagen.
BR-003Alle datumvergelijkingen gebeuren op basis van UTC.
BR-004Alle verlopen is read-only; heractivatie gebeurt niet vanuit deze view.
BR-005Overlappende notificaties zijn toegestaan en worden aan gebruikerszijde aan gebruikerszijde in de vastgelegde volgorde getoond.
BR-006Er wordt geen server-side gebruikersgebonden gezienlog bijgehouden.
BR-007Een notificatie zonder EndAtUtc heeft geen geplande einddatum en kan actief blijven zolang StartAtUtc bereikt is.

10. Datavalidatie

IDValidatie
VAL-001AudienceType moet behoren tot Public, Authenticated, Teacher, Student, Guardian of Admin.
VAL-002NotificationType moet Info of Warning zijn.
VAL-003DisplayRule moet Always of OncePerBrowser zijn.
VAL-004StartAtUtc en EndAtUtc worden als UTC behandeld.
VAL-005Bijna verlopen wordt alleen afgeleid wanneer EndAtUtc bestaat en minder dan 24 uur in de toekomst ligt.
VAL-006Alle verlopen mag geen actieve mutatieacties tonen.

11. Datamutaties en events

Niet van toepassing. Deze usecase is een read-only raadpleegflow. Het overzicht wijzigt geen SiteNotifications, schrijft geen SiteNotificationHistory, maakt geen mailbox-systeembericht aan en registreert geen browser- of gebruikersseenstatus.

12. Geen datamutaties

IDGeen mutatieReden
NO-001SiteNotificationsGeen inhoud, planning, doelgroep of displayregel wordt aangepast.
NO-002SiteNotificationHistoryBekijken schrijft geen historyregel.
NO-003SystemMessagesEr ontstaan geen mailbox-systeemberichten.
NO-004PopupDetailsEr worden geen popupdefinities aangemaakt of gewijzigd.
NO-005BrowsermarkersBeheerderraadpleging wijzigt geen OncePerBrowser-marker.

13. State diagram

Niet van toepassing. De tab toont afgeleide beheerstatussen op basis van StartAtUtc, EndAtUtc en het actuele UTC-moment, maar wijzigt zelf geen persistente notificatiestatus.

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 de drie beheer-tabs en read-only gedrag voor verlopen historie.
Technisch OntwerpTechnisch Ontwerp: communicatie en systeemnotificaties, readmodels en badges en frontendstate beschrijven de technische uitwerking. Vraagt queryfilters op StartAtUtc, EndAtUtc en UTC-statusafleiding.
Software Requirements SpecificationLevert eisen voor statuslabels, tabs, datumweergave 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-003-REQ-001SRS-MSG-001
SRS-ADM-001
SRS-POP-001
SRS-POP-002
AC-MSG-001
AC-ADM-001
AC-POP-001
AC-POP-002
Systeemnotificaties beheren in een eigen domein gescheiden van popups en systeemberichten
UC-BEH-FEAT-003-REQ-002SRS-ADM-001
AC-ADM-001
De tabs Actief & gepland, Afgelopen 31 dagen en Alle verlopen ondersteunen
UC-BEH-FEAT-003-REQ-003SRS-RDM-001
SRS-ADM-001
AC-RDM-001
AC-ADM-001
Statuslabels afleiden uit UTC-start- en eindmomenten
UC-BEH-FEAT-003-REQ-004SRS-ADM-001
AC-ADM-001
Alle verlopen read-only maken
UC-BEH-FEAT-003-REQ-005SRS-ADM-001
SRS-POP-002
AC-ADM-001
AC-POP-002
Een notificatie zonder einddatum correct als geen einddatum tonen
UC-BEH-FEAT-003-REQ-006SRS-ADM-001
SRS-NFR-AUD-001
AC-ADM-001
AC-NFR-AUD-001
Bij raadplegen geen SiteNotificationHistory schrijven
UC-BEH-FEAT-003-REQ-007SRS-ADM-001
AC-ADM-001
Bijna verlopen uitsluitend tonen wanneer EndAtUtc minder dan 24 uur in de toekomst ligt