Skip to main content

Beheerder — Modules beheren

Dit subdomein beschrijft hoe beheerders technische oefenmodules centraal beheren. Modules worden administratief vastgelegd in ExerciseModules en vormen de koppeling tussen een leesbare modulenaam, de technische CodeReference, versie-informatie, reguliere beschikbaarheid, test-zichtbaarheid en gecontroleerde modulemigraties.

De beheerpagina Modules beheren hoort bij het beheermenu Content. De pagina beheert technische modulemetadata en onderhoudsacties. Concrete docent-oefeningen, oefeningnamen, iconen en modulespecifieke configuratiepayloads worden niet inhoudelijk bewerkt vanuit dit subdomein; die blijven bronhoudend in docentflows of docentondersteuning.

Usecases

UsecaseOmschrijving
UC-BEH-MOD-001 — Moduleoverzicht bekijkenToont het overzicht van technische modules met actuele metadata, beschikbaarheidsvlaggen en afgeleide gebruiksimpact zonder domeinmutatie.
UC-BEH-MOD-002 — Modulebeheer openenOpent de detail- en beheerweergave van één geselecteerde module en toont de beschikbare onderdelen en acties.
UC-BEH-MOD-003 — Modulegegevens wijzigenWijzigt toegestane modulemetadata, zoals de weergavenaam, met verplichte reden en beheerhistorie.
UC-BEH-MOD-004 — Module-actiefstatus wijzigenZet een module actief of inactief, waarbij uitschakelen wordt geblokkeerd zolang actieve concrete oefeningen de module gebruiken.
UC-BEH-MOD-005 — Test-zichtbaarheid wijzigenWijzigt of een module zichtbaar is voor gebruikers met de niet-publieke rol TestDocent, zonder reguliere beschikbaarheid of rollen te wijzigen.
UC-BEH-MOD-006 — Moduleconnectiviteit testenVoert een server-side healthcheck uit op de technische modulekoppeling en toont de uitkomst zonder moduledata te wijzigen.
UC-BEH-MOD-007 — Modulemigratie docentgericht uitvoerenMigreert actieve concrete oefeningen van één geselecteerde docent van een bronmodule naar een actieve doelmodule.
UC-BEH-MOD-008 — Modulemigratie globaal uitvoerenMigreert alle actieve concrete oefeningen die de bronmodule gebruiken naar een actieve doelmodule.
UC-BEH-MOD-009 — Modulemigratie-proefuitvoering controlerenVoert een gecontroleerde proefmigratie uit op precies één concrete oefening voordat een bredere migratie wordt overwogen.
UC-BEH-MOD-010 — Modulegeschiedenis bekijkenToont modulehistorie, migraties en relevante oefeninghistorie als read-only beheerreadmodel.

Relevante schermdocumentatie

Scherm / onderdeelGebruik binnen dit subdomein
Content > Modules beherenHoofdroute voor technisch modulebeheer.
ModuleoverzichtToont modulemetadata, actiefstatus, test-zichtbaarheid en afgeleide impactwaarden.
Modulebeheer-detailToont de onderdelen Intro / uitleg, Module, Migreren - docent, Migreren - alles en Geschiedenis.
Module-sectieBeheert toegestane modulemetadata, actiefstatus, test-zichtbaarheid en connectiviteitstest.
Migreren - docentVoert migratie uit voor actieve concrete oefeningen van één geselecteerde docent.
Migreren - allesVoert migratie uit voor alle actieve concrete oefeningen die de bronmodule gebruiken.
ProefmigratieVoert een gecontroleerde migratie uit op precies één concrete oefening.
GeschiedenisToont beheerhistorie, modulemigraties en relevante ExerciseHistory-samenvattingen.

Domeinafbakening

Binnen dit subdomeinBuiten dit subdomein
Beheer van technische modulemetadata in ExerciseModules.Bouwen, deployen of wijzigen van technische modulecode.
Wijzigen van IsActive en IsVisibleForTesting op moduleniveau.Toekennen of intrekken van de rol TestDocent; dat hoort bij accountbeheer.
Healthcheck op CodeReference via de strategy-interface.Functionele moduleconfiguratie of antwoordvalidatie van concrete oefeningen.
Docentgerichte, globale en enkelvoudige proefmigratie van concrete oefeningen naar een andere module.Leerlingruns, resultaten, geschiedenis, PDF-contexten of gedeelde oefeningen herschrijven.
Auditbare vastlegging van modulemetadatawijzigingen, statuswijzigingen en modulemigraties.Vrije bewerking van docentniveaus, categorieën, leerlingautorisaties of oefeninhoud.
Impactreadmodels over koppelingen, docenten, unieke leerlingen en gebruik.Nieuwe technische sleutels of moduledefinities via een vrije GUI aanmaken.

Modulevelden en eigenaarschap

Veld / gegevenRegel
DisplayNameBeheerbaar als leesbare moduleweergavenaam.
CodeReferenceTechnische sleutel naar modulecode; read-only in de beheerinterface.
VersionTechnisch beheerde versie-informatie; read-only wanneer de implementatie deze uit code of migratie bepaalt.
IsActiveBepaalt reguliere inzetbaarheid voor docentflows. Uitschakelen mag niet zolang actieve concrete oefeningen de module gebruiken.
IsVisibleForTestingBepaalt zichtbaarheid voor TestDocent; staat los van reguliere actiefstatus en wijzigt geen rollen.
ImpactwaardenAfgeleide readmodelwaarden; zij worden niet als losse tellerwaarheid opgeslagen.
ModulegeschiedenisLegt actor, UTC-tijdstip, actie, veld of scope, oude waarde, nieuwe waarde en reden vast waar een beheeractie dat vereist.

Migratiescopes

ScopeBetekenisMutatiegrens
ProefuitvoeringPrecies één geselecteerde concrete oefening migreren naar een doelmodule.Eén Exercises-record, één migratieregistratie en ExerciseHistory voor die oefening.
DocentgerichtActieve concrete oefeningen van één geselecteerde docent migreren.Alleen oefeningen binnen de gekozen docentcontext die de bronmodule gebruiken.
GlobaalAlle actieve concrete oefeningen op de bronmodule migreren.Alle actieve concrete oefeningen die server-side binnen de globale scope vallen.

Historische ExerciseRuns, resultaatweergaven, PDF-exportcontexten en gedeelde oefenrecords blijven bij iedere migratiescope ongewijzigd. De migratie beïnvloedt toekomstig gebruik van de concrete oefeningen, niet de historische uitvoering van afgeronde of lopende runs.

Bijzondere regels

  • Server-side beheerderautorisatie is leidend voor iedere lees- en mutatieactie.
  • Modulebeheer ontdekt geen modules vrij uit runtime-code; de administratieve bron is ExerciseModules.
  • De beheerinterface wijzigt geen modulespecifieke configuratiepayload van concrete oefeningen.
  • Uitschakelen van een module is geblokkeerd zolang actieve concrete oefeningen of actieve oefenkoppelingen de module gebruiken.
  • Test-zichtbaarheid wijzigt geen gebruikersrollen en maakt een module niet automatisch regulier actief.
  • Moduleconnectiviteit testen schrijft geen functionele modulegeschiedenis en wijzigt geen modulebeschikbaarheid.
  • Migreren naar dezelfde module is niet toegestaan.
  • Alleen actieve doelmodules zijn geldig voor modulemigratie.
  • De beheerder is procesmatig verantwoordelijk voor compatibiliteit en rollbackstrategie; OefenHub voert geen automatische compatibiliteitsgarantie af.
  • Iedere echte modulemigratie wordt auditbaar vastgelegd met bronmodule, doelmodule, scope, actor, tijdstip, reden en geraakte oefeningen.
  • Popupteksten en popupgedrag worden niet in deze usecases gedupliceerd; usecases verwijzen uitsluitend op PopupKey-niveau wanneer een popup relevant is.

Diagramgebruik

DiagramtypeGebruik binnen dit subdomein
State diagramAlleen gebruiken bij echte module-statussen of migratielifecycle; read-only raadpleegflows en healthchecks hebben geen zelfstandig statusmodel.
Decision flowGebruikt voor autorisatie, doelmodulevalidatie, afhankelijkheidscontrole, migratiescope, redenplicht en blokkades.
Data lifecycle diagramGebruikt om te tonen welke records worden gelezen, gewijzigd, historisch vastgelegd of juist onaangetast blijven.
Sequence diagramGebruikt wanneer beheerder, frontend, backend, autorisatiecomponent, database, historyservice, migratieservice of strategy-interface samenwerken.