Leeg de prullenmand in Moodle

Moodle prullenmandNee, voordat ik je op verkeerde gedachten zet: er zit géén prullenmand in Moodle. Een document wat je verwijderd is ook echt weg. Het probleem zit hem echter in de volgende situatie: je hebt een document in een cursus gezet en een paar maanden later upload je een nieuwe versie en verwijder je de oude. Meestal verwijder je de link naar het oude bestand, niet het document zelf. En dus staan er twee documenten op de Moodle server. Het oude document is nu een verweesd bestand, want niets linkt naar dit document.

Op zich niet zo’n probleem, maar als dit vaker voorkomt neemt dit onnodige ruimte in. Vergeet niet dat deze ruimte ook nog in elke backup terugkomt.

Vroeger (< versie 2.x) had je per cursus een map met alle bestanden. Zo had cursus ID 30 ook een map op de server met de naam ’30’. In deze map stonden gewoon alle bestanden en submappen, welke je zelfs via FTP kon uploaden en bewerken. Dat was eigenlijk heel handig (als je FTP-toegang had)!

Maar vanaf Moodle 2 is er het nieuwe bestandssysteem gekomen en daar worden alle bestandsnamen middels een hash in de Moodledata directory gezet. Voorbeeld: het bestand ‘003d042328a1cc4485fc7a75de798eb14dec1005‘ staat nu in een Moodledata directory in één van onze Moodle sites. Aan de bestandsnaam kan ik niet zien wat de inhoud is. Als ik via Moodle dit bestand opzoek, dan blijkt het ‘Veiligheidsvoorschriften‘ te heten. In de database van Moodle staat een referentie van de oorspronkelijke naam van het document naar de gehashte naam in Moodledata. Deze opzet is zo gemaakt om het allemaal veiliger te maken.

Dit maakt opruimen van de bestanden in Moodle een zeer lastige klus. Gelukkig dat weer iemand (Barry Oosthuizen genaamd) iets hierop heeft gevonden. Hij heeft de Moodle plugin File trash (Orphaned file locator) ontwikkeld. Met deze plugin die geschikt is vanaf Moodle 2.6 en hoger, kan je verweesde bestanden opzoeken en verwijderen. Let wel op dat fileinfo PHP extension een vereiste is om geïnstalleerd te hebben op de Moodle server.

Eigenlijk een verplichte plugin voor elke Moodle site!!