OSS enrolment plugin

Aus MoodleDocs
Wechseln zu:Navigation, Suche

Das Modul OSS Einschreibung ist zur Benutzung zusammen mit dem deutschen OSS (Open School Server) Schulserver gedacht. Das Modul verbindet den LDAP-Baum, der die Daten für Benutzer, Arbeitsgruppen usw. enthält, 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.
  • Elternkonten, die mit den Schülerkonten über das Moodle Mentor-Konzept verbunden sind, können angelegt und verwaltet werden.
  • Kurse für Klassen können automatisch erstellt und entfernt werden. Die Einschreibung von Lehrern, Schülern und Eltern in diesen 3 Gruppen wird mit Hilfe von Cron-Jobs automatisiert.

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 -> OSS 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:05a ein. Nach spätestens einer Stunde sollten Sie die Schüler der Klasse 05a 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 Einrichtungsseite über Website-Administration -> Plugins -> Einschreibung -> OSS-Einschreibung. Die Seite gliedert sich in die Abschnitte Allgemeine LDAP-Einstellugen, Trainergruppen-Einstellungen, Trainer-Kursbereichseinstellungen, Teilnehmereinstellungen, Einstellungen für Klassen und Einstellungen für Eltern.

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 memberuid an Stelle von member erforderlich werden.

  • Kontexte - Hier können einer oder mehrere durch Semikolon getrennte LDAP-Kontexte eingetragen werden. Beim OSS-Server finden sich die Benutzergruppen im Teilbaum 'DC=Users.
  • Objektklasse - Jedes Objekt im LDAP-Baum gehört zu einer Objekt-Klasse. Beim LDAP-Baum des OSS-Servers gehört jede Gruppe unter anderem zur Objektklasse group.
  • 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 member, es kann auch memberuid 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 beim OSS 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 der geplante Vorgang OSS-Einschreibung synchronisieren 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 des geplanten Vorgangs OSS-Einschreibung synchronisieren 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 OSS 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 Namensschema der Klassenstufen entsprechen, die aber dennoch als Gruppen in Moodle verfügbar sein sollen. Hier kann z.B. eine Gruppe mensa eingetragen werden. Arbeitsgruppen 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 OSS nehme ich ü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.

Einstellungen für Klassen

Zunächst einmal entscheidet die erste Einstellung Klassen aktiviert, ob überhaupt Klassen automatisch verwaltet werden. Der geplante Vorgang OSS-Klassen synchronisieren führt die automatische Aktualisierung der Klassen durch. Es sind einige Einstellungen möglich:

  • Klassenkursbereich - Hier wird der Name des Kursbereichs eingestellt, in dem die Klassen ggf. erzeugt und angepasst werden. Der Bereich kann manuell erstellt oder automatisch erzeugt werden.
  • Klassenkursbereich automatisch erzeugen, Klassen anlegen, Klassen entfernen - ist recht selbst erklärend. Man kann ein Kursskelett, einen Vorlagenkurs einrichten, dessen Struktur als Grundlage für die erstellten Klassen verwendet wird.
  • Klassenattribut - Klassen können auf 2 Arten in den LDAP-Daten identifiziert werden. Entwedet ein spezielles Gruppenattribut wird zur Identifikation verwendet oder man verwendet ein Namenspräfix Klassenpräfixe, die dann in einer Liste angegeben werden.
  • Attributwert - Verwendet man ein Attribut, so trägt man hier den Wert ein, den das Attribut haben muss.
  • Gruppen verwenden - Lehrer, Schüler und Eltern werden nicht nur mit unterschiedlichen Rollen (Lehrer als Trainer, Eltern und Schüler als Teilnehmer) eingetragen, sondern zusätzlich noch zu einer von 3 Gruppen zugeordnet, was die Adressierung bei Nachrichten wiederum erleichtert.

Einstellungen für Eltern

Falls man sich entschließt, auch Eltern Zugang zu Moodle zu geben und hier zu verwalten, findet man die zugehörigen Einstellungen in diesem Bereich. Konten können automatisch erstellt und entfernt werden. Ein Eltern-Konto kann nur einem Kind zugeordnet werden. Die Zuordnung erfolgt über einen Attributwert im LDAP-Baum, der hier angegeben werden muss. Eltern-Konten sind manuelle Konten, das hat den unschätzbaren Vorteil, das die Nutzer selbst ihre eigene Mailadresse verwalten können/müssen.



LDAP einrichten

Voraussetzung für die Nutzung des OSS-Moduls ist die Aktivierung der LDAP-Authentifizierung(Website-Administration->Plugins->Authentifizierung->LDAP-Server), der manuellen Einschreibung und der automatischen Einschreibung globaler Gruppen.

Einrichtung der manuellen Einschreibung

Man meldet sich als Administrator(wwwadmin) an und geht auf die Seite Website-Administration→Plugins→Einschreibung→Übersicht. Dort befindet sich der Eintrag Manuelle Einschreibung. Diesen wählt man aus. Weitere Einstellungen sind für dieses Modul nicht nötig.

Einrichtung der Einschreibung globaler Gruppen

Man meldet sich als Administrator(wwwadmin) an und geht auf die Seite Website-Administration→Plugins→Einschreibung→Übersicht. Dort befindet sich der Eintrag Globale Gruppen. Diesen wählt man aus. Weitere Einstellungen sind für dieses Modul nicht nötig.

Einrichtung der LDAP-Authentifizierung

Grundeinstellungen

Man meldet sich als Administrator(wwwadmin) an und geht auf die Seite Website-Administration→Plugins→Authentifizierung→Übersicht. Dort befindet sich der Eintrag LDAP-Server. Diesen wählt man aus. Die Einträge in der LDAP-Datenbank können nun über die LDAP-Attribute ( z.B. givenName, sn, mail) für die moodle-Benutzerdaten verwendet werden. Bei den Bind-Einstellungen wählt man als Benutzer den ossreader (CN=ossreader,CN=Users,DC=...) mit dem zugehörigen Passwort aus. Für die Nutzersuche wählt man den Typ des LDAP mit "Active Directory". Wichtig ist der Eintrag bei Kontexten. dort muss man alle Kontexte eintragen, unter denen Nutzer zu finden sind, also z.B. ou=teachers,dc=...;ou=students,dc=...;ou=administration,dc=...;ou=sysadmins,dc=.... Falls man noch weitere primäre Gruppen erzeugt hat, müssen diese hier ebenfalls ergänzt werden. Bei Subkontexte trägt man Nein ein. Das Nutzermerkmal ist "cn", das Mitgliedsattribut ist "member" und enthält eine "DN", die Objektklasse ist "user". Damit hat man die wichtigsten Attribute, um Zugriff auf die Nutzer zu haben. Den Kursverwalterkontext kann man noch auf "OU=sysadmins,D=..." setzen. Alle weiteren Moodle-Systemrollen tauchen hier ebenfalls auf, auch die selbst definierten.

Datenzuordnung

Außerdem folgt der Bereich Datenzuordnung, in welchem die Zuordnung von LDAP-Daten zu Moodle-Daten festgelegt wird. Entscheidend ist das Feld ID-Nummer. ID-Nummer: uid Update lokaler Daten: Bei jedem Login Update externer Daten: Nie Sperrwert: Gesperrt

Weitere nützliche Felder

Folgende Felder sollte man ebenfalls aus dem LDAP-Baum in Moodle übernehmen, damit die Benutzergrunddaten vorhanden sind. Die Werte sind hier in der Reihenfolge wie unter Datenzuordnung angegeben, also

LDAP-Attribut / Update lokaler Daten / Update externer Daten / Sperrwert:

Vorname: givenName / Bei jedem Login / Nie / Bearbeitbar Nachname: sn / Bei jedem Login / Nie / Bearbeitbar E-Mail-Adresse: mail / Beim Anlegen / Nie / Bearbeitbar

Siehe auch