SRS readmodel- en tellerdefinities
Doel
Dit register maakt de centrale SRS-RDM-* requirements concreet voor zichtbare tellers, badges, samenvattingswaarden en readmodels.
De definities hieronder zijn functioneel normatief voor wat een waarde betekent. De meetbare gebruikersgrenzen voor actualiteit, consistentie, fallback en responstijd staan in SRS-NFR-RDM-*. De technische query, indexering, materialisatie, caching of jobplanning hoort in het Technisch Ontwerp: readmodels, tellers, badges, caching en materialisatie, zolang de functionele betekenis en de meetbare SRS-grenzen gelijk blijven.
Algemene rekenregels
| Regel | Betekenis |
|---|---|
| Brondata is leidend | Een teller wordt opgebouwd uit de domeinbron of een daarvan afgeleid readmodel; mockupwaarden, voorbeeldteksten en hardcoded productieaantallen zijn niet toegestaan. |
| Context begrenst de waarde | Een teller telt alleen records binnen de actuele rol-, relatie-, niveau-, object- en autorisatiecontext van de gebruiker. |
| Tellers autoriseren niet | Een badge, teller, kaart of samenvatting geeft geen recht op de onderliggende route of data; vervolgacties controleren opnieuw server-side. |
| Lege toestand is geldig | Een nulwaarde is alleen toegestaan wanneer de query succesvol is uitgevoerd en de toegestane dataset leeg is. |
| Fout is geen nul | Wanneer een waarde niet veilig kan worden berekend, toont het scherm een veilige onbekend- of foutstatus en logt het systeem de technische fout server-side. |
| Peilmoment | Tenzij een rij een periode noemt, geldt het actuele server-side peilmoment waarop het readmodel wordt opgebouwd. |
| Testdata | Docenttestruns, testmodules of testcontexten tellen alleen mee wanneer de rij dat expliciet vermeldt. |
| Soft-delete en anonimisering | Soft-deleted, gedeactiveerde, verlopen of geanonimiseerde records tellen niet mee in actuele operationele waarden, behalve waar historische context expliciet leidend is. |
Algemene meetbare grenzen
Deze grenzen gelden voor de RDM-*-definities, tenzij een specifieke SRS-requirement of acceptatiecriterium een strengere domeingrens bepaalt.
| Grens | Norm | Trace |
|---|---|---|
| Autorisatie | Readmodels tellen alleen records waarvoor de gebruiker op dat moment de vereiste rol-, relatie-, object- en contextautorisatie heeft. | SRS-NFR-RDM-001, AC-NFR-RDM-001 |
| Actualiteit na mutatie | Een nieuw opgebouwde pagina gebruikt de actuele server-side bronstand na een bevestigde mutatie. Automatisch ververste badges of samenvattingen buiten actieve leerling-oefeningen worden uiterlijk binnen 5 seconden zichtbaar bijgewerkt. | SRS-NFR-RDM-002, AC-NFR-RDM-002 |
| Teller/detailconsistentie | Een teller en het bijbehorende detailoverzicht gebruiken dezelfde rolcontext, filters, periode en uitsluitingen. Het getoonde totaal komt overeen met de detaildataset of het pagineringstotaal. | SRS-NFR-RDM-003, AC-NFR-RDM-003 |
| Fallback | Een mislukte readmodelopbouw toont een onbekend-, fout- of tijdelijk-niet-beschikbaarstatus en nooit een misleidende nulwaarde. | SRS-NFR-RDM-004, AC-NFR-RDM-004 |
| Responstijd | Frontpages en overzichtsschermen met readmodelwaarden zijn onder de representatieve acceptatiedataset in 95% van de metingen binnen 2 seconden bruikbaar zichtbaar; filteren en pagineren binnen hetzelfde overzicht is in 95% van de metingen binnen 1 seconde verwerkt. | SRS-NFR-RDM-005, AC-NFR-RDM-005 |
Applicatieschil, badges en generieke waarden
| Definitie-ID | Waarde | Context | Definitie | Uitsluiten / bijzonderheden | Trace |
|---|---|---|---|---|---|
| RDM-GEN-001 | Dynamische schermwaarden | Alle schermen met tellers, namen, datums, statussen, contextlabels of snippets | Waarden worden opgebouwd uit actuele brondata, historische snapshotdata of beheerbare content, afhankelijk van het domeinobject dat het scherm toont. | Mockupdata, lorem-ipsumwaarden, testvoorbeelden en hardcoded productieaantallen zijn niet toegestaan. | SRS-RDM-001, AC-RDM-001 |
| RDM-GEN-002 | Niet-beschikbare readmodelwaarde | Alle readmodels | Wanneer een readmodel niet veilig kan worden opgebouwd, toont het scherm een veilige onbekend-, fout- of niet-beschikbaarstatus. | Het systeem mag geen onjuiste 0 tonen als de waarde feitelijk niet berekend kon worden. | SRS-RDM-009, AC-RDM-009 |
| RDM-GEN-003 | Responsive herschikking | Frontpages, overzichten, samenvattingskaarten en badges | Responsive layout mag waarden verplaatsen of stapelen, maar verandert de betekenis, sortering, zichtbare dataset of autorisatiegrens niet. | Layoutkeuze mag geen verborgen extra autorisatie of filter toepassen. | SRS-RDM-008, AC-RDM-008 |
| RDM-SHL-001 | Berichtenbadge | Header en profielomgeving | Aantal ongelezen mailboxitems voor de ingelogde gebruiker, afgeleid uit ongelezen systeemberichten en zichtbare privéthreads met berichten of thread-events na de participantgebonden leespositie. | Voor de gebruiker verwijderde privéthreads, niet-zichtbare systeemberichten en objecten zonder actuele toegang tellen niet mee. Tijdens actieve leerling-oefening mag zichtbare update worden uitgesteld. | SRS-MSG-001, SRS-RDM-007, AC-RDM-007 |
| RDM-SHL-002 | Meldingenactie-indicatie | Profielicoon, profielmenu en meldingenroutes | Aantal eigen meldingen waarvoor de gebruiker actie moet ondernemen: Tickets.CreatedByUserId is de huidige gebruiker en Tickets.Status is WaitingForUser. | De indicatie wordt niet apart opgeslagen. Tijdens actieve leerling-oefening mag zichtbare update worden uitgesteld zonder ticketstatus te wijzigen. | SRS-TIC-002, SRS-RDM-007, AC-RDM-007 |
| RDM-SHL-003 | Actieve systeemnotificaties | Frontpage-overlay na paginaload | Notificaties waarvan het actuele UTC-moment binnen StartUtc en EndUtc valt en waarvan doelgroep, notificatietype en displayregel passen bij de actuele context. | Niet-actieve, verlopen, toekomstige of niet-toegestane notificaties tellen niet mee. Always wordt niet permanent als gezien geregistreerd. | SRS-POP-005, SRS-RDM-004, AC-RDM-004 |
Beheerder en beheerondersteuning
| Definitie-ID | Waarde | Context | Definitie | Uitsluiten / bijzonderheden | Trace |
|---|---|---|---|---|---|
| RDM-ADM-001 | Actieve modules | Beheerder-frontpage en modulebeheer | Aantal technische moduleversies dat regulier actief is voor gebruik door oefeningen. | Modules in onderhoud, gedeactiveerde modules, verwijderde modules en test-only modules tellen niet mee, tenzij een beheerscherm expliciet testzichtbaarheid toont. | SRS-MOD-003, SRS-RDM-004 |
| RDM-ADM-002 | Modules in onderhoud | Beheerder-frontpage en modulebeheer | Aantal technische moduleversies dat niet regulier inzetbaar is voor leerlingen omdat de module in onderhoud, inactief of niet-publiceerbaar is. | Hardcoded mockupwaarden zijn niet toegestaan. Test-only status wordt afzonderlijk getoond wanneer het modulescherm die waarde vraagt. | SRS-MOD-003, SRS-RDM-004 |
| RDM-ADM-003 | Actieve categorieën | Beheerder-frontpage en categoriebeheer | Aantal centrale categorieën die regulier inzetbaar en kiesbaar zijn voor actuele configuratie. | Soft-deleted, uitgefaseerde, gemigreerde broncategorieën en niet-kiesbare categorieën tellen niet mee. | SRS-CAT-002, SRS-CAT-007, SRS-RDM-004 |
| RDM-ADM-004 | Uitgefaseerde categorieën | Beheerder-frontpage en categoriebeheer | Aantal centrale categorieën dat historisch herleidbaar blijft maar niet meer regulier kiesbaar is voor nieuwe configuraties. | Actieve categorieën tellen hier niet mee. Gemigreerde broncategorieën tellen mee wanneer zij functioneel uitgefaseerd zijn. | SRS-CAT-007, SRS-RDM-004 |
| RDM-ADM-005 | Actieve niveaus | Beheerder-frontpage | Aantal actieve docentniveaus waarvoor minimaal één actuele leerlingtoegang of actieve onderwijscontext bestaat, wanneer de kaarttekst aangeeft dat het om operationeel gebruikte niveaus gaat. | Inactieve, soft-deleted of volledig historische niveaus tellen niet mee voor operationele frontpagewaarden. | SRS-TCH-001, SRS-RDM-004 |
| RDM-ADM-006 | Actieve oefeningen | Beheerder-frontpage | Aantal concrete docent-oefeningen met actieve status binnen een actieve niveau-categorie-koppeling. | Oefeningen in onderhoud, soft-deleted oefeningen en docenttestruns tellen niet mee. | SRS-CAT-005, SRS-RDM-004 |
| RDM-ADM-007 | Open meldingen | Beheerder-frontpage en beheerdersoverzicht meldingen | Aantal tickets waarvan de processtatus niet functioneel gesloten is. | Tickets met actuele gesloten status tellen niet mee. Gebruikersgericht Opgelost met nog lopende heropentermijn valt onder gesloten processtatus en telt niet als open. | SRS-TIC-006, SRS-RDM-007 |
| RDM-ADM-008 | Nieuwe meldingen | Beheerder-frontpage en beheerdersoverzicht meldingen | Aantal tickets met processtatus New en zonder actieve beheerderkoppeling. | Tickets in behandeling, wachtend op gebruiker of gesloten tellen niet mee. | SRS-TIC-003, SRS-RDM-007 |
| RDM-ADM-009 | Aan mij toegewezen meldingen | Beheerdersoverzicht meldingen | Aantal tickets met een actieve TicketAssignment voor de huidige beheerder. | Beëindigde assignments, gesloten filters buiten de actieve beheerderscontext en assignments van andere beheerders tellen niet mee. | SRS-TIC-003, SRS-RDM-007 |
| RDM-ADM-010 | Totaal actieve accounts | Beheerder-frontpage en accountbeheer | Aantal interne OefenHub-accounts met actieve applicatietoegang. | Gedeactiveerde, verwijderde, geanonimiseerde of niet-regulier toegankelijke accounts tellen niet mee. | SRS-ACC-006, SRS-NFR-PRV-001, SRS-RDM-004 |
| RDM-ADM-011 | Beheerders actieve accounts | Beheerder-frontpage en accountbeheer | Aantal actieve accounts met een actieve beheerderrol. | Accounts zonder actieve toegang, accounts zonder actieve beheerderrol en geanonimiseerde accounts tellen niet mee. | SRS-ADM-005, SRS-RDM-004 |
| RDM-ADM-012 | Roltellers | Beheerder-frontpage en accountbeheer | Aantal actieve rolcontexten per rol, waarbij toegestane combinatierollen per rol meetellen en de leerlingrol niet gecombineerd wordt met andere rollen. | Een account met meerdere toegestane niet-leerlingrollen telt in iedere betreffende rolteller, maar niet dubbel binnen dezelfde rol. | SRS-AUTH-003, SRS-RDM-004 |
| RDM-ADM-013 | Recente beheerwijzigingen | Beheerder-frontpage | Compacte lijst van recente audit- of beheerhistoryregels uit beheerbare domeinen, gesorteerd aflopend op wijzigingsmoment. | Volledige vrije tekst, technische payloads en ongeautoriseerde gegevens worden niet getoond. Exacte limiet is UI- en Technisch Ontwerp-afstemming, maar de lijst blijft begrensd. | SRS-NFR-AUD-001, SRS-RDM-004 |
| RDM-ADM-014 | Systeemberichtsjablonen | Beheer systeemberichten | Aantal bestaande systeemberichttemplates dat beheerbaar of raadpleegbaar is in de templatebeheercontext. | Verwijderde of technisch verplichte niet-beheerbare referenties tellen alleen mee wanneer het scherm deze read-only toont. | SRS-MSG-007, SRS-RDM-004 |
| RDM-ADM-015 | Popuprecords | Popupbeheer | Aantal bestaande popupdefinities binnen het beheerbare popupregister. | Technisch verwijderde of niet-toegankelijke popuprecords tellen niet mee; verplichte technische keys mogen read-only zichtbaar zijn. | SRS-POP-001, SRS-RDM-004 |
| RDM-ADM-016 | Accountrelatiesamenvatting | Accountbeheer detail | Aantal actieve docentrelaties en actieve ouder-/voogdrelaties van het geselecteerde account, apart per relatietype en rolcontext. | Beëindigde relaties en andere relatietypen tellen niet mee in deze twee tellers. | SRS-REL-006, SRS-RDM-007 |
| RDM-ADM-017 | Docentondersteuning — docentkaart | Beheerder docentondersteuning | Per docent: naam, accountstatus, actieve rollen, aantal actieve niveaus, actieve categorieën, actieve oefeningen, actieve collaborators en leerlingen met toegang binnen de docentcontext. | Gegevens worden supportmatig getoond zonder leerling-, resultaat- of live-toegang buiten de geldige beheerdercontext te verruimen. | SRS-ADM-008, SRS-RDM-004, SRS-RDM-005 |
| RDM-ADM-018 | Docentondersteuning — niveaudetail | Beheerder docentondersteuning | Per niveau: naam, actuele eigenaar, aantal actieve categorieën, actieve oefeningen, leerlingen met toegang en actieve collaborators. | Historische of beëindigde relaties/collaborators tellen niet mee in actuele ondersteuningstellers. | SRS-ADM-008, SRS-RDM-005 |
Docentcontext en onderwijsstructuur
| Definitie-ID | Waarde | Context | Definitie | Uitsluiten / bijzonderheden | Trace |
|---|---|---|---|---|---|
| RDM-TCH-001 | Gekoppelde leerlingen | Docent-frontpage en leerlingenoverzicht | Aantal unieke leerlingen met een actieve docent-leerlingrelatie binnen de actuele docentcontext. | Beëindigde relaties, leerlingen buiten de docentcontext en geanonimiseerde accounts tellen niet mee. | SRS-TCH-008, SRS-RDM-005 |
| RDM-TCH-002 | Actieve niveauautorisaties | Docent-frontpage en leerlingenoverzicht | Aantal actieve niveauautorisaties dat door of binnen de actuele docentcontext geldig is. | Ingetrokken, verlopen of door andere docentcontexten toegekende autorisaties tellen niet mee. | SRS-TCH-002, SRS-RDM-005 |
| RDM-TCH-003 | Leerlingen op huidig niveau | Docent-frontpage en niveaucontext | Aantal unieke gekoppelde leerlingen met actieve toegang tot het geselecteerde niveau. | Leerlingen zonder actieve docentrelatie of zonder actieve niveauautorisatie tellen niet mee. | SRS-TCH-002, SRS-RDM-005 |
| RDM-TCH-004 | Actieve docentniveaus | Docent-frontpage en oefenaanbod | Aantal actieve niveaus waarvoor de docent actuele eigenaar of actieve collaborator is. | Beëindigde collaboratorrecords, inactieve docentrollen en routeparameters tellen niet mee. | SRS-TCH-001, SRS-RDM-005 |
| RDM-TCH-005 | Gekoppelde categorieën | Docent-frontpage en oefenaanbod | Aantal actieve niveau-categorie-koppelingen binnen de voor de docent toegankelijke niveaus. | Centrale categorieën buiten toegankelijke niveaus of uitgefaseerde koppelingen tellen niet mee. | SRS-CAT-002, SRS-RDM-005 |
| RDM-TCH-006 | Actieve oefeningen | Docent-frontpage en oefenaanbod | Aantal actieve concrete oefeningen binnen toegankelijke niveaus en categorieën. | Oefeningen in onderhoud en verwijderde of niet-toegankelijke oefeningen tellen niet mee. | SRS-CAT-005, SRS-RDM-005 |
| RDM-TCH-007 | Oefeningen in onderhoud | Docent-frontpage en oefenaanbod | Aantal concrete oefeningen met IsActive = false binnen toegankelijke docentcontext. | Actieve oefeningen tellen niet mee. | SRS-CAT-005, SRS-RDM-005 |
| RDM-TCH-008 | Actieve collaborators | Niveau- en samenwerkingsschermen | Aantal actieve collaboratorrecords op het geselecteerde niveau. | Beëindigde docent-docentrelaties en gedeactiveerde collaboratorrecords tellen niet mee. | SRS-TCH-006, SRS-RDM-005 |
Leerling, oefenen, resultaten en gedeelde oefeningen
| Definitie-ID | Waarde | Context | Definitie | Uitsluiten / bijzonderheden | Trace |
|---|---|---|---|---|---|
| RDM-LRN-001 | Weekaantal oefeningen | Leerling-frontpage | Aantal afgeronde, niet-test ExerciseRuns van de leerling binnen de actuele leerling- en niveaucontext in de huidige week. | Niet-afgeronde runs, docenttestruns en runs buiten de actuele toegankelijke niveaucontext tellen niet mee. | SRS-LRN-010, SRS-RDM-006 |
| RDM-LRN-002 | Populaire categorieën | Leerling-frontpage | Categorieën binnen het actuele niveau waarvoor de leerling toegang heeft, gerangschikt op aantal afgeronde runs binnen die toegankelijke niveaucontext. | Categorieën zonder actuele toegang of zonder actieve onderliggende oefening worden niet als startbare categorie getoond. | SRS-CAT-001, SRS-RDM-003, SRS-RDM-006 |
| RDM-LRN-003 | Recent geoefend | Leerling-frontpage | De laatst afgeronde oefeningen van de huidige leerling binnen het actieve niveau, met categorie, oefening en afrondmoment. | Niet-afgeronde runs, testruns en runs uit andere actieve niveaus tellen niet mee. | SRS-LRN-010, SRS-RDM-006 |
| RDM-LRN-004 | Klaar om verder te oefenen | Leerling-frontpage | Verwijzing naar de laatst gestarte niet-afgeronde run binnen de actuele leerling-, oefening- en niveaucontext. | Niet-afgeronde runs uit andere niveaus of niet langer toegankelijke contexten worden niet als normale hervatoptie aangeboden. | SRS-LRN-002, SRS-RDM-006 |
| RDM-LRN-005 | Aantal vragen bij Start nieuwe | Oefening-startpagina | Default-, minimum- en maximumwaarde komen uit de docent-geconfigureerde oefeningconfiguratie en eventuele systeemgrens. Een geldige start slaat het gevraagde aantal op als runcontext. | Bij ongeldige invoer wordt geen nieuwe ExerciseRun aangemaakt. Er is geen extra leerlingconfiguratiescherm vóór de start. | SRS-LRN-001, SRS-CAT-003, SRS-RDM-006 |
| RDM-LRN-006 | Geschiedenis-aantal | Oefening-startpagina en geschiedenis | Aantal afgeronde, niet-test ExerciseRuns binnen de gekozen oefening-, categorie- en niveaucontext. | Niet-afgeronde runs, docenttestruns en runs buiten de gekozen context tellen niet mee. | SRS-LRN-010, SRS-RDM-006 |
| RDM-LRN-007 | Geschiedenisregel-totalen | Geschiedenisoverzicht | Per afgeronde run worden afrondmoment, totaal aantal vragen, aantal goed, aantal fout en aantal Geen idee gelezen uit de opgeslagen uniforme runvelden. | Gewone weergave herberekent deze totalen niet uit modulepayloads. | SRS-LRN-006, SRS-LRN-010, SRS-RDM-006 |
| RDM-LRN-008 | Geschiedenis alles — totalen | Geschiedenis alles | Totaal aantal afgeronde runs en aantal afgeronde gedeelde runs binnen de toegestane leerlingdataset. | Lopende runs, testruns en verwijderde gedeelde overzichtsrecords zonder afgeronde ontvangerrun tellen niet mee als afgeronde geschiedenisregel. | SRS-LRN-010, SRS-SHR-006, SRS-RDM-006 |
| RDM-LRN-009 | Resultaatdetailsamenvatting | Resultaatdetail en PDF-bron | Samenvatting gebruikt de geselecteerde historische runcontext met naam, afrondmoment, aantal vragen, aantal goed, aantal fout en aantal Geen idee. | Later gewijzigde live configuratie, categorienaam of moduleconfiguratie mag historische resultaatweergave niet herschrijven. | SRS-PDF-001, SRS-LRN-006, SRS-RDM-006 |
| RDM-SHR-001 | Nieuw ontvangen gedeelde oefeningen | Gedeelde-oefeningenoverzicht leerling | Zichtbare SharedExercise-records voor de huidige leerling zonder gestarte ontvangerrun. | Door de ontvanger uit overzicht verwijderde shared-records tellen niet mee in het reguliere overzicht. | SRS-SHR-006, SRS-RDM-006 |
| RDM-SHR-002 | Al gestarte gedeelde oefeningen | Gedeelde-oefeningenoverzicht leerling | Zichtbare SharedExercise-records met minimaal één niet-afgeronde ontvangerrun. | Afgeronde ontvangerruns tellen in de afgerond-teller; verwijderde overzichtsrecords worden niet regulier getoond. | SRS-SHR-006, SRS-RDM-006 |
| RDM-SHR-003 | Afgeronde gedeelde oefeningen | Gedeelde-oefeningenoverzicht leerling | Zichtbare SharedExercise-records met minimaal één afgeronde ontvangerrun. | Afgeronde ontvangerruns blijven via normale geschiedenis beschikbaar wanneer het shared-record later uit het ontvangen overzicht is verwijderd. | SRS-SHR-006, SRS-LRN-010, SRS-RDM-006 |
Ouder-/voogdcontext en live-overzichten
| Definitie-ID | Waarde | Context | Definitie | Uitsluiten / bijzonderheden | Trace |
|---|---|---|---|---|---|
| RDM-GUA-001 | Actief gekoppelde kinderen | Ouder-/voogd-frontpage en kinderenoverzicht | Aantal unieke kinderen met een actieve GuardianStudent-relatie met de huidige ouder/voogd. | Ontkoppelde relaties, historische relaties en kinderen buiten de ouder-/voogdcontext tellen niet mee. | SRS-GUA-001, SRS-RDM-006 |
| RDM-GUA-002 | Afgeronde oefeningen deze week/maand | Ouder-/voogd-resultatensamenvatting | Aantal afgeronde, niet-test runs van actief gekoppelde kinderen binnen het genoemde tijdvenster. | Lopende runs, docenttestruns en runs van niet-actief gekoppelde kinderen tellen niet mee. | SRS-GUA-005, SRS-RDM-006 |
| RDM-GUA-003 | Gemiddeld goed | Ouder-/voogd-resultatensamenvatting | Gemiddelde goed-score over afgeronde, niet-test runs binnen de toegestane kinddataset en het gekozen tijdvenster. | Runs zonder geldige afronding tellen niet mee. De exacte presentatie als percentage of ratio volgt uit UI en Technisch Ontwerp, maar bronset en uitsluiting liggen hier vast. | SRS-GUA-005, SRS-RDM-006 |
| RDM-GUA-004 | Geen idee-momenten | Ouder-/voogd-resultatensamenvatting | Som van opgeslagen Geen-idee-totalen op afgeronde, niet-test runs binnen de toegestane kinddataset en het gekozen tijdvenster. | Gewone weergave herberekent deze waarde niet uit modulepayloads. | SRS-GUA-005, SRS-RDM-006 |
| RDM-GUA-005 | Online-kindstatus | Ouder-/voogd online-overzicht | Afgeleide status op basis van actuele sessie-/aanwezigheidsinformatie en actieve runcontext van actief gekoppelde kinderen. | Geen recente sessie of aanwezigheid resulteert in niet online; routeparameters of oude clientselecties verruimen de dataset niet. | SRS-GUA-006, SRS-LIVE-001, SRS-RDM-006 |
| RDM-GUA-006 | Livebeschikbaarheid | Ouder-/voogd online-overzicht | Boolean of status die aangeeft of live meekijken read-only beschikbaar is voor een actief gekoppeld kind met een lopende oefenrun en geldige livecontext. | Beheerdercontext geeft geen live-meekijkrecht. Ontkoppelde ouder-/voogdrelaties en afgesloten runs tellen niet mee. | SRS-LIVE-001, SRS-GUA-006, SRS-RDM-006 |
Berichten, meldingen en relaties
| Definitie-ID | Waarde | Context | Definitie | Uitsluiten / bijzonderheden | Trace |
|---|---|---|---|---|---|
| RDM-MSG-001 | Ongelezen berichten | Berichtenoverzicht en samenvattingskaart | Aantal zichtbare mailboxitems dat voor de huidige gebruiker ongelezen is: ongelezen systeemberichten plus privéthreads met berichten of thread-events na de participantgebonden leespositie. | Voor de deelnemer verwijderde privéthreads, niet-zichtbare threadinhoud en systeemberichten zonder actuele toegang tellen niet mee. | SRS-MSG-001, SRS-RDM-007 |
| RDM-MSG-002 | Systeemberichten | Berichtenoverzicht en samenvattingskaart | Totaal aantal zichtbare systeemberichten van de ingelogde gebruiker binnen de actieve filterset. | Systeemberichten waarvoor vervolgobjecten niet toegankelijk zijn blijven mailboxitems, maar vervolgactie wordt veilig geblokkeerd. | SRS-MSG-001, SRS-RDM-007 |
| RDM-MSG-003 | Privéberichten | Berichtenoverzicht en samenvattingskaart | Totaal aantal zichtbare privébericht-mailboxitems of threads voor de huidige participant binnen de actieve filterset. | Threads die participantgebonden uit de mailbox zijn verwijderd tellen niet mee. Retentie en cleanup mogen verwijderde zichtbaarheid niet herstellen. | SRS-MSG-003, SRS-RDM-007 |
| RDM-MSG-004 | Bewaartermijn privéberichten | Berichtenoverzicht samenvatting | Getoonde bewaartermijn wordt afgeleid uit de functionele retentie-instelling, bijvoorbeeld SystemSettings.PrivateMessageRetentionDays, met drie maanden als functionele hoofdlijn. | De tekst wordt niet als losse mockuptekst hardcoded wanneer de termijn beheerbaar of systeeminstelbaar is. | SRS-MSG-003, SRS-RDM-007 |
| RDM-MSG-005 | Eerdere berichten | Open privébericht | Aantal voor de participant zichtbare eerdere gewone privéberichten binnen dezelfde thread, exclusief het hoofdbericht dat geopend is. | Thread-events mogen zichtbaar zijn in de tijdlijn, maar tellen alleen mee wanneer de UI-definitie ze expliciet als eerdere items meeneemt. | SRS-MSG-003, SRS-RDM-007 |
| RDM-TIC-001 | Mijn meldingen — Open | Gebruikersweergave Meldingen | Eigen tickets die nog niet functioneel gesloten zijn en waar geen expliciete reactie van de gebruiker gevraagd wordt. | Tickets met WaitingForUser staan in Wacht op mij; gesloten of gebruikersgericht opgeloste meldingen staan niet in Open. | SRS-TIC-002, SRS-RDM-007 |
| RDM-TIC-002 | Mijn meldingen — Wacht op mij | Gebruikersweergave Meldingen | Eigen tickets waarvoor actie van de gebruiker nodig is: Tickets.CreatedByUserId is de huidige gebruiker en Tickets.Status is WaitingForUser. | Dezelfde afleiding voedt profielicoon, profielmenu en tabteller; er is geen losse telleropslag. | SRS-TIC-002, SRS-RDM-007 |
| RDM-TIC-003 | Mijn meldingen — Gesloten | Gebruikersweergave Meldingen | Eigen tickets die formeel gesloten, geaccepteerd, zelf gesloten of gebruikersgericht opgelost/gesloten zijn. | Interne beheerdiscussie en technische snapshots worden niet zichtbaar voor de gebruiker. | SRS-TIC-005, SRS-RDM-007 |
| RDM-REL-001 | Relatiesamenvatting | Relatiepagina | Aantallen actieve vrienden, ouder-/voogdrelaties, docentrelaties en door de gebruiker verstuurde openstaande uitnodigingen binnen de actieve rolcontext. | Inkomende uitnodigingen worden via systeemberichten verwerkt en tellen niet als openstaande verstuurde uitnodiging op de relatiepagina. Verlopen, afgewezen en geaccepteerde uitnodigingen tellen niet mee. | SRS-REL-001, SRS-REL-004, SRS-RDM-007 |
Profiel, voorkeuren en content
| Definitie-ID | Waarde | Context | Definitie | Uitsluiten / bijzonderheden | Trace |
|---|---|---|---|---|---|
| RDM-ACC-001 | Toegankelijkheidssamenvatting | Toegankelijkheidspagina | Actuele waarden voor verhoogd contrast, dyslexielettertype en tekstgrootte uit het gebruikersprofiel of UserSettings-domein. | Browsercookie of technische spiegeling is geen tweede bron van waarheid en mag geen autorisatie- of persoonsgegevens bevatten. | SRS-ACC-005, SRS-RDM-008 |
| RDM-ACC-002 | Aantal regels per pagina | Voorkeuren en overzichtspagina’s | Presentatievoorkeur voor paginagrootte ondersteunt minimaal 20, 40, 60 en Alles waar het betreffende overzicht deze voorkeur toepast. | De voorkeur wijzigt geen autorisaties, geen domeinrecords en geen zichtbare gegevensset; Alles mag technisch alsnog veilig begrensd worden wanneer performance of NFR dat vereist. | SRS-ACC-005, SRS-RDM-008, SRS-NFR-PER-003 |
| RDM-CNT-001 | Privacy in het kort | Privacybeleid en vaste pagina’s | Samenvattingskaart is beheerbare content of codevaste contentcontext en wordt niet uit runtime-gebruikerdata berekend. | De kaart mag geen persoonlijke privacy-inzage simuleren; persoonlijke inzage vereist een aparte geautoriseerde flow. | SRS-CNT-003, SRS-NFR-PRV-001, SRS-RDM-003 |
Technische vertaling in Technisch Ontwerp en database-informatie
Deze SRS-definities leggen de functionele betekenis vast. Voor implementatie worden in Technisch Ontwerp: readmodels, tellers, badges, caching en materialisatie, Technisch Ontwerp: databaseontwerp, migraties, seeddata en constraints of database-informatie per readmodel de technische vertaling en databasetoegang vastgelegd:
| Technisch Ontwerp-onderwerp | Toelichting |
|---|---|
| Queryvorm | Welke query, view, service of materialized readmodel de waarde oplevert. |
| Indexering | Welke indexen of denormalisaties nodig zijn voor performance. |
| Caching | Of caching is toegestaan en hoe invalidatie voldoet aan de actualiteitsgrenzen uit SRS-NFR-RDM-*. |
| Paginering | Hoe Alles, grote datasets en exportachtige lijsten technisch begrensd worden. |
| Realtime refresh | Welke waarden via SignalR, polling of herladen worden ververst en hoe gemiste updates weer aan de server-side bronstand worden gelijkgetrokken. |
| Foutlogging | Welke correlatiegegevens worden gelogd bij mislukte readmodelopbouw zonder gevoelige payloads vast te leggen. |