Gedeelde oefeningen
Doel van dit subdomein
Het subdomein Gedeelde oefeningen beschrijft de leerlingprocessen rond het delen, ontvangen, starten, opnieuw maken en verwijderen van gedeelde oefeningen.
Een leerling kan een afgeronde eigen oefening delen met een actieve vriend wanneer vriendschappen en oefeningdelen functioneel beschikbaar zijn. De ontvanger krijgt hierdoor een ontvangen gedeelde oefening. Dit is eerst een administratief ontvangstrecord. Pas wanneer de ontvanger de gedeelde oefening start, ontstaat voor de ontvanger een zelfstandige ExerciseRun met eigen voortgang, antwoorden, totalen en resultaat.
Dit subdomein vormt geen bron voor vriendschappen, relatie-uitnodigingen, berichtleesstatus of reguliere oefenvoortgang. Die processen blijven bronhoudend in de betreffende generieke of leerlingdomeinen.
Usecases
| Usecase-ID | Naam | Beschrijving |
|---|---|---|
| UC-LLN-DEL-001 | Oefening delen met vriend | Leerling deelt een afgeronde eigen oefening met een actieve vriend, waarna een ontvangen gedeelde oefening voor de ontvanger ontstaat. |
| UC-LLN-DEL-002 | Ontvangen gedeelde oefeningen bekijken | Leerling bekijkt het eigen overzicht met ontvangen gedeelde oefeningen. |
| UC-LLN-DEL-003 | Gedeelde oefening starten | Leerling start een ontvangen gedeelde oefening; pas dan ontstaat een zelfstandige ontvangerrun. |
| UC-LLN-DEL-004 | Gedeelde oefening opnieuw maken | Leerling maakt een ontvangen gedeelde oefening opnieuw met dezelfde gedeelde inhoud en een nieuwe zelfstandige run. |
| UC-LLN-DEL-005 | Ontvangen gedeelde oefening verwijderen | Leerling verwijdert een ontvangen gedeelde oefening uit het eigen overzicht zonder brondata of afgeronde runs te verwijderen. |
| UC-LLN-DEL-006 | Delen blokkeren zonder actieve vrienden | Het systeem blokkeert delen wanneer de leerling geen actieve vrienden heeft of wanneer delen functioneel niet beschikbaar is. |
Relevante contexten
| Context | Betekenis |
|---|---|
| Leerlingrol | Alleen leerlingen kunnen leerling-leerling gedeelde oefeningen delen, ontvangen en maken. |
| Actieve vriendschap | Voorwaarde om een oefening met een andere leerling te delen. |
| Bronrun | Afgeronde ExerciseRun van de afzender waarop de gedeelde inhoud is gebaseerd. |
| Ontvangen gedeelde oefening | Administratief record dat deler, ontvanger, bronrun en snapshotcontext vastlegt. |
| Ontvangerrun | Zelfstandige ExerciseRun die pas ontstaat wanneer de ontvanger start of opnieuw maakt. |
| Snapshotcontext | Historische niveau-, categorie- en oefeninglabels zoals ze golden op het moment van delen. |
| Systeemcommunicatie | Optionele ingang voor de ontvanger; geen bron van waarheid voor het gedeelde record. |
Domeinafbakening
Binnen dit subdomein
- Delen van een afgeronde oefening met een actieve vriend.
- Tonen van ontvangen gedeelde oefeningen.
- Starten van een ontvangen gedeelde oefening.
- Opnieuw maken van een ontvangen gedeelde oefening.
- Verwijderen van een ontvangen gedeelde oefening uit het eigen overzicht.
- Blokkeren van delen wanneer er geen actieve vrienden zijn of wanneer delen functioneel niet beschikbaar is.
Buiten dit subdomein
- Vriend uitnodigen, accepteren, afwijzen of ontkoppelen.
- Beheer van featuretoggles voor vriendschappen en delen.
- Regulier starten van oefeningen vanuit het oefenaanbod.
- Beantwoorden van oefenvragen en voortgang opslaan.
- Resultaatweergave, statistieken, geschiedenis en PDF-export.
- Account-, profiel- en toegankelijkheidsinstellingen.
- Docentbeheer van niveaus, categorieën, oefeningen en autorisaties.
- Lezen, openen of verwijderen van systeemberichten in de mailbox.
Bijzondere regels
- Een gedeelde oefening wordt niet direct als
ExerciseRunvoor de ontvanger aangemaakt. - Pas wanneer de ontvanger start of opnieuw maakt, ontstaat een zelfstandige ontvangerrun.
- De eerste start gebruikt dezelfde vraaginhoud en dezelfde vraagvolgorde als de gedeelde bronrun.
- Een herhaling gebruikt dezelfde gedeelde inhoud; de vraagvolgorde mag opnieuw worden bepaald wanneer dat functioneel is toegestaan.
- De bronrun van de afzender wordt nooit gewijzigd door acties van de ontvanger.
- Ontvangerruns overschrijven elkaar niet; iedere start of herhaling heeft eigen voortgang en eigen resultaat.
- Een ontvangen gedeelde oefening blijft historisch herleidbaar, ook wanneer de vriendschap daarna eindigt.
- Verwijderen uit het ontvangen overzicht is een zichtbaarheidshandeling voor de ontvanger en geen hard delete van oefendata.
- Afgeronde ontvangerruns blijven via geschiedenis beschikbaar volgens de normale geschiedenisregels.
- Systeemberichten kunnen naar gedeelde oefeningen verwijzen, maar zijn niet de bron van waarheid voor gedeelde oefenrecords.
Popupverwijzingen
De usecases verwijzen alleen naar PopupKey. Popupteksten, knopteksten, invoerlabels, themas en varianten blijven centraal in het popupregister en popup-themes.
| Usecase | Popupgebruik |
|---|---|
| UC-LLN-DEL-001 | Selectie-, succes- en foutafhandeling rond delen. |
| UC-LLN-DEL-002 | Niet-beschikbaarafhandeling wanneer een ontvangen item niet kan worden getoond. |
| UC-LLN-DEL-003 | Niet-beschikbaar- en startfoutafhandeling. |
| UC-LLN-DEL-004 | Niet-beschikbaar- en herhaalfoutafhandeling. |
| UC-LLN-DEL-005 | Bevestiging, succes en foutafhandeling bij verwijderen uit overzicht. |
| UC-LLN-DEL-006 | Blokkade- of infomelding wanneer delen niet mogelijk is. |
Diagramgebruik
Binnen dit subdomein worden vooral sequence diagrams, decision flows en data lifecycle diagrams gebruikt.
| Diagramtype | Gebruik binnen dit subdomein |
|---|---|
| Sequence diagram | Interactie tussen leerling, frontend, backend, database, modulelaag en berichtensysteem. |
| Decision flow | Autorisatie, beschikbaarheid, deelbaarheid en foutpaden. |
| Data lifecycle diagram | Verschil tussen bronrun, gedeeld record en ontvangerruns. |
| State diagram | Alleen waar de zichtbaarheid of uitvoeringstoestand van een gedeeld item verduidelijkt wordt. |
| ERD | Niet in usecases; relationele uitwerking hoort in database-informatie. |
DRY-afspraken
Dit subdomein herhaalt geen bronregels uit andere domeinen.
| Brongebied | Afspraak |
|---|---|
| Relaties | Vriendschappen en relatie-uitnodigingen blijven bronhoudend in generiek relatiebeheer. |
| Oefenen en voortgang | Vraagbeantwoording en voortgangsopslag blijven bronhoudend in oefenusecases. |
| Resultaten en geschiedenis | Resultaatpopup, statistieken, PDF-export en geschiedenis blijven bronhoudend in resultaatusecases. |
| Account/profiel | Login, niveaukeuze, toegankelijkheid en profielinstellingen blijven bronhoudend in account- en profielusecases. |
| Systeemberichten | Leesstatus, mailbox en berichtopening blijven bronhoudend in berichtenusecases. |