Zum Inhalt springen

H5P-Exporte aufräumen

Komponente local_eledia_cleanup_h5p_exports · Version 1.0.0

Das Plugin ist für die Administration einer Moodle-Plattform gedacht, auf der H5P-Inhalte genutzt werden. Lehrende und Lernende bemerken es nicht. Es lohnt sich vor allem dort, wo viele H5P-Inhalte angelegt und bearbeitet werden und der Datenspeicher sichtbar wächst.

Hintergrund: Moodle erzeugt bei jedem Speichern oder Prüfen eines H5P-Inhalts ein vollständiges Exportpaket und legt es im Dateibereich core_h5p/export ab. Diese Pakete dienen als Zwischenspeicher für Downloads. Moodle kann sie jederzeit neu erzeugen, löscht alte Fassungen aber nicht.

  1. Installieren Sie das Plugin unter local/eledia_cleanup_h5p_exports und schließen Sie die Installation unter Website-Administration → Mitteilungen ab.
  2. Öffnen Sie Website-Administration → Plugins → Lokale Plugins → eLeDia: Cleanup H5P exports.
  3. Legen Sie das Mindestalter in Tagen fest. Vorgabe sind 7 Tage. Mit 0 werden alle Exporte unabhängig vom Alter gelöscht.

Die geplante Aufgabe Cleanup H5P export filearea läuft standardmäßig einmal täglich um 03:17 Uhr Serverzeit. Den Zeitpunkt ändern Sie wie bei jeder Aufgabe unter Website-Administration → Server → Geplante Vorgänge.

Für eine sofortige Bereinigung gibt es ein Kommandozeilen-Skript:

sudo -u www-data php local/eledia_cleanup_h5p_exports/cli/h5p_export_cleanup.php --dryrun
  • --dryrun zeigt, welche Dateien gelöscht würden, und löscht nichts.
  • --days=N überschreibt das eingestellte Mindestalter für diesen Lauf.
  • --days=0 löscht alle Exportdateien.

Am Ende gibt das Skript eine Zusammenfassung aus: wie viele Dateien gelöscht und wie viele behalten wurden. Wir empfehlen, vor dem ersten echten Lauf einen Probelauf zu machen. So sehen Sie, wie viele Dateien betroffen sind.

Das Skript lässt sich auch über den Cron des Servers einplanen, falls der Moodle-Cron auf einer Instanz nicht zuverlässig läuft.

Gelöscht werden nur Dateien im Systemkontext mit der Komponente core_h5p und dem Bereich export. Unberührt bleiben:

  • die H5P-Inhalte in Kursen und in der Inhaltsbank,
  • die H5P-Bibliotheken,
  • Ergebnisse und Versuche von Lernenden.

Gelöscht wird über die Datei-API. Datenbankeintrag und Datei in moodledata verschwinden damit gemeinsam, und die Dateiverwaltung von Moodle bleibt in sich stimmig.

Für die meisten Plattformen reicht die Vorgabe von sieben Tagen. Exporte, die jünger sind, bleiben erhalten, sodass häufig heruntergeladene Inhalte nicht ständig neu erzeugt werden müssen.

Auf Plattformen mit sehr vielen H5P-Inhalten lohnt sich vor der ersten Aktivierung ein Probelauf mit --dryrun. Die Ausgabe zeigt, wie viele Dateien betroffen sind. Ist die Zahl sehr hoch, führen Sie den ersten Lauf von Hand über das CLI-Skript aus, außerhalb der Hauptnutzungszeit. Danach übernimmt die geplante Aufgabe die tägliche Pflege, und jeder Lauf betrifft nur noch die Exporte eines Tages.

Das Plugin speichert keine personenbezogenen Daten. Es entfernt Dateien, die Moodle selbst als Zwischenspeicher angelegt hat. Die Exportpakete enthalten Lerninhalte, aber keine Ergebnisse von Lernenden.

  • Das Plugin räumt nur den Bereich core_h5p/export auf. Andere Ursachen für einen großen Datenspeicher, etwa alte Sicherungen, bleiben bestehen.
  • Gelöschte Exporte entstehen neu, sobald jemand einen H5P-Inhalt herunterlädt oder speichert. Der Speicherbedarf sinkt also dauerhaft, aber nicht auf null.
  • Physisch frei wird der Speicher erst, wenn Moodle verwaiste Dateien aus dem Dateispeicher entfernt. Das übernimmt die Moodle-eigene Aufgabe zur Dateibereinigung.

Können Lernende nach der Bereinigung noch H5P-Inhalte herunterladen? Ja. Moodle erzeugt das Paket beim nächsten Abruf neu.

Der Speicher ist nach dem Lauf nicht kleiner. Moodle löscht die Dateien in moodledata zeitverzögert über die Aufgabe für verwaiste Dateien. Prüfen Sie am Folgetag erneut.

Wo sehe ich, was gelöscht wurde? Im Protokoll der geplanten Aufgabe unter Geplante Vorgänge → Protokolle oder in der Ausgabe des CLI-Skripts.