Openlml enrolment plugin
Das Modul Open LML Einschreibung ist zur Benutzung zusammen mit dem deutschen Linuxmuster.net Schulserver gedacht. Das Modul verbindet das Administrationsprogramm Schulkonsole mit Moodle und überträgt Benutzer, sodass die Benutzerverwaltung und -einschreibung vereinfacht und automatisiert wird. Im folgenden entsprechen die Begriffe Lehrer und Schüler den Moodle-Rollen Trainer und Teilnehmer.
Eigenschaften
- Schüler und Lehrer werden automatisch aus dem LDAP-Baum im Bereich ou=groups in Moodle übertragen und synchronisiert.
- Für jeden Lehrer wird ein Kursbereich im Bereich Lehrer automatisch angelegt und nach entfernen des Lehrers auch wieder entfernt (in den Bereich attic verschoben).
- LDAP-Gruppen, also Klassen und Projekte und spezielle Lehrergruppen (z.B. teachers) werden in Moodle als Globale Gruppen angelegt und gepflegt.
- Globale Gruppen können automatisch durch Einstellung des Felds Kurs-ID in Kurse eingeschrieben werden. Dabei ist zu beachten, dass die Kurs-ID mit dem Kurznamen des Kurses und Doppelpunkt vor der Liste der Klassen und Kurse beginnt (das Feld Kurs-ID ist ein Schlüsselfeld und muss daher eindeutig sein).
- Ein stündlicher Cron-Job synchronisiert die Einschreibungen.
Abhängigkeiten
Dieses Modul basiert auf der Aktivierung des Einschreibe-Moduls Manuelle Einschreibung. Dieses Modul basiert auf der Aktivierung und korrekten Einrichtung des Moduls LDAP-Authentifizierung. Dieses Modul basiert auf der Aktivierung des Einschreibe-Moduls Globale Gruppen.
Installation
Kopieren Sie das Archiv in das Moodle-Verzeichnis für Einschreibemodule (üblicherweise /usr/share/moodle/enrol) und entpacken Sie es dort.
Aktiviern Sie das Modul LDAP-Authentifizierung und richten Sie es wie unter LDAP einrichten beschrieben ein.
Überprüfen Sie die Einstellungen unter Website Administration -> Plugins -> Einschreibung -> Open LML Einschreibung.
Erste Schritte
Melden Sie sich als Lehrer an. Sie sollten in dem Bereich Trainer-Kursbereich (üblicherweise Lehrer) einen Kursbereich mit Ihrem Namen sehen, für den Sie Kursverwalter sind. Legen Sie einen neuen Kurs an (z.B. Name=Kurs zum Testen, Kurzname=test) und tragen Sie im Feld Kurs-ID den Wert test:5a ein. Nach spätestens einer Stunde sollten Sie die Schüler der Klasse 5a als Mitglieder in ihrem Kurs eingetragen vorfinden.
Erzeugen Sie nun in der Schulkonsole ein Projekt mit dem Namen p_test und tragen Sie einige Schüler ein. Ändern Sie im Moodle-Kurs das Feld Kurs-ID auf test:5a,p_test. Spätestens nach einer weiteren Stunde sehen Sie auch diese Schüler im Kurs.
Als nächstes erzeugen Sie ein Lehrerprojekt, z.B. p_teachers_ma in der Schulkonsole und tragen alle Mathematiklehrer ein. Nun können Sie für diese Lehrer bequem einen Kurs in Moodle anlegen und die Lehrer werden automatisch eingetragen.
Einrichtung
Im Bereich Einrichtung werden die Parameter so festgelegt, das eine einwandfreie Funktion gewährleistet ist. Zu finden ist die Einreichtunsseite über Website-Administration -> Plugins -> Einschreibung -> Open LML Einschreibung. Die Seite gliedert sich in die Abschnitte Allgemeine LDAP-Einstellugen, Trainergruppen-Einstellungen, Trainer-Kursbereichseinstellungen und Teilnehmereinstellungen.
Allgemeine LDAP-Einstellungen
Hier werden die Einstellungen vorgenommen, die für den Zugriff auf den LDAP-Baum und das Auffinden der Daten für die automatische Einschreibung notwendig sind. Hier muss für einen standardmäßig konfigurierten LDAP-Server meistens nur der Punkt Kontexte angepasst werden. Bei der Einstellung Mitgliedsattribut kann eventuell member an Stelle von memberuid erforderlich werden.
- Kontexte - Hier können einer oder mehrere durch Semikolon getrennte LDAP-Kontexte eingetragen werden. Beim Linuxmuster.net-Server finden sich die Benutzergruppen im Teilbaum ou=groups.
- ObjectClass - Jedes Objekt im LDAP-Baum gehört zu einer Objekt-Klasse. Beim LDAP-Baum von Linuxmuster.net gehört jede Gruppe unter anderem zur Objektklasse posixGroup.
- Gruppenattribut - Das Attribut, unter dem im LDAP-Datensatz der Gruppenname gespeichert ist. Das ist üblicherweise das Attribut cn (Common Name).
- Mitgliedsattribut - Das Mehrfachattribut, unter dem die Benutzernamen der Gruppenmitglieder zu finden sind. Standardmäßig ist das memberuid, es kann auch member sein.
Trainergruppen-Einstellungen
Trainergruppen sind besondere Gruppen. Für diese gelten andere Einschreibregeln als für die üblichen Teilnehmergruppen. Trainer können auch Mitglied in Teinehmergruppen sein, werden dann aber nicht automatisch mit eingeschrieben. So wird verhindert, dass z.B. alle Lehrer der Klasse 05a in allen Kursen eingeschrieben sind, in denen die Schüler der 05a eingeschrieben sind.
Bei Trainergruppen ist das anders. Eine Trainergruppe wird verwendet, wenn alle Trainer, die Mitglied dieser Gruppe sind, automatisch eingeschrieben werden sollen. Eine Trainergruppe ist bei Linuxmuster.net schon vordefiniert, nämlich die Gruppe der Lehrer (standardmäßig teachers). Möchte man weitere Trainergruppen erstellen, so muss deren Benennung einem festen Schema folgen, damit die Gruppe als Trainergruppe erkannt wird. Dazu dienen die folgenden Einstellungen.
- Trainergruppe - der Name der primären Gruppe aller Trainer. Das ist üblicherweise die Gruppe teachers.
- Trainerrolle im Kurs - die Rolle, unter der Trainer in Trainergruppen eingeschrieben werden. Normalerweise will man ja nicht nur Trainer in einem Kurs haben, sondern die Trainer haben in diesem speziellen Kurs ja eine andere Rolle, üblicherweise die Teilnehmerrolle.
- Prefix Trainerkurse - Die speziellen Trainergruppen werden an einem Prefix erkannt, so ist die Voreinstellung p_teachers_ und damit kann z.B. die Fachgruppe der Mathematiklehrer p_teachers_ma heißen.
Trainer-Kursbereichseinstellungen
Jeder Trainer erhält automatisch einen eigenen Kursbereich, in welchem er die Rolle Kursverwalter hat. Diese Trainerkursbereiche werden nicht in der obersten Ebene, sondern eine Ebene darunter im Kursbaum angeordnet. Die folgenden Einstellungen betreffen diese Kursbereiche.
- Trainer-Kursbereich - Die automatisch angelegten Trainer-Kursbereiche befinden sich in einem eigenen Kursbereich, dessen Name hier festgelegt wird. Üblicherweise erhalten die Lehrerkursbereiche ihren Namen nach dem Lehrernamen und werden durch den Benutzernamen des Lehrers als Id eindeutig zugeordnet. Der Trainer-Kursbereich heißt üblicherweise Lehrer und der Kursbereich z.B. des Trainers Donald Duck befindet sich im Kursbaum unter Lehrer/Duck,Donald.
- Trainerrolle - Hier wird die Rolle festgelegt, unter der der Trainer in seinem eigenen Kursbereich geführt wird. Es gibt eigentlich keinen Grund, hier eine andere als die Rolle Kursverwalter/in zu wählen.
- automatisch erzeugen - Üblicherweise wird ein Trainerkursbereich automatisch erzeugt, sobald die geplante Aufgabe Open LML einen neuer Trainer im LDAP-Baum findet. Das kann unterbunden werden, indem hier Nein ausgewählt wird. Es wird dann erst beim ersten Anmelden des betreffenden Trainers für ihn ein Kursbereich eingerichtet.
- automatisch entfernen - Wird ein Trainer aus dem LDAP-Baum entfernt, so wird auch dessen Kursbereich beim nächsten Lauf der geplanten Aufgabe Open LML entfernt. Befinden sich in diesem Bereich noch Kurse, so gehen diese nicht verloren, sondern werden automatisch in den Bereich verschoben, der für diesen Zweck angelegt worden ist. Sein Name wird über die Einstellung Kursbereich entfernt(siehe unten) angegeben. Dieser Kursbereich ist nicht allgemein sichtbar. Nur der Administrator kann diesen Bereich mit diesen Kursen dann noch sehen.
- Kursbereich entfernt - Hierhin werden Kurse von Trainern verschoben, die nicht mehr im LDAP-Baum sind. Dieser Kursbereich ist nur für den Administrator sichtbar. Der Administrator kann so irrtümlich entfernte Kurse wieder herstellen bzw. endgültig entfernen.
- ignorierte Trainer - Alle Benutzernamen des LDAP-Baums, die hier aufgeführt sind, werden nicht wie Trainer behandelt, auch wenn sie in der Trainergruppe sind. Das kann nützlich sein, falls im LDAP-Baum Benutzer in der Trainergruppe sind, die nicht wie Trainer eigene Kurse geben und daher auch keine eigenen Kursbereiche benötigen bzw. generell von Open LML nicht wie Trainer behandelt werden sollen.
Teilnehmereinstellungen
- Klassenstufen - Hier wird eine durch Kommas getrennte Liste aller Klassenstufen aufgeführt. Alle Gruppen, die mit diesen Bezeichnungen beginnen, werden als Klassen behandelt, also wenn hier z.B. 05 eingetragen ist, werden die Gruppen 05a, 05willi als Klassen erkannt, nicht aber die Gruppe r05.
- Weitere Gruppen - Hier können Gruppen eingetragen werden, die nicht dem Namenschema der Klassenstufen entsprechen, die aber dennoch als Gruppen in Moodle verfügbar sein sollen. Hier kann z.B. eine Gruppe mensa eingetragen werden. Projekte müssen hier nicht eingetragen werden, diese werden weiter unten erfasst. Die Einträge hier sind keine Präfixe sondern komplette Gruppennamen von Unix-Gruppen des LDAP-Baums.
- Projekt-Präfix - Alle Gruppen mit dem hier eingetragenen Präfix werden in Moodle übernommen. Bei Linuxmuster.net ist das üblicherweise p_, es sind aber auch andere Einstellungen möglich. Es kann hier allerdings nur ein Präfix angegeben werden.
- Teilnehmerrolle - Mit dieser Rolle werden die Teilnehmer im Kurs eingetragen, etwas anderes als die Standardeinstellung Teilnehmer/in erscheint hier wenig sinnvoll.
LDAP einrichten
Die Einrichtung von LDAP ist ausführlich beschrieben unter Automatische Einschreibung bei Linuxmuster.net beschrieben.
Siehe auch
- Open LML Einschreibemodulseite
- Anmelde-Issue 3944
- Diskussion über das Open LML Einschreibemodul
- GitHub Repository des Quelltextes
- Linuxmuster.net Schulserver Internetseite
- Dokumentation der LDAP Authentifizierung
- Dokumentation der Einschreibung Globaler Gruppen
- Automatische Einschreibung bei Linuxmuster.net