3. Nieuw privébericht
3.1 Schermafbeelding

3.2 Scherm meta data
| Veld | Waarde |
|---|---|
| Scherm-ID | SCH-GEN-03-01 |
| Schermnaam | Berichten — nieuw privébericht |
| Doelgroep / onderdeel | Generiek / berichtensysteem |
| Bronbestand | oefenhub_generiek_02_nieuw_privebericht_v2_4.html |
| Mockupversie | V2.4 |
| Screenshotbestand | oefenhub_generiek_02_nieuw_privebericht_v2_4.png |
| Processtap / context | De gebruiker stelt vanuit het centrale berichtensysteem een nieuw privébericht op en verstuurt dit naar een toegestane ontvanger. |
| Documentatiestatus | Uitgewerkt op basis van HTML-mockup, PNG-screenshot, Functioneel Ontwerp, Technisch Ontwerp, Software Requirements Specification en ondersteunende documentatie. |
| Opmerkingen | Alleen de scherminhoud van Nieuw privébericht wordt beschreven. De zichtbare ontvanger, roltekst, onderwerp, berichtinhoud, toelichtingen en bewaartermijn zijn dynamisch of beheerbaar. De mockup toont een ingevuld voorbeeldformulier. |
| Route / URL-patroon | /berichten/nieuw-privebericht |
| Autorisatie / vereiste rol-context | Ingelogde gebruiker met toegang tot het berichtensysteem en een actieve sitebrede privéberichtenfeature. De server controleert bij laden en verzenden of de gekozen ontvanger binnen de toegestane relatie- of vriendschapscontext valt. |
| Primair domeinobject / hoofdentiteit | PrivateMessageThreads, PrivateMessageThreadParticipants en PrivateMessages. |
| Gerelateerde schermen / navigatie | 02_berichten_overzicht, 04_open_bericht, 05_beantwoord_bericht. |
| Data-karakter | Combinatie van runtime gebruikerscontext, relatiegegevens, gebruikersinvoer, server-side validatie, communicatiegegevens, featuretoggle en systeeminstellingen. |
3.3 Functionele beschrijving
3.3.0 Threadpresentatie bij nieuw gesprek
Wanneer het verzenden van een nieuw privébericht een nieuwe thread aanmaakt, kiest het systeem direct een stabiele threadkleur en een icon key uit een beheerde allowlist. Deze waarden worden op de thread opgeslagen en zijn voor alle deelnemers gelijk zichtbaar in berichtenoverzicht en detailweergave.
Voor iedere participant kiest het systeem daarnaast een threadspecifieke accentkleur. Die kleur hoort bij de participant binnen deze thread en is geen vervanging van de globale profiel- of avatarweergave.
3.3.1 Doel en positie binnen het berichtensysteem
Dit scherm ondersteunt het opstellen en verzenden van een nieuw privébericht binnen het centrale berichtensysteem van OefenHub. Het scherm is een zelfstandige pagina en geen popup. De gebruiker komt hier normaal via de actie Nieuw privébericht in het berichtenoverzicht of via een ondersteunde berichtactie elders in de applicatie.
Een privébericht mag alleen worden verstuurd naar een gebruiker met wie de afzender een geldige actieve koppeling heeft of met wie de afzender bevriend is. De ontvanger wordt daarom niet als vrij e-mailadres ingevoerd, maar gekozen uit een door de server samengestelde lijst met toegestane ontvangers. De zichtbare roltekst achter de ontvanger, zoals docent, ouder/voogd of vriend, is een afgeleide van het relatietype en de rolcontext.
Bij verzenden ontstaat een nieuwe privébericht-thread met deelnemers en het eerste bericht. De thread is de gesprekscontainer, de deelnemers bepalen per gebruiker zichtbaarheid en leesstatus, en het bericht bevat de gesanitized berichtinhoud. De afzender en ontvanger worden allebei als deelnemer aan dezelfde thread vastgelegd.
3.3.2 Schermopbouw
Het schermdocument beschrijft alleen de scherminhoud van de pagina Nieuw privébericht. Binnen die afbakening bestaat het scherm uit de volgende hoofdonderdelen:
- breadcrumb
Home › Berichten › Nieuw privébericht; - introblok met titel Nieuw privébericht en korte uitleg;
- formulierpaneel met de velden Aan, Onderwerp en Bericht;
- rich-text toolbar met beperkte basisopmaak;
- acties Annuleren en Verstuur bericht;
- rechter informatiepaneel met toelichting over toegestane ontvangers, schrijftip en bewaartermijn.
3.3.3 Dynamische waarden
De mockup bevat ingevulde voorbeeldwaarden binnen de scherminhoud. Deze waarden worden functioneel als dynamisch behandeld:
- de ontvangerlijst wordt server-side afgeleid uit actieve relaties, vriendschappen en toegestane rolcontexten;
- namen en rolteksten bij ontvangers zijn gebruikers- en relatiegegevens;
- onderwerp en berichtinhoud zijn invoer van de gebruiker;
- de bewaartermijntekst gebruikt de sitebrede systeeminstelling voor privéberichten;
- toelichtende teksten kunnen codegedreven zijn of uit beheerbare contentblokken komen wanneer dat voor deze schermtekst zo wordt ingericht.
3.3.4 Ontvangers en autorisatie
De ontvangerlijst bevat alleen gebruikers die de ingelogde gebruiker een privébericht mag sturen. De lijst wordt gefilterd op actieve relaties en relevante relatietypen. Voor gewone gebruikers gaat het om gekoppelde gebruikers en vrienden. Voor beheerdercontexten kan ook een actieve beheerder-beheerderrelatie een geldige communicatiecontext vormen.
De server controleert de ontvangerlijst niet alleen bij het laden van het scherm, maar ook opnieuw bij het verzenden. Daarmee wordt voorkomen dat een gebruiker via browsermanipulatie, een verlopen relatie of een gelijktijdig ingetrokken koppeling alsnog een bericht naar een niet-toegestane ontvanger verstuurt. Frontend-zichtbaarheid van de dropdown is dus geen beveiligingslaag.
Als er geen geldige ontvangers beschikbaar zijn, blijft het formulier zichtbaar als oriëntatiepunt, maar wordt verzenden geblokkeerd. Het veld Aan toont dan geen kiesbare ontvanger of een duidelijke lege-staatmelding, en de gebruiker krijgt uitleg dat eerst een geldige koppeling of vriendschap nodig is.
3.3.5 Berichtinhoud en rich-text verwerking
Het veld Bericht ondersteunt beperkte basisopmaak. De toolbar in de mockup toont:
- vet;
- onderstreept;
- cursief;
- tekstgrootte;
- opsommingslijst;
- genummerde lijst.
Vrije HTML, JavaScript, scripts, inline eventhandlers, externe embeds en bestandsbijlagen horen niet bij dit scherm. Invoer uit de rich-text editor wordt vóór opslag server-side gesanitized en veilig geëncodeerd. De opgeslagen inhoud gebruikt een vast bodyformaat, zoals SanitizedHtml of een gelijkwaardige gecontroleerde representatie. De gebruiker kan in dit scherm geen bericht namens iemand anders versturen; SendAsUserId hoort uitsluitend bij expliciet ondersteunde beheerprocessen en is geen generieke verzendoptie.
3.3.6 Verzenden
Bij Verstuur bericht voert het systeem minimaal de volgende controles uit:
- de gebruiker is ingelogd;
- de privéberichtenfeature is actief;
- er is een geldige ontvanger geselecteerd;
- de ontvanger is op dat moment nog toegestaan voor deze afzender;
- het onderwerp is gevuld en past binnen de veldgrens van de thread;
- de berichtinhoud is gevuld;
- de berichtinhoud bevat alleen toegestane opmaak;
- de berichtinhoud blijft binnen de applicatiebreed ingestelde maximumgrootte voor privéberichten.
Na succesvolle validatie worden thread, deelnemers en eerste bericht transactioneel opgeslagen. Het verzendmoment wordt in UTC vastgelegd. Daarna keert de gebruiker terug naar het berichtenoverzicht. De ontvanger ziet het bericht als ongelezen binnen de eigen mailboxcontext. Wanneer de ontvanger online is, kan de ongelezen status via de realtime berichtmechaniek direct zichtbaar worden.
3.3.7 Annuleren
De actie Annuleren verlaat het scherm zonder thread, deelnemers of bericht op te slaan. Er wordt geen kladbericht bewaard. De gebruiker keert terug naar het berichtenoverzicht of naar de functionele herkomstpagina wanneer het scherm vanuit een ondersteunde contextactie is geopend.
Wanneer het formulier gewijzigde invoer bevat, mag de applicatie een bevestiging vragen voordat de invoer verloren gaat. Deze bevestiging is alleen bedoeld om onbedoeld verlies van invoer te voorkomen en maakt geen kladberichtopslag aan.
3.3.8 Foutstaten en disabled states
Voor dit scherm zijn minimaal de volgende toestanden relevant:
| Situatie | Verwacht gedrag |
|---|---|
| Privéberichtenfeature staat uit | De route is niet bruikbaar voor reguliere gebruikers. De server blokkeert laden en verzenden. |
| Gebruiker is niet ingelogd | De gebruiker wordt naar de loginflow geleid of krijgt een autorisatiemelding volgens de generieke applicatieregels. |
| Geen toegestane ontvangers | Het veld Aan bevat geen verzendbare keuze en Verstuur bericht is uitgeschakeld. |
| Ontvanger is tijdens invullen niet meer toegestaan | Verzenden faalt server-side met een duidelijke melding en er wordt geen thread aangemaakt. |
| Onderwerp ontbreekt | Verzenden faalt en het veld Onderwerp krijgt veldvalidatie. |
| Berichtinhoud ontbreekt | Verzenden faalt en het veld Bericht krijgt veldvalidatie. |
| Berichtinhoud bevat niet-toegestane markup | De inhoud wordt server-side geschoond of geweigerd volgens de sanitizingregels; actieve inhoud wordt nooit opgeslagen of gerenderd. |
| Opslaan faalt technisch | De gebruiker blijft op het scherm, invoer blijft behouden waar veilig mogelijk, en er verschijnt een foutmelding zonder technische details. |
3.3.9 Responsief gedrag
Bij brede schermen staat het formulier links en het informatiepaneel rechts. Bij smallere schermen komt het informatiepaneel onder het formulier te staan. De actieknoppen worden dan onder elkaar weergegeven, waarbij Verstuur bericht en Annuleren goed bedienbaar blijven.
3.4 UI-elementen en velddefinities
| Element-ID | Type | GUI-verwijzing | Omschrijving | Zichtbaar label | Opmerking | Technische naam |
|---|---|---|---|---|---|---|
| SCH-GEN-03-01-S01 | S | Breadcrumb | Toont de navigatiepositie binnen het berichtensysteem. | Home › Berichten › Nieuw privébericht | Links leiden terug naar hogere navigatieniveaus. | Breadcrumb |
| SCH-GEN-03-01-S02 | S | Hoofdkaart | Container voor intro, formulier en informatiepaneel. | Nieuw privébericht | Primair schermgebied voor het opstellen van een nieuw bericht. | ComposeShell |
| SCH-GEN-03-01-M01 | M | Intro boven formulier | Legt kort uit naar wie een privébericht gestuurd mag worden. | Stuur een privébericht naar iemand met wie je gekoppeld bent of met wie je bevriend bent. | Informatieve tekst; geen invoerveld. | ComposeIntroText |
| SCH-GEN-03-01-F01 | F | Formulier, veld Aan | Selectieveld met toegestane ontvangers. | Aan | Keuzelijst wordt server-side gefilterd op toegestane ontvangers. | RecipientUserId |
| SCH-GEN-03-01-M02 | M | Onder veld Aan | Hulpmelding over toegestane ontvangers. | Je kunt alleen iemand kiezen met wie je gekoppeld bent of met wie je bevriend bent. | Sluit aan op de server-side autorisatieregel. | RecipientHelpText |
| SCH-GEN-03-01-F02 | F | Formulier, veld Onderwerp | Tekstinvoer voor het onderwerp van de nieuwe thread. | Onderwerp | Wordt opgeslagen als threadonderwerp. | Subject |
| SCH-GEN-03-01-F03 | F | Formulier, veld Bericht | Rich-text invoerveld voor de berichtinhoud. | Bericht | Invoer wordt server-side gesanitized vóór opslag of rendering. | MessageBody |
| SCH-GEN-03-01-A01 | A | Toolbar | Activeert vetgedrukte tekst in de editor. | B | Alleen beperkte veilige opmaak is toegestaan. | ToggleBold |
| SCH-GEN-03-01-A02 | A | Toolbar | Activeert onderstreepte tekst in de editor. | U | Alleen beperkte veilige opmaak is toegestaan. | ToggleUnderline |
| SCH-GEN-03-01-A03 | A | Toolbar | Activeert cursieve tekst in de editor. | I | Alleen beperkte veilige opmaak is toegestaan. | ToggleItalic |
| SCH-GEN-03-01-F04 | F | Toolbar | Selecteert tekstgrootte binnen de editor. | Normaal | Toegestane waarden zijn beperkt tot de ondersteunde tekstgroottes. | TextSize |
| SCH-GEN-03-01-A04 | A | Toolbar | Maakt een opsommingslijst in de editor. | Lijst | Wordt opgeslagen binnen de veilige bodyrepresentatie. | ToggleUnorderedList |
| SCH-GEN-03-01-A05 | A | Toolbar | Maakt een genummerde lijst in de editor. | 1. Lijst | Wordt opgeslagen binnen de veilige bodyrepresentatie. | ToggleOrderedList |
| SCH-GEN-03-01-B01 | B | Formulieracties | Verlaat het scherm zonder bericht op te slaan. | Annuleren | Maakt geen kladbericht of thread aan. | CancelCompose |
| SCH-GEN-03-01-B02 | B | Formulieracties | Valideert en verstuurt het privébericht. | Verstuur bericht | Maakt thread, deelnemers en eerste bericht transactioneel aan. | SendMessage |
| SCH-GEN-03-01-S03 | S | Rechter informatiepaneel | Container voor uitlegkaarten bij het formulier. | Hulp en toelichting | Staat rechts naast het formulier of onder het formulier op smallere schermen. | ComposeSidePanel |
| SCH-GEN-03-01-M03 | M | Informatiekaart | Legt uit welke ontvangers beschikbaar kunnen zijn. | Wie kun je berichten? | De chips zijn uitleg over relatietypen en geen filterbediening. | AllowedRecipientsInfo |
| SCH-GEN-03-01-F05 | F | Informatiekaart, chips | Toont voorbeelden van toegestane relatiecontexten. | Docent / Ouder / voogd / Vriend | Visuele toelichting; daadwerkelijke ontvangers komen uit relatiegegevens. | AllowedRecipientTypeChips |
| SCH-GEN-03-01-M04 | M | Informatiekaart | Schrijftip voor onderwerp en bericht. | Tip | Informatieve tekst zonder technische opslag. | MessageWritingTip |
| SCH-GEN-03-01-M05 | M | Informatiekaart | Toont bewaartermijn en navigatiegedrag na verzenden. | Let op | Bewaartermijnwaarde komt uit systeeminstelling. | MessageAttentionInfo |
3.5 Waardelagen
| Element-ID | GUI-verwijzing | Zichtbaar label | Technische naam | Databron | Waardebron | Datatype | Bewerkbaar | Validatie / regel |
|---|---|---|---|---|---|---|---|---|
| SCH-GEN-03-01-S01 | Breadcrumb | Home › Berichten › Nieuw privébericht | Breadcrumb | Applicatierouting | Afgeleid | Stringlijst | Nee | Breadcrumb geeft de functionele positie in het berichtensysteem weer. |
| SCH-GEN-03-01-M01 | Intro boven formulier | Stuur een privébericht naar iemand met wie je gekoppeld bent of met wie je bevriend bent. | ComposeIntroText | Applicatiecopy of beheerbare schermtekst indien als contentblok ingericht | Codegedreven of database | String | Nee | Tekst moet overeenkomen met de server-side ontvangerregels. |
| SCH-GEN-03-01-F01 | Formulier, veld Aan | Aan | RecipientUserId | UserRelationships, RelationshipTypes, Users, Roles, eventueel SiteFeatureToggles | Database en server-side autorisatie | GUID | Ja | Verplicht; alleen actieve toegestane ontvangers zijn selecteerbaar; server valideert opnieuw bij verzenden. |
| SCH-GEN-03-01-M02 | Onder veld Aan | Je kunt alleen iemand kiezen met wie je gekoppeld bent of met wie je bevriend bent. | RecipientHelpText | Applicatiecopy | Codegedreven | String | Nee | Hulpmelding mag geen ruimere autorisatie suggereren dan de backend toestaat. |
| SCH-GEN-03-01-F02 | Formulier, veld Onderwerp | Onderwerp | Subject | PrivateMessageThreads.Subject | User input | String | Ja | Verplicht; maximaal 200 tekens volgens het threadonderwerpveld. |
| SCH-GEN-03-01-F03 | Formulier, veld Bericht | Bericht | MessageBody | PrivateMessages.Body, PrivateMessages.BodyFormat | User input na server-side sanitizing | Sanitized rich text | Ja | Verplicht; alleen veilige basisopmaak; vrije HTML, JavaScript en bijlagen worden niet geaccepteerd. |
| SCH-GEN-03-01-A01 | Toolbar | B | ToggleBold | Editor state | User input | Boolean / editor command | Ja | Mag uitsluitend veilige opmaak in de editorrepresentatie opleveren. |
| SCH-GEN-03-01-A02 | Toolbar | U | ToggleUnderline | Editor state | User input | Boolean / editor command | Ja | Mag uitsluitend veilige opmaak in de editorrepresentatie opleveren. |
| SCH-GEN-03-01-A03 | Toolbar | I | ToggleItalic | Editor state | User input | Boolean / editor command | Ja | Mag uitsluitend veilige opmaak in de editorrepresentatie opleveren. |
| SCH-GEN-03-01-F04 | Toolbar | Normaal | TextSize | Editor state | User input | Enum | Ja | Alleen toegestane waarden, zoals Klein, Normaal en Groot. |
| SCH-GEN-03-01-A04 | Toolbar | Lijst | ToggleUnorderedList | Editor state | User input | Boolean / editor command | Ja | Opsommingslijst wordt gesanitized opgeslagen als veilige bodyrepresentatie. |
| SCH-GEN-03-01-A05 | Toolbar | 1. Lijst | ToggleOrderedList | Editor state | User input | Boolean / editor command | Ja | Genummerde lijst wordt gesanitized opgeslagen als veilige bodyrepresentatie. |
| SCH-GEN-03-01-B01 | Formulieracties | Annuleren | CancelCompose | Routeconfiguratie en browserstate | Runtime state | Action | Ja | Slaat niets op; verlaat het scherm zonder thread of bericht aan te maken. |
| SCH-GEN-03-01-B02 | Formulieracties | Verstuur bericht | SendMessage | PrivateMessageThreads, PrivateMessageThreadParticipants, PrivateMessages, SiteFeatureToggles | User input, database en server-side autorisatie | Action | Ja | Alleen actief wanneer minimaal ontvanger, onderwerp en berichtinhoud geldig zijn; server voert volledige controle uit. |
| SCH-GEN-03-01-S03 | Rechter informatiepaneel | Hulp en toelichting | ComposeSidePanel | Applicatiecopy of beheerbare schermtekst indien als contentblok ingericht | Codegedreven of database | Object | Nee | Informatiepaneel wijzigt geen data en mag de formulierflow niet blokkeren. |
| SCH-GEN-03-01-M03 | Informatiekaart | Wie kun je berichten? | AllowedRecipientsInfo | Relatieregels uit het berichtendomein | Applicatiecopy | String | Nee | Beschrijft alleen de toegestane ontvangercontexten. |
| SCH-GEN-03-01-F05 | Informatiekaart, chips | Docent / Ouder / voogd / Vriend | AllowedRecipientTypeChips | RelationshipTypes en applicatiecopy | Afgeleid / codegedreven | Stringlijst | Nee | Chips zijn informatief en filteren de dropdown niet. |
| SCH-GEN-03-01-M04 | Informatiekaart | Tip | MessageWritingTip | Applicatiecopy of beheerbare schermtekst indien als contentblok ingericht | Codegedreven of database | String | Nee | Geen functionele validatie; ondersteunt begrijpelijke invoer. |
| SCH-GEN-03-01-M05 | Informatiekaart | Let op | MessageAttentionInfo | SystemSettings.SettingKey = PrivateMessageRetentionDays en applicatiecopy | Configuratiewaarde | String | Nee | Bewaartermijn wordt uit configuratie gelezen; standaardtekst in mockup beschrijft drie maanden. |
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-03-01-01 | SRS-AUTH-001 SRS-MSG-001 AC-AUTH-001 AC-MSG-001 | De pagina Nieuw privébericht alleen beschikbaar maken voor ingelogde gebruikers die toegang hebben tot het berichtensysteem en waarvoor de privéberichtenfeature actief is |
REQ-SCH-GEN-03-01-02 | SRS-AUTH-001 SRS-MSG-002 AC-AUTH-001 AC-MSG-002 | De ontvangerlijst server-side opbouwen uit actieve toegestane relaties, vriendschappen en relevante rolcontexten van de ingelogde gebruiker |
REQ-SCH-GEN-03-01-03 | SRS-MSG-002 AC-MSG-002 | Het systeem mag op dit scherm geen vrije invoer van e-mailadressen of willekeurige gebruikers als ontvanger toestaan |
REQ-SCH-GEN-03-01-04 | SRS-AUTH-001 SRS-MSG-002 AC-AUTH-001 AC-MSG-002 | Bij verzenden server-side controleren dat de geselecteerde ontvanger op dat moment nog een toegestane ontvanger is voor de afzender |
REQ-SCH-GEN-03-01-05 | SRS-MSG-002 AC-MSG-002 | Verzenden blokkeren wanneer ontvanger, onderwerp of berichtinhoud ontbreekt of ongeldig is |
REQ-SCH-GEN-03-01-06 | SRS-MSG-001 SRS-MSG-003 AC-MSG-001 AC-MSG-003 | Het onderwerp opslaan als threadonderwerp en daarbij de veldgrens van PrivateMessageThreads.Subject afdwingen |
REQ-SCH-GEN-03-01-07 | SRS-MSG-001 AC-MSG-001 | In de berichteditor uitsluitend beperkte basisopmaak toestaan: vet, cursief, onderstreept, drie tekstgroottes, opsommingslijst en genummerde lijst |
REQ-SCH-GEN-03-01-08 | SRS-AUTH-001 SRS-MSG-001 AC-AUTH-001 AC-MSG-001 | Rich-text inhoud vóór opslag en vóór rendering server-side sanitiseren en actieve inhoud zoals JavaScript, vrije HTML en inline eventhandlers blokkeren |
REQ-SCH-GEN-03-01-09 | SRS-MSG-002 AC-MSG-002 | Het systeem mag op deze pagina geen bijlagen, kladberichtopslag, doorsturen of namens iemand verzenden aanbieden |
REQ-SCH-GEN-03-01-10 | SRS-MSG-002 SRS-MSG-003 AC-MSG-002 AC-MSG-003 | Bij succesvol verzenden transactioneel een PrivateMessageThreads-record, deelnemerrecords in PrivateMessageThreadParticipants en het eerste PrivateMessages-record aanmaken |
REQ-SCH-GEN-03-01-11 | SRS-MSG-002 SRS-MSG-003 AC-MSG-002 AC-MSG-003 | De afzender en ontvanger als deelnemers aan dezelfde privébericht-thread vastleggen, zodat mailboxzichtbaarheid en leesstatus per deelnemer kunnen worden bepaald |
REQ-SCH-GEN-03-01-12 | SRS-MSG-001 SRS-MSG-003 AC-MSG-001 AC-MSG-003 | Verzendmomenten en threadactiviteit opslaan in UTC en in de gebruikersinterface presenteren volgens de lokale presentatieconventies van OefenHub |
REQ-SCH-GEN-03-01-13 | SRS-MSG-002 AC-MSG-002 | Na succesvol verzenden terugkeren naar het berichtenoverzicht of naar de functioneel juiste herkomstcontext |
REQ-SCH-GEN-03-01-14 | SRS-MSG-002 SRS-MSG-003 AC-MSG-002 AC-MSG-003 | Het nieuwe privébericht voor de ontvanger als ongelezen beschikbaar maken binnen diens mailboxcontext |
REQ-SCH-GEN-03-01-15 | SRS-MSG-002 SRS-MSG-006 AC-MSG-002 AC-MSG-006 | Bij online ontvangers de bijgewerkte ongelezen status via de centrale realtime berichtmechaniek kunnen doorgeven |
REQ-SCH-GEN-03-01-16 | SRS-MSG-001 SRS-MSG-003 AC-MSG-001 AC-MSG-003 | De actie Annuleren uitvoeren zonder thread, deelnemers of bericht op te slaan |
REQ-SCH-GEN-03-01-17 | SRS-NFR-PRV-001 SRS-MSG-001 AC-NFR-PRV-001 AC-MSG-001 | De zichtbare bewaartermijn voor privéberichten baseren op de sitebrede systeeminstelling voor privéberichtretentie |
REQ-SCH-GEN-03-01-18 | SRS-NFR-PRV-001 SRS-MSG-001 AC-NFR-PRV-001 AC-MSG-001 | Privéberichten volgens de ingestelde retentie opruimen zonder systeemberichten onder dezelfde bewaarlijn te laten vallen |
REQ-SCH-GEN-03-01-19 | SRS-MSG-002 AC-MSG-002 | Een lege ontvangerlijst als aparte disabled state ondersteunen en verzenden blokkeren totdat er een toegestane ontvanger beschikbaar is |
REQ-SCH-GEN-03-01-20 | SRS-MSG-001 SRS-MSG-003 AC-MSG-001 AC-MSG-003 | Technische opslagfouten afhandelen zonder gedeeltelijk aangemaakte thread- of berichtrecords achter te laten |
REQ-SCH-GEN-03-01-21 | SRS-MSG-001 AC-MSG-001 | De pagina responsief tonen, waarbij het formulier leidend blijft en het informatiepaneel bij smallere breedtes onder het formulier wordt geplaatst |
3.7 Technische koppeling
Voor technische uitwerking zijn vooral relevant:
- 05 Autorisatie, policies en server-side contextcontrole voor server-side controle op afzender, ontvanger en toegestane berichtactie.
- 12 Relatiebeheer, uitnodigingen en gedeelde oefeningen voor de relatie- en koppelingscontext waaruit toegestane ontvangers worden afgeleid.
- 13 Berichten, systeemberichten, notificaties en privéberichten voor threadaanmaak, deelnemers, berichtopslag en veilige berichtinhoud.
- 20 Security, infrastructuur, secrets en omgevingen voor bescherming tegen actieve content en misbruik van vrije invoer.
- 24 Frontend, Blazor, routing, state en componentopbouw voor formulierstate, validatiemeldingen en navigatie na verzenden of annuleren.