7. Melding details
7.1 Melding
7.1.1 Schermafbeelding

7.1.2 Scherm meta data
| Veld | Waarde |
|---|---|
| Scherm-ID | SCH-GEN-07-01 |
| Schermnaam | Meldingen — melding details — Melding |
| Doelgroep / onderdeel | Generiek |
| Bronbestand | oefenhub_generiek_05b_melding_details_v1_7.html |
| Mockupversie | V1.7 |
| Screenshotbestand | oefenhub_generiek_05b_melding_details_v1_7.png |
| Processtap / context | Ingelogde gebruiker opent vanuit het meldingenoverzicht of vanuit een systeembericht de detailpagina van een eigen melding en bekijkt het tabblad Melding. |
| Documentatiestatus | Uitgewerkt op basis van HTML-mockup, PNG-screenshot, Functioneel Ontwerp, Technisch Ontwerp, Software Requirements Specification en ondersteunende documentatie. |
| Opmerkingen | Header en footer vallen buiten de scope van dit schermdocument. De oranje profielmenu-indicatie is onderdeel van scherm 06 Meldingen en wordt hier niet opnieuw uitgewerkt. De oranje indicatie op het tabblad Discussie hoort wel bij deze detailpagina. Alle zichtbare mockupwaarden zijn dynamisch. |
| Route / URL-patroon | /profiel/meldingen/{ticketReference} binnen de ingelogde gebruikerscontext. ticketReference verwijst naar het geselecteerde ticketrecord en mag alleen worden opgelost wanneer de ingelogde gebruiker toegang heeft tot dat ticket. |
| Autorisatie / vereiste rol-context | Ingelogde gebruiker. Een eindgebruiker mag uitsluitend eigen meldingen openen, waarbij Tickets.CreatedByUserId overeenkomt met de ingelogde gebruiker. Beheerders gebruiken een aparte beheerweergave en vallen niet onder deze gebruikersdetailweergave. |
| Primair domeinobject / hoofdentiteit | Tickets met gerelateerde TicketStatuses, TicketCategories, TicketClosures, TicketDiscussionMessages, TicketReopenRequests en TicketHistory. |
| Gerelateerde schermen / navigatie | 06_meldingen, 02_berichten_overzicht. |
| Data-karakter | Gebruikersgerichte detail- en mutatiepagina. Het tabblad Melding toont de oorspronkelijke melding en ondersteunt het zelf sluiten van een nog open melding. |
7.1.3 Functionele beschrijving
Het tabblad Melding toont de oorspronkelijke melding zoals deze door de ingelogde gebruiker is ingediend. De gebruiker ziet de meldingsreferentie, het onderwerp, de gebruikersgerichte status, het laatst bijgewerkte moment, de datum van aanmaken, de categorie en de volledige meldingsomschrijving.
De detailpagina werkt altijd op één onderliggend Tickets-record. De zichtbare referentie zoals MEL-2026-041, de titel, status, datum/tijd en omschrijving in de mockup zijn voorbeeldwaarden. In productie worden deze waarden dynamisch gelezen uit het ticketdomein en lokaal weergegeven waar het om datum- en tijdwaarden gaat.
De detailkop boven de tabs is gedeeld voor alle drie de tabbladen binnen deze pagina. Deze kop toont minimaal:
- de meldingsreferentie en het onderwerp;
- de gebruikersgerichte status;
- het moment Laatst bijgewerkt;
- de actie Terug naar overzicht;
- de tabs Melding, Oplossing en Discussie.
De gebruikersgerichte status wordt niet één-op-één als vrije tekst opgeslagen. De backendstatus komt uit TicketStatuses, terwijl gebruikersgerichte labels zoals Wachten op reactie, Opgelost en Gesloten door de applicatie worden afgeleid. Opgelost is geen aparte backendstatus, maar een afgeleide toestand op basis van de meest recente formele sluiting en de heropendeadline.
Wanneer de melding de status WaitingForUser heeft, vraagt de melding actie van de gebruiker. In dat geval opent de detailpagina standaard op het tabblad Discussie en krijgt de tab Discussie een oranje uitroepteken met tooltip. Wanneer de gebruiker handmatig naar Melding wisselt, blijft deze tab de oorspronkelijke meldingsgegevens tonen.
De gebruiker kan de eigen melding sluiten zolang de melding nog niet functioneel gesloten is. De knop Melding sluiten opent een bevestigingsmodal met een verplicht veld Reden van sluiten. Bij bevestiging wordt de sluitactie formeel geregistreerd in TicketClosures met het vaste resolutietype Gesloten door gebruiker. De sluitreden wordt daarnaast als extern zichtbaar discussie-item opgeslagen, zodat de reden later terug te lezen is binnen de melding. Ook wordt een compacte auditregel in TicketHistory vastgelegd.
Header, hoofdmenu, profielmenu-indicaties en footer zijn geen onderdeel van dit schermdocument. De screenshot bevat deze onderdelen uitsluitend omdat de mockup een volledige pagina toont.
7.1.4 UI-elementen en velddefinities
| Element-ID | Type | GUI-verwijzing | Omschrijving | Zichtbaar label | Opmerking | Technische naam |
|---|---|---|---|---|---|---|
| SCH-GEN-07-01-S01 | S | Detailpagina | Hoofdcontainer voor de gebruikersgerichte detailweergave van één melding. | Melding details | Header en footer buiten scope. | TicketDetailPage |
| SCH-GEN-07-01-N01 | A | Breadcrumb | Navigatiepad binnen de profiel- en meldingencontext. | Home > Profiel > Meldingen > Melding details | Functionele navigatiecontext binnen de pagina. | TicketDetailBreadcrumb |
| SCH-GEN-07-01-F01 | F | Detailkop — referentie | Mensleesbaar meldingsnummer van het ticket. | MEL-2026-041 | Dynamisch voorbeeld uit mockup. | TicketNumber |
| SCH-GEN-07-01-F02 | F | Detailkop — titel | Onderwerp van de melding. | Profielmenu opent niet op tablet | Dynamisch uit het ticketrecord. | TicketSubject |
| SCH-GEN-07-01-F03 | F | Detailkop — status | Gebruikersgerichte statuslabel. | Wachten op reactie | Afgeleid uit backendstatus en sluitcontext. | UserFacingTicketStatus |
| SCH-GEN-07-01-F04 | F | Detailkop — laatst bijgewerkt | Moment van laatste functionele activiteit. | Laatst bijgewerkt | Label is vast; datum/tijd is dynamisch. | LastActivityDisplay |
| SCH-GEN-07-01-B01 | B | Detailkop rechts | Navigatie terug naar het meldingenoverzicht. | Terug naar overzicht | Terug naar 06_meldingen met behoud van functionele context waar mogelijk. | BackToTicketsOverviewButton |
| SCH-GEN-07-01-TAB01 | TAB | Tabnavigatie | Tab voor oorspronkelijke melding. | Melding | Actief in deze view. | TicketDetailsReportTab |
| SCH-GEN-07-01-TAB02 | TAB | Tabnavigatie | Tab voor oplossing en sluitcontext. | Oplossing | Opent de oplossingstab binnen hetzelfde ticket. | TicketDetailsSolutionTab |
| SCH-GEN-07-01-TAB03 | TAB | Tabnavigatie | Tab voor externe discussie. | Discussie | Toont een oranje uitroepteken wanneer WaitingForUser actie vraagt. | TicketDetailsDiscussionTab |
| SCH-GEN-07-01-M01 | M | Tab Discussie — indicatie | Visuele aandachtmarkering op de tab Discussie. | ! | Alleen wanneer reactie van de gebruiker nodig is. | DiscussionAttentionIndicator |
| SCH-GEN-07-01-S02 | S | Tabpaneel Melding | Sectie met oorspronkelijke meldingsgegevens. | Melding | Toont gegevens zoals ingediend door de gebruiker. | TicketReportPanel |
| SCH-GEN-07-01-F05 | F | Melding — toelichting | Korte toelichting onder de tabtitel. | De oorspronkelijke melding zoals deze door de gebruiker is aangemaakt. | Read-only tekst. | TicketReportIntroText |
| SCH-GEN-07-01-F06 | F | Melding — datum aangemaakt | Aanmaakdatum en -tijd van de melding. | Datum aangemaakt | Waarde wordt lokaal weergegeven vanuit UTC-bron. | CreatedAtDisplay |
| SCH-GEN-07-01-F07 | F | Melding — categorie | Gekozen meldingscategorie. | Categorie | Afgeleid uit TicketCategories. | TicketCategoryName |
| SCH-GEN-07-01-F08 | F | Melding — omschrijving | Volledige beschrijving van de melding. | Meldingsomschrijving | Door gebruiker ingevoerde tekst, veilig weergegeven. | TicketDescription |
| SCH-GEN-07-01-B02 | B | Melding — acties | Start het sluiten van de eigen melding. | Melding sluiten | Alleen beschikbaar zolang de melding niet functioneel gesloten is. | OpenCloseTicketModalButton |
| SCH-GEN-07-01-MOD01 | MOD | Sluitmodal | Modal waarin de gebruiker verplicht een reden van sluiten opgeeft. | Melding sluiten | Wordt geopend via de knop Melding sluiten. | CloseTicketModal |
| SCH-GEN-07-01-FORM01 | FORM | Sluitmodal — formulier | Formulier voor sluitreden. | Reden van sluiten | Verplicht veld. | CloseTicketForm |
| SCH-GEN-07-01-F09 | F | Sluitmodal — reden | Tekstveld met reden waarom de melding gesloten kan worden. | Reden van sluiten | Mag niet leeg zijn en wordt veilig opgeslagen/weergegeven. | CloseReason |
| SCH-GEN-07-01-B03 | B | Sluitmodal — actie | Sluit modal zonder wijzigingen. | Annuleren | Geen mutatie. | CancelCloseTicketButton |
| SCH-GEN-07-01-B04 | B | Sluitmodal — actie | Bevestigt het sluiten van de melding. | Melding sluiten | Maakt formele sluitregistratie, extern discussie-item en historyregel. | ConfirmCloseTicketButton |
7.1.5 Waardelagen
| Element-ID | GUI-verwijzing | Zichtbaar label | Technische naam | Databron | Waardebron | Datatype | Bewerkbaar | Validatie / regel |
|---|---|---|---|---|---|---|---|---|
| SCH-GEN-07-01-S01 | Detailpagina | Melding details | TicketDetailPage | Tickets | Database + autorisatiecontext | Composite | Nee | Alleen laden wanneer Tickets.CreatedByUserId gelijk is aan de ingelogde gebruiker. |
| SCH-GEN-07-01-N01 | Breadcrumb | Home > Profiel > Meldingen > Melding details | TicketDetailBreadcrumb | Routeconfiguratie | Runtime routecontext | Navigation | Nee | Geen technische ID zichtbaar maken. |
| SCH-GEN-07-01-F01 | Detailkop — referentie | MEL-2026-041 | TicketNumber | Tickets.TicketNumber | Database | String | Nee | Mensleesbaar en uniek; geen GUID tonen. |
| SCH-GEN-07-01-F02 | Detailkop — titel | Profielmenu opent niet op tablet | TicketSubject | Tickets.Subject | Database | String | Nee | Veilig encoden; geen actieve HTML renderen. |
| SCH-GEN-07-01-F03 | Detailkop — status | Wachten op reactie | UserFacingTicketStatus | Tickets.StatusId, TicketStatuses.Code, Tickets.CurrentReopenDeadlineUtc, TicketClosures.ReopenDeadlineUtc | Afgeleid | Enum display | Nee | WaitingForUser tonen als Wachten op reactie. Opgelost afleiden uit sluitcontext en actieve heropentermijn. |
| SCH-GEN-07-01-F04 | Detailkop — laatst bijgewerkt | Laatst bijgewerkt | LastActivityDisplay | Tickets.LastActivityAtUtc | Database, lokaal geformatteerd | DateTime display | Nee | UTC-bronwaarde lokaal tonen. |
| SCH-GEN-07-01-B01 | Detailkop rechts | Terug naar overzicht | BackToTicketsOverviewButton | Routeconfiguratie | User action | Action | Ja | Terug naar eigen meldingenoverzicht; geen ongeautoriseerde context meenemen. |
| SCH-GEN-07-01-TAB01 | Tabnavigatie | Melding | TicketDetailsReportTab | Runtime UI-state | User action / route state | Tab | Ja | Toont tabpaneel met oorspronkelijke melding. |
| SCH-GEN-07-01-TAB02 | Tabnavigatie | Oplossing | TicketDetailsSolutionTab | Runtime UI-state | User action / route state | Tab | Ja | Toont oplossing en sluitcontext. |
| SCH-GEN-07-01-TAB03 | Tabnavigatie | Discussie | TicketDetailsDiscussionTab | Tickets.StatusId, TicketStatuses.Code | Afgeleid + user action | Tab | Ja | Standaard actief wanneer status WaitingForUser is. |
| SCH-GEN-07-01-M01 | Tab Discussie — indicatie | ! | DiscussionAttentionIndicator | Tickets.CreatedByUserId, Tickets.StatusId, TicketStatuses.Code | Afgeleid | Boolean/display | Nee | Tonen wanneer ticket van huidige gebruiker status WaitingForUser heeft. |
| SCH-GEN-07-01-F06 | Melding — datum aangemaakt | Datum aangemaakt | CreatedAtDisplay | Tickets.CreatedAtUtc | Database, lokaal geformatteerd | DateTime display | Nee | UTC-bronwaarde lokaal tonen. |
| SCH-GEN-07-01-F07 | Melding — categorie | Categorie | TicketCategoryName | Tickets.CategoryId, TicketCategories.Name | Database lookup | String | Nee | Alleen vooraf gedefinieerde categorieën tonen. |
| SCH-GEN-07-01-F08 | Melding — omschrijving | Meldingsomschrijving | TicketDescription | Tickets.Description | User input bij aanmaken | String / rich text beperkt | Nee | Veilig encoden/sanitizen; geen bijlagen of actieve inhoud. |
| SCH-GEN-07-01-B02 | Melding — acties | Melding sluiten | OpenCloseTicketModalButton | Tickets.StatusId, afgeleide functionele geslotenheid | Runtime state | Action | Ja | Alleen beschikbaar zolang de melding niet functioneel gesloten is. |
| SCH-GEN-07-01-F09 | Sluitmodal — reden | Reden van sluiten | CloseReason | Gebruikersinput | User input | String | Ja | Verplicht; lege of alleen-witruimtewaarde blokkeren; veilig opslaan en weergeven. |
| SCH-GEN-07-01-B04 | Sluitmodal — bevestiging | Melding sluiten | ConfirmCloseTicketButton | TicketClosures, TicketDiscussionMessages, TicketHistory, Tickets | User action + databasemutatie | Action | Ja | Maakt TicketClosures met resolutietype ClosedByUser, extern discussie-item met sluitreden en compacte TicketHistory-regel. |
7.1.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.
| Schermrequirement | Dekt | Schermcontext |
|---|---|---|
REQ-SCH-GEN-07-01-01 | SRS-TIC-002 AC-TIC-002 | De detailpagina van een melding alleen tonen aan de gebruiker die de melding heeft aangemaakt of aan een bevoegde beheercontext buiten deze gebruikersweergave |
REQ-SCH-GEN-07-01-02 | SRS-AUTH-001 SRS-TIC-002 AC-AUTH-001 AC-TIC-002 | Server-side controleren dat Tickets.CreatedByUserId overeenkomt met de ingelogde gebruiker voordat meldingsdetails worden geladen |
REQ-SCH-GEN-07-01-03 | SRS-AUTH-004 SRS-TIC-006 AC-AUTH-004 AC-TIC-006 | Het systeem mag geen technische identifiers zoals GUID’s of interne status-id’s tonen in de gebruikersgerichte detailweergave |
REQ-SCH-GEN-07-01-04 | SRS-TIC-002 AC-TIC-002 | In de detailkop minimaal meldingsnummer, onderwerp, gebruikersgerichte status en laatste activiteit tonen |
REQ-SCH-GEN-07-01-05 | SRS-TIC-004 AC-TIC-004 | De gebruikersgerichte status afleiden uit backendstatus, sluitregistratie en heropendeadline, waarbij Opgelost geen aparte backendstatus is |
REQ-SCH-GEN-07-01-06 | SRS-TIC-006 AC-TIC-006 | De tab Discussie automatisch als actieve tab kunnen openen wanneer de melding op reactie van de gebruiker wacht |
REQ-SCH-GEN-07-01-07 | SRS-TIC-006 AC-TIC-006 | Op de tab Discussie een oranje aanduiding tonen wanneer Tickets.Status gelijk is aan WaitingForUser voor de ingelogde melder |
REQ-SCH-GEN-07-01-08 | SRS-TIC-002 AC-TIC-002 | Het tabblad Melding de oorspronkelijke aanmaakdatum, categorie en volledige meldingsomschrijving tonen |
REQ-SCH-GEN-07-01-09 | SRS-TIC-002 AC-TIC-002 | Meldingsomschrijving en onderwerp veilig weergeven zonder actieve HTML of JavaScript te renderen |
REQ-SCH-GEN-07-01-10 | SRS-TIC-007 AC-TIC-007 | Gebruikersactie: de eigen melding kunnen sluiten zolang de melding nog niet functioneel gesloten is |
REQ-SCH-GEN-07-01-11 | SRS-TIC-007 AC-TIC-007 | Het sluiten van een eigen melding altijd een verplichte reden vragen |
REQ-SCH-GEN-07-01-12 | SRS-TIC-007 AC-TIC-007 | Zelf sluiten: een formeel TicketClosures-record aanmaken met resolutietype ClosedByUser |
REQ-SCH-GEN-07-01-13 | SRS-TIC-006 AC-TIC-006 | Zelf sluiten: de sluitreden ook als extern zichtbaar TicketDiscussionMessages-record vastleggen |
REQ-SCH-GEN-07-01-14 | SRS-NFR-AUD-001 SRS-TIC-007 AC-NFR-AUD-001 AC-TIC-007 | Zelf sluiten: een compacte TicketHistory-regel vastleggen |
REQ-SCH-GEN-07-01-15 | SRS-TIC-002 AC-TIC-002 | Header, profielmenu-indicaties en footer mogen in dit schermdocument niet als functionele elementen van de meldingdetailpagina worden uitgewerkt |
7.2 Oplossing
7.2.1 Schermafbeelding

7.2.2 Scherm meta data
| Veld | Waarde |
|---|---|
| Scherm-ID | SCH-GEN-07-02 |
| Schermnaam | Meldingen — melding details — Oplossing |
| Doelgroep / onderdeel | Generiek |
| Bronbestand | oefenhub_generiek_05b_melding_details_v1_7.html |
| Mockupversie | V1.7 |
| Screenshotbestand | oefenhub_generiek_05b_melding_details_v1_7_tab_02_oplossing.png |
| Processtap / context | Ingelogde gebruiker opent binnen de detailpagina van een eigen melding het tabblad Oplossing om de actuele oplossingstoestand, sluitcontext en beschikbare vervolgacties te bekijken. |
| Documentatiestatus | Uitgewerkt op basis van HTML-mockup, PNG-screenshot, Functioneel Ontwerp, Technisch Ontwerp, Software Requirements Specification en ondersteunende documentatie. |
| Opmerkingen | Header en footer vallen buiten de scope. De screenshot toont de toestand waarin nog geen oplossing is geplaatst; het scherm moet ook de toestand met geplaatste oplossing, acceptatie en heropenen ondersteunen. Alle zichtbare mockupwaarden zijn dynamisch. |
| Route / URL-patroon | /profiel/meldingen/{ticketReference} met tabstate Oplossing binnen de ingelogde gebruikerscontext. |
| Autorisatie / vereiste rol-context | Ingelogde gebruiker. Alleen de melder mag de gebruikersgerichte oplossingstoestand van de eigen melding bekijken en acties uitvoeren. |
| Primair domeinobject / hoofdentiteit | Tickets, TicketClosures, TicketResolutionTypes, TicketStatuses, TicketReopenRequests, TicketDiscussionMessages en TicketHistory. |
| Gerelateerde schermen / navigatie | 06_meldingen, 02_berichten_overzicht, 07.1 Melding, 07.3 Discussie. |
| Data-karakter | Uitlees- en mutatietab voor oplossing, formele sluiting, acceptatie en heropenen. |
7.2.3 Functionele beschrijving
Het tabblad Oplossing toont de inhoudelijke afhandeling van de melding. In de mockup is nog geen oplossing geplaatst. Daarom toont het scherm de huidige situatie Nog geen oplossing geplaatst, een gebruikersgerichte status Wachten op reactie en uitgeschakelde acties voor Oplossing accepteren en Heropen melding.
Zodra een beheerder een oplossing plaatst en de melding formeel sluit, toont dit tabblad de meest recente relevante sluitregistratie uit TicketClosures. Minimaal zichtbaar zijn:
- Datum opgelost;
- Afsluitstatus;
- Meldingstatus;
- Heropenbaar tot;
- Oplossingstekst.
De afsluitstatus komt uit TicketResolutionTypes en beschrijft de inhoudelijke uitkomst van de sluitactie. De meldingstatus is gebruikersgericht en wordt applicatief bepaald. Wanneer de meest recente sluiting een ReopenDeadlineUtc in de toekomst heeft, ziet de gebruiker de melding als Opgelost en kan de melding binnen de termijn heropend worden. Wanneer de termijn verlopen is of de gebruiker de oplossing accepteert, wordt de melding gebruikersgericht Gesloten.
De actie Oplossing accepteren is alleen actief wanneer er daadwerkelijk een oplossing beschikbaar is die nog binnen de gebruikersgerichte afhandelcontext valt. Acceptatie sluit de melding definitief vanuit gebruikersperspectief. De acceptatie gebruikt het vaste resolutietype Gesloten door gebruiker, legt een formele sluitregistratie of sluitafhandeling vast, schrijft minimaal een TicketHistory-regel en mag een extern zichtbaar discussie-item toevoegen.
De actie Heropen melding is alleen actief wanneer een formele oplossing beschikbaar is én de heropentermijn nog loopt. Bij heropenen moet de gebruiker verplicht toelichten waarom de oplossing onvoldoende is. Het systeem legt dit vast in TicketReopenRequests met RequestSource = User, verwijst waar relevant naar de eerdere sluiting via PreviousClosureId, en registreert daarnaast een historyregel. De reden kan als extern zichtbaar discussie-item in de discussie terugkomen.
Wanneer er nog geen oplossing beschikbaar is, blijven beide acties zichtbaar maar disabled of functioneel niet beschikbaar. De gebruiker krijgt in dat geval een uitleg dat heropenen en accepteren pas mogelijk zijn zodra een oplossing is geplaatst.
7.2.4 UI-elementen en velddefinities
| Element-ID | Type | GUI-verwijzing | Omschrijving | Zichtbaar label | Opmerking | Technische naam |
|---|---|---|---|---|---|---|
| SCH-GEN-07-02-S01 | S | Detailpagina | Hoofdcontainer voor de gebruikersgerichte detailweergave van één melding. | Melding details | Gedeelde detailkop en tabs, header/footer buiten scope. | TicketDetailPage |
| SCH-GEN-07-02-N01 | A | Breadcrumb | Navigatiepad binnen de profiel- en meldingencontext. | Home > Profiel > Meldingen > Melding details | Functionele navigatiecontext binnen de pagina. | TicketDetailBreadcrumb |
| SCH-GEN-07-02-F01 | F | Detailkop — referentie | Mensleesbaar meldingsnummer. | MEL-2026-041 | Dynamisch voorbeeld uit mockup. | TicketNumber |
| SCH-GEN-07-02-F02 | F | Detailkop — titel | Onderwerp van de melding. | Profielmenu opent niet op tablet | Dynamisch uit het ticketrecord. | TicketSubject |
| SCH-GEN-07-02-F03 | F | Detailkop — status | Gebruikersgerichte statuslabel. | Wachten op reactie | Afgeleid uit backendstatus en sluitcontext. | UserFacingTicketStatus |
| SCH-GEN-07-02-F04 | F | Detailkop — laatst bijgewerkt | Moment van laatste functionele activiteit. | Laatst bijgewerkt | Datum/tijd dynamisch. | LastActivityDisplay |
| SCH-GEN-07-02-B01 | B | Detailkop rechts | Navigatie terug naar het meldingenoverzicht. | Terug naar overzicht | Geen mutatie. | BackToTicketsOverviewButton |
| SCH-GEN-07-02-TAB01 | TAB | Tabnavigatie | Tab voor oorspronkelijke melding. | Melding | Opent tab Melding. | TicketDetailsReportTab |
| SCH-GEN-07-02-TAB02 | TAB | Tabnavigatie | Tab voor oplossing en sluitcontext. | Oplossing | Actief in deze view. | TicketDetailsSolutionTab |
| SCH-GEN-07-02-TAB03 | TAB | Tabnavigatie | Tab voor externe discussie. | Discussie | Toont aandachtindicatie bij WaitingForUser. | TicketDetailsDiscussionTab |
| SCH-GEN-07-02-M01 | M | Tab Discussie — indicatie | Visuele aandachtmarkering op de tab Discussie. | ! | Alleen wanneer reactie van de gebruiker nodig is. | DiscussionAttentionIndicator |
| SCH-GEN-07-02-S02 | S | Tabpaneel Oplossing | Sectie met actuele oplossingstoestand. | Huidige situatie | Toont samenvatting wanneer nog geen oplossing is geplaatst. | TicketSolutionPanel |
| SCH-GEN-07-02-M02 | M | Oplossing — huidige situatie | Informatieve melding over de actuele oplossingstoestand. | Nog geen oplossing geplaatst | In mockup omdat de melding op reactie wacht. | SolutionCurrentStateMessage |
| SCH-GEN-07-02-F05 | F | Oplossing — datum opgelost | Datum/tijd van de formele oplossing of sluiting. | Datum opgelost | Toont Nog niet opgelost wanneer er geen sluitregistratie is. | SolvedAtDisplay |
| SCH-GEN-07-02-F06 | F | Oplossing — afsluitstatus | Inhoudelijke afsluitstatus van de oplossing. | Afsluitstatus | Komt uit TicketResolutionTypes zodra beschikbaar. | ResolutionTypeName |
| SCH-GEN-07-02-F07 | F | Oplossing — meldingstatus | Gebruikersgerichte status binnen oplossingstab. | Meldingstatus | Afgeleid uit status en sluitcontext. | UserFacingResolutionStatus |
| SCH-GEN-07-02-F08 | F | Oplossing — heropenbaar tot | Concrete heropen-deadline. | Heropenbaar tot | Alleen relevant wanneer een oplossing binnen heropentermijn zit. | ReopenDeadlineDisplay |
| SCH-GEN-07-02-F09 | F | Oplossing — tekst | Volledige oplossingstekst of informatieve leegstaat. | Oplossingstekst | Toont uitleg als er nog geen oplossingstekst is. | SolutionText |
| SCH-GEN-07-02-M03 | M | Oplossing — acties | Toelichting over beschikbaarheid van vervolgacties. | De acties voor heropenen en accepteren zijn pas beschikbaar zodra er daadwerkelijk een oplossing is geplaatst. | Informatieve disabled-state. | SolutionActionsAvailabilityMessage |
| SCH-GEN-07-02-B02 | B | Oplossing — actie | Accepteert de aangeboden oplossing. | Oplossing accepteren | Disabled zolang geen oplossing beschikbaar is. | AcceptSolutionButton |
| SCH-GEN-07-02-B03 | B | Oplossing — actie | Start heropenflow voor de melding. | Heropen melding | Disabled zolang geen heropenbare oplossing beschikbaar is. | OpenReopenTicketModalButton |
| SCH-GEN-07-02-MOD01 | MOD | Heropenmodal | Modal waarin de gebruiker verplicht toelicht waarom de oplossing onvoldoende is. | Melding heropenen | Alleen bereikbaar wanneer heropenen toegestaan is. | ReopenTicketModal |
| SCH-GEN-07-02-FORM01 | FORM | Heropenmodal — formulier | Formulier voor heropentoelichting. | Toelichting bij heropenen | Verplicht veld. | ReopenTicketForm |
| SCH-GEN-07-02-F10 | F | Heropenmodal — toelichting | Reden waarom het probleem nog steeds speelt. | Toelichting bij heropenen | Mag niet leeg zijn. | ReopenReason |
| SCH-GEN-07-02-B04 | B | Heropenmodal — actie | Sluit modal zonder mutatie. | Annuleren | Geen wijziging. | CancelReopenTicketButton |
| SCH-GEN-07-02-B05 | B | Heropenmodal — actie | Bevestigt heropenen. | Heropen melding | Maakt heropenregistratie en historyregel. | ConfirmReopenTicketButton |
7.2.5 Waardelagen
| Element-ID | GUI-verwijzing | Zichtbaar label | Technische naam | Databron | Waardebron | Datatype | Bewerkbaar | Validatie / regel |
|---|---|---|---|---|---|---|---|---|
| SCH-GEN-07-02-S01 | Detailpagina | Melding details | TicketDetailPage | Tickets | Database + autorisatiecontext | Composite | Nee | Alleen eigen ticket laden voor eindgebruiker. |
| SCH-GEN-07-02-F01 | Detailkop — referentie | MEL-2026-041 | TicketNumber | Tickets.TicketNumber | Database | String | Nee | Mensleesbaar en uniek; geen GUID tonen. |
| SCH-GEN-07-02-F02 | Detailkop — titel | Profielmenu opent niet op tablet | TicketSubject | Tickets.Subject | Database | String | Nee | Veilig encoden. |
| SCH-GEN-07-02-F03 | Detailkop — status | Wachten op reactie | UserFacingTicketStatus | Tickets.StatusId, TicketStatuses.Code, TicketClosures.ReopenDeadlineUtc | Afgeleid | Enum display | Nee | Closed met actieve heropendeadline tonen als Opgelost; anders Gesloten wanneer de sluiting definitief is. |
| SCH-GEN-07-02-F04 | Detailkop — laatst bijgewerkt | Laatst bijgewerkt | LastActivityDisplay | Tickets.LastActivityAtUtc | Database, lokaal geformatteerd | DateTime display | Nee | UTC lokaal tonen. |
| SCH-GEN-07-02-M02 | Huidige situatie | Nog geen oplossing geplaatst | SolutionCurrentStateMessage | TicketClosures, Tickets.StatusId | Afgeleid | Message | Nee | Toon leegstaat wanneer geen relevante sluitregistratie/oplossing beschikbaar is. |
| SCH-GEN-07-02-F05 | Datum opgelost | Datum opgelost | SolvedAtDisplay | TicketClosures.ClosedAtUtc, Tickets.ClosedAtUtc | Database, lokaal geformatteerd | DateTime display / empty state | Nee | Toon Nog niet opgelost wanneer er geen oplossing of sluitactie bestaat. |
| SCH-GEN-07-02-F06 | Afsluitstatus | Afsluitstatus | ResolutionTypeName | TicketClosures.ResolutionTypeId, TicketResolutionTypes.Name, Tickets.CurrentResolutionTypeId | Database lookup | String | Nee | Alleen tonen wanneer sluitcontext beschikbaar is; anders informatieve leegstaat. |
| SCH-GEN-07-02-F07 | Meldingstatus | Meldingstatus | UserFacingResolutionStatus | Tickets.StatusId, TicketStatuses.Code, TicketClosures.ReopenDeadlineUtc | Afgeleid | Enum display | Nee | Opgelost/Gesloten afleiden; niet opslaan als aparte backendstatus. |
| SCH-GEN-07-02-F08 | Heropenbaar tot | Heropenbaar tot | ReopenDeadlineDisplay | TicketClosures.ReopenDeadlineUtc, Tickets.CurrentReopenDeadlineUtc | Database, lokaal geformatteerd | DateTime display / empty state | Nee | Alleen functioneel relevant bij actieve heropentermijn. |
| SCH-GEN-07-02-F09 | Oplossingstekst | Oplossingstekst | SolutionText | TicketClosures.SolutionText | Database | String / rich text beperkt | Nee | Veilig renderen; geen actieve inhoud. |
| SCH-GEN-07-02-B02 | Actie | Oplossing accepteren | AcceptSolutionButton | TicketClosures, TicketHistory, eventueel TicketDiscussionMessages, Tickets | User action + databasemutatie | Action | Ja | Alleen actief bij beschikbare oplossing. Acceptatie sluit gebruikersgericht definitief en gebruikt ClosedByUser. |
| SCH-GEN-07-02-B03 | Actie | Heropen melding | OpenReopenTicketModalButton | TicketClosures.ReopenDeadlineUtc, Tickets.StatusId | Afgeleid | Action | Ja | Alleen actief wanneer een oplossing bestaat en de heropentermijn nog loopt. |
| SCH-GEN-07-02-F10 | Heropenmodal — toelichting | Toelichting bij heropenen | ReopenReason | Gebruikersinput | User input | String | Ja | Verplicht; lege of alleen-witruimtewaarde blokkeren; veilig opslaan. |
| SCH-GEN-07-02-B05 | Heropenmodal — bevestiging | Heropen melding | ConfirmReopenTicketButton | TicketReopenRequests, TicketHistory, eventueel TicketDiscussionMessages, Tickets | User action + databasemutatie | Action | Ja | Registreert RequestSource = User; alleen vóór heropendeadline toegestaan. |
7.2.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.
| Schermrequirement | Dekt | Schermcontext |
|---|---|---|
REQ-SCH-GEN-07-02-01 | SRS-AUTH-001 SRS-TIC-007 AC-AUTH-001 AC-TIC-007 | Het tabblad Oplossing alleen tonen voor een melding die de ingelogde gebruiker mag bekijken |
REQ-SCH-GEN-07-02-02 | SRS-TIC-007 AC-TIC-007 | Het tabblad Oplossing de actuele oplossingstoestand tonen, ook wanneer er nog geen oplossing is geplaatst |
REQ-SCH-GEN-07-02-03 | SRS-TIC-004 AC-TIC-004 | Geen oplossing beschikbaar: de acties Oplossing accepteren en Heropen melding niet uitvoerbaar zijn |
REQ-SCH-GEN-07-02-04 | SRS-TIC-004 AC-TIC-004 | Oplossing beschikbaar: datum opgelost, afsluitstatus, gebruikersgerichte meldingstatus, heropendeadline en oplossingstekst tonen |
REQ-SCH-GEN-07-02-05 | SRS-TIC-007 AC-TIC-007 | De afsluitstatus tonen op basis van TicketResolutionTypes en mag deze niet vermengen met de backend-hoofdstatus |
REQ-SCH-GEN-07-02-06 | SRS-TIC-004 AC-TIC-004 | De gebruikersgerichte toestand Opgelost afleiden uit de meest recente relevante sluiting en een actieve heropendeadline |
REQ-SCH-GEN-07-02-07 | SRS-TIC-004 AC-TIC-004 | De gebruikersgerichte toestand Gesloten afleiden wanneer de heropentermijn verlopen is of de gebruiker de oplossing accepteert |
REQ-SCH-GEN-07-02-08 | SRS-TIC-007 AC-TIC-007 | Gebruikersactie: een beschikbare oplossing kunnen accepteren |
REQ-SCH-GEN-07-02-09 | SRS-NFR-AUD-001 SRS-TIC-007 AC-NFR-AUD-001 AC-TIC-007 | Acceptatie van een oplossing minimaal leiden tot een formele sluitafhandeling met resolutietype ClosedByUser en een TicketHistory-record |
REQ-SCH-GEN-07-02-10 | SRS-TIC-004 AC-TIC-004 | Gebruikersactie: een melding binnen de geldige heropentermijn kunnen heropenen met een verplichte toelichting |
REQ-SCH-GEN-07-02-11 | SRS-TIC-004 AC-TIC-004 | Heropenen door de gebruiker wordt vastgelegd in TicketReopenRequests met RequestSource = User |
REQ-SCH-GEN-07-02-12 | SRS-TIC-004 AC-TIC-004 | Heropenen door de gebruiker gekoppeld worden aan de relevante eerdere sluitactie wanneer die beschikbaar is |
REQ-SCH-GEN-07-02-13 | SRS-NFR-AUD-001 SRS-TIC-004 AC-NFR-AUD-001 AC-TIC-004 | Heropenen: een compacte TicketHistory-regel vastleggen |
REQ-SCH-GEN-07-02-14 | SRS-TIC-004 AC-TIC-004 | Heropenen blokkeren wanneer de heropentermijn verlopen is |
REQ-SCH-GEN-07-02-15 | SRS-TIC-004 AC-TIC-004 | Oplossingsteksten en heropentoelichtingen veilig worden opgeslagen en weergegeven zonder actieve HTML of JavaScript te renderen |
7.3 Discussie
7.3.1 Schermafbeelding

7.3.2 Scherm meta data
| Veld | Waarde |
|---|---|
| Scherm-ID | SCH-GEN-07-03 |
| Schermnaam | Meldingen — melding details — Discussie |
| Doelgroep / onderdeel | Generiek |
| Bronbestand | oefenhub_generiek_05b_melding_details_v1_7.html |
| Mockupversie | V1.7 |
| Screenshotbestand | oefenhub_generiek_05b_melding_details_v1_7_tab_03_discussie.png |
| Processtap / context | Ingelogde gebruiker opent binnen de detailpagina van een eigen melding het tabblad Discussie om externe communicatie te lezen en, zolang toegestaan, een reactie te plaatsen. |
| Documentatiestatus | Uitgewerkt op basis van HTML-mockup, PNG-screenshot, Functioneel Ontwerp, Technisch Ontwerp, Software Requirements Specification en ondersteunende documentatie. |
| Opmerkingen | Header en footer vallen buiten de scope. De oranje profielmenu-indicatie uit de mockup wordt niet uitgewerkt; de oranje indicatie op de tab Discussie en de badge Reactie gevraagd worden wel uitgewerkt omdat zij binnen de detailpagina vallen. Alle zichtbare namen, datums, teksten en aantallen zijn dynamisch. |
| Route / URL-patroon | /profiel/meldingen/{ticketReference} met tabstate Discussie binnen de ingelogde gebruikerscontext. Wanneer een systeembericht naar een melding met status WaitingForUser verwijst, opent deze tab standaard. |
| Autorisatie / vereiste rol-context | Ingelogde gebruiker. De gebruiker ziet uitsluitend externe discussieberichten van eigen meldingen. Interne beheerberichten zijn nooit zichtbaar in deze gebruikersweergave. |
| Primair domeinobject / hoofdentiteit | Tickets en TicketDiscussionMessages, aangevuld met TicketHistory bij mutaties. |
| Gerelateerde schermen / navigatie | 06_meldingen, 02_berichten_overzicht, 07.1 Melding, 07.2 Oplossing. |
| Data-karakter | Communicatie- en mutatietab voor externe ticketdiscussie. Reacties worden direct opgeslagen; er is geen kladversie-opslag. |
7.3.3 Functionele beschrijving
Het tabblad Discussie toont de communicatie die voor de gebruiker zichtbaar is binnen de melding. De lijst bevat uitsluitend TicketDiscussionMessages met Visibility = External. Interne beheerberichten worden niet geladen of getoond in deze gebruikersweergave.
Externe berichten van beheerders worden richting de gebruiker generiek weergegeven als Beheerder. De naam van de individuele beheerder blijft technisch vastgelegd via CreatedByUserId, maar wordt alleen in beheercontext gebruikt. De gebruiker ziet dus geen beheerdernaam en kan niet rechtstreeks een specifieke beheerder selecteren.
Wanneer de melding wacht op een reactie van de gebruiker, toont de tab een visuele indicatie Reactie gevraagd. In deze toestand is de tab Discussie standaard geopend. Het reactieveld staat onder de scrollbare berichtenlijst. De gebruiker kan één reactie invoeren en opslaan via Reactie opslaan. Reacties worden direct opgeslagen als extern discussiebericht; er is geen kladversie-opslag.
Na het opslaan van een reactie wordt een TicketDiscussionMessages-record aangemaakt met MessageType = UserMessage en Visibility = External. Daarnaast wordt minimaal een compacte TicketHistory-regel vastgelegd. De ticketstatus moet daarna opnieuw door de applicatielogica worden bepaald. In de gangbare flow verandert een melding die op reactie wacht weer naar een behandelbare status, zodat beheer de nieuwe informatie kan opvolgen.
Het reactieveld is alleen beschikbaar zolang de melding nog niet functioneel gesloten is. Bij een gesloten melding blijft de bestaande externe discussie leesbaar, maar kan de gebruiker geen nieuwe reguliere reactie plaatsen. Heropenen loopt dan via het tabblad Oplossing en de heropenflow, niet via het gewone discussieveld.
De berichtenlijst is scrollbaar, zodat veel communicatie de detailpagina niet onnodig hoog maakt. De reactie-invoer staat buiten de scrollbare lijst, zodat de gebruiker kan reageren zonder eerst de volledige discussie te hoeven doorlopen.
7.3.4 UI-elementen en velddefinities
| Element-ID | Type | GUI-verwijzing | Omschrijving | Zichtbaar label | Opmerking | Technische naam |
|---|---|---|---|---|---|---|
| SCH-GEN-07-03-S01 | S | Detailpagina | Hoofdcontainer voor de gebruikersgerichte detailweergave van één melding. | Melding details | Gedeelde detailkop en tabs, header/footer buiten scope. | TicketDetailPage |
| SCH-GEN-07-03-N01 | A | Breadcrumb | Navigatiepad binnen de profiel- en meldingencontext. | Home > Profiel > Meldingen > Melding details | Functionele navigatiecontext binnen de pagina. | TicketDetailBreadcrumb |
| SCH-GEN-07-03-F01 | F | Detailkop — referentie | Mensleesbaar meldingsnummer. | MEL-2026-041 | Dynamisch voorbeeld uit mockup. | TicketNumber |
| SCH-GEN-07-03-F02 | F | Detailkop — titel | Onderwerp van de melding. | Profielmenu opent niet op tablet | Dynamisch uit het ticketrecord. | TicketSubject |
| SCH-GEN-07-03-F03 | F | Detailkop — status | Gebruikersgerichte statuslabel. | Wachten op reactie | Afgeleid uit backendstatus en sluitcontext. | UserFacingTicketStatus |
| SCH-GEN-07-03-F04 | F | Detailkop — laatst bijgewerkt | Moment van laatste functionele activiteit. | Laatst bijgewerkt | Datum/tijd dynamisch. | LastActivityDisplay |
| SCH-GEN-07-03-B01 | B | Detailkop rechts | Navigatie terug naar het meldingenoverzicht. | Terug naar overzicht | Geen mutatie. | BackToTicketsOverviewButton |
| SCH-GEN-07-03-TAB01 | TAB | Tabnavigatie | Tab voor oorspronkelijke melding. | Melding | Opent tab Melding. | TicketDetailsReportTab |
| SCH-GEN-07-03-TAB02 | TAB | Tabnavigatie | Tab voor oplossing en sluitcontext. | Oplossing | Opent tab Oplossing. | TicketDetailsSolutionTab |
| SCH-GEN-07-03-TAB03 | TAB | Tabnavigatie | Tab voor externe discussie. | Discussie | Actief in deze view. | TicketDetailsDiscussionTab |
| SCH-GEN-07-03-M01 | M | Tab Discussie — indicatie | Visuele aandachtmarkering op de tab Discussie. | ! | Tooltip geeft aan dat op reactie van de gebruiker wordt gewacht. | DiscussionAttentionIndicator |
| SCH-GEN-07-03-M02 | M | Discussie — actiebadge | Compacte badge boven de berichtenlijst. | Reactie gevraagd | Alleen bij WaitingForUser. | DiscussionActionRequiredBadge |
| SCH-GEN-07-03-S02 | S | Discussie — scrollgebied | Scrollbare container voor zichtbare discussieberichten. | Discussieberichten | Houdt de detailpagina compact. | TicketDiscussionScrollRegion |
| SCH-GEN-07-03-T01 | T | Discussie — berichtlijst | Herhalende lijst van externe discussieberichten. | <discussiebericht> | Alleen Visibility = External. | TicketDiscussionMessageList |
| SCH-GEN-07-03-F05 | F | Discussiebericht — afzender | Weergave van de actor. | Beheerder | Beheerders altijd generiek als Beheerder tonen. | DiscussionMessageAuthorDisplay |
| SCH-GEN-07-03-F06 | F | Discussiebericht — datum/tijd | Moment waarop het bericht geplaatst is. | <datum> · <tijd> | Lokaal weergegeven vanuit UTC. | DiscussionMessageCreatedAtDisplay |
| SCH-GEN-07-03-F07 | F | Discussiebericht — inhoud | Inhoud van het externe discussiebericht. | <berichttekst> | Veilig weergeven. | DiscussionMessageBody |
| SCH-GEN-07-03-FORM01 | FORM | Reactie toevoegen | Formulier waarmee de gebruiker een externe reactie toevoegt. | Reactie toevoegen | Alleen beschikbaar zolang reageren functioneel toegestaan is. | AddTicketReplyForm |
| SCH-GEN-07-03-F08 | F | Reactie toevoegen — tekstveld | Tekstveld voor de gebruikersreactie. | Reactie toevoegen | Direct opslaan; geen kladversie-opslag. | TicketReplyBody |
| SCH-GEN-07-03-M03 | M | Reactie toevoegen — toelichting | Uitleg over opslaggedrag. | Reacties worden direct opgeslagen binnen deze melding. Er is geen kladversie-opslag. | Read-only informatietekst. | TicketReplyPersistenceMessage |
| SCH-GEN-07-03-B02 | B | Reactie toevoegen — actie | Slaat de reactie op. | Reactie opslaan | Maakt extern discussiebericht en historyregel. | SaveTicketReplyButton |
7.3.5 Waardelagen
| Element-ID | GUI-verwijzing | Zichtbaar label | Technische naam | Databron | Waardebron | Datatype | Bewerkbaar | Validatie / regel |
|---|---|---|---|---|---|---|---|---|
| SCH-GEN-07-03-S01 | Detailpagina | Melding details | TicketDetailPage | Tickets | Database + autorisatiecontext | Composite | Nee | Alleen eigen ticket laden voor eindgebruiker. |
| SCH-GEN-07-03-F01 | Detailkop — referentie | MEL-2026-041 | TicketNumber | Tickets.TicketNumber | Database | String | Nee | Mensleesbaar en uniek; geen GUID tonen. |
| SCH-GEN-07-03-F02 | Detailkop — titel | Profielmenu opent niet op tablet | TicketSubject | Tickets.Subject | Database | String | Nee | Veilig encoden. |
| SCH-GEN-07-03-F03 | Detailkop — status | Wachten op reactie | UserFacingTicketStatus | Tickets.StatusId, TicketStatuses.Code, TicketClosures.ReopenDeadlineUtc | Afgeleid | Enum display | Nee | WaitingForUser toont Wachten op reactie. |
| SCH-GEN-07-03-F04 | Detailkop — laatst bijgewerkt | Laatst bijgewerkt | LastActivityDisplay | Tickets.LastActivityAtUtc | Database, lokaal geformatteerd | DateTime display | Nee | UTC lokaal tonen. |
| SCH-GEN-07-03-M01 | Tab Discussie — indicatie | ! | DiscussionAttentionIndicator | Tickets.CreatedByUserId, Tickets.StatusId, TicketStatuses.Code | Afgeleid | Boolean/display | Nee | Tonen wanneer ticket van huidige gebruiker status WaitingForUser heeft. |
| SCH-GEN-07-03-M02 | Discussie — actiebadge | Reactie gevraagd | DiscussionActionRequiredBadge | Tickets.StatusId, TicketStatuses.Code | Afgeleid | Boolean/display | Nee | Alleen tonen wanneer de gebruiker moet reageren. |
| SCH-GEN-07-03-T01 | Discussie — berichtlijst | <discussiebericht> | TicketDiscussionMessageList | TicketDiscussionMessages | Databasecollectie | Collection | Nee | Alleen berichten met TicketId van eigen ticket en Visibility = External tonen. |
| SCH-GEN-07-03-F05 | Discussiebericht — afzender | Beheerder | DiscussionMessageAuthorDisplay | TicketDiscussionMessages.MessageType, TicketDiscussionMessages.CreatedByUserId, Users | Afgeleid displaylabel | String | Nee | Externe beheerderberichten voor gebruiker altijd als Beheerder tonen; interne beheerdernaam niet tonen. |
| SCH-GEN-07-03-F06 | Discussiebericht — datum/tijd | <datum> · <tijd> | DiscussionMessageCreatedAtDisplay | TicketDiscussionMessages.CreatedAtUtc | Database, lokaal geformatteerd | DateTime display | Nee | UTC lokaal tonen. |
| SCH-GEN-07-03-F07 | Discussiebericht — inhoud | <berichttekst> | DiscussionMessageBody | TicketDiscussionMessages.Body | Database | String / rich text beperkt | Nee | Veilig renderen; interne berichten niet tonen. |
| SCH-GEN-07-03-F08 | Reactie toevoegen — tekstveld | Reactie toevoegen | TicketReplyBody | Gebruikersinput | User input | String | Ja | Verplicht bij opslaan; lege of alleen-witruimtewaarde blokkeren; sanitizen/encoden. |
| SCH-GEN-07-03-B02 | Reactie toevoegen — actie | Reactie opslaan | SaveTicketReplyButton | TicketDiscussionMessages, TicketHistory, Tickets | User action + databasemutatie | Action | Ja | Alleen toegestaan zolang de melding niet functioneel gesloten is; maakt UserMessage met Visibility = External. |
7.3.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.
| Schermrequirement | Dekt | Schermcontext |
|---|---|---|
REQ-SCH-GEN-07-03-01 | SRS-AUTH-001 SRS-TIC-006 AC-AUTH-001 AC-TIC-006 | Het tabblad Discussie alleen tonen voor een melding die de ingelogde gebruiker mag bekijken |
REQ-SCH-GEN-07-03-02 | SRS-TIC-006 AC-TIC-006 | In de gebruikersweergave uitsluitend TicketDiscussionMessages met Visibility = External tonen |
REQ-SCH-GEN-07-03-03 | SRS-TIC-006 AC-TIC-006 | Autorisatiegrens: interne beheerberichten niet zichtbaar zijn voor de melder |
REQ-SCH-GEN-07-03-04 | SRS-TIC-003 AC-TIC-003 | Externe beheerderberichten voor de gebruiker generiek als Beheerder worden weergegeven |
REQ-SCH-GEN-07-03-05 | SRS-TIC-003 AC-TIC-003 | De naam van de individuele beheerder niet tonen in de gebruikersgerichte discussie |
REQ-SCH-GEN-07-03-06 | SRS-TIC-006 AC-TIC-006 | Het tabblad Discussie standaard worden geopend wanneer de melding op reactie van de gebruiker wacht |
REQ-SCH-GEN-07-03-07 | SRS-TIC-002 AC-TIC-002 | Binnen de detailpagina een zichtbare indicatie Reactie gevraagd tonen wanneer Tickets.Status gelijk is aan WaitingForUser voor de melder |
REQ-SCH-GEN-07-03-08 | SRS-TIC-006 AC-TIC-006 | De discussieberichtenlijst scrollbaar kunnen worden weergegeven zodat de reactie-invoer buiten het scrollgebied bereikbaar blijft |
REQ-SCH-GEN-07-03-09 | SRS-TIC-006 AC-TIC-006 | Gebruikersactie: een externe reactie kunnen toevoegen zolang de melding nog niet functioneel gesloten is |
REQ-SCH-GEN-07-03-10 | SRS-TIC-002 AC-TIC-002 | Het reactieveld verplicht zijn bij opslaan en mag geen lege of alleen-witruimtewaarde accepteren |
REQ-SCH-GEN-07-03-11 | SRS-TIC-006 AC-TIC-006 | Een gebruikersreactie wordt opgeslagen als TicketDiscussionMessages met MessageType = UserMessage en Visibility = External |
REQ-SCH-GEN-07-03-12 | SRS-NFR-AUD-001 SRS-TIC-002 AC-NFR-AUD-001 AC-TIC-002 | Het opslaan van een gebruikersreactie minimaal een compacte TicketHistory-regel vastleggen |
REQ-SCH-GEN-07-03-13 | SRS-TIC-002 AC-TIC-002 | Er mag geen kladversie-opslag beschikbaar zijn voor reacties binnen de meldingdetailpagina |
REQ-SCH-GEN-07-03-14 | SRS-TIC-006 AC-TIC-006 | Reactieteksten en discussieberichten veilig worden opgeslagen en weergegeven zonder actieve HTML of JavaScript te renderen |
REQ-SCH-GEN-07-03-15 | SRS-TIC-006 AC-TIC-006 | Wanneer de melding functioneel gesloten is, het reguliere reactieveld niet beschikbaar zijn en blijft de bestaande externe discussie alleen-lezen zichtbaar |
REQ-SCH-GEN-07-03-16 | SRS-TIC-004 AC-TIC-004 | Heropenen van een opgeloste melding geen via het reguliere discussieveld verlopen maar via de formele heropenflow op het tabblad Oplossing plaatsvinden |
7.4 Technische koppeling
Voor technische uitwerking zijn vooral relevant:
- 05 Autorisatie, policies en server-side contextcontrole voor het server-side controleren van toegang tot de eigen melding en bijbehorende discussie.
- 13 Berichten, systeemberichten, notificaties en privéberichten voor systeemberichten en notificaties die naar meldingsdetails kunnen verwijzen.
- 14 Meldingen, tickets en beheerafhandeling voor ticketdetails, oplossingen, discussie, heropenen, sluiten en gebruikersgerichte statusafleiding.
- 19 Logging, audit, securitylogging en technische foutafhandeling voor history, auditsporen en veilige foutpresentatie.
- 24 Frontend, Blazor, routing, state en componentopbouw voor tabstate, detailroutes, modals en disabled states.