Opencast 2.3.2 & Moodle über LTI

148 views
Skip to first unread message

Sven Laudel

unread,
Mar 31, 2017, 5:39:00 AM3/31/17
to Deutschsprachige Opencast Community
Hallo,

nach längerer Zurückhaltung was Opencast betrifft, melde ich mich heute einmal wieder. Leider war ich zum Update-Workshop in Köln verhindert.
Seit unserem ersten Test mit Opencast 2.1/2.2 im Herbst letzten Jahres, habe ich mich jetzt einmal daran gemacht, unser Testsystem mit 2.3.2 aufzusetzen.

Soweit funktioniert es auch ganz redlich. Nun wollte ich die LTI-Schnittstelle zu Moodle in Betrieb nehmen (unter 2.2 hatte die auch schon funktioniert), nur leider komme ich nicht so recht weiter.
Wenn ich die Seite OPENCAST-URL/ltitools/index.html aufrufe, sehe ich auch die Willkommen-Seite.

Rufe ich dagegen die Seite mit einer ResourceID (OPENCAST-URL/ltitools/player/index.html?id=RESOURCEID) auf, erhalte ich folgende Seite (siehe Screenshot). 

Hat jemand hierzu eine Idee? Mache ich etwas falsch? Im übrigen öffne ich die Seite mit Chrome und auch mit Safari unter macOS 10.12, also nichts mit Internet Explorer.

Vielen Dank und viele Grüße aus Leipzig
Sven



Tobias Wunden

unread,
Mar 31, 2017, 10:11:28 AM3/31/17
to anwe...@opencast.org
Hallo Sven,

Wie sieht denn der Source Code dieser Seite aus? Es scheint mir so zu sein, dass die CSS Includes evtl. nicht funktionieren, was sowohl auf eine fehlerhafte Server-URL (oder eine fehlerhafte Implementation derselben) hindeuten könnte, oder aber die Security-Konfiguration.

Beides sind nur Mutmassungen.

Gruss,
Tobias
--
You received this message because you are subscribed to the Google Groups "Deutschsprachige Opencast Community" group.
To unsubscribe from this group and stop receiving emails from it, send an email to anwender+u...@opencast.org.

Sven Laudel

unread,
Mar 31, 2017, 11:28:40 AM3/31/17
to Deutschsprachige Opencast Community
Hallo Tobias,

ich habe mir die Seite mal mit dem Netzwerktool von Chrome angesehen.
Anscheinend werden die Stylesheets gar nicht auf dem Server gefunden (siehe Screenshot), der Server liefert eine 404 zurück.

Gibt es ein Zugriffslog bei Opencast, wo die Zugriffe geloggt werden? Dann könnte ich zumindest einmal sehen, wo der Browser nachschaut.


Viele Grüße
Sven

Sven Laudel

unread,
May 15, 2017, 8:30:44 AM5/15/17
to Deutschsprachige Opencast Community
Hallo,

nach dem ich im Englischsprachigen Forum den Hinweis bekommen habe, für "custom_tool" den folgenden Wert zu verwenden und zusätzlich noch auf OC 2.3.3 aktualisiert habe, funktioniert LTI und Moodle anscheinend:
"tool=ltitools/series/index.html"

Jedoch stehe ich weiterhin auf dem Schlauch, wie ich die Berechtigungen für die Aufzeichnungen vergeben soll. Mich interessiert vor allem die Berechtigungen per LTI, aber auch wie kann ich Backendbenutzern oder Gruppen von Benutzern sinnvoll Rechte geben, damit diese Ihre eigenen Serien und Aufzeichnungen verwalten können, aber keine von anderen Nutzern.
Gibt es da irgendwo eine gute Doku, so etwas wie ein Best Practice-Beispiel? Wie ist das bei euch so organisiert?

Ruth hatte im englischen Forum etwas zu Opencast LTI und Ilias gepostet (https://groups.google.com/a/opencast.org/d/msg/users/BGaBO9Cq2yI/4vtN1-x_DgAJ). Funktioniert das auch mit Moodle? Und wenn ja, was muss ich genau machen??? Sorry falls die Fragen trivial sind oder schon 100-mal gestellt wurden. Ich habe bisher leider keine Doku gefunden, in der das wirklich gut erläutert wird.

Vielen Dank und viele Grüße
Sven

Ruth Lang

unread,
May 16, 2017, 9:04:29 AM5/16/17
to Deutschsprachige Opencast Community
Hallo Sven,

bei uns funktioniert es so :

Benutzer:
  • Jeder LDAP Benutzer, der Zugriff auf Teile des adminUI erhalten soll, hat dort die eine Gruppenrolle ROLE_GROUP_COURSE_ADMIN, die in OC definiert wird. Im Moment gibt es nur eine solche Gruppe. Man kann aber für stud. Hilfskräfte eine beschränktere Gruppe definieren. Unsere Benutzer können alles benutzen außer was mit Servern, Services, ACLs, Gruppen und Usern zusammenhängt. Damit kann er auf eigene Serien zugrreifen, aber nicht  auf die anderer Benutzer.
  • Jeder LDAP Benutzer besitzt außerdem eine oder mehrere Rollen, die einer Fakultät, Institut oder ähnlichen zugeordenet sind. Damit können auch mehrere Benutzet dieselbe Serie sehen.

Serien, die mit LMS Kursen verknüpft sind:
  • Diese Serien erhalten die KursID des LMS in der Form <kursID>_LEARNER bzw. <kursID>_INSTRUCTOR

Jetzt kommt die spannende Frage:
  • Wie bekomme ich diese Rollen ins OC 2.3, denn in 1.6 konnte man die LTI-Rollen durch einfaches Tippen in der Serie hinzufügen. Das geht jetzt nicht mehr.

1.) Eintragen in die DB 
2.) Anlegen der Serie über die REST Schnittstelle. Dabei werden anscheinend die Rollen übernommen. Habe ich aber noch nicht selbst ausprobiert. 
3.) In OC 3.x können sogenannte "Custom" Rollen in custom.config eingetragen werden.

# Optional custom roles which can used in ACLs and granted to users or groups (comma-separated list of role names)

org.opencastproject.security.custom.roles=ROLE_EXTERNAL_APPLICATION,LDAP_RRZK_ADMIN,LDAP_WISO_ADMIN,1010023_LEARNER,1010023_INSTRUCTOR

4.) Stephen hat ein Ticket aufgemacht, das es wieder erlauben soll, Rollen zu tippen statt sie in einer Liste auszuwählen.

Das alles ist nicht sehr komfortabel und befriedigend, aber es funktioniert (bei uns).

Grüße
Ruth

Sven Laudel

unread,
May 17, 2017, 5:56:24 AM5/17/17
to Deutschsprachige Opencast Community
Hallo Ruth,

vielen Dank für deine Rückmeldung.
Das habe ich soweit verstanden.
Meine Frage ist jetzt aber noch, wie bekomme ich die Rollen in die Datenbank?

Was muss ich tun, wenn ich den Weg nach 1.) befolgen will? In welche Tabelle muss ich was eintragen?

oder:

Was muss ich tun, wenn ich den Weg nach 2.) befolgen will? Mit welchem REST-Service muss ich was machen?

Die beiden anderen Wege sind derzeit keine Option für mich bzw. wer weiß wann das Ticket mal bearbeitet wird.
Ich bräuchte einmal ein Beispiel, an dem ich es nachvollziehen könnte. 

Am Dienstag, 16. Mai 2017 15:04:29 UTC+2 schrieb Ruth Lang:
1.) Eintragen in die DB 
2.) Anlegen der Serie über die REST Schnittstelle. Dabei werden anscheinend die Rollen übernommen. Habe ich aber noch nicht selbst ausprobiert. 
3.) In OC 3.x können sogenannte "Custom" Rollen in custom.config eingetragen werden.

# Optional custom roles which can used in ACLs and granted to users or groups (comma-separated list of role names)

org.opencastproject.security.custom.roles=ROLE_EXTERNAL_APPLICATION,LDAP_RRZK_ADMIN,LDAP_WISO_ADMIN,1010023_LEARNER,1010023_INSTRUCTOR

4.) Stephen hat ein Ticket aufgemacht, das es wieder erlauben soll, Rollen zu tippen statt sie in einer Liste auszuwählen.

Ruth Lang

unread,
May 17, 2017, 7:19:38 AM5/17/17
to Deutschsprachige Opencast Community
Hallo Sven,

ich trage die Rollen über das Tool phpMyAdmin in die Tabelle mh_role ein und nehme immer Ids > 1000.
Ich bin nicht glücklich über diese Vorgehensweise, denn die Rollen für LTI sollten nicht in einer DB stehen.

Deshalb bin ich mehr an der 2. Methode interessiert. Aber wie gesagt, habe es noch nicht selbst probiert.

Grüße
Ruth
Message has been deleted

Ruth Lang

unread,
May 17, 2017, 10:19:54 AM5/17/17
to Deutschsprachige Opencast Community
Hallo Sven,

hier nun die Beispiele, wenn du direkt eine Serie mit Rollen erzeugen willst bzw. diese ändern willst (was ich weitaus besser finde für LMS-Rollen)

curl v --digest -u restadmin:opencast -H "X-Requested-Auth: Digest"  https://<admin-server>/series -F "series=@dublin.xml;type=text/html" -F "acl=@acl.xml;type=text/html" 


dublin.xml bzw. acl.xml sind lokale Files mit folgendem Inhalt. Du kannst natürlich beliebige Metadaten noch hinzufügen. Wir vergeben den Identifier (seriesID), da wir Serien etc. gerade migrieren. Sonst verweise ich auf die Diskussion in der englisch-sprachigen Mailingliste.

<?xml version="1.0" encoding="UTF-8"?><dublincore xmlns="http://www.opencastproject.org/xsd/1.0/dublincore/" xmlns:dcterms="http://purl.org/dc/terms/"><dcterms:creator>Dummy Institut</dcterms:creator><dcterms:title>SoSe 2017 - Allgemeiner Teil 2 und Besonderer Teil 2 (II) A-J</dcterms:title><dcterms:contributor>Prof. Dr. Really Unknown</dcterms:contributor><dcterms:identifier>vvd6d9d4-a94d-408a-bd23-53d45dc9849d</dcterms:identifier></dublincore>


<?xml version="1.0" encoding="UTF-8" standalone="yes"?><acl xmlns="http://org.opencastproject.security"><ace><role>XXX_ADMIN</role><action>read</action><allow>true</allow></ace><ace><role>XXX_ADMIN</role><action>write</action><allow>true</allow></ace><ace><role>XXX_ADMIN</role><action>analyze</action><allow>false</allow></ace><ace><role>1767929_LEARNER</role><action>read</action><allow>true</allow></ace><ace><role>1767929_LEARNER</role><action>write</action><allow>false</allow></ace><ace><role>1767929_LEARNER</role><action>analyze</action><allow>false</allow></ace><ace><role>ROLE_ANONYMOUS</role><action>read</action><allow>false</allow></ace></acl>

Wenn du ACLs ändern willst, nimmst du 

curl -# -f --digest -u restadmin:opencast -H "X-Requested-Auth: Digest"  https://<admin-server>/series/46d6d9d4-a94d-408a-bd23-53d45dc9849d/accesscontrol -F "acl=@acl.xml;type=text/html"


Aber du musst alle ACLs nennen, sonst hast du nur die geänderten. Die vorhandenen bekommst du mit 

curl -# -f --digest -u restadmin:opencast -H "X-Requested-Auth: Digest"  https://<admin-server>/series/46d6d9d4-a94d-408a-bd23-53d45dc9849d/acl.xml

Soweit mein Kenntnisstand. Vielleicht weiß ja jemand, ob das auch einfacher geht.

Gutes Gelingen

Ruth
Reply all
Reply to author
Forward
0 new messages