openLML-enrol neu entwickeln

Hallo zusammen,

ich wollte dazu eigentlich nicht mehr groß etwas schreiben - denn all das ist ja mehr als ausgiebig diskutiert worden.

Nachdem wir bei uns nun monatelang Gehirnschmalz in Moodle gesteckt haben und inzwischen einige Jahre Erfahrung gesammelt haben, sehe ich einfach das Hauptproblem, dass wir in der lml keine Möglichkeiten haben, Schulstrukturen abzubilden. Und genau das will man (irgendwie) in Moodle. Es gibt in der LML Lehrer, Klassen, Projekte. Und es gibt wohl theoretisch auch die Option, mehr abzubilden - aber das gibt es so bisher halt nicht (letztens erst: Hausmeister/Mitarbeiter… „Geht ja über Extraklassen“. Das stimmt - aber damit fehlt halt die Möglichkeit, Hierarchien abzubilden).

Klar - wenn der Verein jetzt Geld in ein neues enrol-Plugin stecken mag, seis drum. Ich denke aber, die Kernprobleme („Wer sind die Lehrkräfte einer Klasse“, „Wie hängen Personen jenseits von Klassen zusammen“/„Wie realisiert man Schülergruppen jenseits von Klassen?“) wären die wichtigeren Baustellen. Die Diskussion ist nicht neu, aber die Aussage damals „Gruppen jenseits von Klassen muss man sich dann halt zusammenklicken“ finde ich doch recht problematisch - denn das betrifft jedes Jahr von Neuem viele, wirklich viele Schülerinnen und Schüler, die von Lehrern „zusammengeklickt“ werden sollen. Und das finde ich extrem unkomfortabel - und da wird es nach derzeitigem Stand auch in den nächsten Jahren keine Lösung geben. Und da schläft eben die Konkurrenz nicht.

Natürlich haben viele noch ein eher flacheres/einfaches Moodle und da würde das Plugin genügen. Aber auch dann geht das Abbilden der LDAP-Nutzer und -Klassen in Moodle über die REST-Schnittstelle wirklich einfach. Das funktioniert zudem mit jeder Moodle-Installation ganz ohne Plugin und von überall aus.
Da die Schulkonsole technisch meines Wissens ähnliche Gundlagen hat, wie Flask, könnte man das vermutlich sogar mit wenig Aufwand dort einbauen.
Daher fände ich das Geld dort sinnvoller investiert, als in einem Plugin, welches das o.g. Problem nur weiter zementiert (und im Übrigen regelmäßig gewartet werden muss, damit sich die Problematik nicht wiederholt).

Viele Grüße
Thomas

3 „Gefällt mir“

Hi zusammen,
ich sehe es zwar genauso wie du, Thomas (@thoschi) – war in der Zwischenzeit aber trotzdem bereits tätig. Frank Schütte meinte ja bereits, dass sein Plugin prinzipiell auch mit v7 bzw einem AD laufen müsste und dass es seiner Meinung nach vermutlich lediglich an ein paar falschen Settings liegt, dass es mit der v7 bisher nicht zusammenlief …
Nun hatte ich einen unserer Schüler auf das Problem losgelassen, der es in relativ kurzer Zeit auf seiner Testinstallation einkreisen und vermutlich lösen konnte. Da er jedoch keine vollständig eingerichteten Klassen/Strukturen hat wie auf einem Produktivsystem, konnte er es bisher nicht ausgiebig testen. Dennoch poste ich jetzt vorab die Ergebnisse (auch wenn das natürlich kontraproduktiv zum Beitrag von Thomas ist). Wer möchte, kann es sich anschauen und es mit den hier dargestellten Einstellungen versuchen. Sehr viel sinnvoller und vor allem sehr viel mächtiger ist aber der Weg über die REST-API - wie von @thoschi vorgestellt.

Dennoch ist es vielleicht gut, wenn dieses Thema als „gelöst“ markiert werden kann, sofern es bei anderen funktioniert.
Hier also die vermutlich richtigen Settings für v7 und das open_enrol-Plugin:
ldap_auth.pdf (75,5 KB)
openlml.pdf (39,0 KB)
Wer testet das in einer produktiven Umgebung und gibt dann hier Bescheid?

Noch eine Ergänzung: Ob und wie das jetzt mit den Projekten funktioniert, kann ich nicht beurteilen, da die Projekte innerhalb der v7-WebUI meiner Meinung nach kein vorangestelltes „p_“ mehr erhalten, oder?

Schöne Grüße,
Michael

Was hat denn die WebUI damit zu tun? Projekte haben nachwievor ein p_ prefix, das wird (auch wen irrelevant) in der WebUI so dargestellt.

… da sieht man es. Sonst nichts. Ich hatte im Hinterkopf wahrscheinlich das ehemalige „Projekt“ p_wifi, das es jetzt ja so nicht mehr gibt und nur noch wifi heißt. Ist ja umso besser, wenn alle anderen (richtigen) Projekte auch weiterhin mit p_ gefiltert werden können…

Unter’m Strich scheint aber der „Andrang“ auf die bereitgestellten PDF Dateien sehr überschaubar zu sein: 0x angeklickt?!? Ferien-Effekt?? Nur E-Mail-Leser hier?

Ja das liegt daran, dass p_wifi ja damals eine Krücke war die nachgereicht wurde um das überhaupt zu realisieren.
Jetzt gibt es ja dafür die Managementgroups. Das wofür die Projekte ursprünglich gedacht waren funktioniert weiter wie gehabt :slight_smile:

Hallo Michael,

Dennoch ist es vielleicht gut, wenn dieses Thema als „gelöst“ markiert
werden kann, sofern es bei anderen funktioniert.
Hier also die vermutlich richtigen Settings für v7 und das
open_enrol-Plugin:
ldap_auth.pdf
https://ask.linuxmuster.net/uploads/short-url/8T5QoaxZX6jLorr8yC7ayXXSF7S.pdf
(75,5 KB)
openlml.pdf
https://ask.linuxmuster.net/uploads/short-url/AsbEaVXnFdra9VikxI30CPs8ZFa.pdf
(39,0 KB)
Wer testet das in einer produktiven Umgebung und gibt dann hier Bescheid?

ich hab jetzt erst mal die LDAP Einstellungen verglichen.
Folgende Dinge sind bei mir anders:

	bei dir		bei mir

LDAP-Codierung: utf-8 cp1252

Kontexte: ou=schools,dc=… ou=default-school,ou=schools,dc=…

ObjectClass (objectClass=user) (will ja keine Rechner drin
haben …)

Entfernte externe Nutzer: nur intenr zugänglich intern löschen
(ich will ja, dass sie rausgeschmissen werden …)

Daten übernehmen (Nachname) : sn
(ich will auch Nachnamen sehen).

Jetzt mach ich mal das neuste openlml_enrol plugin rein und stell alles
nach deiner Doku ein … aber vorher mach ich ein Backup vom
moodleserver :slight_smile:

LG

Holger

Hallo zusammen,

bei meinen Tests in den vergangenen Tagen konnte ich mit dem openlml-enrol-Plugin zwar die Anbindung an den LDAP einrichten, die Funktionalität war aber nur teilweise da, weil der geplante Task nicht lief. Das wird offenbar inzwischen bei Moodle anders umgesetzt.

Ich habe die Funktionalität (weitgehend) deshalb ohne das Plugin nachgebildet:

https://wiki.linuxmuster.net/community/anwenderwiki:webapps:moodle:moodle_extern_ldap:start

Das läuft seit einer Weile sehr gut (soweit man das in den Ferien beurteilen kann).

Beste Grüße

Jörg

2 „Gefällt mir“

bei mir funktioniert es eine frage noch muss ich einen cronjob anlegen damit er das script hier regelmäßig ausführt?

php /var/www/html/moodle/enrol/openlml/cli/sync.php

Lg Pascal

Hi.

Das ist gut zu wissen!
Was den Cronjob angeht: Ja, das hatte ich unter v6 so gemacht; ich glaube mit der Option /15 – also alle 15 Minuten!?

Wenn es nun auch mit der v7 wieder funktioniert, können wir den Thread als gelöst markieren. Nun ist es ja zwischenzeitlich sogar so, dass es mind. 3 unterschiedlich Wege gibt, die zum Ziel führen…

VG,
Michael

also unter sudo -u www-data crontab-e so eintragen?
*/15 * * * * /usr/bin/php /var/www/html/moodle/admin/cli/cron.php >/dev/null >/dev/null 2>&1

Lg Pascal

Genau … natürlich auf dem moodle-Server … wenn der Aufruf manuell funktioniert, sollte es anschließend auch automatisch per cronjob laufen …
Du kannst es natürlich auch seltener als alle /15 Minuten laufen lassen. Soooo häufig ändern sich die globalen Gruppen ja nun nicht. Es ging ja eher darum, dass man auch neu angelegte Projekte reinholen kann und sich dann wundert, warum die nicht sofort auftauchen …

sry es war dieses script

php /var/www/html/moodle/enrol/openlml/cli/sync.php

Ja, das andere („moodle-eigene“) konnte man früher auch per Cronjob ausführen … das geht „neuerdings“ aber glaube ich über das Backend bei den moodle-Cronjobs.

also meine crontab -e sieht jetzt so aus

 * * * * * /usr/bin/php  /var/www/html/moodle/admin/cli/cron.php >/dev/null
*/15 * * * * php /var/www/html/moodle/enrol/openlml/cli/sync.php >/dev/null >/dev/null 2>&1

korrekt?

Wie gesagt … du musst mal schauen, ob der erste Job auch noch per Konsole angenommen wird … ich meine, dass es da eine Meldung gab??? (hier: moodle 3.8)

Den Pfad kannst du in der zweiten Zeile sicherheitshalber auch komplett hinschreiben… und ein /dev/null wieder raus

root@moodle-rbs:~# php /var/www/html/moodle/admin/cli/cron.php
Server Time: Thu, 27 Aug 2020 15:45:37 +0200

Cron script completed correctly
Cron completed at 15:45:38. Memory used 18MB.
Execution took 0.043378 seconds

scheint immer noch angenommen zu werden

also mache ich den cronjob so dann müsste es passen
* * * * * /usr/bin/php /var/www/html/moodle/admin/cli/cron.php
*/15 * * * * php /var/www/html/moodle/enrol/openlml/cli/sync.php >/dev/null >/dev/null 2>&1

Lg Pascal

Wenn die globalen Gruppen dann also wirklich auch unter v7 da sind und mit den richtigen Schülern gefüllt sind — UND z.B. auch angelegte Projekte unter moodle als globale Gruppe + User erscheinen, kannst du den Thread als gelöst markieren :slight_smile: :+1:

ja sind sie er hat sogar die alten gelöscht die von meinen ersten versuchen noch da waren

das muss ich noch testen das nutzt noch kein lehrer so richtig :slight_smile:

ich bin nicht der ersteller dieses Threads kann ich das dann trotzdem machen?

Das wäre aber auch noch gut zu wissen, denn damit bekommt man auch spontan angelegte Gruppen in den Griff … oder aber Fachschaften: „p_alle_Lehrer_der_Fachschaft_XY“, die man dann als globale Gruppe mit einem Klick in einen moodle-Kurs einschreiben kann …

Eine Frage bezüglich Update auf Moodle 3.9 hat das Plugin schon jemand unter 3.9 laufen?

Oder gibt es da Probleme?

Lg Pascal