Software Architektur
Zur Integration von AdLer in Moodle sind mehrere Plugins notwendig. Dies ist bedingt durch das Konzept von Moodle, dass so ziemlich alles ein Plugin ist und viele dieser Plugins wiederrum die Möglichkeit bieten durch andere Plugins erweitert zu werden. So ist beispielsweise jedes Modul ein Plugin, genauso wie die Regeln, nach denen Sections in Kursen freigeschaltet werden. Für weitere Informationen zu den verschiedenen Plugin-Typen siehe die Moodle-Dokumentation.
Die Moodle-Integration von AdLer ist derzeit durch folgende Plugins realisiert:
local_adler: Dieses Plugin ist das Hauptplugin von AdLer. Es implementiert das Punktesystem sowie die Schnittstellen zur Abgabe von Lernelementen. Außerdem bietet es die Schnittstelle zum Upload von Kursen (Lernwelten) und zur Konvertierung von UUIDs zu Moodle-IDs.
local_logging: Dies ist ein primitives Logging-Plugin, welches die Möglichkeit bietet beliebige Nachrichten in die Moodle-Logdatenbank zu schreiben. Moodle selbst bietet, abgesehen von CLI-Skripten, keinerlei Log-Möglichkeiten.
mod_adleradaptivity: Dieses Plugin implementiert das das Adaptivitätselement in Moodle
availability_adler: Dieses Plugin implementiert die Verfügbarkeitsregeln der Sections in Kursen (AdLer-Räume)
Die Plugins kommunizieren weitestgehend nur (indirekt) über Moodle-Schnittstellen untereinander. Direkte Kommunikation findet nur in folgenden Fällen statt:
local_logging wird wie eine library genutzt und daher direkt von allen Plugins angesprochen
local_adler wird von availability_adler aufgerufen, um den completion Status und den Namen von Sections zu erhalten