Nochmal: moodle, nextcloud und oauth2-Services

Hallo!
Hast Du da für die Leute komplett ohne Vorstellung, was das bedeutet, mal ein konkretes Szenario (Screenshot o.ä.) damit ich mir vorstellen kann, was uns das bringt (wir haben Moodle und NC, bisher fand ich den Synergieeffekt (Moodle im Dashboard der NC) nicht wirklich gewinnbringend).
Danke und LG
Max

Gerne:

  • Die Integration geht in die andere Richtung. Wir können von Moodle auf die Dateien in der Nextcloud zugreifen.

  • Dateien aus der Cloud können dann entweder kopiert werden (kein Unterschied zu bisher, es ist wie ein Upload, eben nur aus einer anderen Quelle.

  • Interessanter ist es lediglich einen Link zur Datei anzulegen. So könnte ich als Lehrer mein Unterrichtsmaterial für die Schüler z.B. für mich logisch sortiert in der Cloud haben, zusammen mit dem Material, welches nur für mich bestimmt ist. Vorteil: Die Datei wird nicht mehrfach gespeichert (-> Speicherplatz auf dem Moodle-Server ist in der Regel teurer, als in einer gemanagten Cloud). Nachteil: Die Datei wird in der Cloud öffentlich mit Link geteilt.

  • Die Dritte Möglichkeit versucht den Nachteil auszugleichen und steuert den Zugriff auf den Link. Hier habe ich die Funktionsweise aber selbst noch nicht vollständig durchdrungen. Wenn jemand mehr weis, gerne her mit den Infos.
    grafik

LG,
Simon

Hallo Simon,

das habe ich vor einiger Zeit auch probiert, aber es hat nicht funktioniert. Es wurde immer eine Kopie der Datei in Moodle angelegt.
Klappt das jetzt mit Links aus dem NC-Repository?

Ein weiteres Problem war, dass ich mich jedes Mal in Moodle wieder an NC authentifizieren musste, wenn ich das NC-Repository nutzen wollte (2FA an NC). Das ist dann unökonomisch und vermutlich gehen dann auch verlinkte Dateien nicht.

Vielleicht ist aber bei der Config, wie ich das umgesetzt und getestet habe, etwas falsch.

Könntest du mal beschreiben, was du wo in NC und Moodle eingestellt hast, damit das ohne jedes Mal an NC anmelden und mit verlinkten Dateien klappt?

Viele Grüße
Steffen

Hallo Simon,
danke für die ausführliche Info. Coole sache! v.a. wenn ich Dokumente im Nachhinein nochmal ändern muss, muss ich sie nicht überall neu hochladen…
Ich denke „zugriffsgesteuerter Link“ macht den öffentlichen Link passwortgeschützt. Aber nur eine Vermutung.
LG
Max

Hallo Max,

Ich denke „zugriffsgesteuerter Link“ macht den öffentlichen Link passwortgeschützt.

Nein. Es wird kein Passwort gesetzt. Statt dessen wird die Datei in einen Ordner des Systemusers kopiert/verschoben und von dort mit denjenigen aktiv geteilt, die über Moodle Zugriff auf den „zugriffsgesteuerten“ Link haben.
Das bedeutet, dass alle Nutzer in dem Kurs, ihren Moodleaccount mit einem entsprechenden Account in der Nextcloud verbunden haben müssen. Wenn sie dann auf den zugriffsgesteuerten Link zugreifen, dann wird die Datei automatisch mit ihnen geteilt.
Falls nun ein Schüler einen solchen zugriffsgesteuerten Link in einer Abgabe nutzt, dann wird die Datei kopiert/verschoben und gleichzeitig mit dem Lehrer geteilt. Der Schüler hat dann keinen Schreibzugriff mehr, aber der Lehrer kann z.B. Anmerkungen ergänzen.

Soweit zumindest die Theorie. ABER: Bei mir funktioniert das nur beim ersten Zugriff. Danach erhalte ich einen Fehler, dass die Datei nicht via Webdav verschoben werden konnte. Und dieses Problem konnte ich bisher nicht lösen.

LG,
Simon

Hallo,

wenn ich beim bestehenden oauth-Service versuche, einen Systemaccount zu verbinden, erhalte ich die Fehlermeldung

error/moodle/Could not upgrade oauth token

Hat jemand einen heißen Tipp?

Viele Grüße
Steffen

Hallo Steffen,
eventuell bringt dich dieser Artikel auf moodle.org weiter.
VG Andreas

Hallo Andreas,

hm, ich stelle gerade fest, dass mir als Moodle-User noch nicht mal mehr das NC-Repository angezeigt wird, wenn ich eine Datei im Kurs anlegen will, obwohl das Repository (nach wie vor) aktiviert ist und die Haken gesetzt sind.
Das Repository konnte ich aber schon verwenden und mich als User mit der NC verbinden.

Viele Grüße
Steffen

Hm, wenn ich versuche, in einem Kurs eine Repository-Instanz für NC zu erstellen, kommt

Sie haben aktuell nicht die Rechte, dies zu tun (Nextcloud-Repository-Konfiguration).

obwohl das wie bislang eingestellt ist:
Bildschirmfoto vom 2021-11-12 18-02-20

Hallo,

ich versteh’s nicht.
Unter Startseite - Website-Administration - Plugins - Repositories - Nextcloud
zeigt mir Moodle, wenn ich den erstellten OAuth2-Service für unsere NC wähle

Keiner der bestehenden Services implementiert alle erforderlichen Endpunkte. Bitte legen Sie einen Nextcloud-Service an.

Wie gesagt, das Erstellen / Einbinden von NC-Repositorys hat schon mal funktioniert.

Ich habe jetzt (neu) nach dieser Anleitung Endpunkte erstellt:

Aber die Meldung bleibt :thinking:

Viele Grüße
Steffen

Hallo,

aus irgendeinem Grund hat Moodle meine Endpunkte wieder gelöscht. Nun funktioniert der Zugriff auf NC wieder.
Wenn ich allerdings im NC-Repository für „unterstützte Dateien“ und „Rückgabewert“ die Option „Extern (in Moodle werden nur Links gespeichert)“ wähle, dann bekomme ich die Fehlermeldung

Datei kann nicht heruntergeladen werden

Wähle ich „intern (Dateien werden in Moodle gespeichert)“ funktioniert’s. Das ist aber irgendwie nicht ganz sinnvoll, da sich dann ja nur der Ort ändert, von dem ich hochlade. Es wäre praktisch, wenn das nur mit einem Link auf die NC funktionieren würde, damit die Dateien nicht an 2 Orten gespeichert werden (müssen) und man Aktualisierungen dann auch immer an 2 Stellen vornehmen muss.

Klappt das schon bei jemandem?

Viele Grüße
Steffen

Hallo,

seitdem ich einen Systemaccount verbunden habe, schickt mir Moodle einmal pro Stunde eine Push-Nachricht an den Admin-Account, dass der Systemaccount getrennt worden sei.
Unter Startseite Website-Administration Server OAuth 2-Services wird der Systemaccount aber mit grünem haken angezeigt.

Was bei mir auch anders ist als bei @nomisge: Ich habe nur die Wahl, eine Datei zu kopieren oder einen zugriffsgesteuerten Link anzulegen, nicht aber „Link zur Datei“, wie hier zu sehen.

Ich habe in der NC-Repository-Konfiguration bei unterstützte Dateien „intern und extern“ und bei Rückgabewert „Extern (in Moodle werden nur Links gespeichert)“ angegeben.

Wenn ich beides auf Extern stelle, habe ich wie schon geschrieben gar keine Wahl, ebenso wenn ich beides auf Intern stelle.

Edit: Beim Versuch, einen zugriffsgesteuerten Link anzulegen, kommt wie bei einem normalen Link der Fehler „Datei kann nicht herunter geladen werden“.

@nomisge: Kannst du mal deine ganzen Einstellungen posten?

Viele Grüße
Steffen

Hallo,

wenn ich einen zugriffsgesteuerten Link auf eine Datei anlege und dann, bevor ich in Moodle unten auf speichern klicke, bei „Datei auswählen“ nochmal die angezeigte, verlinkte Datei anklicke,

dann erhalte ich folgendes Bild:

Hier fällt mir das [[unknownsource,repository]] auf.

Weiterhin unschön: Als Moodle-Nutzer muss ich mich immer wieder neu mit dem NC-Repository verbinden. Spätestens nach Schließen des Browsers und löschen von Cache und Cookies.
Wenn man in NC 2FA nutzt, dann sind das eundeutig zu viele Klicks/Schritte, um das sinnvoll nutzen zu können, was sehr schade ist.

Eigentlich wäre das mit dem NC-Repository nämlich eine geniale Sache, aber nur, wenn es auch wirklich mit Verlinkungen und ohne ständiges neues Einloggen funktioniert. Sonst ist der tatsächliche Nutzen nämlich nicht gegeben und es wird (bei uns) eher keiner verwenden.

Viele Grüße
Steffen

Hallo,

mit der neuerlichen Nachricht habe ich jetzt auch wieder den genauen Wortlaut:

Das OAuth-Aktualisierungstoken für Nextcloud auf der Website https://www.unseredomain.de ist abgelaufen.

Viele Grüße
Steffen

Hallo,

da war doch was… zumindest das ein oder andere hatten wir schon diskutiert:
Nextcloud Repository in Moodle: Nur Dateikopie, kein zugriffsgesteuerter Link, kein eigenes Repository für User

Für die Meldung mit dem Ablauf des Aktualisierungstoken habe ich jetzt wie dort von @ChristianWd in diesem Post beschrieben auf tägliche Erneuerung umgestellt. Mal schauen, ob damit die Warnmeldung bei mir auch verschwindet.

Viele Grüße
Steffen

Hallo,

also bei mir hat diese Änderung jetzt den Effekt, dass mir das NC-Repository gar nicht mehr zur Auswahl steht, um eine Datei anzulegen :see_no_evil:

WTF

Viele Grüße
Steffen

Hallo,

die Endpoints waren wieder weg. Bei irgendeiner Änderung am Repository (ich habe noch nicht herausgefunden bei welcher) werden diese offensichtlich gelöscht.

Allerdings klappt das Anlegen von Links bzw. zugriiffsgesteurten Links bislang gar nicht.

  • Das mit Moodle verbundene NC-Systemkonto ist ein Admin-Konto
  • Benutzer dürfen in NC auch außerhalb ihrer Gruppen teilen.
  • Das NC-Systemkonto hat die Ordner „System (AFS Engen)“ (wurde automatisch angelegt) und „in_Moodle_bereitgestellte_Dateien“ (habe ich in Moodle beim NC-Repository unter „Name eines Ordners, in welchem geteilte Dateien bereitgestellt werden“ angeben) mit mir geteilt
  • egal, was ich im NC-Repository für „unterstütze Dateien“ und „Rückgabewert“ einstelle, bekomme ich nie die Auswahl „Link zur Datei anlegen“.
  • Wenn ich beides auf „extern“ stelle, gibt es gar keine Auswahl und die Datei bekommt das „Verlinkt-Symbol“ (blauer Pfeil am Icon) und beim Versuch, zu speichern kommt „Datei kann nicht herunter geladen werden“
  • Wenn ich „unterstützte Dateitypen“ auf „intern“ stelle, gibt es gar keine Auswahl und die Datei wird nach Moodle kopiert
  • Wenn ich „unterstützte Dateitypen“ auf „intern und extern“ stelle, habe ich die Wahl zwischen „Datei kopieren“, was funktioniert und „zugriffsgesteuerter Link“, was zu „Datei kann nicht herunter geladen werden“ führt

Viele Grüße
Steffen

Hallo Steffen,
kann es sein, das etwas mit den Rechten nicht stimmt?
Capabilities/repository/nextcloud:view

Die Anleitung von lehrerfortbildung-bw ist eigentlich ganz gut. Nur sollte man nicht die Authentifizierung über oauth2 aktivieren (Außer man möchte das wirklich, aber i.d.R. macht man das via LDAPS), außerdem haben neuere Moodle bereits die Einstellung für Nextcloud hinterlegt, dann muss man nicht mehr die Endpunkte eingeben.

Vielleicht ist aber auch das veraltete Plugin für 2fa der Übeltäter, mit seiner extra Loginseite und Aushebelung der eigentlichen Authentifizierung in Moodle.
Viel besser besser ist das mfa Plugin (Moodle plugins directory: Multi-factor authentication). Dieses setzt an völlig anderer Stelle an und lässt sich zudem viel feiner steuern.

LG,
Simon

Hallo Simon,

aktuell sieht es so aus:
Durch Neuanlegen des OAuth-Zugriffs in NC und in Moodle bekomme ich keine Warnungen mehr über „Die Aktualisierungstoken für einen der OAuth-Dienste auf der Website ist abgelaufen“. Hier liegt wohl ein Bug vor, so zumindest wurde es im Moodle-Admin-Forum auf lehrerfortbildung-bw.de gepostet:

Die Nextcloud hat einen bekannten Bug, der je nach Version/Fork nach jedem Update zu Tage treten kann: Das Token wird vom Moodlesystem als nicht mehr gültig anerkannt und muss im Adminbereich der Nextcloud nochmals neu generiert und im Moodlesystem erneut hinterlegt werden.

Das, was ich in diesem Post zu den Links bzw. zugriiffsgesteurten Links schrieb, ist allerdings noch immer so.

Meinst du bei Moodle? Ich denke nicht, ist ein Belwü-Moodle.

Wo/wie ist der Befehl gemeint? Auf der Konsole? Darauf habe ich bei Belwü keinen Zugriff.

Die wird da ja aus dem Kopf auch laut der Anleitung nicht aktiviert - und habe ich auch nicht aktiviert.

Es macht keinen Unterschied, ob in Moodle für den User 2FA aktiviert ist oder nicht.

Es handelt sich um Moodle 3.10.
Da gibt es in der Tat die Auswahl für NC-Repository, wobei die Endpunkte nicht zuverlässig automatisch angelegt wurden, selbst wenn man diesen Button für NC nutzt. Vielleicht liegt’s aber auch daran, dass ich immer wieder denselben Namen dafür verwendet habe.

Bislang dufte man bei Belwü nicht einfach so eigene Plugins installieren. Ist nehme ich an immer noch so. Ich denke auch nicht dass hier das Problem liegt.

Viele Grüße
Steffen

Ja. Bei Belwü solltest du auch Rollen bearbeiten können und dort dann das enstprechende Recht prüfen/setzen können. Aber soweit ich weis stimmt das bei Belwü schon.

Sonst fällt mir auch nichts weiter ein… Sag Bescheid, wenn du eine Lösung hast.

LG,
Simon