Skip to main content

9. Gedeelde oefening overzicht

9.1 Schermafbeelding

oefenhub_leerling_08_gedeelde_oefening_overzicht_v1_4.png

9.2 Scherm meta data

VeldWaarde
Scherm-IDSCH-LLN-08-01
SchermnaamGedeelde oefeningen — Overzicht
Doelgroep / onderdeelLeerling
Bronbestandoefenhub_leerling_08_gedeelde_oefening_overzicht_v1_4.html
MockupversieV1.4
Screenshotbestandoefenhub_leerling_08_gedeelde_oefening_overzicht_v1_4.png
Processtap / contextLeerling opent vanuit het profielmenu het overzicht van ontvangen gedeelde oefeningen. Het profielmenu-item is alleen zichtbaar wanneer de leerling minimaal één actieve, niet-verwijderde gedeelde oefening heeft ontvangen.
DocumentatiestatusUitgewerkt op basis van HTML-mockup, PNG-screenshot, Functioneel Ontwerp, Technisch Ontwerp, Software Requirements Specification en database-informatie.
OpmerkingenVrijwel alle waarden in deze view zijn dynamisch. Namen, datums, statuslabels, voortgang, aantallen en beschikbare acties worden bepaald door de ontvangen gedeelde oefeningen van de ingelogde leerling.
Route / URL-patroonFunctioneel routepatroon: leerlingprofiel > Gedeelde oefeningen.
Autorisatie / vereiste rol-contextActieve leerlingcontext; alleen gedeelde oefeningen waarvan de ingelogde leerling ontvanger is en die niet uit het eigen overzicht zijn verwijderd.
Primair domeinobject / hoofdentiteitSharedExercises als administratief ontvangen gedeelde oefening; ExerciseRuns zodra de ontvanger de gedeelde oefening daadwerkelijk start of afrondt.
Gerelateerde schermen / navigatie01_schermen-leerling, 05_start_nieuwe, 07_geschiedenis_details, 08_geschiedenis_alles.
Data-karakterDynamisch overzichtsscherm met status-, filter- en actiegedrag; geen vaste testdata en geen handmatige invoer behalve filterselecties en bevestigingsacties.

9.3 Functionele beschrijving

Deze pagina toont de gedeelde oefeningen die de ingelogde leerling van andere leerlingen heeft ontvangen. De pagina wordt geopend vanuit het profielmenu en is functioneel alleen relevant wanneer er minimaal één ontvangen gedeelde oefening bestaat die nog niet door de ontvanger uit het eigen overzicht is verwijderd.

Een gedeelde oefening is eerst een administratief ontvangen record. Pas wanneer de ontvanger de oefening start, ontstaat een eigen ExerciseRun voor de ontvanger. De gedeelde oefening blijft daarbij gebaseerd op de historische bronrun van de leerling die de oefening deelde. De zichtbare context van niveau, categorie en oefening wordt daarom als snapshot getoond zoals die gold op het moment van delen. Latere hernoemingen of categoriemigraties mogen deze zichtbare snapshotwaarden in dit overzicht niet herschrijven.

De pagina bestaat uit:

  1. Introblok
    Legt uit dat dit overzicht ontvangen gedeelde oefeningen bundelt en dat een systeembericht de leerling informeert wanneer een nieuwe gedeelde oefening klaarstaat.

  2. In één oogopslag
    Toont dynamische samenvattingsaantallen voor ontvangen gedeelde oefeningen, bijvoorbeeld nieuw ontvangen, al gestart en afgerond.

  3. Filters
    De leerling kan filteren op status, niveau, categorie en afzender. Filteropties worden afgeleid uit de gedeelde oefeningen die voor deze leerling beschikbaar zijn.

  4. Tabel met gedeelde oefeningen
    Elke regel vertegenwoordigt één ontvangen gedeelde oefening. Per regel worden onder meer ontvangstdatum, deler, niveau, categorie, oefening/subcategorie, status, voortgang en acties getoond.

  5. Acties per gedeelde oefening
    Rechts in de tabel staan acties om geschiedenis te bekijken, de gedeelde oefening te starten of te hervatten, en de gedeelde oefening uit het eigen overzicht te verwijderen.

Interpretatie van dynamische mockupwaarden

De voorbeeldwaarden in de mockup, zoals namen van leerlingen, datums, niveaus, categorieën, oefeningen, statuslabels, voortgangswaarden en aantallen, zijn uitsluitend illustratief. In productie worden deze waarden altijd dynamisch bepaald op basis van de ontvangen gedeelde oefeningen van de ingelogde leerling, de daaruit ontstane oefenruns en de actieve filters.

Voorbeelden:

  • Nieuw ontvangen betekent dat de gedeelde oefening wel is ontvangen, maar nog niet door de ontvanger is gestart.
  • Al gestart betekent dat er een niet-afgeronde run voor de ontvanger bestaat die uit de gedeelde oefening is ontstaan.
  • Afgerond betekent dat er minimaal één afgeronde run bestaat die uit deze gedeelde oefening of de gedeelde inhoud is ontstaan.
  • De voortgang zoals 6 van 15 is altijd dynamisch en hoort bij de eigen run van de ontvanger, niet bij de bronrun van de deler.
  • De geschiedenisactie is alleen actief wanneer er voor deze gedeelde oefening afgeronde runhistorie beschikbaar is.

Starten, hervatten en opnieuw maken

Wanneer de ontvanger een gedeelde oefening voor de eerste keer start, moet de oefening in exact dezelfde vraagvolgorde worden aangeboden als de bronrun waarin de deler de oefening heeft gedeeld. Dit geldt alleen voor de eerste uitvoering door de ontvanger.

Wanneer de leerling een gedeelde oefening al gestart maar nog niet afgerond heeft, opent de startactie de bestaande niet-afgeronde run zodat de leerling verder kan gaan waar hij of zij gebleven was.

Wanneer de leerling dezelfde gedeelde oefening na afronding opnieuw maakt, gebruikt het systeem dezelfde inhoud maar wordt een nieuwe run gegenereerd met gehusselde/random volgorde. De nieuwe run is een eigen run van de ontvanger en mag de oorspronkelijke gedeelde bronrun of eerdere afgeronde runs niet overschrijven.

De mockup toont in de startmodal een volgorderegel voor herhalen. Functioneel blijft leidend dat de eerste uitvoering exact de gedeelde volgorde gebruikt en dat vervolguitvoeringen na afronding als nieuwe, gehusselde/random runs worden opgebouwd.

Verwijderen uit eigen overzicht

De verwijderactie verwijdert de gedeelde oefening uit het overzicht van de ontvanger door het shared-record functioneel te markeren als verwijderd. Daardoor verliest de leerling toegang tot deze gedeelde oefening vanuit dit overzicht. Reeds uitgevoerde en afgeronde runs blijven historisch beschikbaar via Geschiedenis alles. Verwijderen van een gedeelde oefening verwijdert dus geen afgeronde oefenruns.

9.4 UI-elementen en velddefinities

Element-IDTypeGUI-verwijzingOmschrijvingZichtbaar labelOpmerkingTechnische naam
SCH-LLN-08-01-S01SectionBreadcrumbNavigatiepad naar het profielonderdeel voor gedeelde oefeningen.Home > Profiel > GeschiedenisIn de mockup staat het laatste breadcrumb-label als Geschiedenis; functioneel betreft deze pagina Gedeelde oefeningen.SharedExercisesBreadcrumb
SCH-LLN-08-01-S02SectionIntrokaartKaart met titel en toelichting op ontvangen gedeelde oefeningen.Gedeelde oefeningenTekstueel informatief; inhoud mag beheerbaar zijn, maar de schermstructuur is codegedreven.SharedExercisesIntroSection
SCH-LLN-08-01-F01FieldIntrokaart — titelTitel van de pagina.Gedeelde oefeningenRead-only weergavetekst.SharedExercisesTitle
SCH-LLN-08-01-F02FieldIntrokaart — toelichtingLegt uit dat de leerling gedeelde oefeningen kan openen, starten, hervatten of opnieuw maken.Hier verzamel je ontvangen gedeelde oefeningen.Read-only toelichting; geen vaste data.SharedExercisesIntroText
SCH-LLN-08-01-S03SectionSamenvattingskaart rechtsSamenvatting van de ontvangen gedeelde oefeningen van de leerling.In één oogopslagAantallen zijn dynamisch en niet handmatig bewerkbaar.SharedExercisesSummarySection
SCH-LLN-08-01-F03FieldSamenvatting — nieuw ontvangenAantal gedeelde oefeningen dat nog niet door de ontvanger is gestart.Nieuw ontvangenDynamische teller.NewSharedExercisesCount
SCH-LLN-08-01-F04FieldSamenvatting — al gestartAantal gedeelde oefeningen met een niet-afgeronde eigen run van de ontvanger.Al gestartDynamische teller.StartedSharedExercisesCount
SCH-LLN-08-01-F05FieldSamenvatting — afgerondAantal gedeelde oefeningen waarvoor de leerling een afgeronde run heeft.AfgerondDynamische teller.CompletedSharedExercisesCount
SCH-LLN-08-01-S04SectionFilterbalkFiltergroep boven de tabel.Status / Niveau / Categorie / Gedeeld doorFiltert de tabelweergave; verandert geen data.SharedExercisesFilterSection
SCH-LLN-08-01-F06FieldFilter — statusSelectieveld om gedeelde oefeningen op afgeleide status te filteren.StatusOpties: Alles, Nieuw ontvangen, Al gestart, Afgerond.SharedExerciseStatusFilter
SCH-LLN-08-01-F07FieldFilter — niveauSelectieveld met niveaus die voorkomen in de ontvangen gedeelde oefeningen.NiveauGebaseerd op snapshotwaarden of gekoppelde runcontext.SharedExerciseLevelFilter
SCH-LLN-08-01-F08FieldFilter — categorieSelectieveld met categorieën die voorkomen in de ontvangen gedeelde oefeningen.CategorieGebaseerd op snapshotwaarden.SharedExerciseCategoryFilter
SCH-LLN-08-01-F09FieldFilter — gedeeld doorSelectieveld met leerlingen die oefeningen met de ingelogde leerling hebben gedeeld.Gedeeld doorAlleen afzenders van zichtbare, niet-verwijderde shared-records.SharedExerciseSenderFilter
SCH-LLN-08-01-T01TableGedeelde oefeningen tabelHoofdtabel met ontvangen gedeelde oefeningen.Ontvangen / Gedeeld door / Niveau / Categorie / Subcategorie / Status / Voortgang / ActiesAlle regels zijn dynamisch.SharedExercisesTable
SCH-LLN-08-01-F10FieldKolom OntvangenDatum waarop de gedeelde oefening door de leerling is ontvangen.OntvangenWeergave op basis van gedeeld-op datum.SharedAtDisplayDate
SCH-LLN-08-01-F11FieldKolom Gedeeld doorNaam van de leerling die de oefening heeft gedeeld.Gedeeld doorAfgeleid van SharedByUserId; geen technisch ID tonen.SharedByDisplayName
SCH-LLN-08-01-F12FieldKolom NiveauNiveau zoals vastgelegd op het moment van delen.NiveauSnapshotwaarde; blijft historisch gelijk.LevelSnapshotDisplayText
SCH-LLN-08-01-F13FieldKolom CategorieCategorie zoals vastgelegd op het moment van delen.CategorieSnapshotwaarde; blijft historisch gelijk.CategorySnapshotDisplayText
SCH-LLN-08-01-F14FieldKolom SubcategorieOefening/subcategorie zoals vastgelegd op het moment van delen.SubcategorieFunctioneel de gedeelde oefeningcontext; geen aparte subcategorietabel veronderstellen.ExerciseSnapshotDisplayText
SCH-LLN-08-01-F15FieldKolom StatusAfgeleide status van de ontvangen gedeelde oefening.StatusNieuw ontvangen, Al gestart of Afgerond.SharedExerciseStatus
SCH-LLN-08-01-F16FieldKolom VoortgangVoortgang van de eigen run van de ontvanger, indien gestart.VoortgangLeeg of streepje bij nog niet gestart; anders dynamisch zoals <beantwoord> van <totaal>.SharedExerciseProgress
SCH-LLN-08-01-A01ActionActieknop geschiedenisOpent de geschiedenis/resultaten van afgeronde runs voor deze gedeelde oefening.GeschiedenisDisabled wanneer er nog geen afgeronde runhistorie is.OpenSharedExerciseHistoryAction
SCH-LLN-08-01-A02ActionActieknop starten / hervatten / opnieuw makenStart de eerste gedeelde run, hervat een niet-afgeronde run of maakt na afronding een nieuwe run.Start / Ga verder / Start opnieuwGedrag afhankelijk van status.StartSharedExerciseAction
SCH-LLN-08-01-A03ActionActieknop verwijderenOpent bevestigingsmodal voor verwijderen uit eigen overzicht.Verwijder gedeelde oefeningVerwijdert geen afgeronde runs.DeleteSharedExerciseAction
SCH-LLN-08-01-M01MessageSnapshottekst onder tabelLegt uit dat namen van niveau, categorie en oefening historisch blijven zoals op moment van delen.De teksten van niveau, categorie en subcategorie blijven zichtbaar zoals ze waren op het moment van delen.Belangrijke functionele toelichting.SharedExerciseSnapshotInfoMessage
SCH-LLN-08-01-MOD01ModalStartmodalBevestigingsmodal bij starten, hervatten of opnieuw maken van een gedeelde oefening.Gedeelde oefening startenModaltekst is afhankelijk van status van de gedeelde oefening.StartSharedExerciseModal
SCH-LLN-08-01-F17FieldStartmodal — statusuitlegDynamische uitleg over eerste start, hervatten of opnieuw maken.Je start deze gedeelde oefening voor de eerste keer.Voorbeeldtekst; exacte tekst afhankelijk van status.StartSharedExerciseModalText
SCH-LLN-08-01-F18FieldStartmodal — volgordeToont of bepaalt de volgordelogica bij opnieuw maken.VolgordeEerste start altijd exact gedeelde volgorde; herhaalruns na afronding random/gehusseld.SharedExerciseOrderMode
SCH-LLN-08-01-B01ButtonStartmodal — annulerenSluit de startmodal zonder actie.AnnulerenGeen mutatie.CancelStartSharedExerciseButton
SCH-LLN-08-01-B02ButtonStartmodal — bevestigenBevestigt starten, hervatten of opnieuw maken.Start oefeningLeidt tot bestaande run openen of nieuwe run genereren.ConfirmStartSharedExerciseButton
SCH-LLN-08-01-MOD02ModalVerwijdermodalBevestigingsmodal voor verwijderen van de gedeelde oefening uit het overzicht.Gedeelde oefening verwijderenWaarschuwt dat afgeronde runs in Geschiedenis alles blijven bestaan.DeleteSharedExerciseModal
SCH-LLN-08-01-B03ButtonVerwijdermodal — annulerenSluit verwijdermodal zonder wijziging.AnnulerenGeen mutatie.CancelDeleteSharedExerciseButton
SCH-LLN-08-01-B04ButtonVerwijdermodal — bevestigenMarkeert het shared-record als verwijderd voor de ontvanger.VerwijderenSoft delete / eigen-overzicht verwijdering.ConfirmDeleteSharedExerciseButton

9.5 Waardelagen

Element-IDGUI-verwijzingZichtbaar labelTechnische naamDatabronWaardebronDatatypeBewerkbaarValidatie / regel
SCH-LLN-08-01-S02IntrokaartGedeelde oefeningenSharedExercisesIntroSectionCodegedreven profielpagina met eventueel beheerbare tekstinhoudUitleg over ontvangen gedeelde oefeningenSection / compositeNeePagina wordt alleen via profielmenu aangeboden wanneer zichtbare gedeelde oefeningen bestaan.
SCH-LLN-08-01-F03Samenvatting — nieuw ontvangenNieuw ontvangenNewSharedExercisesCountSharedExercisesTelling van niet-verwijderde records met SharedToUserId = huidige gebruiker waarvoor nog geen eigen start/run bestaatIntegerNeeAlleen records met IsDeleted = false tellen mee.
SCH-LLN-08-01-F04Samenvatting — al gestartAl gestartStartedSharedExercisesCountSharedExercises + ExerciseRunsTelling van gedeelde oefeningen met een bestaande niet-afgeronde run van de ontvangerIntegerNeeRun hoort bij huidige leerling en is nog niet IsCompleted = true.
SCH-LLN-08-01-F05Samenvatting — afgerondAfgerondCompletedSharedExercisesCountSharedExercises + ExerciseRunsTelling van gedeelde oefeningen waarvoor de ontvanger minimaal één afgeronde run heeftIntegerNeeAlleen afgeronde, niet-test runs tellen mee.
SCH-LLN-08-01-F06Filter — statusStatusSharedExerciseStatusFilterAfgeleide statussen uit SharedExercises en gekoppelde/ontstane ExerciseRunsUser input voor filterselectieEnum / stringJaFilter wijzigt alleen de zichtbare tabelregels; geen database-mutatie.
SCH-LLN-08-01-F07Filter — niveauNiveauSharedExerciseLevelFilterSharedExercises.LevelSnapshotText en/of historische ExerciseRuns.LevelIdUser input voor filterselectieString / enum-achtige selectieJaAlleen waarden tonen die voorkomen binnen de zichtbare gedeelde oefeningen van deze leerling.
SCH-LLN-08-01-F08Filter — categorieCategorieSharedExerciseCategoryFilterSharedExercises.CategorySnapshotText en/of historische ExerciseRuns.CategoryIdUser input voor filterselectieString / enum-achtige selectieJaAlleen waarden tonen die voorkomen binnen de zichtbare gedeelde oefeningen van deze leerling.
SCH-LLN-08-01-F09Filter — gedeeld doorGedeeld doorSharedExerciseSenderFilterSharedExercises.SharedByUserId + UsersUser input voor filterselectieGUID-intern / naam zichtbaarJaAlleen afzenders tonen die ten minste één zichtbare gedeelde oefening met deze leerling hebben.
SCH-LLN-08-01-T01TabelGedeelde oefeningenSharedExercisesTableSharedExercises met optionele afleiding uit ExerciseRunsDynamische lijst van ontvangen gedeelde oefeningen na autorisatie en filtersCollectionNeeAlleen SharedToUserId = huidige gebruiker en IsDeleted = false; geen technische ID's tonen.
SCH-LLN-08-01-F10Kolom OntvangenOntvangenSharedAtDisplayDateSharedExercises.SharedAtUtcDatumweergave van ontvangstmomentDate/timeNeeUTC opslaan; lokaal tonen.
SCH-LLN-08-01-F11Kolom Gedeeld doorGedeeld doorSharedByDisplayNameSharedExercises.SharedByUserId + UsersNaam van delerStringNeeToon functionele naam, geen GUID of e-mailadres tenzij expliciet gewenst.
SCH-LLN-08-01-F12Kolom NiveauNiveauLevelSnapshotDisplayTextSharedExercises.LevelSnapshotTextSnapshot van niveau op moment van delenStringNeeMag niet automatisch wijzigen door latere naamswijzigingen of migraties.
SCH-LLN-08-01-F13Kolom CategorieCategorieCategorySnapshotDisplayTextSharedExercises.CategorySnapshotTextSnapshot van categorie op moment van delenStringNeeMag niet automatisch wijzigen door latere naamswijzigingen of migraties.
SCH-LLN-08-01-F14Kolom SubcategorieSubcategorieExerciseSnapshotDisplayTextSharedExercises.ExerciseSnapshotTextSnapshot van oefening/subcategorie op moment van delenStringNeeGeen aparte subcategorietabel afleiden uit dit label; functioneel gaat het om de gedeelde oefeningcontext.
SCH-LLN-08-01-F15Kolom StatusStatusSharedExerciseStatusSharedExercises.StartedAtUtc, SharedExercises.CompletedAtUtc, ExerciseRuns.IsCompleted, ExerciseRuns.CompletedAtUtcAfgeleid statuslabelEnum / stringNeeStatus wordt afgeleid; niet handmatig opgeslagen als vrije tekst.
SCH-LLN-08-01-F16Kolom VoortgangVoortgangSharedExerciseProgressExerciseRuns.CompletedQuestionCount, ExerciseRuns.TotalQuestions of actuele runprogressieAfgeleide voortgang van eigen run ontvangerString / compositeNeeBij niet gestart streepje of lege waarde; bij gestart <aantal afgerond> van <totaal>.
SCH-LLN-08-01-A01Actie geschiedenisGeschiedenisOpenSharedExerciseHistoryActionExerciseRuns met SharedExerciseId of andere administratieve verwijzing naar gedeelde oorsprongBeschikbaarheid op basis van afgeronde runsActionJaDisabled met tooltip wanneer geen afgeronde runhistorie beschikbaar is.
SCH-LLN-08-01-A02Actie starten / hervatten / opnieuw makenStart / Ga verder / Start opnieuwStartSharedExerciseActionSharedExercises, ExerciseRuns, bronrunpayload en moduleconfiguratieActieafleiding op basis van statusActionJaEerste start exacte gedeelde volgorde; hervatten opent bestaande run; herhalen na afronding genereert nieuwe random/gehusselde run.
SCH-LLN-08-01-A03Actie verwijderenVerwijder gedeelde oefeningDeleteSharedExerciseActionSharedExercises.IsDeleted, DeletedAtUtc, DeletedByUserIdUser input na bevestigingActionJaAlleen eigen ontvangen shared-record soft deleten; afgeronde runs blijven bestaan.
SCH-LLN-08-01-F18Startmodal — volgordeVolgordeSharedExerciseOrderModeBronrunvolgorde uit SharedExercises.SourceExerciseRunId en vervolglogica voor nieuwe runsAfgeleid / systeemkeuzeEnumBeperktEerste uitvoering is exact de bronvolgorde; herhaalruns na afronding worden gehusseld/random.
SCH-LLN-08-01-MOD02VerwijdermodalGedeelde oefening verwijderenDeleteSharedExerciseModalSharedExercisesBevestiging vóór soft deleteModalJaVerwijderactie vereist expliciete bevestiging en mag historische runs niet verwijderen.

9.6 Schermtrace naar SRS en acceptatiecriteria

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

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

SchermrequirementDektSchermcontext
REQ-SCH-LLN-08-01-01SRS-SHR-007
AC-SHR-007
Het profielmenu-item Gedeelde oefeningen alleen tonen wanneer de ingelogde leerling minimaal één actieve, niet-verwijderde gedeelde oefening heeft ontvangen
REQ-SCH-LLN-08-01-02SRS-SHR-007
AC-SHR-007
In dit overzicht uitsluitend gedeelde oefeningen tonen waarvoor de ingelogde leerling de ontvanger is en waarvoor het shared-record niet uit het eigen overzicht is verwijderd
REQ-SCH-LLN-08-01-03SRS-SHR-006
AC-SHR-006
Alle zichtbare waarden in het overzicht dynamisch bepalen uit ontvangen gedeelde oefeningen, bijbehorende runstatussen en actieve filters; mockupwaarden geen hardcoded worden
REQ-SCH-LLN-08-01-04SRS-RDM-006
SRS-RDM-002
SRS-RDM-001
SRS-SHR-006
AC-RDM-006
AC-RDM-002
AC-RDM-001
AC-SHR-006
Samenvattingsaantallen tonen voor nieuw ontvangen, al gestarte en afgeronde gedeelde oefeningen binnen de zichtbare dataset van de leerling
REQ-SCH-LLN-08-01-05SRS-SHR-001
AC-SHR-001
Filteren ondersteunen op status, niveau, categorie en deler, waarbij filteropties alleen worden opgebouwd uit gedeelde oefeningen die voor de ingelogde leerling zichtbaar zijn
REQ-SCH-LLN-08-01-06SRS-SHR-008
AC-SHR-008
Per gedeelde oefening de snapshotwaarden van niveau, categorie en oefening tonen zoals die golden op het moment van delen
REQ-SCH-LLN-08-01-07SRS-SHR-008
AC-SHR-008
Het systeem mag snapshotwaarden van gedeelde oefeningen niet achteraf wijzigen op basis van latere hernoemingen, categoriemigraties of wijzigingen in de oorspronkelijke oefenconfiguratie
REQ-SCH-LLN-08-01-08SRS-SHR-006
AC-SHR-006
De status van een gedeelde oefening afleiden als Nieuw ontvangen, Al gestart of Afgerond op basis van het shared-record en de eigen run(s) van de ontvanger
REQ-SCH-LLN-08-01-09SRS-SHR-006
AC-SHR-006
Bij een nog niet gestarte gedeelde oefening de eerste run voor de ontvanger genereren in exact dezelfde vraagvolgorde als de bronrun waarin de oefening is gedeeld
REQ-SCH-LLN-08-01-10SRS-SHR-006
AC-SHR-006
Bij een al gestarte maar niet-afgeronde gedeelde oefening de bestaande run hervatten in plaats van een nieuwe run te genereren
REQ-SCH-LLN-08-01-11SRS-SHR-006
AC-SHR-006
Bij opnieuw maken na afronding dezelfde gedeelde inhoud gebruiken, maar een nieuwe eigen run voor de ontvanger genereren met gehusselde/random vraagvolgorde
REQ-SCH-LLN-08-01-12SRS-SHR-006
AC-SHR-006
Voorkomen dat starten, hervatten of opnieuw maken van een gedeelde oefening de oorspronkelijke bronrun of eerdere afgeronde runs overschrijft
REQ-SCH-LLN-08-01-13SRS-NFR-AUD-001
SRS-SHR-006
AC-NFR-AUD-001
AC-SHR-006
De geschiedenisactie alleen actief maken wanneer voor de gedeelde oefening minimaal één afgeronde runhistorie van de ontvanger beschikbaar is
REQ-SCH-LLN-08-01-14SRS-NFR-AUD-001
SRS-SHR-006
AC-NFR-AUD-001
AC-SHR-006
De geschiedenisactie disabled tonen met begrijpelijke tooltip of toelichting wanneer er nog geen afgeronde runhistorie beschikbaar is
REQ-SCH-LLN-08-01-15SRS-SHR-007
AC-SHR-007
Bij verwijderen van een gedeelde oefening eerst een bevestigingsmodal tonen
REQ-SCH-LLN-08-01-16SRS-SHR-007
AC-SHR-007
Verwijderen van een gedeelde oefening uitvoeren als verwijdering uit het eigen overzicht van de ontvanger, bijvoorbeeld via SharedExercises.IsDeleted, zonder afgeronde runs fysiek te verwijderen
REQ-SCH-LLN-08-01-17SRS-SHR-007
AC-SHR-007
Na verwijderen voorkomen dat de gedeelde oefening nog vanuit dit overzicht gestart, hervat of opnieuw gemaakt kan worden
REQ-SCH-LLN-08-01-18SRS-SHR-007
AC-SHR-007
Reeds afgeronde runs die uit een verwijderde gedeelde oefening zijn ontstaan beschikbaar houden via Geschiedenis alles
REQ-SCH-LLN-08-01-19SRS-AUTH-004
SRS-SHR-006
AC-AUTH-004
AC-SHR-006
Technische identifiers zoals GUID's, run-id's, shared-record-id's en module-id's niet zichtbaar tonen in de tabel, filters, modals of breadcrumb
REQ-SCH-LLN-08-01-20SRS-AUTH-001
SRS-SHR-006
AC-AUTH-001
AC-SHR-006
Directe URL-toegang server-side autoriseren zodat een leerling nooit gedeelde oefeningen van andere leerlingen kan zien of starten
REQ-SCH-LLN-08-01-21SRS-SHR-001
AC-SHR-001
Datum- en tijdwaarden uit UTC-bronnen lokaal en consistent tonen in de gebruikersinterface
REQ-SCH-LLN-08-01-22SRS-SHR-006
AC-SHR-006
Bij ontbrekende of niet meer laadbare technische module een begrijpelijke foutmelding tonen en voorkomen dat een nieuwe run half gegenereerd wordt

9.7 Technische koppeling

Voor technische uitwerking zijn vooral relevant: