Note: You are currently viewing documentation for Moodle 3.10. Up-to-date documentation for the latest stable version of Moodle may be available here: OSS enrolment plugin.

OSS enrolment plugin

From MoodleDocs

The OSS plugin is meant to be used together with the german Open School Server linux school server. The plugin connects to the ldap tree and transfers data from there into Moodle, so that user management and course enrolment is simplified and mostly automated.


  • Students and teachers accounts are transferred into Moodle and synchronized with changes in the servers LDAP tree.
  • For each teacher a course category is autocreated/autoremoved.
  • LDAP groups (classes, projects and teacher groups) are transfered to Moodle cohorts on system level.
  • cohorts can be automatically enroled into Moodle courses by providing their name in the course idnumber field. To make the idnumber unique, it has to be prepended by the course shortname.
  • hourly cron job synchronizes cohorts and cohort enrolments.
  • Parents for students (through the use of the moodle mentor concept) can be created, connected to the student account by use of the mentor concept, and managed.
  • Classes can be autocreated/autoremoved. The enrolment of teachers, students, parents in groups into classes is automated by means of cron jobs.


This plugin depends on the manual enrolment plugin to be enabled(this is enabled by default). This plugin depends on the LDAP authentication plugin to be enabled and configured. This plugin depends on the Cohort sync enrolment plugin to be enabled.


Copy the archive into the Moodle main directory (usually /usr/share/moodle) and unzip it.

Activate the module LDAP authentication and configure it.

Activate the module Cohort sync enrolment.

Review the settings in Website Administration -> Plugins -> Enrolment -> OSS enrolment.

First steps

Start by logging in as a teacher. You should see a course category below //teachers_course_context// (usually Lehrer ). Create a course(f.e. fullname=course test, shortname=test) and set the course idnumber for example to test:5a. Wait for an hour and return to the course. Review the students list. You should see the students from the cohort 5a as enroled students in your course.

Next use the OSS-Admin program to create a new workgroup (for example p_test) and put some users into it. Go back to your Moodle course, set idnumber to test:p_test and you should see (after the next cron run, usually one hour) the participants of your project enroled in the Moodle course.

Now create a project p_teachers_ma and include the mathematics teachers in it. Go back to Moodle and create a course fullname=Math teachers and shortname=tma. For idnumber fill in tma:p_teachers_ma and wait for another hour. Now you have all your math teachers neatly enroled in your teachers course.


Create a parent account (usually this should be automated and done by bulk user processing, parent accounts are manual accounts, not ldap accounts as the students and teachers) with the specified prefix (usually eltern_) followed by a number, that is found in the ldap attributes of the student account (usually serialnumber), f.e. eltern_0000. Through a cron job (executed usually once a week), the parent account is given the user role mentor for the corresponding student.

Parents without corresponding student account can be searched for by the admin and removed. Students without parent account can be identified, too, on the same admin page.


Classes are special groups in the ldap tree, identified by leading numbers and traling characters, usually f.e. 05A. A cron job autocreates for each class a moodle course, enrols students in a students group (usually Schüler), teachers in a teachers group (usually Lehrer), and parents in a parents group (usually Eltern). This moodle course can be used to communicate among those groups.

Teacher contexts

Each teacher is given a teacher course context, which can be autocreated/autoremoved. The teacher is allowed to create and remove moodle courses within his context.

See also