Was dieses Plugin macht
LernHive Export verpackt Plattformdaten und den Audit-Verlauf in ein verifizierbares Übergabearchiv. Die Exportseite lädt eine ZIP-Datei mit je einer CSV-Datei pro Abschnitt herunter — Teilnehmende, Kurse, Kurs- und Aktivitätsabschlüsse, das Moodle-Standard-Log sowie die Audit-Verläufe und Datensätze, die andere LernHive-Plugins beisteuern — und dazu eine manifest.json mit einem SHA-256-Hash für jede Datei. Die Seite listet die Dateinamen auf, die das aktuelle Bundle enthalten wird.
Für wen ist es
| Rolle | Was sie tut |
|---|---|
| Plattform-Administration | Lädt das CSV-Bundle von der Exportseite herunter (hält standardmäßig die Export-Berechtigungen) |
| Site-Administrator (eLeDia) | Stellt das Log-Zeitfenster und das lokale Exportverzeichnis ein und prüft, welche Rollen die Export-Berechtigungen haben |
Keine andere Rolle nutzt dieses Plugin im aktuellen Release.
Kernkonzepte
Bundle
Ein ZIP-Archiv mit einer CSV-Datei pro Abschnitt und einer manifest.json. Der manuelle Download von der Exportseite nutzt immer den Datenschutzmodus include; das Bundle enthält also personenbezogene Daten.
Abschnitt
Ein benannter Ausschnitt exportierter Daten — zum Beispiel moodle_logs — mit seiner Quellzeilenzahl und dem Zeitstempel der neuesten Quellzeile. Die Summen fließen in den Kopf des Manifests ein. Andere LernHive-Plugins steuern eigene Abschnitte bei, etwa das Audit-Log der Zielgruppen, Seminarbuchungen, Stornierungen und Anwesenheiten oder Zertifizierungszeiträume.
Manifest
Ein maschinenlesbares JSON-Dokument (Schema-Version 2), das jedes Bundle begleitet. Es hält fest, wann es erzeugt wurde, welcher Datenschutzmodus galt, wie viele Abschnitte, Dateien und Quellzeilen das Bundle enthält, und führt einen Eintrag pro erzeugter Datei.
Integritätsnachweis
Jede im Manifest gelistete Datei trägt ihre Bytegröße und einen SHA-256-Hash. Eine empfangende Partei kann die Hashes neu berechnen und bestätigen, dass das Archiv nach dem Export nicht verändert wurde. LernHive speichert außerdem den Dateinachweis jedes Laufs, sodass ein geliefertes Archiv später dagegen geprüft werden kann.
Abläufe nach Rolle
Plattform-Administration: das CSV-Bundle herunterladen
- Öffnen Sie Website-Administration → Plugins → Lokale Plugins → LernHive → LernHive Export.
- Prüfen Sie unter Dateien in diesem Bundle, welche CSV-Dateien das Bundle enthalten wird.
- Lesen Sie den Hinweis zur WORM-Grenze (siehe unten).
- Klicken Sie auf CSV-Bundle herunterladen. Das Bundle wird sofort erzeugt und als ZIP heruntergeladen; bei großen Plattformen mit langem Log-Zeitfenster dauert das entsprechend länger.
- Geben Sie das Bundle nur über einen geschützten Kanal weiter: Es enthält personenbezogene Daten.
Plattform-Administration: ein geliefertes Bundle prüfen
- Öffnen Sie die
manifest.jsonaus der ZIP-Datei. - Berechnen Sie den SHA-256-Hash jeder CSV-Datei neu und vergleichen Sie ihn mit dem Eintrag im Manifest. Übereinstimmende Hashes belegen, dass die Datei nach dem Export nicht verändert wurde — ohne Zugriff auf LernHive.
Site-Administrator (eLeDia): Log-Zeitfenster und Exportverzeichnis einstellen
- Öffnen Sie Website-Administration → Plugins → Lokale Plugins → LernHive → Export-Einstellungen.
- Setzen Sie Zeitfenster Standard-Log (Tage) — Standard 365;
0exportiert den gesamten Verlauf. - Setzen Sie Lokales Exportverzeichnis, wenn Exportaufträge in ein Verzeichnis auf dem Server liefern sollen. Es muss ein absoluter, beschreibbarer Pfad sein.
Site-Administrator (eLeDia): Export-Berechtigungen prüfen
- Öffnen Sie Website-Administration → Nutzer/innen → Rechte ändern → Rollen verwalten und dort die Rolle Manager.
- Prüfen Sie LernHive-Export-Konfiguration und -Läufe verwalten (
local/lernhive_export:manage) und LernHive-Export-Läufe anzeigen (local/lernhive_export:viewruns). Beide sind für den Archetypmanagerim Systemkontext erlaubt, sodass die Moodle-Rolle Manager (Plattform-Administration) sie standardmäßig hat. Die Exportseite öffnet heute nur:manage.
Was der Export nicht garantiert: WORM
Der Export erzeugt Nachweise, nicht das Archiv. Moodle bietet keine WORM-Garantie (write once, read many), und dieses Plugin schafft keine.
Alles Exportierte sind gewöhnliche, veränderbare Moodle-Daten. Log-Zeilen können durch Aufbewahrungseinstellungen oder eine Datenschutz-Löschanfrage entfernt werden. Der SHA-256-Hash im Manifest belegt, dass eine gelieferte Datei nach dem Export nicht verändert wurde; er kann nicht belegen, dass die Quelldaten vorher nie verändert wurden.
Wo eine unveränderliche Aufbewahrung rechtlich verlangt ist, muss das Speicherziel sie leisten — etwa WORM-fähiger Objektspeicher (S3 Object Lock im Compliance-Modus), eine WORM-Bandstufe oder ein Archivsystem mit eigenem Prüfpfad. Das ist eine Entscheidung darüber, wo Sie das Archiv ablegen, keine Moodle-Einstellung. Die Exportseite wiederholt diesen Hinweis über der Download-Schaltfläche.
Relevante Einstellungen
Unter Website-Administration → Plugins → Lokale Plugins → LernHive → Export-Einstellungen (nur Site-Administration):
| Einstellung | Standard | Wirkung |
|---|---|---|
| Zeitfenster Standard-Log (Tage) | 365 | Wie weit moodle_logs.csv zurückreicht. 0 exportiert den gesamten Verlauf — mit deutlich größerem Archiv und längerem Download. |
| Lokales Exportverzeichnis | leer | Absolutes, beschreibbares Verzeichnis für Aufträge, die in eine lokale Datei liefern |
Datenschutzmodi
Der Datenschutzmodus gehört zu einem Exportauftrag und steht im Manifest. Der Download auf der Exportseite nutzt immer include; die anderen Modi gelten für Aufträge, die technisch eingerichtet werden, weil es noch keinen Auftragseditor gibt.
- Include übernimmt die Abschnittsdaten einschließlich personenbezogener Daten.
- In den Modi Pseudonymise und Exclude verlassen nur Spalten unverändert die Plattform, die das zuständige Plugin ausdrücklich als nicht personenbezogen deklariert hat. Nicht eingestufte Spalten fehlen; ein beigesteuerter Abschnitt ganz ohne Einstufung ist in diesen Modi nicht Teil des Archivs.
- Pseudonymise ersetzt deklarierte Nutzerreferenzen durch zufällige Tokens. Ein Token gilt nur innerhalb eines Exportlaufs; ein späterer Lauf nutzt andere Tokens. Pseudonymisierte Daten bleiben personenbezogene Daten im Sinne von Art. 4 Nr. 5 DSGVO und sind entsprechend zu behandeln. Verweise auf Datensätze einer Person, die ein Plugin als solche deklariert, erhalten Tokens eigener Art, zum Beispiel
assignment_…für die Zertifizierungszuweisung incertify_periods.csv; sie gleichen nie einemuser_…-Token. - Exclude lässt Abschnitte aus, die aus Datensätzen einzelner Personen bestehen (etwa Teilnehmende und Abschlüsse), und entfernt deklarierte personenbezogene Spalten. In
moodle_logs.csvleert es außerdemobjectidbeiobjecttable = usersowiecontextidundcontextinstanceidbeim Moodle-Nutzerkontext. - Pseudonymise wendet in
moodle_logs.csvdieselben zeilenabhängigen Regeln an:objectidundcontextinstanceiderhalten dasselbeuser_…-Token wie die passendeuserid;contextiderhält wegen der anderen Moodle-ID ein eigenesusercontext_…-Token, dessen Hash nie demuser_…-Token derselben Zahl gleicht. Seit dem Release vom 2026-10-01 werden die Tokens anders berechnet und unterscheiden sich von denen früherer Exporte. In diesen Spalten stehen daher Texttokens neben numerischen Werten nicht personenbezogener Zeilen; importierende Systeme dürfen sie nicht als reine Ganzzahlen lesen.
Die Regeln gelten nur für die ausdrücklich deklarierten Spalten. Das unstrukturierte Moodle-Logfeld other wird nicht exportiert; IDs in Werten anderer Abschnitte werden nur behandelt, wenn deren Abschnitt sie deklariert. Gefilterte Exporte bleiben personenbezogen, solange sie verknüpfbar sind.
Grenzen
- Kein Auftragseditor und keine Laufübersicht im Browser. Exportaufträge, Zeitpläne, andere Datenschutzmodi als include, Zielgruppen- und Organisations-Scopes und das lokale Dateiziel arbeiten im Hintergrund, lassen sich aber noch nicht in der Oberfläche einrichten.
- Nur CSV. Moodle-Sicherung (
.mbz), SCORM, IMS Content Package, H5P und xAPI sind geplant. - Ziele: Browser-Download und ein lokales Serververzeichnis; S3-kompatibler Speicher und SFTP sind geplant.
- Scopes: gesamte Plattform, Zielgruppe und Organisations-Teilbaum; Mandant, Kursbereich und Datumsbereich sind geplant.
- Keine Kachel in LernHive Berichte für Exportläufe.
- Der Download läuft innerhalb der Web-Anfrage. Sehr lange Log-Zeitfenster können Zeitlimits des Servers erreichen; verkleinern Sie dann Zeitfenster Standard-Log (Tage).
Das Bundle enthält personenbezogene Daten: Teilnehmende, Abschlüsse, das Standard-Log und die Plugin-Audit-Verläufe halten fest, wer was getan hat und von welcher IP-Adresse. LernHive speichert, wer einen Exportauftrag angelegt und einen Export ausgeführt hat, und behält den Dateinachweis (Namen, Größen, Hashes) jedes Laufs, aber nicht die ZIP-Datei selbst. Behandeln Sie ein heruntergeladenes Bundle als personenbezogenen Datenexport — Übergabe nur über einen geschützten Kanal und nur an berechtigte Empfänger.
Fehlerbehebung
LernHive Export fehlt in der Website-Administration. → Prüfen Sie, ob das Plugin installiert ist und ob local_lernhive (von dem es abhängt) installiert und aktuell ist. → Schließen Sie ein ausstehendes Upgrade unter Website-Administration → Mitteilungen ab.
Eine Person kann die Exportseite nicht öffnen. → Die Seite erfordert local/lernhive_export:manage im Systemkontext. Bitten Sie die Site-Administration, diese Fähigkeit zuzuweisen.
Der Download schlägt fehl oder dauert sehr lange. → Verkleinern Sie Zeitfenster Standard-Log (Tage); 0 exportiert den gesamten Log-Verlauf.
Screenshots
Keine aktuellen Screenshots: Die vorhandenen Bilder zeigen die Moodle-Pluginübersicht und eine veraltete Fassung dieses Handbuchs statt der Exportseite.