Softwarearchitektur

Zur Umsetzung des Projektziels musste Moodle um nötige Funktionalitäten ergänzt werden. Im Folgenden erhalten Sie eine strukturierte Übersicht zu den Plugins, die in Moodle entwickelt wurden und welche Funktionalitäten sie bereit stellen.

Übersicht über die Plugin-Struktur

Moodle Plugins dienen dazu im Core angebotene Funktionalitäten dahingehend zu erweitern, dass diese den individuellen Bedürfnissen des Nutzers entsprechen. Daher eignete sich die Implementierung solcher Plugins ideal zur Umsetzung der definierten Integrationsszenarien. In Moodle wird ein Plugin einer Kategorie zugeordnet, welche eine bestimmte Art von Funktionalität repräsentiert. Da unsere Integrationsszenarien verschiedene Arten von Funktionalitäten benötigen haben wir uns für verschiedene Plugintypen entschieden.

Plugintyp Beschreibung Zweck für das Projekt
admin tool oauth2owncloud Bietet Dienste zur Site-Administration an, d.h. die Einstellungen gelten global und können nur vom Administrator der Seite getätigt werden Verwaltung der Authentifizierung mittels OAuth 2.0
repository owncloud Stellt die Verbindung zu einer externen Datenquelle her Datenbeschaffung aus ownCloud
activity collaborativefolders Stellt Aktivitäten in einem Kurs zur Verfügung Erstellung von Ordnern für kollaboratives Arbeiten

Funktionsübersicht

Die in den verschiedenen Plugins angebotenen Funktionalitäten können wie folgt zusammengefasst werden:

Abhängigkeiten

Die aus der Aufteilung der Funktionen in verschiedene Plugins resultierenden Abhängigkeiten werden in folgender Abbildung dargestellt:

Plugin-Struktur

Zu beachten ist, dass eine möglichst hohe Flexibilität und Modularität bei dem Entwurf der Softwarearchitektur erzielt werden sollte. Das führt zwar mit sich, dass funktionale Plugins (also das repository und das activity Plugin) nicht eigenständig ohne das admin tool existieren können, allerdings wird weiteren, in Zukunft entwickelten Plugins ebenfalls Zugriff auf die OAuth 2.0 Schnittstelle in ownCloud bzw. sciebo ermöglicht, wodurch sich das Projektergebnis zu einer guten Wiederverwendbarkeit qualifiziert.