Skip to main content

6. Meldingen

6.1 Schermafbeelding

oefenhub_generiek_05_meldingen_v1_12.png

6.2 Scherm meta data

VeldWaarde
Scherm-IDSCH-GEN-06-01
SchermnaamMeldingen
Doelgroep / onderdeelGeneriek
Bronbestandoefenhub_generiek_05_meldingen_v1_12.html
MockupversieV1.12
Screenshotbestandoefenhub_generiek_05_meldingen_v1_12.png
Processtap / contextIngelogde gebruiker opent de eigen meldingenpagina vanuit het profielmenu en kan eigen meldingen bekijken, filteren op opvolgstatus of een nieuwe melding maken.
DocumentatiestatusUitgewerkt op basis van HTML-mockup, PNG-screenshot, Functioneel Ontwerp, Technisch Ontwerp, Software Requirements Specification en ondersteunende documentatie.
OpmerkingenHeader en footer vallen buiten de inhoudelijke scope van dit schermdocument, met één bewuste uitzondering: de oranje actie-indicatie op het profielicoon en het aantal achter het profielmenu-item Meldingen horen bij dit scherm omdat zij dezelfde actieteller voor meldingen gebruiken als het tabblad Wacht op mij. Alle zichtbare namen, datums, aantallen, statuslabels, onderwerpen en meldingsteksten zijn dynamische voorbeeldwaarden.
Route / URL-patroonProfielgebonden meldingenroute, functioneel bijvoorbeeld /profiel/meldingen.
Autorisatie / vereiste rol-contextIngelogde gebruiker met toegang tot de normale applicatie en tot de feature Meldingen. De gebruiker ziet uitsluitend meldingen waarvan Tickets.CreatedByUserId gelijk is aan de ingelogde gebruiker.
Primair domeinobject / hoofdentiteitTickets als hoofdentiteit, aangevuld met TicketCategories, TicketStatuses, TicketResolutionTypes, TicketDiscussionMessages, TicketClosures, TicketReopenRequests, TicketHistory, TicketTechnicalSnapshots en systeemberichten met verwijzing naar een ticket.
Gerelateerde schermen / navigatie06_melding_details, 02_berichten_overzicht, 10_profiel, 09_voorkeuren, 08_toegankelijk.
Data-karakterGebruikergebonden overzichts-, filter- en aanmaakscherm. De lijstinhoud, tabtellers, statuslabels, profielmenu-indicatie en formulierinvoer zijn dynamisch of afgeleid; technische context wordt automatisch als snapshot vastgelegd bij aanmaken van een melding.

6.3 Functionele beschrijving

Het scherm Meldingen is de gebruikersgerichte overzichtspagina voor het meldingen- en ticketsysteem van OefenHub. Een gebruiker kan hier eigen meldingen terugvinden, snel zien of een reactie nodig is en via een opvallende actie een nieuwe melding starten. Het scherm is geen beheerweergave: interne beheerdiscussie, gekoppelde beheerders, technische metadata en auditgeschiedenis zijn niet zichtbaar voor de gewone gebruiker.

De pagina bestaat functioneel uit:

  • een beperkte headeruitzondering voor de oranje actie-indicatie op het profielicoon en het aantal achter het menu-item Meldingen;
  • een breadcrumb Home > Profiel > Meldingen;
  • een introductieblok met titel Meldingen en uitleg over het meldingenproces;
  • drie informatieve toelichtingskaarten: Na versturen, Bij extra vragen en Bij een oplossing;
  • een opvallend actieblok Nieuwe melding met de knop Nieuwe melding maken;
  • de sectie Mijn meldingen met drie tabbladen die als filters werken: Open, Wacht op mij en Gesloten;
  • meldingregels met categorie, gebruikersgerichte status, datum of laatste activiteit, samenvatting en de actie Bekijk details;
  • een modal Nieuwe melding maken met categorie, onderwerp, beschrijving, annuleren en verzenden.

6.3.1 Interpretatie van mockupwaarden

Alle zichtbare waarden in de mockup zijn voorbeeldwaarden. Onderwerpen zoals Nieuwe melding over foutief antwoordmodel, datums zoals 20 mrt 2026, aantallen zoals 1 bij Wacht op mij, statuslabels en beschrijvende teksten worden in productie dynamisch bepaald op basis van de ingelogde gebruiker, ticketstatussen, categorieën, laatste activiteit en actuele actiebehoefte.

De mockup toont een situatie waarin er één melding op reactie van de gebruiker wacht. Daardoor verschijnen drie samenhangende oranje indicaties: op het profielicoon, achter het menu-item Meldingen en op het tabblad Wacht op mij. Deze drie indicaties komen uit dezelfde afleiding en mogen niet als afzonderlijke, handmatig opgeslagen tellers worden behandeld.

De algemene headernavigatie, categorienavigatie, berichtenicoon, gebruikersnaam, avatarinhoud en footer vallen buiten dit schermdocument. Alleen de meldingen-gerelateerde profielindicaties vallen binnen scope:

  • de oranje actie-indicatie op het profielicoon wanneer minimaal één eigen melding op reactie van de gebruiker wacht;
  • de oranje teller achter het profielmenu-item Meldingen;
  • het tijdelijk verbergen van deze indicaties tijdens een actieve oefenrun van een leerling.

De profielindicatie is geen algemene ongelezen-berichtenbadge. De waarde wordt afgeleid uit eigen meldingen met backendstatus WaitingForUser.

6.3.3 Tabbladen als filters

De drie tabbladen in Mijn meldingen zijn filtertabs. Er is in deze gebruikersweergave geen tabblad Alles.

TabbladFunctionele betekenisBronlogica
OpenEigen meldingen die nog in behandeling zijn en waarvoor geen expliciete reactie van de gebruiker wordt gevraagd.Tickets.CreatedByUserId = CurrentUserId en status valt binnen New of InProgress, of een gelijkwaardige open toestand zonder gebruikersactie.
Wacht op mijEigen meldingen waarbij beheer wacht op aanvullende informatie van de gebruiker.Tickets.CreatedByUserId = CurrentUserId en TicketStatuses.Code = WaitingForUser.
GeslotenEigen meldingen die formeel zijn gesloten of gebruikersgericht als opgelost/gesloten worden getoond.TicketStatuses.Code = Closed, inclusief meldingen met een geldige of verlopen heropentermijn.

Onder normale omstandigheden opent de overzichtsroute met het tabblad Open actief. Wanneer er meldingen zijn die op reactie wachten, blijft de overzichtsroute op Open kunnen openen, maar de actiebehoefte wordt zichtbaar via het profielicoon, het profielmenu-item en de teller op Wacht op mij. Wanneer een gebruiker via een specifiek systeembericht of directe detailroute naar een melding navigeert, hoort de detailpagina de relevante melding en het juiste detailtabblad te openen; dat is onderdeel van scherm 6. Melding details.

6.3.4 Actieteller voor meldingen

De actieteller voor meldingen wordt afgeleid uit het aantal eigen tickets met status WaitingForUser. De teller:

  • verschijnt op het profielicoon wanneer de waarde groter is dan 0;
  • verschijnt achter het profielmenu-item Meldingen wanneer de waarde groter is dan 0;
  • verschijnt op het tabblad Wacht op mij wanneer de waarde groter is dan 0;
  • wordt verborgen wanneer de waarde 0 is;
  • wordt opnieuw bepaald nadat een gebruiker reageert, een melding sluit, een beheerder de status wijzigt of de pagina opnieuw wordt geladen.

Bij een nieuw of gewijzigd ticket dat de status WaitingForUser krijgt, wordt de teller verhoogd of zichtbaar gemaakt. Wanneer de gebruiker reageert en de melding daardoor niet langer op reactie van de gebruiker wacht, wordt de teller verlaagd of verborgen.

6.3.5 Leerling tijdens actieve oefenrun

Voor de rolcontext Leerling worden de meldingen-gerelateerde profielindicaties tijdelijk verborgen zodra een oefenrun actief is. Dit geldt voor de oranje indicatie op het profielicoon en voor de teller achter Meldingen in het profielmenu, voor zover het profielmenu in die oefencontext bereikbaar is. De onderliggende ticketstatussen en tellers worden niet gewijzigd en de melding wordt niet als behandeld beschouwd.

Na afronden van de oefenrun, of wanneer de leerling een lopende run onderbreekt door naar een andere pagina te gaan, worden de indicaties opnieuw bepaald op basis van de actuele WaitingForUser-meldingen. Deze regel is specifiek bedoeld om afleiding tijdens het oefenen te beperken en verandert niets aan de autorisatie of het meldingenproces voor andere rollen.

6.3.6 Nieuwe melding maken

De knop Nieuwe melding maken is bewust prominenter vormgegeven dan de overige pagina-acties. De actie staat in een apart actieblok rechts naast het introductieblok en opent een modal. Het formulier staat dus niet standaard volledig uitgeklapt op de pagina.

De modal bevat minimaal:

  • titel Nieuwe melding maken;
  • korte instructietekst;
  • categorieveld met de opties Technisch probleem, Inhoudelijke fout, Wijziging aanvragen en Overig;
  • tekstveld Onderwerp;
  • tekstveld Beschrijving;
  • hinttekst bij de beschrijving;
  • actie Annuleren;
  • actie Verstuur melding;
  • sluitknop rechtsboven.

De gebruiker kiest geen prioriteit. Bijlagen worden in deze versie niet aangeboden. Technische context zoals browser, huidige pagina, IP-adres, rolmomentopname en laatst-gezien-informatie wordt automatisch onder water vastgelegd in de technische snapshot en niet als handmatige invoer aan de gebruiker getoond.

Na succesvol versturen wordt een nieuw ticket aangemaakt, gekoppeld aan de ingelogde gebruiker en voorzien van categorie, onderwerp, beschrijving, status en technische snapshot. Daarnaast wordt een systeembericht aangemaakt met een functionele verwijzing naar de nieuwe melding, zodat de gebruiker de melding ook vanuit het berichtenoverzicht kan openen.

6.3.7 Meldingregels en detailnavigatie

Elke meldingregel toont de eigen melding in compacte vorm. Functioneel bevat een meldingregel minimaal:

  • meldingsnummer of functionele ticketreferentie;
  • onderwerp;
  • categorie;
  • gebruikersgerichte status;
  • laatste activiteit of relevante datum;
  • korte status- of activiteitsuitleg;
  • actie Bekijk details.

De actie Bekijk details opent de detailpagina van precies die melding. De server moet controleren dat de melding van de ingelogde gebruiker is of dat de gebruiker beheerder is in een beheerroute. In deze gebruikersweergave is beheerderinzage niet leidend: een reguliere gebruiker mag geen melding van een andere gebruiker openen door een URL of identifier te manipuleren.

6.3.8 Gebruikersgerichte statussen

De database gebruikt backendstatussen zoals New, InProgress, WaitingForUser en Closed. De gebruikersinterface toont Nederlandstalige, gebruikersgerichte labels. WaitingForUser wordt binnen deze gebruikerscontext functioneel als actiebehoefte voor de gebruiker behandeld en hoort bij Wacht op mij. Closed kan gebruikersgericht als Opgelost of Gesloten worden weergegeven afhankelijk van de meest recente sluitregistratie en de heropentermijn.

Opgelost is geen aparte backendstatus. Deze toestand wordt afgeleid uit de meest recente formele sluiting in TicketClosures en de bijbehorende ReopenDeadlineUtc. Zolang de heropentermijn functioneel relevant is, kan de detailpagina de melding als opgelost en heropenbaar tonen. Na acceptatie door de gebruiker of na het verstrijken van de heropentermijn wordt de melding gebruikersgericht gesloten.

6.3.9 Leegstaten, foutstaten en disabled states

Wanneer een filtertab geen meldingen bevat, toont de pagina een duidelijke lege staat binnen het tabpaneel. De lege staat moet aangeven dat er binnen die filterselectie geen eigen meldingen beschikbaar zijn. Technische identifiers worden niet getoond.

De knop Nieuwe melding maken is alleen beschikbaar wanneer de feature Meldingen sitebreed actief is en de gebruiker is ingelogd. Als de feature is uitgeschakeld, hoort de route niet beschikbaar te zijn of een nette functionele melding te tonen volgens het generieke featuretogglegedrag.

De actie Verstuur melding is alleen uitvoerbaar wanneer een geldige categorie is geselecteerd en de verplichte velden Onderwerp en Beschrijving voldoen aan de validatieregels. Ongeldige invoer moet in de modal worden teruggekoppeld zonder het ticket aan te maken.

6.4 UI-elementen en velddefinities

Element-IDTypeGUI-verwijzingOmschrijvingZichtbaar labelOpmerkingTechnische naam
SCH-GEN-06-01-H01Field / badgeHeader — profielicoonOranje actie-indicatie op het profielicoon wanneer een of meer eigen meldingen op reactie van de gebruiker wachten.Dynamisch aantalEnige profielicoononderdeel binnen scope. Niet tonen bij 0 of tijdens actieve leerling-oefenrun.TicketActionProfileBadge
SCH-GEN-06-01-H02Field / badgeProfielmenu — MeldingenTeller achter het profielmenu-item Meldingen.Dynamisch aantalGebruikt dezelfde afleiding als het tabblad Wacht op mij. Niet tonen bij 0 of tijdens actieve leerling-oefenrun.TicketActionMenuCount
SCH-GEN-06-01-N01NavigationBreadcrumbNavigatiepad naar de pagina.Home > Profiel > MeldingenHeader- en footernavigatie vallen verder buiten scope.TicketsBreadcrumb
SCH-GEN-06-01-S01SectionIntroblokHoofdintroductie van de meldingenpagina.MeldingenLegt uit dat gebruiker eigen meldingen kan maken en volgen.TicketsIntroSection
SCH-GEN-06-01-F01FieldIntroblok — titelPaginatitel.MeldingenRead-only schermlabel.TicketsPageTitle
SCH-GEN-06-01-F02FieldIntroblok — toelichtingUitleg over melding maken, systeemberichten en opvolging.Hier meld je een probleem en volg je je eigen meldingen.Tekst is schermuitleg; zichtbare voorbeeldformulering mag contentmatig beheerd worden als dat in contentbeheer wordt ondersteund.TicketsIntroText
SCH-GEN-06-01-S02SectionIntroblok — uitlegkaartenDrie korte proceskaarten.Na versturen / Bij extra vragen / Bij een oplossingInformatief; beschrijft de lifecycle van een gebruikersmelding.TicketProcessGuideSection
SCH-GEN-06-01-F03FieldUitlegkaartUitleg na indienen van een melding.Na versturenGeen invoer.TicketGuideAfterSubmitText
SCH-GEN-06-01-F04FieldUitlegkaartUitleg wanneer beheer aanvullende informatie vraagt.Bij extra vragenVerwijst functioneel naar externe discussie en systeembericht.TicketGuideWaitingForUserText
SCH-GEN-06-01-F05FieldUitlegkaartUitleg wanneer beheer een oplossing plaatst.Bij een oplossingVerwijst functioneel naar oplossing, systeembericht en heropenmogelijkheid.TicketGuideResolutionText
SCH-GEN-06-01-S03SectionActieblok rechtsProminent blok voor het starten van een nieuwe melding.Nieuwe meldingStaat bewust los van de filterlijst en valt visueel sterker op.NewTicketActionCard
SCH-GEN-06-01-B01ButtonActieblok rechtsOpent de modal voor het aanmaken van een nieuwe melding.Nieuwe melding makenAlleen beschikbaar voor ingelogde gebruikers wanneer de meldingenfeature actief is.OpenCreateTicketModalButton
SCH-GEN-06-01-S04SectionMijn meldingenLijstsectie met filtertabs voor eigen meldingen.Mijn meldingenToont uitsluitend eigen meldingen van de ingelogde gebruiker.MyTicketsSection
SCH-GEN-06-01-F06FieldMijn meldingen — toelichtingUitleg bij de filtertabs.Je ziet hier alleen je eigen meldingen.Mag geen tabblad Alles suggereren.MyTicketsIntroText
SCH-GEN-06-01-TAB01TABFiltertabsFiltert de meldingenlijst op gebruikersgerichte statusgroep.Open / Wacht op mij / GeslotenGeen los zoek- of alles-tabblad in deze gebruikersweergave.TicketFilterTabs
SCH-GEN-06-01-TAB02TABTab OpenToont eigen open meldingen zonder actiebehoefte voor de gebruiker.OpenNormale standaardtab bij openen van de overzichtsroute.OpenTicketsTab
SCH-GEN-06-01-TAB03TABTab Wacht op mijToont eigen meldingen waarvoor beheer wacht op reactie van de gebruiker.Wacht op mijActietab; toont teller wanneer waarde groter is dan 0.WaitingForMeTicketsTab
SCH-GEN-06-01-F07Field / badgeTab Wacht op mijAantal eigen meldingen met status WaitingForUser.Dynamisch aantalZelfde bronlogica als profielicoon en profielmenu-indicatie.WaitingForMeTabCount
SCH-GEN-06-01-TAB04TABTab GeslotenToont eigen gesloten en gebruikersgericht opgeloste meldingen.GeslotenBevat ook meldingen met heropenmogelijkheid zolang de detailpagina die toestand toont.ClosedTicketsTab
SCH-GEN-06-01-T01Table / listMeldinglijstHerhalende lijst met meldingregels binnen het actieve filtertabblad.MeldingregelsDynamische collectie op basis van filter en gebruiker.TicketList
SCH-GEN-06-01-F08FieldMeldingregel — nummerMensleesbare ticketreferentie.MeldingsnummerFunctioneel vereist voor verwijzingen, zoeken en support; mag compact worden getoond.TicketNumber
SCH-GEN-06-01-F09FieldMeldingregel — onderwerpOnderwerp van de melding.Dynamisch onderwerpKomt uit gebruikersinvoer bij aanmaken van de melding.TicketSubject
SCH-GEN-06-01-F10FieldMeldingregel — datumDatum of laatste activiteit van de melding.Dynamische datumWeergave op basis van UTC-bronwaarde in lokale tijdzone.TicketLastActivityDisplayDate
SCH-GEN-06-01-F11FieldMeldingregel — categorieCategorie van de melding.Technisch probleem / Inhoudelijke fout / Wijziging aanvragen / OverigAfgeleid uit TicketCategories.TicketCategoryLabel
SCH-GEN-06-01-F12FieldMeldingregel — statusGebruikersgericht statuslabel.Nieuw / In behandeling / Wachten op reactie / Opgelost / GeslotenAfgeleid uit backendstatus, sluitregistratie en heropentermijn.TicketUserStatusLabel
SCH-GEN-06-01-F13FieldMeldingregel — statusuitlegKorte toelichting bij actuele toestand.Dynamische statusuitlegSamengesteld uit status en laatste relevante activiteit; geen vaste mockuptekst.TicketStatusSummaryText
SCH-GEN-06-01-A01ActionMeldingregelOpent de detailpagina van de gekozen melding.Bekijk detailsServer-side controle op eigenaar van de melding blijft verplicht.ViewTicketDetailsAction
SCH-GEN-06-01-M01MessageTabpaneelLege staat wanneer actieve tab geen eigen meldingen bevat.Geen meldingen binnen deze selectieTekst afhankelijk van actieve tab.TicketEmptyStateMessage
SCH-GEN-06-01-MOD01MODModal Nieuwe melding makenModal voor het aanmaken van een nieuw ticket.Nieuwe melding makenWordt geopend via de prominente knop.CreateTicketModal
SCH-GEN-06-01-FORM01FORMModalformulierFormulier met categorie, onderwerp en beschrijving.Nieuwe melding makenGeen prioriteitsveld en geen bijlagen.CreateTicketForm
SCH-GEN-06-01-F14FieldModal — categorieKeuze waar de melding vooral over gaat.Waar gaat het vooral om?Verplicht; gesloten waardelijst.CreateTicketCategory
SCH-GEN-06-01-F15FieldModal — onderwerpKorte samenvatting van de melding.OnderwerpVerplicht.CreateTicketSubject
SCH-GEN-06-01-F16FieldModal — beschrijvingVolledige omschrijving van de melding.BeschrijvingVerplicht; vrije tekst, veilig verwerken.CreateTicketDescription
SCH-GEN-06-01-F17FieldModal — hintInstructie bij het beschrijvingsveld.Tip: beschrijf kort wat je deed, wat je verwachtte en wat er gebeurde.Informeert dat technische context automatisch wordt meegenomen.CreateTicketDescriptionHint
SCH-GEN-06-01-A02ActionModal — sluitenSluit de modal zonder opslaan.SluitenKruis rechtsboven.CloseCreateTicketModalAction
SCH-GEN-06-01-B02ButtonModal — footerAnnuleert het maken van de melding en sluit de modal.AnnulerenMaakt geen ticket aan.CancelCreateTicketButton
SCH-GEN-06-01-B03ButtonModal — footerValideert en verstuurt de melding.Verstuur meldingMaakt bij geldige invoer een ticket, snapshot, historyregel en systeembericht aan.SubmitCreateTicketButton
SCH-GEN-06-01-S05SectionTechnische contextNiet-zichtbare technische snapshot bij aanmaken van een melding.Niet zichtbaarWordt automatisch gevuld en niet getoond aan de gebruiker.TicketTechnicalSnapshotCapture

6.5 Waardelagen

Element-IDGUI-verwijzingZichtbaar labelTechnische naamDatabronWaardebronDatatypeBewerkbaarValidatie / regel
SCH-GEN-06-01-H01Header — profielicoonDynamisch aantalTicketActionProfileBadgeTickets, TicketStatusesBerekend aantal eigen tickets met Status.Code = WaitingForUserInteger displayNeeTonen wanneer waarde groter is dan 0; verbergen bij 0 en tijdelijk verbergen tijdens actieve oefenrun van een leerling.
SCH-GEN-06-01-H02Profielmenu — MeldingenDynamisch aantalTicketActionMenuCountTickets, TicketStatusesZelfde berekening als profielbadgeInteger displayNeeWaarde moet gelijk zijn aan teller op Wacht op mij; geen aparte opslag.
SCH-GEN-06-01-N01BreadcrumbHome > Profiel > MeldingenTicketsBreadcrumbRouteconfiguratieAfgeleid uit huidige routeNavigation labelNeeMag geen technische identifiers tonen.
SCH-GEN-06-01-S01IntroblokMeldingenTicketsIntroSectionCodegedreven layout, eventueel ContentBlocks voor tekstWeergavetekst en schermstructuurCompositeNeeStructuur blijft codegedreven.
SCH-GEN-06-01-F01Introblok — titelMeldingenTicketsPageTitleCodegedreven schermlabel of contentblokWeergavetekstStringNeeGebruikersgerichte domeinnaam is Meldingen.
SCH-GEN-06-01-F02Introblok — toelichtingUitlegtekstTicketsIntroTextCodegedreven schermtekst of contentblokWeergavetekstStringNeeTekst mag niet suggereren dat de gebruiker beheerdercommunicatie buiten de melding om kan voeren.
SCH-GEN-06-01-S02UitlegkaartenNa versturen / Bij extra vragen / Bij een oplossingTicketProcessGuideSectionCodegedreven schermtekst of contentblokkenWeergavetekstCompositeNeeInformatief; geen mutatie.
SCH-GEN-06-01-S03Actieblok rechtsNieuwe meldingNewTicketActionCardFeaturetoggle en gebruikerscontextRuntime stateCompositeNeeBlok alleen tonen wanneer de meldingenfeature beschikbaar is voor de ingelogde gebruiker.
SCH-GEN-06-01-B01Nieuwe melding makenNieuwe melding makenOpenCreateTicketModalButtonUI-stateUser actionActionJaOpent modal; maakt nog geen ticket aan.
SCH-GEN-06-01-S04Mijn meldingenMijn meldingenMyTicketsSectionTicketsGebruikergebonden ticketqueryCollection contextNeeQuery moet altijd CreatedByUserId = CurrentUserId afdwingen voor eindgebruikers.
SCH-GEN-06-01-TAB01FiltertabsOpen / Wacht op mij / GeslotenTicketFilterTabsUI-state + ticketqueryRuntime filterEnumJaAlleen toegestane tabwaarden; geen Alles in gebruikersweergave.
SCH-GEN-06-01-TAB02Tab OpenOpenOpenTicketsTabTickets.StatusId, TicketStatuses.CodeAfgeleide filterselectieEnum/filterJaStandaardtab bij overzichtsroute; toont geen tickets die expliciet op reactie van gebruiker wachten.
SCH-GEN-06-01-TAB03Tab Wacht op mijWacht op mijWaitingForMeTicketsTabTickets.StatusId, TicketStatuses.CodeAfgeleide filterselectieEnum/filterJaToont alleen eigen tickets met WaitingForUser.
SCH-GEN-06-01-F07Teller Wacht op mijDynamisch aantalWaitingForMeTabCountTickets, TicketStatusesBerekendIntegerNeeTeller tonen bij waarde groter dan 0; zelfde waarde als profielindicatie.
SCH-GEN-06-01-TAB04Tab GeslotenGeslotenClosedTicketsTabTickets, TicketClosures, TicketResolutionTypesAfgeleide filterselectieEnum/filterJaToont gesloten en gebruikersgericht opgeloste meldingen; heropenmogelijkheid wordt op detailpagina bepaald.
SCH-GEN-06-01-T01MeldinglijstMeldingregelsTicketListTickets, TicketCategories, TicketStatuses, TicketClosuresGefilterde gebruikergebonden queryCollectionNeeAlleen eigen meldingen; sortering bij voorkeur op LastActivityAtUtc aflopend.
SCH-GEN-06-01-F08Meldingregel — nummerMeldingsnummerTicketNumberTickets.TicketNumberDatabasewaardeStringNeeUniek en mensleesbaar; geschikt voor supportverwijzingen.
SCH-GEN-06-01-F09Meldingregel — onderwerpDynamisch onderwerpTicketSubjectTickets.SubjectUser input bij aanmakenStringNeeVerplicht bij aanmaken; veilig encoden bij weergave.
SCH-GEN-06-01-F10Meldingregel — datumDynamische datumTicketLastActivityDisplayDateTickets.LastActivityAtUtc of relevante ticketdatumDatabasewaarde, lokaal geformatteerdDateTime displayNeeUTC-bronwaarden lokaal tonen.
SCH-GEN-06-01-F11Meldingregel — categorieCategorieTicketCategoryLabelTicketCategories.Name, TicketCategories.CodeLookupwaardeString/enumNeeAlleen actieve of historisch gebruikte categorieën tonen; geen vrije tekstvarianten.
SCH-GEN-06-01-F12Meldingregel — statusStatuslabelTicketUserStatusLabelTicketStatuses.Code, TicketClosures.ReopenDeadlineUtc, TicketResolutionTypesAfgeleid labelString/enumNeeOpgelost is afgeleid en geen aparte backendstatus.
SCH-GEN-06-01-F13Meldingregel — statusuitlegDynamische statusuitlegTicketStatusSummaryTextTickets, laatste externe TicketDiscussionMessages, statuscodeBerekend of samengesteldStringNeeGeen interne beheerinformatie tonen; veilig encoden.
SCH-GEN-06-01-A01Bekijk detailsBekijk detailsViewTicketDetailsActionTickets.Id, routeconfiguratieUser actionActionJaServer-side eigenaarscontrole verplicht; detailpagina mag geen melding van andere gebruiker tonen.
SCH-GEN-06-01-M01Lege staatGeen meldingen binnen deze selectieTicketEmptyStateMessageGefilterde ticketqueryAfgeleid uit lege collectieStringNeeToon duidelijke lege staat per actieve tab.
SCH-GEN-06-01-MOD01Modal Nieuwe melding makenNieuwe melding makenCreateTicketModalUI-stateRuntime stateModalJaOpenen/sluiten mag geen ticketdata opslaan.
SCH-GEN-06-01-FORM01ModalformulierNieuwe melding makenCreateTicketFormGebruikersinput + technische contextUser inputFormJaVerplichte velden valideren vóór opslag.
SCH-GEN-06-01-F14CategorieWaar gaat het vooral om?CreateTicketCategoryTicketCategories.Code, TicketCategories.NameLookupselectieEnum/GUIDJaVerplicht; toegestane waarden: technisch probleem, inhoudelijke fout, wijziging aanvragen, overig.
SCH-GEN-06-01-F15OnderwerpOnderwerpCreateTicketSubjectGebruikersinputUser inputStringJaVerplicht; opslaan naar Tickets.Subject; server-side lengte en lege waarde valideren.
SCH-GEN-06-01-F16BeschrijvingBeschrijvingCreateTicketDescriptionGebruikersinputUser inputTextJaVerplicht; opslaan naar Tickets.Description; veilig verwerken en encoden.
SCH-GEN-06-01-F17Beschrijving hintTiptekstCreateTicketDescriptionHintCodegedreven tekst of contentblokWeergavetekstStringNeeMoet duidelijk maken dat technische context automatisch wordt meegenomen.
SCH-GEN-06-01-A02Sluitknop modalSluitenCloseCreateTicketModalActionUI-stateUser actionActionJaSluit modal zonder opslag.
SCH-GEN-06-01-B02AnnulerenAnnulerenCancelCreateTicketButtonUI-stateUser actionActionJaSluit modal zonder ticket, snapshot of systeembericht.
SCH-GEN-06-01-B03Verstuur meldingVerstuur meldingSubmitCreateTicketButtonTickets, TicketTechnicalSnapshots, TicketHistory, SystemMessagesUser input + automatische contextActionJaAlleen verwerken bij geldige categorie, onderwerp en beschrijving; resultaat moet atomair worden opgeslagen.
SCH-GEN-06-01-S05Technische snapshotNiet zichtbaarTicketTechnicalSnapshotCaptureBrowser/requestcontext, huidige route, rolcontext, gebruikerscontextAutomatisch afgeleidObjectNeeWordt bij aanmaken vastgelegd; niet toonbaar in gebruikersoverzicht.

6.6 Schermtrace naar SRS en acceptatiecriteria

De onderstaande tabel legt per schermrequirement de koppeling naar het centrale schermrequirements-trace-register, SRS-requirements en acceptatiecriteria vast. De normatieve requirementtekst staat in de SRS; dit schermdocument beschrijft alleen de lokale schermcontext.

Deze tabel bevat alleen schermtraceability. De normatieve requirementtekst en acceptatiecriteria staan centraal in de SRS.

SchermrequirementDektSchermcontext
REQ-SCH-GEN-06-01-01SRS-AUTH-001
SRS-TIC-007
AC-AUTH-001
AC-TIC-007
Voor iedere ingelogde gebruiker een gebruikersgerichte pagina Meldingen tonen waarop uitsluitend eigen meldingen zichtbaar zijn
REQ-SCH-GEN-06-01-02SRS-AUTH-001
SRS-TIC-002
AC-AUTH-001
AC-TIC-002
Server-side afdwingen dat een eindgebruiker alleen tickets kan zien waarvan CreatedByUserId gelijk is aan de ingelogde gebruiker
REQ-SCH-GEN-06-01-03SRS-AUTH-001
SRS-TIC-002
AC-AUTH-001
AC-TIC-002
De meldingenpagina beschikbaar maken via het profielmenu wanneer de feature Meldingen actief is voor de ingelogde gebruiker
REQ-SCH-GEN-06-01-04SRS-AUTH-004
SRS-TIC-002
AC-AUTH-004
AC-TIC-002
De breadcrumb Home > Profiel > Meldingen tonen zonder technische identifiers
REQ-SCH-GEN-06-01-05SRS-TIC-002
AC-TIC-002
De algemene header en footer buiten de functionele verwerking van dit scherm houden, behalve de meldingen-gerelateerde actie-indicatie op het profielicoon en het profielmenu-item
REQ-SCH-GEN-06-01-06SRS-TIC-002
AC-TIC-002
Een oranje actie-indicatie op het profielicoon tonen wanneer minimaal één eigen melding op reactie van de gebruiker wacht
REQ-SCH-GEN-06-01-07SRS-RDM-007
SRS-RDM-002
SRS-RDM-001
SRS-TIC-002
AC-RDM-007
AC-RDM-002
AC-RDM-001
AC-TIC-002
Achter het profielmenu-item Meldingen hetzelfde aantal tonen als het aantal eigen meldingen met status WaitingForUser
REQ-SCH-GEN-06-01-08SRS-RDM-007
SRS-RDM-002
SRS-RDM-001
SRS-TIC-002
AC-RDM-007
AC-RDM-002
AC-RDM-001
AC-TIC-002
De teller op het tabblad Wacht op mij baseren op dezelfde berekening als de profielicoon- en profielmenu-indicatie
REQ-SCH-GEN-06-01-09SRS-RDM-007
SRS-RDM-002
SRS-RDM-001
SRS-TIC-002
AC-RDM-007
AC-RDM-002
AC-RDM-001
AC-TIC-002
Het systeem mag de actie-indicatie voor meldingen niet als losse teller opslaan, maar deze afleiden uit Tickets.CreatedByUserId = CurrentUserId en TicketStatuses.Code = WaitingForUser
REQ-SCH-GEN-06-01-10SRS-TIC-002
AC-TIC-002
De meldingen-gerelateerde profielindicaties tijdelijk verbergen wanneer een leerling een actieve oefenrun uitvoert
REQ-SCH-GEN-06-01-11SRS-RDM-006
SRS-RDM-007
SRS-RDM-002
SRS-RDM-001
SRS-TIC-002
AC-RDM-006
AC-RDM-007
AC-RDM-002
AC-RDM-001
AC-TIC-002
Het tijdelijk verbergen van meldingen-indicaties tijdens een actieve oefenrun mag de onderliggende ticketstatus, leesstatus of actieteller niet wijzigen
REQ-SCH-GEN-06-01-12SRS-TIC-002
AC-TIC-002
Na afronden of onderbreken van een actieve leerling-oefenrun het systeem de meldingen-indicaties opnieuw bepalen op basis van de actuele ticketstatussen
REQ-SCH-GEN-06-01-13SRS-TIC-007
AC-TIC-007
Op de meldingenpagina drie filtertabs ondersteunen: Open, Wacht op mij en Gesloten
REQ-SCH-GEN-06-01-14SRS-TIC-002
AC-TIC-002
Het systeem mag in de gebruikersweergave geen tabblad Alles aanbieden voor meldingen
REQ-SCH-GEN-06-01-15SRS-TIC-002
AC-TIC-002
Het tabblad Open standaard actief zijn wanneer de gebruiker de overzichtsroute zonder specifieke filter- of detailcontext opent
REQ-SCH-GEN-06-01-16SRS-TIC-007
AC-TIC-007
Het tabblad Open eigen meldingen tonen die nog niet functioneel gesloten zijn en waarvoor geen expliciete reactie van de gebruiker wordt gevraagd
REQ-SCH-GEN-06-01-17SRS-TIC-007
AC-TIC-007
Het tabblad Wacht op mij uitsluitend eigen meldingen tonen met backendstatus WaitingForUser
REQ-SCH-GEN-06-01-18SRS-TIC-007
AC-TIC-007
Het tabblad Gesloten eigen meldingen tonen die formeel gesloten zijn of gebruikersgericht als opgelost/gesloten worden gepresenteerd
REQ-SCH-GEN-06-01-19SRS-TIC-004
AC-TIC-004
Gebruikersgerichte statuslabels afleiden uit backendstatussen, sluitregistraties en heropentermijnen
REQ-SCH-GEN-06-01-20SRS-TIC-003
AC-TIC-003
Het systeem mag Opgelost niet als aparte backendstatus behandelen; deze toestand wordt afgeleid uit de meest recente TicketClosures-registratie en ReopenDeadlineUtc
REQ-SCH-GEN-06-01-21SRS-TIC-002
AC-TIC-002
Elke meldingregel minimaal een meldingsnummer of ticketreferentie, onderwerp, categorie, gebruikersgerichte status, relevante datum of laatste activiteit, statusuitleg en de actie Bekijk details bevatten
REQ-SCH-GEN-06-01-22SRS-TIC-002
AC-TIC-002
Meldingregels standaard sorteren op relevante activiteit, bij voorkeur LastActivityAtUtc aflopend
REQ-SCH-GEN-06-01-23SRS-RDM-007
SRS-RDM-002
SRS-RDM-001
SRS-TIC-002
AC-RDM-007
AC-RDM-002
AC-RDM-001
AC-TIC-002
Alle zichtbare ticketwaarden dynamisch bepalen en mag onderwerpen, datums, aantallen, statuslabels of voorbeeldteksten uit de mockup niet hardcoded gebruiken als productiegegevens
REQ-SCH-GEN-06-01-24SRS-TIC-002
AC-TIC-002
De actie Bekijk details de detailpagina openen van de geselecteerde eigen melding
REQ-SCH-GEN-06-01-25SRS-AUTH-001
SRS-TIC-002
AC-AUTH-001
AC-TIC-002
De detailroute server-side controleren of de ingelogde eindgebruiker eigenaar is van de melding voordat details worden getoond
REQ-SCH-GEN-06-01-26SRS-TIC-002
AC-TIC-002
Per filtertab een duidelijke lege staat tonen wanneer er geen meldingen binnen die selectie beschikbaar zijn
REQ-SCH-GEN-06-01-27SRS-TIC-001
AC-TIC-001
De knop Nieuwe melding maken visueel prominent beschikbaar zijn als primaire actie op de meldingenpagina
REQ-SCH-GEN-06-01-28SRS-TIC-001
AC-TIC-001
De actie Nieuwe melding maken een modal openen en mag bij openen nog geen ticket aanmaken
REQ-SCH-GEN-06-01-29SRS-TIC-001
AC-TIC-001
De modal Nieuwe melding maken minimaal de velden categorie, onderwerp en beschrijving bevatten
REQ-SCH-GEN-06-01-30SRS-TIC-007
AC-TIC-007
De categoriekeuze verplicht zijn en uitsluitend waarden uit de vaste TicketCategories-waardelijst toestaan
REQ-SCH-GEN-06-01-31SRS-TIC-001
AC-TIC-001
De toegestane categorieën voor een nieuwe melding minimaal Technisch probleem, Inhoudelijke fout, Wijziging aanvragen en Overig zijn
REQ-SCH-GEN-06-01-32SRS-TIC-001
AC-TIC-001
De velden Onderwerp en Beschrijving verplicht zijn bij het versturen van een nieuwe melding
REQ-SCH-GEN-06-01-33SRS-TIC-002
AC-TIC-002
De gebruiker mag bij het aanmaken van een melding geen prioriteit kiezen
REQ-SCH-GEN-06-01-34SRS-TIC-002
AC-TIC-002
De gebruiker mag in deze versie geen bijlagen toevoegen aan een melding
REQ-SCH-GEN-06-01-35SRS-TIC-002
AC-TIC-002
Bij het aanmaken van een melding het systeem automatisch technische context vastleggen in een tickettechnical-snapshot zonder deze als handmatige invoer aan de gebruiker te tonen
REQ-SCH-GEN-06-01-36SRS-TIC-007
AC-TIC-007
De technische snapshot minimaal kunnen aansluiten op browser/requestcontext, huidige pagina, rolmomentopname en andere generieke supportinformatie die in het ticketdomein wordt vastgelegd
REQ-SCH-GEN-06-01-37SRS-TIC-002
AC-TIC-002
Na geldige verzending het systeem een Tickets-record aanmaken met gebruiker, categorie, onderwerp, beschrijving, status, aanmaakmoment en laatste activiteit
REQ-SCH-GEN-06-01-38SRS-TIC-002
AC-TIC-002
Na geldige verzending het systeem een ticketgeschiedenisregel vastleggen voor het aanmaken van de melding
REQ-SCH-GEN-06-01-39SRS-TIC-001
AC-TIC-001
Na geldige verzending het systeem een systeembericht aanmaken met een functionele verwijzing naar de nieuwe melding
REQ-SCH-GEN-06-01-40SRS-TIC-002
AC-TIC-002
Systeemberichten uit het meldingenproces verwijzen via een domeinverwijzing naar het ticket en niet afhankelijk zijn van een vrij opgeslagen URL
REQ-SCH-GEN-06-01-41SRS-NFR-AUD-001
SRS-TIC-007
AC-NFR-AUD-001
AC-TIC-007
De actie Annuleren en de sluitknop van de modal de modal sluiten zonder ticket, snapshot, historyregel of systeembericht aan te maken
REQ-SCH-GEN-06-01-42SRS-TIC-002
AC-TIC-002
Ongeldige invoer in de modal aan de gebruiker worden teruggekoppeld zonder gedeeltelijke ticketregistratie
REQ-SCH-GEN-06-01-43SRS-NFR-AUD-001
SRS-TIC-003
AC-NFR-AUD-001
AC-TIC-003
Ticketaanmaak, technische snapshot, historyregel en systeembericht bij succesvolle verzending als samenhangende verwerking behandelen, zodat geen half aangemaakte melding ontstaat
REQ-SCH-GEN-06-01-44SRS-NFR-AUD-001
SRS-TIC-003
AC-NFR-AUD-001
AC-TIC-003
De gebruiker mag in de meldingenpagina geen interne beheerdiscussie, beheerderkoppelingen, technische metadata of beheerhistory zien
REQ-SCH-GEN-06-01-45SRS-TIC-003
AC-TIC-003
Externe ticketcommunicatie die voor de gebruiker zichtbaar is, via de meldingdetailpagina lopen en niet als vrije chat met individuele beheerders worden aangeboden
REQ-SCH-GEN-06-01-46SRS-TIC-002
AC-TIC-002
Status- en toelichtingsteksten in de meldinglijst veilig worden weergegeven en mogen geen actieve HTML of scripts renderen
REQ-SCH-GEN-06-01-47SRS-TIC-002
AC-TIC-002
Datum- en tijdwaarden uit UTC-bronnen lokaal en consistent voor de gebruiker worden weergegeven
REQ-SCH-GEN-06-01-48SRS-AUTH-004
SRS-TIC-002
AC-AUTH-004
AC-TIC-002
Het systeem mag technische identifiers zoals Tickets.Id, StatusId, CategoryId of GUID-waarden niet als herkenningsinformatie in de gebruikerslijst tonen

6.7 Technische koppeling

Voor technische uitwerking zijn vooral relevant: