Event-register
Dit document registreert functionele en technische gebeurtenissen die uit usecases voortkomen. Het ondersteunt het Technisch Ontwerp, audit, notificaties, realtime updates en requirement-afleiding.
Tabelstructuur
| Event-ID | Eventnaam | Domein | Trigger | Payload / kerngegevens | Verwerking | Gebruikt in |
|---|---|---|---|---|---|---|
| EVT-GEN-REL-001 | RelationshipInvitationCreated | Relaties | Nieuwe pending relatie-uitnodiging | InvitationId, RelationshipType, FromUserId, FromRoleId, ToUserId of ToEmail, TargetRoleId | Audit via RelationshipEvents; eventuele notificatie | UC-GEN-REL-002, UC-GEN-REL-003 |
| EVT-GEN-REL-002 | SystemMessageCreatedForRelationshipInvitation | Relaties / communicatie | Uitnodiging is gericht aan bestaande gebruiker of wordt na registratie gekoppeld | RecipientUserId, InvitationId, EntityType RelationshipInvitation, EntityId | Systeembericht wordt aangemaakt en kan uitnodiging openen; RelationshipEvents.EventType = InvitationSystemMessageCreated registreert dat de interne notificatie is aangeboden | UC-GEN-REL-002, UC-GEN-REL-003, UC-GEN-REL-005 |
| EVT-GEN-REL-003 | ExternalOefenHubInviteSent | Relaties / externe mail | Uitnodiging naar onbekend e-mailadres is bevestigd | ToEmail, FromUserId, RelationshipType, InvitationId | Externe uitnodigingsmail wordt verzonden namens uitnodiger | UC-GEN-REL-002, UC-GEN-REL-003 |
| EVT-GEN-REL-003A | RelationshipInvitationNotificationFailed | Relaties / communicatie | Interne systeembericht- of externe mailqueue-aanvraag kon niet veilig worden klaargezet | InvitationId, FromUserId, ToUserId of ToEmail, failure category | Het betreffende verzoek wordt ingetrokken/verborgen zodat geen misleidend zichtbaar pending verzoek achterblijft; technische details blijven uit de gebruikersinterface | UC-GEN-REL-002, UC-GEN-REL-003, UC-GEN-REL-006 |
| EVT-GEN-REL-003B | RelationshipInvitationReminderQueued | Relaties / communicatie | Uitnodiger herinnert een pending relatie-uitnodiging na cooldown | InvitationId, FromUserId, ToUserId of ToEmail, Purpose Reminder | Bestaande ontvanger krijgt nieuw systeembericht; externe ontvanger krijgt nieuwe mailattempt; event InvitationReminderSystemMessageCreated of InvitationReminderMailQueued wordt vastgelegd | UC-GEN-REL-002, UC-GEN-REL-003, UC-GEN-REL-006 |
| EVT-GEN-REL-003C | RelationshipInvitationReminderFailed | Relaties / communicatie | Herinnering kon niet veilig als systeembericht of mailqueue-aanvraag worden klaargezet | InvitationId, FromUserId, failure category | Het relatieverzoek blijft pending; gebruiker krijgt veilige foutfeedback; event InvitationReminderNotificationFailed wordt vastgelegd | UC-GEN-REL-002, UC-GEN-REL-003, UC-GEN-REL-006 |
| EVT-GEN-REL-003D | RelationshipInvitationWithdrawnBySender | Relaties | Uitnodiger trekt een pending verzonden uitnodiging in na bevestiging | InvitationId, FromUserId, WithdrawnAtUtc | Status naar Withdrawn; uitnodiging verdwijnt uit openstaande verzonden uitnodigingen en kan niet meer worden geaccepteerd | UC-GEN-REL-002, UC-GEN-REL-003, UC-GEN-REL-006 |
| EVT-GEN-REL-004 | RelationshipInvitationLinkedToRegisteredUser | Relaties / registratie | Gebruiker registreert met e-mailadres waarop pending uitnodiging bestaat | InvitationId, NewUserId, ToEmail, LinkedAtUtc | ToUserId wordt gekoppeld of uitnodiging wordt functioneel aan account aangeboden; systeembericht wordt aangemaakt | UC-GEN-REL-005 |
| EVT-GEN-REL-005 | RelationshipInvitationExpired | Relaties | Geldigheidsduur van pending uitnodiging is verstreken | InvitationId, ExpiredAtUtc | Status naar Expired; audit/eventregistratie | UC-GEN-REL-002, UC-GEN-REL-003, UC-GEN-REL-005 |
| EVT-GEN-REL-006 | RelationshipInvitationAccepted | Relaties | Ontvanger accepteert pending uitnodiging | InvitationId, RespondedByUserId, RespondedAtUtc, ResolvedRelationshipId | Status naar Accepted; relatie wordt aangemaakt/geactiveerd | UC-GEN-REL-005 |
| EVT-GEN-REL-007 | RelationshipActivated | Relaties | Acceptatie leidt tot actieve relatie | RelationshipId, RelationshipType, FromUserId, ToUserId, roles | Relatieafhankelijke functionaliteit wordt beschikbaar | UC-GEN-REL-005 |
| EVT-GEN-REL-008 | RelationshipInvitationRejected | Relaties | Ontvanger bevestigt afwijzing | InvitationId, RespondedByUserId, RespondedAtUtc | Status naar Rejected; geen relatie-aanmaak | UC-GEN-REL-005 |
| EVT-GEN-REL-009 | SystemMessageCreatedForInvitationResponse | Relaties / communicatie | Uitnodiging is geaccepteerd of afgewezen | RecipientUserId, InvitationId, response status | Uitnodiger krijgt terugkoppeling via systeembericht of gelijkwaardige notificatie | UC-GEN-REL-005 |
| EVT-GEN-REL-010 | RelationshipDisconnected | Relaties | Relatie wordt direct ontkoppeld | RelationshipId, ActorUserId, RoleContext, DisconnectedAtUtc | Relatie wordt inactief; andere partij kan notificatie ontvangen | UC-GEN-REL-004 |
| EVT-GEN-REL-011 | RelationshipDisconnectRequested | Relaties | Gebruiker start ontkoppelverzoek | RelationshipId, ActorUserId, RoleContext, RequestedAtUtc | Verzoek wordt vastgelegd of event wordt aangemaakt; relatie blijft actief tot vervolgafhandeling | UC-GEN-REL-004 |
| EVT-GEN-REL-012 | SystemMessageCreatedForRelationshipDisconnected | Relaties / communicatie | Relatie is ontkoppeld of ontkoppelverzoek is ingediend | RecipientUserId, RelationshipId, eventtype | Andere partij wordt geïnformeerd | UC-GEN-REL-004 |
| EVT-GEN-MSG-001 | MessageUnreadCountChanged | Berichten | Nieuw privébericht, openen van bericht, readstatewijziging of participantgebonden mailboxverwijdering | UserId, unread count | UI-indicatie actualiseren wanneer toegestaan; voor leerlingen tijdens actieve oefenrun kan badgezichtbaarheid tijdelijk worden onderdrukt | UC-GEN-MSG-001, UC-GEN-MSG-002, UC-GEN-MSG-003, UC-GEN-MSG-004, UC-GEN-MSG-005, Berichten |
| EVT-GEN-MSG-002 | SystemMessageReadStateChanged | Berichten | Gebruiker markeert eigen systeembericht als gelezen of ongelezen, of opent het systeembericht | SystemMessageId, UserId, ReadAtUtc, IsUnread | Ongelezenteller en UI-readmodel actualiseren | UC-GEN-MSG-001, UC-GEN-MSG-003 |
| EVT-GEN-MSG-003 | PrivateThreadReadStateChanged | Berichten | Gebruiker markeert eigen privéthread als gelezen of ongelezen, opent de thread, verzendt een nieuw privébericht of verzendt een antwoord | ThreadId, UserId, LastReadMessageId, LastReadAtUtc, IsUnread | Ongelezenteller en UI-readmodel actualiseren | UC-GEN-MSG-001, UC-GEN-MSG-002, UC-GEN-MSG-003, UC-GEN-MSG-004 |
| EVT-GEN-MSG-004 | PrivateMessageThreadRemovedFromMailbox | Berichten | Gebruiker verwijdert privéthread uit eigen mailbox of vanuit de detailweergave | ThreadId, UserId, DeletedAtUtc | Thread verdwijnt uit eigen mailbox; andere deelnemers behouden eigen zichtbaarheid | UC-GEN-MSG-001, UC-GEN-MSG-003, UC-GEN-MSG-005 |
| EVT-GEN-MSG-005 | PrivateMessageCreated | Berichten | Gebruiker verzendt een nieuw privébericht of antwoord binnen een thread | MessageId, ThreadId, SenderUserId, SentAtUtc | Threadmetadata, readmodel en realtime updates verwerken | UC-GEN-MSG-002, UC-GEN-MSG-004 |
| EVT-GEN-MSG-006 | PrivateMessageThreadSubjectChanged | Berichten | Gebruiker wijzigt het onderwerp tijdens beantwoorden | ThreadId, ActorUserId, OldSubject, NewSubject, OccurredAtUtc | Thread-event tonen en ongelezenstatus voor andere deelnemers bepalen | UC-GEN-MSG-004 |
| EVT-GEN-MSG-007 | PrivateMessageSendFailed | Berichten | Verzenden van privébericht of antwoord wordt functioneel of technisch geblokkeerd | ThreadId of doelcontext, ActorUserId, FailureReason | Geen gedeeltelijke mutatie; functionele popup of logging | UC-GEN-MSG-002, UC-GEN-MSG-004 |
| EVT-GEN-MSG-008 | PrivateMessageThreadDeleteFailed | Berichten | Verwijderen van privéthread uit eigen mailbox wordt functioneel of technisch geblokkeerd | ThreadId, ActorUserId, FailureReason | Geen gedeeltelijke mutatie; functionele popup of logging | UC-GEN-MSG-005 |
| EVT-GEN-TIC-001 | TicketClosedByUser | Meldingen | Gebruiker sluit eigen melding | TicketId, UserId, ClosedAtUtc | Ticket history en eventuele notificatie | UC-GEN-TIC-005 |
| Event-ID | Eventnaam | Domein | Trigger | Payload / kerngegevens | Verwerking | Gebruikt in |
|---|---|---|---|---|---|---|
| EVT-GEN-TIC-002 | TicketCreated | Meldingen | Nieuwe melding succesvol aangemaakt | TicketId, CreatedByUserId, Category, CreatedAtUtc | Audit en readmodel | UC-GEN-TIC-001 |
| EVT-GEN-TIC-003 | TicketTechnicalSnapshotCaptured | Meldingen | Technische snapshot bij melding opgeslagen | TicketId, SnapshotId | Beheeranalyse | UC-GEN-TIC-001 |
| EVT-GEN-TIC-004 | TicketReplyAdded | Meldingen | Gebruiker reageert op eigen melding | TicketId, MessageId, UserId | Externe discussie en statusverwerking | UC-GEN-TIC-004 |
| EVT-GEN-TIC-005 | TicketStatusChanged | Meldingen | Status van melding wijzigt | TicketId, OldStatus, NewStatus, ActorUserId | Readmodel, actie-indicatie en audit | UC-GEN-TIC-004, UC-GEN-TIC-010, UC-GEN-TIC-011, UC-GEN-TIC-013, UC-GEN-TIC-014 |
| EVT-GEN-TIC-006 | TicketSolutionAccepted | Meldingen | Gebruiker accepteert oplossing | TicketId, ClosureId, UserId, AcceptedAtUtc | Heropenmogelijkheid beëindigen/negeren en audit | UC-GEN-TIC-006 |
| EVT-GEN-TIC-007 | TicketReopenedByUser | Meldingen | Gebruiker heropent melding binnen heropentermijn | TicketId, ReopenRequestId, UserId | Externe discussie, status en audit | UC-GEN-TIC-007 |
| EVT-GEN-TIC-008 | TicketAdminAssigned | Meldingen | Beheerder wordt gekoppeld aan melding | TicketId, AdminUserId, ActorUserId | Behandelcontext en audit | UC-GEN-TIC-010 |
| EVT-GEN-TIC-009 | TicketAdminUnassigned | Meldingen | Beheerder wordt ontkoppeld van melding | TicketId, AdminUserId, ActorUserId, Reason | Audit | UC-GEN-TIC-010 |
| EVT-GEN-TIC-010 | TicketExternalMessageAdded | Meldingen | Beheerder plaatst extern bericht | TicketId, MessageId, ActorUserId | Externe discussie, systeembericht en eventueel status WaitingForUser | UC-GEN-TIC-011 |
| EVT-GEN-TIC-011 | TicketInternalMessageAdded | Meldingen | Beheerder plaatst intern bericht | TicketId, MessageId, ActorUserId | Interne discussie en audit | UC-GEN-TIC-012 |
| EVT-GEN-TIC-012 | TicketResolvedOrClosedByAdmin | Meldingen | Beheerder lost of sluit melding | TicketId, ClosureId, ResolutionType, ActorUserId | Sluiting, systeembericht, heropentermijn en audit | UC-GEN-TIC-013 |
| EVT-GEN-TIC-013 | TicketReopenedByAdmin | Meldingen | Beheerder heropent gesloten melding | TicketId, ReopenRequestId, ActorUserId | Status New, assignmentreset en audit | UC-GEN-TIC-014 |
| EVT-GEN-TIC-014 | TicketForwardedToTeacher | Meldingen | Melding wordt doorgezet naar docent | TicketId, TeacherId, ActorUserId | Sluiting, doorzetregistratie, systeembericht en privébericht | UC-GEN-TIC-015 |
| EVT-GEN-PROF-001 | ProfileViewed | Profiel | Gebruiker opent eigen profiel | UserId | Alleen logging indien nodig | UC-GEN-PROF-001 |
| EVT-GEN-PROF-002 | ProfileUpdated | Profiel | Gebruiker wijzigt eigen profielgegevens | UserId, ChangedFields | Profielweergave en audit/logging | UC-GEN-PROF-002 |
| EVT-GEN-PROF-003 | RequiredLevelSet | Profiel | Gebruiker stelt verplicht niveau in | UserId, LevelId | Blokkade opheffen en profielcontext verversen | UC-GEN-PROF-003 |
| EVT-GEN-PROF-004 | ProfileAvatarChanged | Profiel | Gebruiker kiest profielafbeelding | UserId, ProfileAvatarId | Header/profielreadmodel verversen | UC-GEN-PROF-004 |
| EVT-GEN-PROF-005 | AccessibilitySettingChanged | Profiel | Toegankelijkheidsinstelling wordt gewijzigd | UserId, SettingKey, NewValue | Direct toepassen en cookie spiegelen waar nodig | UC-GEN-PROF-005 |
| EVT-GEN-PROF-006 | AccessibilityCookieSynchronized | Profiel | Toegankelijkheidscookie wordt gelezen of bijgewerkt | UserId optioneel, cookie keys | Alleen technische synchronisatie; geen autorisatie | UC-GEN-PROF-006 |
| EVT-GEN-PROF-007 | UserPreferenceChanged | Profiel | Voorkeur wordt gewijzigd | UserId, PreferenceKey, RoleContext, NewValue | Presentatiecontext verversen | UC-GEN-PROF-007 |
| EVT-GEN-NOT-001 | SystemNotificationSelected | Systeemnotificaties | Relevante actieve notificatie gekozen | NotificationId, AudienceType, DisplayRule | Tonen in notificatiecomponent | UC-GEN-NOT-001 |
| EVT-GEN-NOT-002 | SystemNotificationDisplayed | Systeemnotificaties | Notificatie wordt getoond | NotificationId, DisplayRule | UI-weergave; geen server-side seen-log | UC-GEN-NOT-001 |
| EVT-GEN-NOT-003 | SystemNotificationClosed | Systeemnotificaties | Gebruiker sluit notificatie | NotificationId, DisplayRule | Vervolgcontrole en eventuele browsermarker | UC-GEN-NOT-002 |
| EVT-GEN-NOT-004 | SystemNotificationOncePerBrowserEvaluated | Systeemnotificaties | Eenmalige notificatie wordt tegen browsermarker beoordeeld | NotificationId, MarkerState | Tonen of overslaan | UC-GEN-NOT-003 |
| Event-ID | Eventnaam | Domein | Trigger | Payload / kerngegevens | Verwerking | Gebruikt in |
|---|---|---|---|---|---|---|
| EVT-GEN-ACC-001 | InternalAccountProvisioned | Account | Intern account is aangemaakt na succesvolle identity-providerlogin | UserId, ExternalId, CreatedAtUtc | Accountcontext beschikbaar maken; logging | UC-GEN-ACC-001 |
| EVT-GEN-ACC-002 | UserSettingsInitialized | Account | UserSettings is aangemaakt of veilig hersteld | UserId, InitializedAtUtc, Source | Instellingen beschikbaar maken | UC-GEN-ACC-001, UC-GEN-ACC-003 |
| EVT-GEN-ACC-003 | PendingInvitationLinkedToUser | Account / relaties | Pending uitnodiging op e-mailadres is gekoppeld aan nieuw account | InvitationId, UserId, LinkedAtUtc | Uitnodiging kan via systeembericht aangeboden worden | UC-GEN-ACC-001 |
| EVT-GEN-ACC-004 | ProvisioningSystemMessageCreated | Account / communicatie | Systeembericht voor gekoppelde uitnodiging is aangemaakt | SystemMessageId, RecipientUserId, InvitationId | Mailboxreadmodel en ongelezenstatus | UC-GEN-ACC-001 |
| EVT-GEN-ACC-005 | LoginSessionProcessed | Account | Identity-providerlogin is vertaald naar OefenHub-sessiecontext | UserId, LoginAtUtc, ContextType | Frontendcontext bepalen en route openen | UC-GEN-ACC-002 |
| EVT-GEN-ACC-006 | LoginDeniedInactiveUser | Account | Login is geweigerd omdat intern account inactief is | ExternalId, UserId, OccurredAtUtc | Accountlogging; geen sessieopbouw | UC-GEN-ACC-002 |
| EVT-GEN-ACC-007 | LoginDeniedInvalidIdentityContext | Account | Sessieopbouw is geweigerd door ontbrekende of ongeldige identity-context | ExternalId optioneel, FailureReason | Technische logging; geen domeinmutatie | UC-GEN-ACC-001, UC-GEN-ACC-002 |
| EVT-GEN-ACC-008 | DuplicateExternalIdDetected | Account | Meerdere interne accounts met dezelfde ExternalId zijn aangetroffen | ExternalId, OccurredAtUtc | Sessieopbouw blokkeren en beheeronderzoek mogelijk maken | UC-GEN-ACC-002 |
| EVT-GEN-ACC-009 | NoActiveRoleContextDetected | Account | Actief account heeft geen bruikbare actieve rolcontext | UserId, OccurredAtUtc | Beperkte context zonder rol tonen | UC-GEN-ACC-003 |
| EVT-GEN-ACC-010 | IncompleteAccountContextDetected | Account | Verplichte profiel- of niveaucontext ontbreekt | UserId, MissingContext | Doorleiden naar bestaande profiel-/niveauflow | UC-GEN-ACC-003 |
| EVT-GEN-ACC-011 | ReturnRouteDeniedForAccountContext | Account | Oorspronkelijke terugkeerroute is niet toegestaan na contextbepaling | UserId, Route, OccurredAtUtc | Veilige vervolgroute kiezen | UC-GEN-ACC-003 |
| EVT-GEN-ACC-012 | AccountContextResolutionFailed | Account | Accountcontext kon niet betrouwbaar worden bepaald | UserId, FailureReason | Blokkeren en accountlogging | UC-GEN-ACC-003 |
| EVT-GEN-ACC-013 | AccountDeletionRequested | Account | Gebruiker bevestigt verwijderen van eigen account | UserId, RequestedAtUtc | Start anonimiseer- en opruimflow | UC-GEN-ACC-004 |
| EVT-GEN-ACC-014 | AccountDeletionBlocked | Account | Accountverwijdering kan niet veilig starten of afronden | UserId, FailureReason | Geen halfverwerking; popup/foutafhandeling | UC-GEN-ACC-004 |
| EVT-GEN-ACC-015 | AccountAnonymized | Account | Zichtbare persoonsgegevens zijn geanonimiseerd en toegang is geblokkeerd | UserId, AnonymizedAtUtc, SystemCode | Account lifecycle-log en readmodelverversing | UC-GEN-ACC-004, UC-GEN-ACC-005 |
| EVT-GEN-ACC-016 | AccountDependenciesCleaned | Account | Afhankelijke toegang en open afhankelijkheden zijn verwerkt | UserId, DependencySummary | Domeinhistorie en toegangsinvalidatie | UC-GEN-ACC-004, UC-GEN-ACC-005 |
| EVT-GEN-ACC-017 | TeacherLevelOwnershipResolvedForAccountDeletion | Account / docentstructuur | Niveau-eigenaarschap is overgedragen of historisch/inactief gemaakt | LevelId, OldOwnerUserId, NewOwnerUserId optioneel, ResolutionType | Docentstructuur consistent houden | UC-GEN-ACC-004, UC-GEN-ACC-005 |
| EVT-GEN-ACC-018 | LogoutProcessed | Account | Lokale OefenHub-sessie is beëindigd | UserId optioneel, LoggedOutAtUtc | Routeguard en publieke context | UC-GEN-ACC-006 |
| EVT-GEN-ACC-019 | SignalRContextClosed | Account / realtime | Realtimeverbindingen of subscriptions zijn beëindigd | UserId, ConnectionIds optioneel | Realtimecontext opruimen | UC-GEN-ACC-006 |
| EVT-GEN-ACC-020 | LiveViewAuditEnded | Account / realtime | Open live-meekijkaudit is beëindigd door logout of anonimisering | LiveViewAuditId, EndedAtUtc | Historische audit afronden | UC-GEN-ACC-005, UC-GEN-ACC-006 |
| Event-ID | Eventnaam | Domein | Trigger | Payload / kerngegevens | Verwerking | Gebruikt in |
|---|---|---|---|---|---|---|
| EVT-LLN-OEF-001 | ExerciseRunCreated | Leerling / Oefenen | Nieuwe leerlingrun aangemaakt | ExerciseRunId, UserId, ExerciseId, LevelId | Voortgang starten en readmodel verversen | UC-LLN-OEF-003 |
| EVT-LLN-OEF-002 | ExerciseAnswerSubmitted | Leerling / Oefenen | Antwoord verwerkt en voortgang opgeslagen | ExerciseRunId, QuestionNumber, Result | Voortgang, live updates, totalen | UC-LLN-OEF-004 |
| EVT-LLN-OEF-003 | QuestionMarkedAsDunno | Leerling / Oefenen | Vraag als Geen idee verwerkt | ExerciseRunId, QuestionNumber | Fouttelling en antwoordfeedback | UC-LLN-OEF-006 |
| EVT-LLN-OEF-004 | ExerciseRunCompleted | Leerling / Oefenen | Run afgerond en statistieken berekend | ExerciseRunId, CompletedAtUtc | Resultaat, geschiedenis en PDF | UC-LLN-OEF-008 |
| EVT-LLN-DEL-001 | ExerciseSharedWithFriend | Leerling / Delen | Oefening gedeeld met vriend | SharedExerciseId, FromUserId, ToUserId | Ontvangersoverzicht en systeemcommunicatie | UC-LLN-DEL-001 |
| EVT-LLN-DEL-002 | SharedExerciseStarted | Leerling / Delen | Ontvanger start gedeelde oefening | SharedExerciseId, ExerciseRunId | Eigen run ontvanger | UC-LLN-DEL-003 |
| EVT-LLN-DEL-003 | ReceivedSharedExerciseRemoved | Leerling / Delen | Ontvanger verwijdert gedeelde oefening uit overzicht | SharedExerciseId, UserId | Zichtbaarheid bijwerken | UC-LLN-DEL-005 |
| EVT-DOC-AANB-001 | TeacherLevelCreated | Docent / Oefenaanbod | Docentniveau aangemaakt | LevelId, OwnerUserId | Oefenaanbodreadmodel | UC-DOC-AANB-003 |
| EVT-DOC-AANB-002 | TeacherLevelCoreDataUpdated | Docent / Oefenaanbod | Niveaukerngegevens gewijzigd | LevelId, ChangedFields, ActorUserId | Audit en readmodel | UC-DOC-AANB-004 |
| EVT-DOC-AANB-003 | CategoryLinkedToTeacherLevel | Docent / Categorieën | Centrale categorie gekoppeld aan niveau | LevelId, CategoryId, ActorUserId | Leerlingzichtbaarheid herberekenen | UC-DOC-AANB-006 |
| EVT-DOC-AANB-004 | CentralCategoryCreatedFromTeacherFlow | Docent / Categorieën | Nieuwe centrale categorie via docentflow aangemaakt | CategoryId, ActorUserId | Categoriebeheer en audit | UC-DOC-AANB-007 |
| EVT-DOC-OEF-001 | ExerciseCreated | Docent / Oefeningen | Concrete oefening aangemaakt | ExerciseId, LevelCategoryId, ActorUserId | Oefenaanbodreadmodel | UC-DOC-OEF-002 |
| EVT-DOC-OEF-002 | ExerciseConfigurationSaved | Docent / Oefeningen | Oefeningconfiguratie opgeslagen | ExerciseId, ActorUserId | ExerciseHistory en readmodel | UC-DOC-OEF-004, UC-DOC-OEF-005 |
| EVT-DOC-OEF-003 | ExerciseActiveStateChanged | Docent / Oefeningen | Oefening actief/in onderhoud gewijzigd | ExerciseId, OldState, NewState | Leerlingzichtbaarheid herberekenen | UC-DOC-OEF-006 |
| EVT-DOC-OEF-004 | ExerciseCopiedFromOpenLevel | Docent / Oefeningen | Oefening gekopieerd vanuit open niveau | SourceExerciseId, NewExerciseId | Historie en duplicaatrelatie | UC-DOC-OEF-007 |
| EVT-DOC-OEF-005 | TeacherTestRunCleaned | Scheduler / Testen | Achtergebleven testrun opgeruimd | ExerciseRunId | Technische cleanup | UC-DOC-OEF-009 |
| EVT-DOC-SAM-001 | LevelCollaboratorAdded | Docent / Samenwerking | Collaborator aan niveau gekoppeld | LevelId, CollaboratorUserId, ActorUserId | Rechten en audit | UC-DOC-SAM-002 |
| EVT-DOC-SAM-002 | LevelCollaboratorRemoved | Docent / Samenwerking | Collaborator van niveau ontkoppeld | LevelId, CollaboratorUserId, ActorUserId | Rechten en audit | UC-DOC-SAM-003 |
| EVT-DOC-SAM-003 | TeacherLevelOwnershipTransferred | Docent / Samenwerking | Eigenaarschap overgedragen | LevelId, OldOwnerId, NewOwnerId | Eigendom en audit | UC-DOC-SAM-005 |
| EVT-DOC-LLN-001 | StudentLevelAccessGranted | Docent / Autorisaties | Leerling aan niveau gekoppeld | LevelId, StudentUserId, TeacherUserId | Toegang en systeembericht | UC-DOC-LLN-005 |
| EVT-DOC-LLN-002 | StudentLevelAccessRevoked | Docent / Autorisaties | Leerling van niveau ontkoppeld | LevelId, StudentUserId, TeacherUserId | Toegang intrekken en systeembericht | UC-DOC-LLN-006 |
| EVT-DOC-LLN-003 | StudentLevelAccessBulkUpdated | Docent / Autorisaties | Bulk autorisatiewijziging verwerkt | LevelId, ActorUserId, Summary | Toegang en communicatie | UC-DOC-LLN-007 |
| EVT-DOC-LIVE-001 | TeacherLiveViewStarted | Docent / Live meekijken | Live-meekijksessie gestart | LiveViewAuditId, ViewerUserId, ExerciseRunId | Audit en SignalR-subscription | UC-DOC-LIVE-003 |
| EVT-DOC-LIVE-002 | TeacherLiveViewEnded | Docent / Live meekijken | Live-meekijksessie beëindigd | LiveViewAuditId, EndedAtUtc, Reason | Audit afronden | UC-DOC-LIVE-007 |
| EVT-DOC-LIVE-003 | TeacherLiveConnectionLost | Docent / Live meekijken | Live-verbinding kon niet worden hersteld | LiveViewAuditId, ViewerUserId | Popup en audit | UC-DOC-LIVE-008 |
Invulregels
| Onderwerp | Regel |
|---|---|
| Eventnaam | Gebruik Engelse technische naam, bij voorkeur PascalCase. |
| Payload | Beschrijf kerngegevens; DTO-detail hoort in het Technisch Ontwerp. |
| Verwerking | Benoem of het event audit, notificatie, readmodel, realtime update of geplande verwerking raakt. |
| Geen UI-clicks | Niet elke klik is een event; registreer alleen betekenisvolle domein- of systeemgebeurtenissen. |
| Relatie-events | Relatie-events moeten herleidbaar zijn naar uitnodiging of relatie en actor/rolcontext bevatten waar relevant. |
Beheerder- en ouder-/voogdcontexten
| Event-ID | Eventnaam | Domein | Trigger | Payload / kerngegevens | Verwerking | Gebruikt in |
|---|---|---|---|---|---|---|
| EVT-BEH-CONT-001 | FrontPageContentBlockUpdated | Frontpagebeheer | Contentblok opgeslagen | Context, BlockKey, Field, OldValue, NewValue, ActorUserId | Geschiedenis en frontpage-readmodel verversen | UC-BEH-FRONT-004 |
| EVT-BEH-LINK-001 | ManagedUrlUpdated | Handige links | URL-record opgeslagen | UrlId, OldValue, NewValue, ActorUserId | URL-geschiedenis en validatiestatus | UC-BEH-LINKS-002 |
| EVT-BEH-LINK-002 | ManagedUrlDeleted | Handige links | URL-record verwijderd of soft-deleted | UrlId, ActorUserId, DeletedAtUtc | URL niet meer selecteerbaar | UC-BEH-LINKS-004 |
| EVT-BEH-POP-001 | PopupDefinitionUpdated | Popupbeheer | Popupvelden opgeslagen | PopupKey, Field, OldValue, NewValue, ActorUserId | Popupgeschiedenis | UC-BEH-POP-004 |
| EVT-BEH-SYSMSG-001 | SystemMessageTemplateUpdated | Systeemberichtenbeheer | Template opgeslagen | TemplateKey, Field, OldValue, NewValue, ActorUserId | Templategeschiedenis | UC-BEH-SYSMSG-003 |
| EVT-BEH-FEAT-001 | SiteFeatureToggleChanged | Features | Featuretoggle gewijzigd | FeatureKey, OldValue, NewValue, Reason, ActorUserId | Audit, cache/readmodel verversen | UC-BEH-FEAT-002 |
| EVT-BEH-NOT-001 | SiteNotificationCreated | Systeemnotificaties | Notificatie aangemaakt | NotificationId, Audience, DisplayRule, StartUtc, EndUtc | Publicatie/readmodel | UC-BEH-FEAT-004 |
| EVT-BEH-NOT-002 | SiteNotificationUpdated | Systeemnotificaties | Notificatie gewijzigd | NotificationId, ChangedFields, ActorUserId | Geschiedenis en runtime selectie | UC-BEH-FEAT-005 |
| EVT-BEH-NOT-003 | SiteNotificationDisabled | Systeemnotificaties | Uitschakelen gekozen | NotificationId, EndUtc, ActorUserId | Notificatie niet langer actief | UC-BEH-FEAT-006 |
| EVT-BEH-SET-001 | SystemSettingUpdated | Systeeminstellingen | Instelling opgeslagen | SettingKey, OldValue, NewValue, ActorUserId, Reason | Audit en eventueel cacheverversing | UC-BEH-SET-002 |
| EVT-BEH-SET-002 | ConfigurationCacheRefreshed | Systeeminstellingen | Cacheverversing uitgevoerd | SettingKey of Scope, Actor/System, OccurredAtUtc | Runtimeconfiguratie vernieuwd | UC-BEH-SET-003 |
| EVT-BEH-CAT-001 | CategoryIdentityUpdated | Categoriebeheer | Naam/kleur/icoon opgeslagen | CategoryId, Field, OldValue, NewValue, Reason | CategoryHistory | UC-BEH-CAT-003 |
| EVT-BEH-CAT-002 | CategoryStatusChanged | Categoriebeheer | Status gewijzigd | CategoryId, OldStatus, NewStatus, Reason | CategoryHistory | UC-BEH-CAT-004 |
| EVT-BEH-CAT-003 | CategoryMigrated | Categoriebeheer | Migratie uitgevoerd | SourceCategoryId, TargetCategoryId, ActorUserId, Reason | Koppelingen overzetten en history | UC-BEH-CAT-006 |
| EVT-BEH-MOD-001 | ExerciseModuleUpdated | Modulebeheer | Modulemetadata/status opgeslagen | ModuleId, ChangedFields, ActorUserId, Reason | Modulegeschiedenis | UC-BEH-MOD-003 t/m UC-BEH-MOD-005 |
| EVT-BEH-MOD-002 | ExerciseModuleConnectivityTested | Modulebeheer | Connectiviteitstest uitgevoerd | ModuleId, Result, Details, ActorUserId | Modulegeschiedenis/logging | UC-BEH-MOD-006 |
| EVT-BEH-MOD-003 | ExerciseModuleMigrationExecuted | Modulebeheer | Migratie uitgevoerd | SourceModuleId, TargetModuleId, Scope, ActorUserId, Reason | ExerciseHistory en migration history | UC-BEH-MOD-007 t/m UC-BEH-MOD-009 |
| EVT-BEH-DOCSUP-001 | TeacherSupportActionRecorded | Docentondersteuning | Supportactie opgeslagen | TeacherId, ActionType, ObjectId, ActorUserId, Reason | Docentcontextgeschiedenis | UC-BEH-DOCSUP-* |
| EVT-BEH-ACC-001 | UserRolesChangedByAdmin | Accountbeheer | Rollen gewijzigd | UserId, AddedRoles, RemovedRoles, ActorUserId, Reason | Account lifecycle log | UC-BEH-ACC-003, UC-BEH-ACC-004 |
| EVT-BEH-ACC-002 | UserAccountDisabledByAdmin | Accountbeheer | Account gedeactiveerd | UserId, ActorUserId, Reason | Toegang blokkeren en lifecycle log | UC-BEH-ACC-005 |
| EVT-BEH-ACC-003 | UserAccountReactivatedByAdmin | Accountbeheer | Account heractiveerd | UserId, ActorUserId, Reason | Toegang opnieuw mogelijk maken na controles | UC-BEH-ACC-006 |
| EVT-BEH-ACC-004 | UserAccountAnonymizedByAdmin | Accountbeheer | Account geanonimiseerd | UserId, ActorUserId, Reason, DependencySummary | Afhankelijke toegang opruimen | UC-BEH-ACC-007 |
| EVT-OVG-KIND-001 | GuardianStudentRelationshipDisconnected | Ouder/voogd | Ouder/voogd ontkoppelt kind | RelationshipId, GuardianUserId, StudentUserId, ActorUserId | Relatie soft-deactiveren, systeemcommunicatie | UC-OVG-KIND-005 |
| EVT-OVG-LIVE-001 | GuardianLiveViewStarted | Ouder/voogd live | Live meekijken gestart | ViewerUserId, StudentUserId, ExerciseRunId, StartedAtUtc | LiveViewAudit | UC-OVG-LIVE-003 |
| EVT-OVG-LIVE-002 | GuardianLiveViewEnded | Ouder/voogd live | Live sessie beëindigd of verbinding verloren | LiveViewAuditId, EndedAtUtc, Reason | LiveViewAudit afsluiten | UC-OVG-LIVE-007, UC-OVG-LIVE-008 |
| EVT-OVG-KIND-002 | SystemMessageCreatedForGuardianDisconnect | Ouder/voogd / communicatie | Ouder-/voogdrelatie is ontkoppeld | RecipientUserId, RelationshipId, GuardianUserId, StudentUserId | Kind ontvangt informatief systeembericht; geen privéthread en geen relatieherstelactie | UC-OVG-KIND-006 |
| EVT-OVG-RES-001 | GuardianResultDetailOpened | Ouder/voogd resultaten | Geautoriseerde ouder/voogd opent resultaatdetail | GuardianUserId, StudentUserId, ExerciseRunId | Optionele audit/telemetry voor raadpleging zonder resultaatmutatie | UC-OVG-RES-004, UC-OVG-RES-005 |
| EVT-OVG-RES-002 | GuardianPdfExportRequested | Ouder/voogd resultaten | Ouder/voogd vraagt PDF-export aan | GuardianUserId, StudentUserId, ExerciseRunId | Exportservice start tijdelijke PDF-generatie na autorisatie | UC-OVG-RES-006 |
| EVT-OVG-RES-003 | PdfExportGenerated | PDF-export | PDF-export is gegenereerd | ExerciseRunId, ExportedByUserId, GeneratedAtUtc, context Ouder/voogd | Downloadresponse leveren; geen permanent documentrecord verplicht | UC-OVG-RES-006 |
| EVT-OVG-RES-004 | GuardianAccessDenied | Ouder/voogd resultaten | Resultaat-, geschiedenis- of exportverzoek mist actuele ouder-/voogdrelatie | UserId, ChildUserId of RunId, ReasonCode | Geen resultaatdata retourneren; beperkte securitylogging waar relevant | UC-OVG-RES-007 |
| EVT-OVG-LIVE-003 | GuardianLiveProgressUpdated | Ouder/voogd live | Server-side opgeslagen voortgang is gepubliceerd naar bevoegde meekijker | LiveViewAuditId, ExerciseRunId, CurrentQuestionIndex | UI toont actuele voortgang of markeert update in browse-modus | UC-OVG-LIVE-004 |
| EVT-OVG-LIVE-004 | GuardianLiveConnectionLost | Ouder/voogd live | SignalR-verbinding valt weg | LiveViewAuditId, ViewerUserId, RetryCount | Reconnect-loop starten en gebruiker informeren | UC-OVG-LIVE-008 |
| EVT-OVG-LIVE-005 | GuardianLiveReconnectFailed | Ouder/voogd live | Reconnect faalt na maximaal vijf pogingen | LiveViewAuditId, ViewerUserId, EndedAtUtc | LiveViewAudit idempotent beëindigen en melding tonen | UC-OVG-LIVE-008 |