Meldingen
Deze map bevat de generieke usecases voor het meldingen-domein binnen OefenHub. Meldingen vormen een zelfstandig ticketdomein waarmee gebruikers technische problemen, inhoudelijke fouten, wijzigingsverzoeken en overige situaties kunnen indienen en opvolgen. Beheerders gebruiken hetzelfde onderliggende domein om meldingen te behandelen, intern te bespreken, extern met de melder te communiceren, op te lossen, te sluiten, te heropenen of door te zetten naar een docent.
De usecases in deze map zijn procesgericht. Schermdocumentatie blijft de bron voor exacte UI-opbouw, labels, tabs, knoppen, layout, voorbeelddata en visuele statusweergave. Deze usecases beschrijven vooral het gedrag achter de schermen: welke actor welke actie uitvoert, welke server-side controles plaatsvinden, welke statusovergangen ontstaan, welke entiteiten worden gelezen of gemuteerd, welke systeemberichten worden aangemaakt en welke audit- of historyregistraties verplicht zijn.
Usecases
| Usecase | Omschrijving |
|---|---|
| UC-GEN-TIC-001 — Melding indienen | Indienen van een nieuwe melding door een gebruiker, inclusief categorie, onderwerp, beschrijving, technische snapshot, eerste status, history en systeembericht. |
| UC-GEN-TIC-002 — Mijn meldingen bekijken | Bekijken van het gebruikersoverzicht met eigen meldingen, tabbladen Open, Wacht op mij en Gesloten, actie-indicatie en afgeleide gebruikersstatussen. |
| UC-GEN-TIC-003 — Melding details bekijken | Openen en raadplegen van de eigen meldingdetailpagina, inclusief tabbladen Melding, Oplossing en Discussie en verborgen beheerinformatie. |
| UC-GEN-TIC-004 — Reageren op melding | Toevoegen van een gebruikersreactie binnen de externe discussie van een eigen, nog niet functioneel gesloten melding. |
| UC-GEN-TIC-005 — Eigen melding sluiten | Sluiten van de eigen melding door de melder met verplichte reden, formele sluitregistratie, externe vastlegging en history. |
| UC-GEN-TIC-006 — Oplossing accepteren | Accepteren van een door beheer geplaatste oplossing, waardoor de bestaande sluiting definitief wordt en de melding gebruikersgericht Gesloten wordt. |
| UC-GEN-TIC-007 — Melding heropenen door gebruiker | Heropenen van een opgeloste melding binnen de heropentermijn met verplichte toelichting, reopenrequest, extern discussie-item en history. |
| UC-GEN-TIC-008 — Beheerdersoverzicht meldingen bekijken | Bekijken, zoeken, filteren en selecteren van meldingen in de beheerderwerkvoorraad zonder inhoudelijke mutatie. |
| UC-GEN-TIC-009 — Melding openen als beheerder | Openen en raadplegen van de beheerderdetailweergave met kerngegevens, melding, discussie, oplossing, doorzetinformatie, metadata en geschiedenis. |
| UC-GEN-TIC-010 — Beheerder koppelen of ontkoppelen | Koppelen of ontkoppelen van beheerders aan een melding, inclusief duplicatepreventie, verplichte ontkoppelreden, statusgevolgen en audit. |
| UC-GEN-TIC-011 — Extern bericht plaatsen | Plaatsen van externe beheercommunicatie richting de melder, eventueel met status Wachten op reactie en systeembericht naar de gebruiker. |
| UC-GEN-TIC-012 — Intern bericht plaatsen | Plaatsen van een intern beheerbericht dat alleen zichtbaar is voor beheerders en geen systeembericht of statuswijziging richting de melder veroorzaakt. |
| UC-GEN-TIC-013 — Melding oplossen of sluiten | Formeel oplossen of sluiten van een behandelbare melding door beheer met afsluitstatus, oplossingstekst, heropentermijn, systeembericht en history. |
| UC-GEN-TIC-014 — Melding heropenen door beheerder | Handmatig heropenen van een gesloten melding door beheer, inclusief bevestiging, verplichte reden, assignmentreset, status Nieuw en history. |
| UC-GEN-TIC-015 — Melding doorzetten naar docent | Doorzetten van een melding naar een docent via formele sluiting met afsluitstatus Module configuratie, systeembericht aan de melder en privébericht namens de melder. |
| UC-GEN-TIC-016 — Automatisch definitief sluiten van verlopen opgeloste meldingen | Periodieke TickerQ-verwerking die opgeloste meldingen waarvan de heropentermijn is verlopen definitief als gesloten verwerkt, inclusief veilige herhaalbaarheid en historyregistratie. |
Relevante schermdocumentatie
| Scherm / context | Relevantie |
|---|---|
| SCH-GEN-06-01 — Meldingen | Gebruikersoverzicht voor eigen meldingen, tabbladen, actie-indicatie en startpunt voor nieuwe meldingen. |
| SCH-GEN-06-02 — Melding details | Gebruikersgerichte detailcontext voor meldinggegevens, oplossing, discussie, sluiten, accepteren en heropenen. |
| SCH-GEN-07 — Melding details | Uitgewerkte detailweergave met tabbladen Melding, Oplossing en Discussie. |
| SCH-BEH-02-01 — Meldingenoverzicht beheerder | Beheerderwerkvoorraad en beheerderdetailweergave voor lezen, koppelen, discussie, oplossen, heropenen en doorzetten. |
| SCH-GEN-02 — Berichtenoverzicht | Systeemberichten over meldingaanmaak, aanvullende informatie, oplossing, sluiting en doorzetten worden via het berichtensysteem zichtbaar. |
| SCH-GEN-04 — Open bericht | Klikbare systeemberichten openen de juiste meldingcontext via EntityType = Ticket en EntityId = TicketId. |
| Ontwerpbronnen — Business rules | Centrale bron voor domeinbrede regels zoals objectscope, statusafleiding, behandelcontext en zichtbaarheid. |
| Ontwerpbronnen — Popup-register | Centrale bron voor popupkeys, popupteksten, knopacties en eventuele invoervelden. |
| Ontwerpbronnen — Popup-themes | Centrale bron voor popupvarianten, themes en herbruikbare defaultconfiguratie. |
Domeinafbakening
| Onderwerp | Afbakening |
|---|---|
| Meldingen / tickets | Worden vastgelegd in Tickets en vormen het hoofdrecord van het meldingenproces. |
| Technische snapshot | Wordt bij aanmaak vastgelegd in TicketTechnicalSnapshots en is alleen zichtbaar voor beheerders. |
| Beheerderkoppelingen | Worden vastgelegd in TicketAssignments en bepalen de actieve behandelcontext van een melding. |
| Discussie | Wordt vastgelegd in TicketDiscussionMessages met zichtbaarheid External of Internal. |
| Sluitingen en oplossingen | Worden formeel vastgelegd in TicketClosures, inclusief afsluitstatus en eventuele heropentermijn. |
| Afsluitstatussen | Worden afgeleid uit TicketResolutionTypes en beschrijven het inhoudelijke resultaat van een sluitactie. |
| Heropenverzoeken | Worden vastgelegd in TicketReopenRequests en overschrijven eerdere sluitregistraties niet. |
| Doorzetten naar docent | Wordt vastgelegd via TicketForwardedToTeacher en gebruikt daarnaast het privéberichtendomein voor het bericht aan de docent. |
| Systeemberichten | Worden gebruikt voor terugkoppeling aan de melder en verwijzen via EntityType = Ticket en EntityId = TicketId naar de melding. |
| Privéberichten | Worden alleen geraakt bij doorzetten naar docent en blijven inhoudelijk onderdeel van het berichten-domein. |
| Beheerhistory | Wordt compact vastgelegd in TicketHistory; vrije toelichtingen horen in discussie, oplossingstekst, sluitreden of heropenreden. |
Statusmodel en gebruikersstatussen
| Backendstatus / gebruikersstatus | Betekenis |
|---|---|
New / Nieuw | De melding is aangemaakt en heeft nog geen actieve beheerderkoppeling. |
InProgress / In behandeling | De melding heeft een actieve behandelcontext of is opnieuw behandelbaar na reactie of heropening. |
WaitingForUser / Wachten op reactie of Wacht op mij | Er is externe informatie gevraagd en actie van de melder is nodig. |
Closed / Gesloten | De melding is formeel gesloten via een sluitregistratie. |
| Opgelost | Geen aparte backendstatus; gebruikersgerichte afleiding uit de meest recente sluiting zolang de heropentermijn nog loopt. |
| Gesloten | Gebruikersgerichte toestand wanneer de heropentermijn is verlopen, de oplossing is geaccepteerd, de gebruiker zelf sluit of de melding definitief gesloten is. |
Procesfasen
| Fase | Usecases |
|---|---|
| Gebruiker maakt en volgt melding | UC-GEN-TIC-001, UC-GEN-TIC-002, UC-GEN-TIC-003 |
| Gebruiker reageert of sluit zelf | UC-GEN-TIC-004, UC-GEN-TIC-005 |
| Gebruiker verwerkt oplossing | UC-GEN-TIC-006, UC-GEN-TIC-007 |
| Beheerder oriënteert en neemt in behandeling | UC-GEN-TIC-008, UC-GEN-TIC-009, UC-GEN-TIC-010 |
| Beheerder communiceert | UC-GEN-TIC-011, UC-GEN-TIC-012 |
| Beheerder rondt af of corrigeert | UC-GEN-TIC-013, UC-GEN-TIC-014, UC-GEN-TIC-015 |
Bijzondere regels
| Onderwerp | Regel |
|---|---|
| Server-side controle | Frontend-zichtbaarheid van knoppen, tabs of acties is nooit voldoende autorisatie. Elke actie wordt server-side gecontroleerd op actor, rol, objectscope, ticketstatus en toegestane vervolgactie. |
| Eigen meldingen | Een reguliere gebruiker ziet en muteert uitsluitend eigen meldingen. Meldingen van andere gebruikers zijn nooit zichtbaar via de gebruikersweergave. |
| Beheerdertoegang | Beheerders mogen alle meldingen bekijken en beheren, maar gebruikersgerichte communicatie toont beheerders generiek als Beheerder. |
| Interne informatie | Interne beheerdiscussie, actieve beheerders, technische snapshots en volledige beheerhistory worden nooit zichtbaar voor de melder. |
| Actieve behandelcontext | Extern communiceren, oplossen, sluiten of doorzetten door beheer vereist een actieve behandelcontext. Een melding met status New moet eerst via beheerderkoppeling naar behandeling worden gebracht. |
| Intern bericht | Een intern beheerbericht veroorzaakt geen systeembericht naar de melder en wijzigt de ticketstatus niet. Ook status New blijft New wanneer alleen intern wordt genoteerd. |
| Extern bericht | Een extern beheerbericht is zichtbaar voor de melder. Wanneer reactie nodig is, wordt de melding WaitingForUser en ontstaat een systeembericht. |
| Sluiten door gebruiker | De gebruiker kan de eigen melding sluiten met verplichte reden. Dit gebruikt TicketClosures met resolutietype ClosedByUser en maakt geen aparte tabel aan. |
| Oplossing accepteren | Acceptatie maakt geen nieuwe sluitregistratie aan, maar beschouwt de bestaande sluiting als definitief en beëindigt de gebruikersgerichte heropenmogelijkheid. |
| Verlopen heropentermijn | Verlopen heropentermijnen worden periodiek en idempotent verwerkt via TickerQ, minimaal iedere 12 uur. Er wordt geen losse schedulerjob per melding aangemaakt. |
| Heropenen door gebruiker | Heropenen binnen de heropentermijn maakt een TicketReopenRequests-record, extern discussie-item en historyregel aan; eerdere sluitingen blijven historisch beschikbaar. |
| Heropenen door beheerder | Handmatig heropenen door beheer zet de melding terug naar New, ontkoppelt actieve beheerders en legt heropenen en ontkoppeling apart vast in history. |
| Doorzetten naar docent | Doorzetten sluit de melding formeel met afsluitstatus Module configuratie, informeert de melder via systeembericht en maakt namens de melder een regulier privébericht aan de docent aan. |
| Popups | Usecases verwijzen alleen naar PopupKey. Titel, tekst, knoppen, inputvelden en theme staan centraal in het popup-register en popup-themes. |
Diagramgebruik binnen melding-usecases
De melding-usecases gebruiken diagrammen alleen wanneer zij het proces duidelijker maken.
| Diagramtype | Gebruik |
|---|---|
| Sequence diagram | Voor interacties tussen gebruiker, beheerder, frontend, backend, database, systeemberichten en privéberichten. |
| State diagram | Voor statusobjecten zoals Tickets, afgeleide gebruikersstatussen en heropenbare sluitingen. |
| Decision flow | Voor validatievolgorde, autorisatie, statuscontroles en alternatieve routes. |
| Data lifecycle | Voor inzicht in welke records ontstaan, gewijzigd worden of bewust historisch behouden blijven. |
| UI-flowdiagram | Alleen wanneer de route tussen overzicht, detailtabs, systeembericht en vervolgactie zonder extra diagram lastig te volgen is. |