HowTo: moodle: abgegebene Files von Schülern löschen und Plattenplatz freigeben

Hallo.
Uns geht es im Moment vermutlich so wie vielen: Das moodledata-Dir wächst und wächst. Wir sind bei über 120 GB angekommen, was natürlich sehr stark daran liegt, dass viele Schüler ihre Hausaufgaben fotografieren und dann als (hochauflösendes) Bild hochladen. (Es wurden aber bereits Appelle zur Datensparsamkeit an mehreren Stellen angebracht).

Das lässt unseren angemieteten Webserver natürlich in relativ kurzer Zeit alt aussehen, so dass in nächster Zeit Dateiabgaben gelöscht werden müssen. Nun bin ich auf zwei Mechanismen gestoßen, mit denen man das machen kann. Beide gebe ich hier kurz weiter; in der Hoffnung, dass auch andere davon profitieren mögen:

1.) Mit moodle-Bordmitteln:
https://docs.moodle.org/38/de/Aufgabe_FAQ#Kann_ich_Aufgabenabgaben_l.C3.B6schen.3F

Kann ich Aufgabenabgaben löschen?

Ja, wenn die Moodle-Administration Ihnen das Recht Aufgabenabgaben zu ändern oder zu löschen gegeben hat. Standardmäßig ist das für keine Rolle erlaubt.

Dazu geht man folgendermaßen vor:
Startseite > Website-Administration > Nutzer/innen > Rechte ändern > Rollen verwalten > Trainer/in → Zahnrad

(Achtung: der Eintrag wird nicht angezeigt, wenn man auf das Wort „Trainer-/in“ klickt sondern nur, wenn man auf das Zahnrad klickt!!!)

Suchen nach: editothersubmission und sich gut überlegen, ob man das wirklich erlauben will (die Warnungen rechts daneben beachten! Es kann auch unbeabsichtigt viel gelöscht werden, was man eigentlich noch behalten will!)

2.) Mit moosh (wurde neulich schon mehrfach hier erwähnt):
Man kann Kurse zurücksetzen (nicht löschen!), so dass Abgaben zu Aufgaben gelöscht werden. Auch viele andere Dinge kann man mit dem Zurücksetzen veranlassen, aber dieser Punkt ist natürlich z.Z. das Datengrab Nr. 1. Den Prozess kann man mit moosh vereinfachen und automatisieren:

Vielleicht kann’s ja jemand gebrauchen!
Schöne Grüße,
Michael

3 „Gefällt mir“

Moin.
Ein verrücktes Schuljahr geht in NDS in der kommenden Woche zu Ende. Unser moodle-Server hat dem Ansturm knapp stand gehalten und lief zuletzt 24/7 stabil und zuverlässig (auch wenn der Weg dahin steinig war).

Es sind jetzt aber nur noch wenige GB Plattenplatz frei. Das bringt unweigerlich die Frage mit sich, wie Ihr zum neuen Schuljahr mit euren moodle-Instanzen weitermacht… daher ein paar Gedanken:

1.) Es wird notwendig sein, alle Kurse zurückzusetzen (vermutlich machen wir das mit moosh und der Option course-reset — siehe oben). Ich hoffe sehr, dass dabei wirklich der Plattenplatz freigeräumt wird und nicht irgendwelche Einträge in der gigantisch großen moodle-DB erhalten bleiben?! Gibt es da bereits Erahrungswerte?

2.) Wir hatten aus der Not eine Tugend gemacht und „Mischkurse“ angelegt, so dass viele Lehrer in einem Kurs eingeschrieben waren. Wenn nun die Versetzung kommt, werden die Kurse zwar weiterhin bestehen – doch die Schüler passen uU dann nicht mehr zum Lehrer. Wie macht ihr das? Lasst Ihr die alten Kurse bestehen oder löscht ihr einfach radikal alles? Es wäre um das viele erstellte Material natürlich schade – es gibt eigentlich nur drei (?) sinnvolle Szenarien:

  • Entweder die Kollegen sichern sich ihr Material, das sie behalten wollen und re-importieren es zum neuen Schuljahr in den neuen Kurs (was sicher nicht alle können werden)
  • Man legt eine parallele Struktur an, in der die Kollegen ihre alten Kurse wiederfinden?
  • Man beginnt mit dem neuen Schuljahr von vorne und löscht alles?

Wie geht ihr vor – was hat sich evtl sogar bereits bewährt.
Und noch eine ganz konkrete Frage an Thomas @thoschi: Hast du bei dir eine Versetzung eingebaut?

Schöne Grüße,
Michael

Hallo zusammen,

ein Kollege und ich sitzen gerade daran:

  • bei uns werden die Inhalte in allen Kursen über die REST-Schnittstelle gelöscht - bis auf den Bereich „Allgemeines“ und „Klasse“.
  • die Kurse selbst wachsen hoch, werden von der Struktur aber an die Materialkurse angepasst (Fächer hinzufügen/löschen).
  • Nutzer werden nach wie vor über globale Gruppen in die Kurse eingeschrieben (bzw. bleiben bei den hochwachsenden Kursen einfach gleich - die SchülerInnen-6a sind immer noch als Gruppe in die 6a eingeschrieben - welche das sind, ändert man über die Gruppe)
  • es gibt bei uns (ganz frisch) von den Fachgruppen betreute Materialkurse, in die die Inhalte übertragen werden können, die man wiederverwenden möchte.
  • wir verwenden das Ein-Themen-Format. Die Vorlagenkurse haben die identische Struktur (und Lehrkräfte dürfen diese Struktur in den Klassenkursen selbst auch nicht mehr ändern). Dann kann man über „Import“ Material aus den Vorlagenkursen importieren - sie landen gleich im richtigen Tab.
  • mein Kollege hat ein Moodle-Plugin geschrieben: „import to section“. Damit kann man Material auch an eine andere Stelle importieren (dennoch haben wir uns für die überall zwischen jeweiligen Materialkursen und Klassenkurhsen einheitliche Struktur entschieden).
  • wir sind gerade dabei, das auch für klassenübergreifende Kurse (Sprachen, Religion) und die Oberstufe zu realisieren (ein Kurs pro Grund-/Leistungskurs pro Fach).

Die Logik dahinter wird schon etwas komplizierter - aber der Komfort steigt auch weiter. Und wie beim Anlegen der Kurse wäre das auch simpler möglich - die REST-Funktionen dafür sind gut dokumentiert (und funktionieren genau wie beim Anlegen von Kursen/Nutzern/etc.

Viele Grüße
Thomas

Hallo,

bislang ist mir das irgendwie noch zu schulspezifisch und andererseits zu pauschal: moosh, REST, …

Wir haben unser Moodle bei Belwü, also keinerlei Zugriff auf Konsole / Shell.

Wie kann ich als Admin dennoch erreichen, dass in allen Kursen

  • alle abgegebene Aufgaben / Dokumente gelöscht werden
  • alle Forenbeiträge gelöscht werden
  • alle sonstigen Rückstände der Arbeit der letzten Klasse/Schülergruppe weg sind

Es sollen nur die leeren Foren etc., die Aufgaben als solche mit bereitgestellten Materialien, aber keine Spuren der SuS bleiben.

Das Einzige was mir bislang einfällt ist, alle Kurse sichern und in denselben Kurs zu importieren, dabei alles vorhandene löschen zu lassen und keine Benutzerdaten zu importieren.

Das geht über die Weboberfläche aber imho nur Kurs für Kurs. Das kann’s ja nicht sein…

Viele Grüße
Steffen

Hallo Steffen,

Hier wird das diskutiert: https://moodle.org/mod/forum/discuss.php?d=349875

Es gibt dazu noch keine Lösung. Und ich vermute, das hat Gründe: in
vielen Fällen will ich nicht, dass irgendjemand Fremdes (admin) mir
meine Kurse anfasst.

Aber genau darum gibt es ja Schnittstellen wie REST und MOOSH - um
individuelle Lösungen umzusetzen. Was ist Dir daran zu
generisch/schulspezifisch? Das sind ja einfach Schnitstellen, mit denen
man automatisieren kann, was einem händisch zu lange dauert.

Und zumindest für REST benötigt man keinen Shell-Zugriff, das geht von
überall aus.

Viele Grüße
Thomas

Hallo Michael,

dein Punkt 1.) interessiert mich auch sehr.

Wir arbeiten viel mit dem Plugin „Sharing Card“ um Kurse zu kopieren etc.

Probleme gibt es wenn man die User mit umziehen lassen will. Was bei Dir ja nicht der Fall ist.

Wenn wir grössere Sachen mit Sharing Card machen, drehe ich den RAM auf 3GB hoch und erhöhe das Timeout solange.

VG Andre

Hallo.
Wir haben gerade unser moodle komplett von altem „Datenmüll“ befreit.

Die Platte war über die letzten Wochen und Monate ziemlich ordentlich vollgelaufen und es stellte sich heraus, dass da jede Menge Zeug im moodledata-Dir lag. Zum Teil waren die Verzeichnisse dort mehrere Hundert MB groß. Das konnten nur abgegebene Dateien von Schülern sein: JPGs, PDFs bzw die daraus erzeugten PDF-Annotationen, die dann ja ebenfalls noch mit gespeichert wurden (unoconv-Plugin ist hier installiert!)

Es war nicht sooo einfach herauszufinden, welche Dateien man nun wirklich löschen kann und welche nicht. Am Ende haben wir es so gemacht wie unten aufgeführt.
Aber KEINE GEWÄHR, dass man sich damit nicht doch versehentlich etwas löscht, was man noch haben will. Bisher habe ich hier aber nichts entdeckt, was nicht mehr lief…

Man benötigt moosh:

    Zunächst der Reset aller Kurse. Dabei werden nur abgegebene Aufgaben von Teilnehmern gelöscht. Aufgabenstellungen und eigenes Material bleibt aber erhalten!
    moosh -n course-reset "ID des Kurses"

    alte Backups löschen:
    moosh -n file-list -i 'component="backup" AND filearea="automated"' | moosh -n file-delete -s
    
    unoconv-Dateikonvertierungen löschen: 
    moosh -n file-list -i 'filearea="documentconversion"' | moosh -n file-delete -s

    korrigierte PDF-Dateien / Annotationen löschen:
    moosh -n file-list -i 'component="assignfeedback_editpdf"' | moosh -n file-delete -s

    Plattenplatz freigeben (trashdir wird endgültig gelöscht):
    moosh -n file-delete --flush

VG,
Michael