Samenwerking, collaborators en eigenaarschap
Dit subdomein beschrijft hoe docenten binnen OefenHub samenwerken op niveau-laag. Een niveau heeft altijd precies één actuele eigenaar. Daarnaast kunnen één of meer docenten als collaborator aan dat niveau gekoppeld zijn.
Een collaborator mag meewerken aan onderwijsinhoud binnen het betreffende niveau, zoals categorieën, oefeningen en configuratie. Die samenwerking geeft geen toegang tot leerlingen, leerlingresultaten, geschiedenis of live meekijken. Voor die gegevens blijft altijd een eigen docent-leerlingrelatie en niveau-autorisatie nodig.
Usecases
| Usecase-ID | Naam | Beschrijving |
|---|---|---|
| UC-DOC-SAM-001 | Collaborators van niveau bekijken | Toont de actuele eigenaar, actieve collaborators en beschikbare samenwerkingscontext binnen een geselecteerd niveau. |
| UC-DOC-SAM-002 | Collaborator aan niveau koppelen | Laat de actuele eigenaar een docent met geldige docent-docentrelatie als collaborator aan het niveau koppelen. |
| UC-DOC-SAM-003 | Collaborator van niveau ontkoppelen | Beëindigt de collaboratorstatus voor een docent op één niveau zonder de docent-docentrelatie te verwijderen. |
| UC-DOC-SAM-004 | Collaboratorrechten binnen niveau toepassen | Past de niveaugebonden samenwerkingsrechten toe bij contentacties en blokkeert leerling-, resultaat- en live-meekijkroutes. |
| UC-DOC-SAM-005 | Eigenaarschap overdragen | Draagt het eigenaarschap van een niveau over aan een bestaande actieve collaborator, met verplichte reden en auditregistratie. |
| UC-DOC-SAM-006 | Overdracht naar ongeldige kandidaat blokkeren | Blokkeert eigendomsoverdracht naar een gebruiker die geen geldige actieve collaborator van het niveau is. |
| UC-DOC-SAM-007 | Samenwerkingswijziging auditbaar vastleggen | Legt collaborator- en eigenaarschapswijzigingen herleidbaar vast zonder de actuele bronrecords te vervangen. |
Relevante context
| Onderdeel | Relevantie |
|---|---|
| Oefenaanbod | Samenwerking vindt plaats binnen een geselecteerd niveau in de docentcontext. |
| Niveaubeheer | De actuele eigenaar beheert kerngegevens, collaborators en overdracht van eigenaarschap. |
| Oefeningen configureren | Collaborators kunnen onderwijsinhoud binnen het niveau bewerken wanneer zij actief gekoppeld zijn. |
| Leerlingen en autorisaties | Collaborators krijgen door samenwerking geen leerlingtoegang of niveau-autorisatiebeheer. |
| Resultaten en geschiedenis | Collaborators krijgen geen toegang tot resultaten of geschiedenis van leerlingen van de eigenaar. |
| Online en live meekijken | Collaborators mogen niet live meekijken op basis van collaboratorstatus alleen. |
Domeinafbakening
Binnen dit subdomein valt:
- collaborators van een niveau bekijken;
- collaborators aan een niveau koppelen;
- collaborators van een niveau ontkoppelen;
- collaboratorrechten toepassen op contentacties;
- eigenaarschap overdragen aan een bestaande actieve collaborator;
- ongeldige overdrachtskandidaten blokkeren;
- samenwerkingswijzigingen auditbaar vastleggen.
Buiten dit subdomein valt:
- docent-docentrelaties uitnodigen, accepteren of afwijzen;
- leerlingrelaties of leerlingautorisaties beheren;
- resultaten of geschiedenis van leerlingen bekijken;
- live meekijken;
- beheerderondersteuning en forceeracties;
- centrale categorie- of modulebeheerflows.
Hoofdobjecten
| Object | Betekenis binnen dit subdomein |
|---|---|
Levels | Bevat de actuele eigenaar van een niveau en vormt de samenwerkingscontext. |
LevelCollaborators | Legt vast welke docenten actief als collaborator aan een niveau gekoppeld zijn. |
UserRelationships | Wordt gebruikt om te bepalen of een docent-docentrelatie bestaat voordat een collaborator gekoppeld mag worden. |
LevelOwnershipHistory | Legt eigendomsoverdrachten auditbaar vast. |
LevelCollaboratorHistory | Legt collaboratorwijzigingen auditbaar vast. |
SystemMessages | Legt informatieve systeemcommunicatie over samenwerkingswijzigingen vast wanneer de muterende usecase dat voorschrijft. |
Bijzondere regels
- Een niveau heeft altijd precies één actuele eigenaar.
- Eigenaarschap kan alleen worden overgedragen aan een actieve collaborator van hetzelfde niveau.
- De oude eigenaar blijft na overdracht standaard actieve collaborator.
- Collaboratorstatus geeft geen leerling-, resultaat-, geschiedenis- of live-meekijkrechten.
- Collaboratorstatus is niveaugebonden en werkt niet automatisch door naar andere niveaus.
- Samenwerkingswijzigingen moeten auditbaar zijn.
- Mislukte of geblokkeerde overdrachten krijgen geen succes-auditregel.
- Relatievorming tussen docenten blijft bronhoudend in het generieke relatiedomein.
Popupverwijzingen
Usecases in dit subdomein verwijzen alleen naar PopupKey. Popupteksten, knoppen en detailgedrag horen in het centrale popup-register.
Normale lees- en autorisatiestromen gebruiken geen popup. Mutaties zoals collaborator koppelen, ontkoppelen en eigenaarschap overdragen kunnen bevestigings-, succes- of blokkadepopups gebruiken.
Diagramgebruik
De usecases gebruiken vooral sequence diagrams en decision flows. State diagrams worden beperkt toegepast waar de actieve eigenaar of collaboratorstatus functioneel verandert. Er worden geen ERD's in de usecases opgenomen.