Opencast Moodle-Plugin: Einbinden von Videos in Moodle

379 views
Skip to first unread message

Sven Stauber

unread,
Aug 28, 2018, 9:28:29 AM8/28/18
to Deutschsprachige Opencast Community
Hallo zusammen

"Hinter den Kulissen" ist eine grössere Diskussion im Gange, bei welchem wir gemeinsam darüber philosophieren, wie man Opencast Videos in Zukunft ins Moodle Plugin (External API, Basis TU Illmenau) einbinden könnte oder sollte.

Dabei kam ein Kommentar, ob die Diskussion nicht auf einer Liste geführt werden sollte.

Ich erlaube mir, hier einige bereits "in die kleine Runde" gesandte E-mails zu posten.

Ein Kernpunkt der Diskussion ist die Frage, wie man Opencast Videos in beliebige Moodle Kurse einbinden könnte, ohne diese jedes Mal erneut in einen Moodle Kurs hochladen zu müssen.

Beste Grüsse
Sven

Sven Stauber

unread,
Aug 28, 2018, 9:32:55 AM8/28/18
to Deutschsprachige Opencast Community

[Bei dieser etwas längeren E-mail geht es um mögliche Lösungswege, wie man ein Video in einem beliebigen Moodle-Kurs einbinden könnte.]


Der kurzfristig vorgeschlagene Lösungsweg (Benutzer kann konfigurieren, mit welcher Opencast Serie ein Moodle Kurs verbunden ist) erlaubt es zwar, bestehende Opencast Videos eines Moodle Kurses in neuen Moodle Kursen zu verwenden - unterstützt aber den Use Case «Opencast Videos in beliebigen Moodle Kursen verwenden» nicht.

 

Hier ein paar Gedankengänge, wie man diesen Use Case «Opencast Videos in beliebigen Moodle Kursen verwenden» in Zukunft umsetzen könnte und wieso ich persönlich davon abraten würde, dies mittels «Opencast Serien» zu tun:

 

Ist-Zustand

---------------

 

Aktuell wird die «Abstraktion» Moodle-Kurs auf die Abstraktion Opencast Serie 1:1 abgebildet.

Das macht durchaus Sinn und ist auch korrekt, da beide Abstraktionen im Grunde genommen Aspekte der realen «Veranstaltungsreihe» modellieren, z.B. die Veranstaltungsreihe «Das Leben HS 2018» (Opencast Serie respektive Moodle Kurs) bestehend aus Einzelveranstaltungen (Opencast Events).

 

Das Problem ist nun, dass diese Abbildung nicht flexibel genug ist. Zum Beispiel möchte man Inhalte der Veranstaltungsreihe «Das Leben HS 2018» nun in die Folgeveranstaltung «Das Leben FS 2019» übernehmen können, ohne nochmals alle Inhalte erneut hochladen zu müssen.


Wenn man bei der korrekten 1:1 Abbildung von Moodle-Kurs auf Opencast Serien bleiben würde, würde dies eine Duplizierung der Inhalte der alten Opencast Serie implizieren.

Das ist aber eine relativ teure Operation (seitens Opencast), d.h. der Benutzer muss «warten».

Im Grunde genommen ergibt sich zudem ein semantischer Abbildungsfehler: Das gleiche Video in verschiedenen Veranstaltungsreihen zu verwenden impliziert, dass das Video nicht eindeutig einer Veranstaltungsreihe zugeordnet werden kann.

 

Ich würde diesen Weg (1:1 Abbildung beibehalten) nicht beschreiten – weniger wegen dem «Warten», sondern mehr, weil die 1:1 Abbildung auch andere Use Cases nicht sinnvoll unterstützen kann (mehr dazu später).

 

Der kurzfristige Vorschlag

----------------------------------

 

Der kurzfristige Lösungsvorschlag der vorherigen E-Mail führt bewusst einen Abbildungsfehler ein: Neu werden Moodle-Kurs zu Opencast Serie nicht mehr 1:1 sondern n:1 abgebildet (also potentiell mehrere Moodle-Kurse pro Opencast Series).

Das ist strenggenommen falsch, da die Abstraktion «Opencast Series» nur eine «Instanz» einer Veranstaltungsreihe (z.B. «Das Leben HS 2018» ODER «Das Leben FS 2019») abstrahiert und nicht mehrere Instanzen der Veranstaltungsreihe (z.B. «Das Leben HS 2018» UND «Das Leben FS 2019»).

 

Solche Abbildungsfehler haben wenig überraschend auch negative Konsequenzen. In diesem Fall zum Beispiel:

 

  • Videos, welche in einen Moodle-Kurs hochgeladen werden, sind potentiell in anderen Moodle-Kursen auswählbar («Separation»)
  • Dasselbe beim Löschen: Video kann dann auch in anderen Kursen «verschwinden» («Separation»)
  • Generell ist nicht ohne weiteres klar, in welchen Moodle-Kursen welche Videos verwendet werden («Struktur»)
  • Aus Sicht von Opencast ist nicht bestimmbar, ob und in welchen Moodle-Kursen ein Video überhaupt verwendet wird («Information»)

 

Die würde ich aber zumindest kurzfristig in Kauf nehmen. In der Realität überwiegen die Vorteile dann doch.

 

Kurzfristig++

-----------------

 

Eine naheliegende Lösung, welche die kurzfristige Lösung weiter ausbaut, wäre: Die Abbildung Moodle-Kurs -> Opencast Serie von 1:1 (korrekt, ursprünglich) über n:1 (inkorrekt, kurzfristige Lösung) zu n:n (noch inkorrekter, «Chaos») zu erweitern, d.h. man würde einen beliebigen Moodle Kurs eine beliebige Menge von Opencast Serien zuordnen können.

 

Das wäre schon umsetzbar. Ob dann aber irgendjemand noch versteht, wie nun was zusammenhängt (Wieso sehe ich Video X nicht, aber Video B schon?), sei dahingestellt («Chaos»).

 

Die Frage meinerseits wäre dann, wieso man überhaupt Serien einsetzen will, wenn man diese dermassen falsch einsetzt, dass sie aussagelos werden und mehr im Weg stehen als dass sie nutzen.

 

Back to the future: «Videos in beliebigen Moodle-Kursen»

-----------------------------------------------------------------------------

 

Dann würde ich eher eine 1:n Abbildung von Moodle-Kurs zu Opencast Events einführen, d.h. in einem Moodle-Kurs können beliebige Opencast Events (unabhängig von Serie) eingebunden werden.

 

Was dann aber fehlt ist die Einschränkung «Welche Opencast Events können vom Benutzer Bob in Moodle-Kurse eingebunden werden?» (vorher war die Auswahl auf die Events einer Serie beschränkt. Ohne die Serie benötigen wir ein neues Auswahlkriterium).

Hier stehen verschiedene Wege zur Auswahl, z.B.

 

Personenbezogen

Einem Moodle-Benutzer stehen jeweils alle Videos zur Auswahl, welche er selbst hochgeladen hat. Das dürfte nicht flexibel genug sein, z.B. Übergabe an andere Personen, mehrere Personen benötigen Zugriff, etc.

 

Gruppenbezogen

Einer Moodle-Gruppe (Annahme: Moodle unterstützt Gruppen) stehen jeweils alle Videos zur Auswahl, welche «im Namen der Gruppe» (=von einem Gruppenmitglied) hochgeladen wurde. Ohne tief darüber nachzudenken scheint dies gangbar, aber etwas zu stark vereinfacht. Zudem wäre mir nicht klar, wie man das aus Sicht von Openast her sinnvoll abbildet (welche Videos werden in Moodle verwendet?).

 

«Video-Repository»-bezogen

In Moodle gäbe es ein neues «Objekt» Videorepository, welches ein Container für Opencast Events darstellt. Dieses könnte wiederum auf eine Opencast Serie abgebildet sein (erscheint mir korrekt, 1 Videorepository mit Titel, Beschreibung, etc. zu n Events).

Durch die zusätzliche Indirektion (im Vergleich zu Gruppenbezogen) würde man tendenziell mehr Flexibilität gewinnen, z.B. könnte man verschiedenen Personen(-Gruppen) noch verschiedene Rechte auf das Repository zugestehen (z.B. nur einbinden, nicht aber hochladen oder löschen). Es wäre auch einfacher, ein solches Videorepository direkt über Opencast zu manipulieren (da als Serie abgebildet).

Wichtig: Die Verbindung Moodle-Kurs zu Opencast Serie (und auch Moodle-Kurs zu Videorepository) gibt es in diesem Ansatz nicht. Wohl aber die Verbindung Moodle-Videorepository zu Opencast Serie (wegen Verwaltbarkeit aus Sicht von Opencast).

 

Bei all diesen Wegen würde ich «auf die Schnelle» sagen, dass sie mittels Opencast Zugriffsrichtlinien (ACLs) umsetzbar sind. Beispiel: Beim Hochladen eines Videos wird die Rolle «ROLE_MOODLE_REPOSITORY_MOODLE_ID» gesetzt. 

 

Bei der Darstellung eines Blocks oder Moodle Repositories kann der API Benutzer (in Abhängigkeit des angemeldeten Moodle-Benutzers) Role-Switching einsetzen. Damit erhält er nur noch die Events, für die bestimmte Rollen gesetzt sind.

 

Welche Videos würde nun ein angemeldeter Benutzer sehen (im Block / Repository)?

 

Vorher: Diejenigen der Serie, welche mit dem Moodle-Kurs verbunden ist

Nachher: Alle Videos von allen (Moodle-)Videorepositories auf welche der Benutzer gemäss Moodle-Rechtesystem Lesezugriff hat

 

Allerdings: Ich kenne Moodle überhaupt nicht und mir ist nicht klar, wie und ob man in einem Moodle-Plugin «Objekte» haben kann, welche eigentlich global sind und nicht direkt mit einem Moodle Kurs in Verbindung stehen.

 

@Tobias: Du kommst doch von der Moodle-Seite… wäre so etwas in Moodle überhaupt machbar und sinnvoll?

 

Zum Schluss: Wieso nicht kurzfristig in diese Richtung gehen?

 

Antwort: Im Vergleich zur «kurzfristigen» Lösung wäre dies ein sehr viel stärkerer Eingriff in das Plugin, welcher einiges aufwendiger und riskanter in der Umsetzung ist.

Mit einer 1:n Abbildung von Moodle-Kursen zu Opencast Events bewegt man sich klar in eine Richtung, welche das Thema «Video-Management» aufgreift. Zum Beispiel wäre zu erwarten, dass die neue Repository-Abstraktion zu wesentlich grösseren Auswahlen von Videos führen könnte.

Kann der «Block» dem Benutzer dann eine effiziente Auswahl von 100+ Videos ermöglichen? Wo, wie und von wem werden die Videos eines solchen (Moodle-)Videorepositories dann verwaltet (Achtung: Kein Bezug zu Moodle-Kurs mehr)?

Sven Stauber

unread,
Aug 28, 2018, 9:47:57 AM8/28/18
to Deutschsprachige Opencast Community
[Zeitlich überschneidend, Tobias WWU]

Wir sehen einen ähnlichen Use Case wie ihr. Das von euch beschriebene Verlinken von Serien in mehrere Kurse, sollte mit unserer aktuellen Version des Plugins bereits funktionieren. Die Erweiterung durch des Backup und Restore Prozesses stünde allerdings noch aus. Dabei sollte das Plugin bereits in der Lage sein die Zugriffsberechtigungen für mehrere Kurse gleichzeitig richtig zu setzen. Allerdings besteht dann natürlich das Problem, dass Änderungen an der Serie in einem Kurs auch die Serie in allen anderen Kursen verändern.


Aus diesem Grund und dem Grund, dass bei uns die Aufzeichnungsannotationen in Opencast gespeichert werden, benötigen wir zusätzlich die Möglichkeit ganze Serien in einen neuen Kurs zu kopieren. Wir haben das eben mal getestet. Opencast ist schlau genug und erkennt die identischen Dateien in den verschiedenen Mediapackages. In seinem internen Speicher legt er die Dateien als Hardlinks an. Dadurch werden die Daten nicht doppelt gespeichert. Das duplizieren kostet zwar etwas Aufwand (in unseren Tests etwa 15s), steht aber nicht im Vergleich zum Aufwand die Videos etwa neu zu ingesten. Wir sehen das Duplizieren also auch als validen Use Case. Könnt ihr euch vorstellen, dass ihr diesen auch benötigen könntet? Wir würden anstreben am Schluss eine Auswahl zu haben, ob ein Kurs nur verlinkt oder ob eine Kopie der Serie erstellt werden soll.

Sven Stauber

unread,
Aug 28, 2018, 9:49:02 AM8/28/18
to Deutschsprachige Opencast Community
[Letzter Stand der Diskussion, Tobias WWU]

Vorab erstmal ein grundsätzliches Thema: Wir diskutieren inzwischen über konzeptionelle Themen, die auch für meine Kollegen (hab sie auch hier mal mit ins CC aufgenommen) und andere Unis interessant sind. Dabei haben die Mails immer wieder andere Verteiler. Ich würde es sehr begrüßen, wenn wir diese Diskussionen auf einer öffentlichen Plattform weiterführen würden (Z.B. im Github-Repository, auf der Opencast-Mailingliste, in einem Moodle-Forum). Was haltet ihr davon?


[Done]


Jetzt zum eigentlichen Thema:

danke für deine interessanten Ideen. Ich verstehe gegenwärtig den logischen Unterschied zwischen Serie und Videorepository noch nicht. Welchen Vorteil hätte man davon ein Videorepository einzuführen. Man hätte immer noch das Problem, dass man sich Gedanken drüber machen muss, was bei einer Einschränkung der Zugriffsberechtigungen bzw. dem Löschend es Events passieren soll. Und ich habe immer noch eine Liste von Events die einem Kurs zugeordnet sind. Genauso wie bei einer 1:1 Beziehung zwischen Moodle-Kurs und Opencast.

Ich stelle mir die zukünftige Anbindung immer noch so vor, dass wir eine fixe 1:1 Beziehung zwischen Kurs und Serie haben. Jede Serie ist dabei beliebig erweiterbar und bildet immer genau die Videos ab, welche im Kurskontext verfügbar sind. Dadurch wird auch von Opencast-Seite ersichtlich, welcher Nutzer eigentlich auf welche Events Zugriff hat. Dabei ermöglichen wir es den Nutzern einzelne Videos in die Kursserie zu kopieren. Man könnte dem Nutzer dabei eine Liste aller Events anbieten, auf die er Schreibberechtigungen hat. Die Schreibberechtigungen werden automatisch vom MoodleRoleProvider gesetzt oder in Ausnahmefällen durch den Opencast-Admin. Dann spart man sich den Check, wer ein Video hochgeladen hat, und ermöglicht es gleichzeitig, dass eine Vorlesungsreihe auch von mehreren Nutzern verwaltet werden kann. Wie ich in meiner anderen Mail dargelegt habe, ist da Kopieren zwar ein Prozess der etwas Zeit in Anspruch nimmt, aber nicht im Vergleich dazu steht, ein Video neu hochzuladen. Auch werden die Videos deshalb nicht mehrfach im System gespeichert. Die Änderungen am Block würden sich dabei auch in Grenzen halten.

Zusätzlich könnte man dem Lehrenden dann auch anbieten, die gesamte Serie ins nächste Semester zu kopieren.

Bei all den Überlegungen müssen wir aber natürlich auch im Blick behalten, wie wir mit den Einschränkungen der Zugriffsberechtigungen auf Basis von Moodle-Gruppen verfahren wollen.

Um deine Frage noch zu beantworten: Ja ein solche Videorepository wäre möglich. Letztendlich wird gegenwärtig ja auch die 1:1 Beziehung in Moodle in einer Datenbank hinterlegt. Stattdessen könnte man auch eine 1:n, n:n oder n:1 Beziehung je nach belieben speichern. Allerdings halte ich diese Zuordnung aus o.g. Gründen für weniger sinnvoll.

Sven Stauber

unread,
Aug 28, 2018, 10:42:04 AM8/28/18
to Deutschsprachige Opencast Community
Hallo Tobias
 

danke für deine interessanten Ideen. Ich verstehe gegenwärtig den logischen Unterschied zwischen Serie und Videorepository noch nicht. Welchen Vorteil hätte man davon ein Videorepository einzuführen.


Es wäre ein ganz anderer Ansatz, der von...

  • Als Benutzer möchte ich ein Video in einen Moodle Kurs hochladen, damit ich das Video an diversen Stellen im Kurs einbinden kann
  • Als Benutzer möchte ich die Videos eines bestehenden Moodle Kurses in meinen neuen Moodle Kurs importieren, damit ich diese nicht erneut hochladen muss
  • Als Benutzer möchte ich für meinen Moodle Kurs konfigurieren können, von welcher Opencast Serie die Videos für den Moodle Kurs geholt werden, damit ich meine Videos von meinem bestehenden Kurs auch in anderen Kursen verwenden kann
  • ...
weg geht zu

  • Als Benutzer möchte ich Videos in Moodle hochladen, damit ich diese in meinen Moodle Kursen verwenden kann
Wenn der Benutzer das so sehen würde, sprich er lädt die Video in "Moodle" hoch und verwendet diese dann in "Moodle" (jeweils ohne "Kurs"), dann wäre die Verknüpfung von Moodle-Kursen mit Opencast Serien eher ein Hindernis. 

 

Man hätte immer noch das Problem, dass man sich Gedanken drüber machen muss, was bei einer Einschränkung der Zugriffsberechtigungen bzw. dem Löschend es Events passieren soll. Und ich habe immer noch eine Liste von Events die einem Kurs zugeordnet sind. Genauso wie bei einer 1:1 Beziehung zwischen Moodle-Kurs und Opencast.


Nein, die Liste der Events (welche zur Auswahl stehen im "Block" und im "Repository") wäre nicht dem Kurs zugeordnet - sie würde sich aus den Berechtigungen ergeben, welche ein Benutzer hat (und welche dann implizieren, von welchen "Videorepositories" er Videos einbinden kann).
Wenn man sagen würde, dass ein Benutzer ein "eigenes" Videorepository hätte, könnte er z.B. alle seine Videos in allen seinen Moodle-Kursen einfügen - das hat eigentlich nichts mehr mit Serien zu tun (weil die Auswahl nicht mehr an den Kurs gebunden ist).

Folgende "Objekte" respektive Funktionalität müsste es dann seitens Moodle geben:

- "Videorepository": Container für Opencast Events (1:n für Videorepository -> Opencast Events) mit Titel, Beschreibung. Kann auf Opencast Serie abgebildet werden. Keine direkt Beziehung zu einem Moodle Kurs.
- "Videorepository ACL" (in Moodle, nicht Opencast): Sagt, welche Moodle Benutzer(-gruppen) welche Rechte auf das Videorepository haben (lesen, hochladen, löschen)
- "Videorepository Role": Eindeutige Rolle, welche in Opencast abgelegt in der/den ACL(s) von Events/Series abgelegt wird

Wenn nun Bob sich als Moodle-Benutzer in Moodle anmeldet und mittels der Berechtigungen von Moodle (nicht Opencast) zum Bespiel Zugriff auf zwei Moodle-Videorepositories mit den Rollen "ROLE_MOODLE_REPOSITORY_UID1" und "ROLE_MOODLE_REPOSITORY_UID2" hat, dann würde das Moodle Plugin dem Benutzer Bob (unabhängig vom Kurs) die Videos zur Auswahl stellen, welche die Anfrage GET /api/events mit Role-Switching auf die beiden Rollen zurück liefert.

Ob das überhaupt Sinn machen würde, so etwas in Moodle zu bauen, kann ich mangels Moodle-Kenntnissen nicht beurteilen. Man könnte damit aber ganz gut beliebige Videos in beliebige Kurse einbinden - ohne dass dabei die Serien diverse Kopier-Aktionen verursachen, welche der Benutzer dann noch selbst durchführen muss.
 

Ich stelle mir die zukünftige Anbindung immer noch so vor, dass wir eine fixe 1:1 Beziehung zwischen Kurs und Serie haben. Jede Serie ist dabei beliebig erweiterbar und bildet immer genau die Videos ab, welche im Kurskontext verfügbar sind. Dadurch wird auch von Opencast-Seite ersichtlich, welcher Nutzer eigentlich auf welche Events Zugriff hat.


Wir verfolgen eher den Ansatz, dass Opencast weiss, dass ein Drittsystem die Autorisierung übernimmt, sprich: Das LMS Plugin entscheidet unabhängig von Opencast, wem es einen Film zeigt und wem nicht. Opencast weiss "nur", dass das externe System das tut.

Letztendlich sind Moodle Benutzer keine Opencast Benutzer. Das Rechtemanagement von Moodle auf das Rechtemanagement von Opencast abzubilden (und synchron zu halten) scheint mir übertrieben kompliziert und fehleranfällig. Ohne dies zu tun kann Opencast aber unmöglich wissen, wer in diesem Fall (extern angebundenes System mit eigenem Benutzermanagement) genau ein Video sehen kann. Und muss es eigentlich auch nicht wissen.

Die Eigenschaft, dass die Serie immer genau die Videos abbildet, welche einem Moodle Kurs zur Verfügung steht, ist schon schön. Der Preis dafür aber auch sehr hoch.
Die Motivation, ein "Videorepository" als Opencast Serie abzubilden kommt dann auch von der "In Opencast verstehen, wohin die Videos gehören"-Ecke. Aus Sicht von Opencast wäre das dann ein "Moodle Video Repository", also einfach "Videos, welche in Moodle verwendet werden" (ohne Angaben über Moodle-Spezifika wie "in welchem Moodle Kurs").
 

Dabei ermöglichen wir es den Nutzern einzelne Videos in die Kursserie zu kopieren. Man könnte dem Nutzer dabei eine Liste aller Events anbieten, auf die er Schreibberechtigungen hat. Die Schreibberechtigungen werden automatisch vom MoodleRoleProvider gesetzt oder in Ausnahmefällen durch den Opencast-Admin.


In unserem Fall als Service Provider ist der MoodleRoleProvider keine Option - wir haben keinen Zugriff auf interne Daten von "externer" Institutionen.
 

Dann spart man sich den Check, wer ein Video hochgeladen hat, und ermöglicht es gleichzeitig, dass eine Vorlesungsreihe auch von mehreren Nutzern verwaltet werden kann. Wie ich in meiner anderen Mail dargelegt habe, ist da Kopieren zwar ein Prozess der etwas Zeit in Anspruch nimmt, aber nicht im Vergleich dazu steht, ein Video neu hochzuladen. Auch werden die Videos deshalb nicht mehrfach im System gespeichert. Die Änderungen am Block würden sich dabei auch in Grenzen halten.


Wobei das "nicht mehrfach im System gespeichert" eine Eigenschaft der Implementierung (vs. Schnittstelle) ist und nicht notwendigerweise allgemein gilt - oder würde das auch mit S3 als Storage funktionieren?
 

Zusätzlich könnte man dem Lehrenden dann auch anbieten, die gesamte Serie ins nächste Semester zu kopieren.

Bei all den Überlegungen müssen wir aber natürlich auch im Blick behalten, wie wir mit den Einschränkungen der Zugriffsberechtigungen auf Basis von Moodle-Gruppen verfahren wollen.

Um deine Frage noch zu beantworten: Ja ein solche Videorepository wäre möglich. Letztendlich wird gegenwärtig ja auch die 1:1 Beziehung in Moodle in einer Datenbank hinterlegt. Stattdessen könnte man auch eine 1:n, n:n oder n:1 Beziehung je nach belieben speichern. Allerdings halte ich diese Zuordnung aus o.g. Gründen für weniger sinnvoll.


Insgesamt scheint es mir, dass die "Opencast Serie" der Idee "Meine Videos in beliebigen Moodle Kursen verwenden" eher im Weg steht und viel vom Benutzer abverlangt (wieso kann ich "meine" Videos nicht einfach überall verwenden?). Die "Videorepository"-Idee ist aber auch nicht tief durchdacht.

Es macht aber sicherlich Sinn, die Gedankenspiele zu machen - eine mögliche Schlussfolgerung kann durchaus sein, dass die jetzige Lösung passend ist.

reischm...@gmail.com

unread,
Aug 29, 2018, 4:36:04 AM8/29/18
to Deutschsprachige Opencast Community
Hallo Sven,
ich glaube dein Szenario wäre grundsätzlich abbildbar. Eine Anforderung, die ich noch sehe, ist, dass ein Video nicht immer unbedingt einem Lehrenden gehört und ich auch meinen Kollegen/Nachfolgern ermöglichen können muss auf meine Videos zuzugreifen.
Außerdem löst dein Szenario nicht das Problem des Berechtigungsmanagements. Wenn ich immer noch über die Einbindung eines Videos in einem Kurs steuern möchte, dass nur Teilnehmer dieses Kurses auf dieses Video Zugriff haben, dann habe ich meiner Einschätzung nach keine andere Wahl als "das Rechtemanagement von Moodle auf Opencast abzubilden und synchron zu halten". Mir würde dabei aber sehr helfen, zu erfahren, wie ihr dieses Berechtigungsmanagement bei euch geregelt habt. Vor allem, da ihr wie du meinst einen anderen Ansatz als den MoodleRoleProvider verwendet.
Für mich hat das Szenario mit den Serien immer noch den Charme, dass ich in Opencast auch eine grobe Ahnung erhalte, welche Videos jetzt von welchen Personenkreisen zugreifbar sind. Ansonsten habe ich keine andere Wahl, als in jedem Event die ACL Regeln zu betrachten.

VG
Tobias

Sven Stauber

unread,
Aug 29, 2018, 9:33:36 AM8/29/18
to Deutschsprachige Opencast Community
Hi Tobias

[...]. Eine Anforderung, die ich noch sehe, ist, dass ein Video nicht immer unbedingt einem Lehrenden gehört und ich auch meinen Kollegen/Nachfolgern ermöglichen können muss auf meine Videos zuzugreifen.

Unter der Annahme, dass die Videos aber immer von Moodle-Benutzern verwendet werden (und auch Kollegen/Nachfolger Moodle-Benutzer sind), würde das über die Zugriffsberechtigungen auf das "Videorepostiory" in Moodle mittels Moodle-Berechtigungssystem gelöst. Hier müsste Opencast gar nicht im Spiel sein.
 
Außerdem löst dein Szenario nicht das Problem des Berechtigungsmanagements. Wenn ich immer noch über die Einbindung eines Videos in einem Kurs steuern möchte, dass nur Teilnehmer dieses Kurses auf dieses Video Zugriff haben, dann habe ich meiner Einschätzung nach keine andere Wahl als "das Rechtemanagement von Moodle auf Opencast abzubilden und synchron zu halten".

Wenn Moodle weiss, welcher Moodle-Benutzer Zugriff auf ein Video hat, wieso sollte Moodle dieses Video dann einem anderen Moodle-Benutzer zeigen, der keine Rechte (gemäss Moodle-Rechtemanagement) darauf hat (weil er z.B. nicht im gleichen Kurs ist)? Scheint mir wiederum nicht direkt mit Opencast zusammen zu hängen.
 
Mir würde dabei aber sehr helfen, zu erfahren, wie ihr dieses Berechtigungsmanagement bei euch geregelt habt. Vor allem, da ihr wie du meinst einen anderen Ansatz als den MoodleRoleProvider verwendet.

Beim Abspielen von Videos funktioniert die Delegation der Autorisierung an Moodle bei uns wie folgt:

Fall 1) Externer Player
Das LMS Plugin kriegt von uns eine URL, welche einen von uns ausgelieferten Video Player ("HTML-Seite") für ein gegebenes Event öffnet, z.B. player.org?id=234-23-342.
Hier erlauben wir eine Autorisierung durch Drittsystem mittels URL Signing: Wenn der Link mit einer korrekten Signatur kommt, dann erlaube wir das Öffnen des Video Players generell (auch gegenüber nicht authentifizierten Benutzern).
Der Link (player.org?id=234-23-342) ist also alleine nutzlos. Das LMS Plugin entscheidet dann basierend auf dem eigenen Rechtesystem, welchen LMS Benutzers es signierte Links zur Verfügung stellt. Das klappt ganz gut und verhindert, dass wir Moodle-Benutzer/-Berechtigungen abbilden müssen.

Fall 2) Internen Player
Falls das LMS Plugin selbst einen Player hat, erübrigt sich das eigentlich: Das External API liefert grundsätzlich jede Information, welche man benötigt, um einen beliebigen Video Player zu integrieren. Unser "Player-Backend", welches eine HTML Seite mit einem Paella Standalone liefert, verwendet auch das External API, um an die Daten zu kommen (inkl. Extras für den Paella Player).
Ausblick: Hier wäre es in Zukunft wünschenswert, wenn das External API direkt das data.json für den Paella Player liefern würde. Das ist eigentlich der einzige Kontaktpunkt zu Opencast - wäre dann sehr einfach, den Player direkt in ein LMS Plugin zu integrieren (inkl. allen Opencast-spezifischen Extras, da nur für das Generierung von data.json benötigt werden).


Für mich hat das Szenario mit den Serien immer noch den Charme, dass ich in Opencast auch eine grobe Ahnung erhalte, welche Videos jetzt von welchen Personenkreisen zugreifbar sind. Ansonsten habe ich keine andere Wahl, als in jedem Event die ACL Regeln zu betrachten.

Wir bilden für das Anschauen die Berechtigungen gar nicht in Opencast ab. Bei uns weiss Opencast einfach, dass ein bestimmten Video in einem LMS verwendet wird. Wem genau das LMS dieses Video zeigt, sehen wir nicht. In unserem Fall könnten wir das auch nicht sicherstellen, dass wir die Videodateien auch per External API ans LMS liefern: Das LMS dies grundsätzlich anderen zur Verfügung stellen - völlig unabhängig davon, was die Opencast ACLs sagen.

Beste Grüsse
Sven
Reply all
Reply to author
Forward
0 new messages