Direkt zum Hauptinhalt

Nextcloud als Repository einbinden

Ist eine Nextcloud als Repository eingebunden, erscheint sie überall dort, wo Moodle Dateien annimmt: im Dateiauswahlfenster neben Datei hochladen und Meine Dateien. Trainer/innen und Teilnehmende greifen damit auf ihre eigenen Cloud-Dateien zu, ohne sie vorher herunterzuladen. Das Verfahren ist für jede Nextcloud dasselbe. Das Beispiel auf dieser Seite ist die emuCLOUD, betrieben vom Team des Bildungsservers.

Voraussetzung: Administrator/innen-Rechte (moodleadmin). Dazu Client-ID und Client-Secret vom Betreiber der Nextcloud. Ohne diese beiden Werte lässt sich die Verbindung nicht herstellen. Trainer/innen können kein Repository einbinden, weder für die Plattform noch für ihren Kurs.

Achtung: Fordern Sie die Zugangsdaten an, bevor Sie anfangen. Der Betreiber der Nextcloud legt sie für genau eine Adresse an und braucht dafür die vollständige Adresse Ihrer Moodle-Instanz. Ohne diese Angabe passt der später zurückgemeldete Umleitungsweg nicht, und die Anmeldung schlägt fehl.

Schritt 1: Den OAuth-2-Service anlegen

Der Service ist die Verbindung zwischen Moodle und der Nextcloud. Er regelt, dass sich jede Nutzerin und jeder Nutzer einmal bei der Cloud anmeldet und Moodle danach in ihrem Namen auf die Dateien zugreifen darf.

  1. Website-Administration öffnen und den Reiter Server wählen.
  2. Auf OAuth 2-Services klicken.
  3. Unter Neuen Service anlegen: die Schaltfläche Nextcloud wählen. Nicht Nutzerdefiniert: Die Nextcloud-Variante trägt die Endpunkte selbst ein.
  4. Name vergeben. Er erscheint später im Dateiauswahlfenster, also einen wählen, den Lehrkräfte wiedererkennen.
  5. Client-ID und Client-Secret aus der Rückmeldung des Betreibers eintragen.
  6. Als Service-Basis-URL die Adresse der Nextcloud eintragen, für die emuCLOUD https://emucloud.bildung-lsa.de/nextcloud/.
  7. Dieser Service wird verwendet. auf Nur interne Services stellen, solange sich niemand über die Nextcloud bei Moodle anmelden soll.
  8. Änderungen speichern.
  9. In der Liste prüfen: In der Spalte Erkennung muss Serviceerkennung erfolgreich stehen, und das Augensymbol in der Spalte Bearbeiten muss geöffnet sein. Ist es durchgestrichen, einmal daraufklicken.

Die Zeile „Neuen Service anlegen:“ unterhalb der Serviceliste mit den Schaltflächen Google, Microsoft, Facebook, Nextcloud, LinkedIn, Clever, MoodleNet und Nutzerdefiniert.

Die oberen Zeilen des Formulars für einen Nextcloud-Service: Name „emuCLOUD“, Client-ID mit einem Platzhaltereintrag, leeres Client-Secret, der Haken „Authentifizierungstoken-Anforderungen über HTTP-Header“ und Service-Basis-URL „https://emucloud.bildung-lsa.de/nextcloud/“.

Achtung: Meldet die Spalte Erkennung, dass die Serviceerkennung nicht erfolgreich war, stimmt die Service-Basis-URL nicht. Moodle ruft unter dieser Adresse die Endpunkte der Nextcloud ab. Häufigste Ursachen sind ein fehlender Unterpfad und ein fehlender Schrägstrich am Ende. Der Schritt weiter unten scheitert dann ohne aussagekräftige Meldung.

Schritt 2: Das Repository einschalten und einrichten

  1. Website-Administration öffnen und den Reiter Plugins wählen.
  2. Im Bereich Repositories auf Übersicht klicken.
  3. In der Zeile Nextcloud das Auswahlfeld der Spalte Aktiv? auf Aktiviert stellen und speichern.
  4. In derselben Zeile auf Einstellungen klicken.
  5. Repository-Instanz erstellen wählen.
  6. Name des Plugins ausfüllen, z. B. emuCLOUD. Dieser Name steht später im Dateiauswahlfenster.
  7. Unter OAuth 2-Service den in Schritt 1 angelegten Service auswählen.
  8. Unterstützte Dateien und Rückgabewert auf Intern stellen, siehe den nächsten Abschnitt.
  9. Speichern.

Ein Ausschnitt der Repository-Übersicht mit den Spalten Name, Aktiv?, Reihenfolge, Einstellungen und Deinstallieren. Die Zeilen Google Drive, Merlot.org, Nextcloud und Microsoft OneDrive sind grau und tragen in der Spalte Aktiv? jeweils ein Auswahlfeld mit dem Wert Deaktiviert.

Hinweis: Erscheint über dem Auswahlfeld der Satz, dass keiner der bestehenden Services die erforderlichen Endpunkte bereitstellt, ist Schritt 1 nicht durchgelaufen. Das Repository listet nur Services auf, deren Erkennung erfolgreich war.

Intern oder extern: was mit den Dateien passiert

Das Feld Unterstützte Dateien legt fest, auf welchem Weg eine Datei aus der Cloud in den Kurs kommt, Rückgabewert bestimmt daraus die Voreinstellung im Dateiauswahlfenster.

Wert Was geschieht
Intern (Dateien werden in Moodle gespeichert) Moodle holt eine Kopie und legt sie ab. Die Kopie bleibt unverändert, auch wenn die Datei in der Cloud später bearbeitet oder gelöscht wird.
Extern (in Moodle werden nur Links gespeichert) Moodle speichert einen Verweis. Die Datei bleibt in der Cloud und wird dort in einen Ordner verschoben, dessen Namen das Feld Name eines Ordners, in welchem geteilte Dateien bereitgestellt werden vorgibt. Der Eigentümer der Freigabe ist danach das Systemkonto von Moodle.
Intern und Extern Beides steht zur Wahl, die Nutzenden entscheiden je Datei.

Achtung: Extern greift in die Cloud der Nutzenden ein: Die ausgewählte Datei wird dort verschoben und ihre Freigabe umgeschrieben. Wer den Ordner in der Cloud später aufräumt, macht damit die Datei im Kurs unbrauchbar. Intern für beide Felder ist deshalb die Einstellung, die im Schulbetrieb die wenigsten Rückfragen erzeugt.

Was Trainer/innen und Teilnehmende danach tun müssen

Das eingerichtete Repository ist noch keine Verbindung zu einem Konto. Jede Person meldet sich einmal selbst an:

  1. Irgendwo im Kurs eine Datei hochladen, also das Dateiauswahlfenster öffnen.
  2. Links in der Liste der Ablagen den Namen der Nextcloud wählen.
  3. Auf Mit Ihrem Nutzerkonto anmelden klicken und sich im Fenster der Cloud anmelden.
  4. Den Zugriff bestätigen. Danach zeigt das Fenster die eigenen Ordner.

Wer kein Konto in der Cloud hat, sieht das Repository, kommt aber über den Anmeldeschritt nicht hinaus. Die Anmeldung gilt pro Person, nicht pro Kurs, und bleibt bestehen, bis sie in der Cloud widerrufen wird.

Wichtige Einstellungen

  • Service-Basis-URL: Muss genau die Adresse sein, unter der die Nextcloud erreichbar ist, inklusive Unterpfad. Sie ist zugleich die Adresse, für die der Betreiber die Zugangsdaten ausgestellt hat.
  • Dieser Service wird verwendet.: Mit Nur interne Services dient der Service allein dem Dateizugriff. Anmeldeseite und interne Services setzt zusätzlich eine Anmeldeschaltfläche auf die Login-Seite von Moodle. Das ist eine eigene Entscheidung über den Anmeldeweg und sollte nicht nebenbei mit dem Repository entstehen.
  • Name des Plugins: Die einzige Beschriftung, die Nutzende zu sehen bekommen. emuCLOUD ist verständlich, Nextcloud beantwortet die Frage nicht, um welche Cloud es geht.
  • Aktiv? in der Repository-Übersicht kennt drei Werte. Aktiviert (nicht verfügbar) lässt das Repository bestehen, nimmt es aber aus dem Dateiauswahlfenster. Das ist der Weg, es vorübergehend stillzulegen, ohne die Instanz zu löschen.
  • Mehrere Instanzen: Sie können zu einem Service mehrere Repository-Instanzen anlegen, etwa eine mit Intern und eine mit Extern. Im Dateiauswahlfenster stehen sie dann als zwei Einträge nebeneinander, was in der Regel mehr verwirrt als hilft.

Tipps

  • Prüfen Sie die Einrichtung mit einem Konto, das nicht Ihr Administrationskonto ist. Der Anmeldeweg zur Cloud ist der Teil, der in der Praxis klemmt, und er sieht für Sie anders aus, wenn Sie in beiden Systemen bereits angemeldet sind.
  • Schreiben Sie den Namen der Repository-Instanz und den Namen des OAuth-2-Service gleich. Bei einer Störung suchen Sie sonst zwischen zwei Listen nach der Entsprechung.
  • Hinterlegen Sie beim Betreiber der Cloud eine Kontaktadresse für ablaufende Zugangsdaten. Wird ein Client-Secret erneuert, fällt das Repository ohne Vorwarnung aus, und die Meldung im Kurs nennt die Ursache nicht.