Synchronisation der Moodle Dokumente mit der PlagAware Bibliothek
Durch die Kombination zweier Erweiterung von PlagAware, dem PlagAware Moodle Plugin und dem PlagAware LibCrawler, kann die Synchronisation des Datenbestands einer Moodle-Instanz mit der privaten Bibliothek von PlagAware realisiert werden. Der Artikel beschreibt die hierfür notwendige Konfiguration.
Hinweis
Dieser Artikel richtet sich an technisch versierte Benutzer und an den IT Support Ihrer Organisation. Die Installation der Synchronisation erfordert die Einrichtung und Konfiguration Ihrer Moodle Installation sowie die Installation von Hilfsprogrammen auf Ihrem lokalen Moodle Server. Hierfür werden Administrationsrechte benötigt.
Das Wichtigste auf einen Blick
- check_circlePlagAware erlaubt die automatische Synchronisation von Dokumenten in Ihrer Moodle-Instanz mit der PlagAware Bibliothek
- check_circleAus Datenschutzgründen kann der Text lokal in eine Signatur umgewandelt werden, bevor sie an PlagAware übertragen wird.
- check_circleFür die Synchronisation ist die Installation des LibCrawler Docker-Containers notwendig, der die Umwandlung des Texte und die Kommunikation mit PlagAware übernimmt.
Übersicht
Die Synchronisation einer Moodle Instanz mit der PlagAware Bibliothek ermöglicht es, Plagiatsprüfungen von eingereichten Arbeiten gegen den Bestand an Dokumenten in Ihrer Moodle Installation durchzuführen. Hierfür werden die Dokumente in Ihrer Moodle-Installation im Hintergrund an PlagAware übertragen. Dabei können Sie entscheiden, ob nur die Signatur der Texte, oder aber der vollständige Text an PlagAware übertragen wird.
Die Synchronisation erfordert neben dem PlagAware Moodle Plugin die Erweiterung LibCrawler, einem Hilfsprogramm, das auf Ihrem Moodle-Server installiert wird. Dieses Hilfsprogramm übernimmt die Aufgabe, die Dokumente in Ihrer Moodle Instanz in eine Textdatei umzuwandeln, gegebenenfalls die zugehörige Signatur zu erzeugen und den Text bzw. dessen Signatur an die PlagAware Bibliothek zu übertragen.
Die Funktionsweise im Detail
In Moodle werden die zu übertragenden Dokumente im Datenverzeichnis der Moodle Installation
gespeichert. In der Regel befindet sich dieses Verzeichnis unter /moodledata/filedir
.
Die Dokumente werden in einer Verzeichnisstruktur gespeichert, wobei die Dateinamen durch einen
Hash-Wert des Dateiinhaltes, den so genannten contenthash
ersetzt werden.
Das PlagAware-Moodle Plugin erstellt eine Index-Datei /filedir/index.json
, welche die
Metadaten der zu übertragenden Dokumente aus der Moodle-Datenbank ergänzt. Durch die Index-Datei ist
sichergestellt, dass ausschließlich Dokumente, die für die Übertragung ausgewählt
und noch nicht übertragen wurden, tatsächlich an PlagAware übertragen werden.
Die Index-Datei wird alle 5 Minuten von Moodle neu erzeugt. Änderungen in der Konfiguration der zu übertragenden Dateien werden daher erst bei der nächsten Erstellung der Index-Datei wirksam.
Das Hilfsprogramm LibCrawler liest anhand der Index-Datei die zu übertragenden Dokumente ein,
wandelt sie in den zugehörigen Text bzw. die Signatur um und überträgt den Textinhalt vzw. die
Signatur an die PlagAware Bibliothek. Der Status der Übertagung wird in einer Ausgabedatei des
LibCrawlers /cache/fileslog.json
gespeichert.
Das Moodle-Plugin wiederum liest diese Ausgabedatei ein und speichert den Übertragungsstatus in der Moodle Datenbank. Dadurch ist sichergestellt, dass nur Dokumente, die noch nicht übertragen wurden, in der Index-Datei aufgelistet werden.
Installation und Konfiguration des Moodle-Plugins
Die Installation des Moodle-Plugins wird in unserem Artikel Moodle-Plugin erklärt. Zusätzlich zur dort beschriebenen Konfiguration können Sie weitere Einstellungen vornehmen:

- arrow_forward
Synchronisierung aktivieren Aktivieren Sie die Erstellung der Index-Datei. Die Index-Datei wird per Default alle 5 Minuten neu erstellt, Sie können die Frequenz aber in Ihren Moodle Einstellungen unter Scheduled Tasks anpassen.
- arrow_forward
Zeitraum nach Cutoff-Date Geben Sie die Zeitspanne nach dem Cutoff-Date der Aufgabe an, nach der eine Übertragung an PlagAware stattfinden soll. Def Default-Wert beträgt 30 Tage, um zu verhindern, dass die Plagiatsprüfung gegen ein bereits übertragenes identisches Dokument durchgeführt wird.
- arrow_forward
Einzuschließende Aufgaben Geben Sie die eine Komma-separierte Liste an Aufgaben ("Assignment")-Id's an, für welche die Übertragung exklusiv durchgeführt werden soll.
- arrow_forward
Auszuschließende Aufgaben Geben Sie die eine Komma-separierte Liste an Aufgaben ("Assignment")-Id's an, welche von der Übertragung ausgeschlossen werden sollen.
Installation und Konfiguration des LibCrawlers
Der PlagAware LibCrawler wird als Docker-Image zur Verfügung gestellt, sodass er problemlos auf einer Vielzahl von Betriebssystemen zum Einsatz kommen kann, ohne weitere Komponenten installieren zu müssen. Eine Beschreibung des LibCrawler-Images finden Sie auf DockerHub, der offiziellen Cloud-basierten Plattform zum Speichern, Verwalten und Teilen von Docker-Containern unter LibCrawler auf DockerHub.
Wir empfehlen die Verwendung von Docker-Compose zum konfigurieren und starten des Containers.
Für eine Moodle-Installation mit dem Datenverzeichnis /var/www/html/moodledata
könnte
eine Docker-Compose Konfiguration folgendermaßen aussehen:
Die Pfade der Konfiguration müssen mit den jeweiligen Pfaden in Ihrer Moodle-Konfiguration übereinstimmen, sodass der Docker-Container Zugriff auf die jeweiligen Moodle-Verzeichnisse erhält.
Debugging und Fehlerbehandlung
Überprüfen der zu übertragenden Dokumente
Bevor Sie den LibCrawler aktivieren, können Sie prüfen, welche Dateien in die Übertragung eingeschlossen werden und ob die Index-Datei korrekt erzeugt wird. Hierfür können Sie den Scheduled Task manuell starten, z.B. mit dem Befehl
Bitte passen Sie die Pfade ggf. für Ihre Moodle-Installation an. In der Ausgabe des Tasks können Sie
erkennen, wie viele Dateien für die Übertragung vorgemerkt wurden. Diese Anzahl wird limitiert durch
die Maximale Anzahl der pro Batch zu übertragenden Dateien in der erweiterten Konfiguration
des Moodle Plugins. Bei fehlerfreier Ausführung des Tasks wird die Index-Datei-Datei
/filedir/index.json/
erzeugt, die Sie mit einem entsprechenden Editor untersuchen
können.
Treten hierbei Fehler auf, können Sie eine Datenbank-Abfrage durchführen, welche den Status der Dokumente anzeigt. Eine derartige Abfrage könnte z.B. aussehen wie nachfolgend gezeigt:
Bitte passen Sie die Namen der Tabellen, insbesondere das Tabellenpräfix mdl_
, an Ihre
tatsächliche Konfiguration an. Bitte beachten Sie auch, dass die Abfrage die ein- und
auszuschließenden Dateien sowie den Cutoff-Zeitraum nicht berücksichtigt.
Übertragung des Upload-Status von LibCrawler
Nach dem Start des LibCrawlers sollte die Index-Datei eingelesen und die Dokumente entsprechend der Konfiguration an PlagAware übertragen werden. Im Fehlerfall prüfen Sie bitte die Log-Ausgaben des Containers.
Neben der genannten Ausgabe-Datei /cache/fileslog.json
legt LibCrawler weitere Dateien
/cache/files_[status].txt
an, welche die Listen die prozessierten Dateien entsprechend
des jeweiligen Übertragungsstatus enthalten. Dateien, die sich in dieser Liste befinden, werden
nicht erneut nach PlagAware übertragen, selbst wenn Sie in der Index-Datei aufgeführt sind.