local:entinstaller:technique

Technical guide

Full LDAP synchronisation for ENTs

Script architecture and operation

All the command scripts are located in the component's /cli directory. These scripts are designed to optimise mass synchronisations on a large number of Moodle instances in parallel (VMoodle), notably in academic installations. They are designed to optimise synchronisation processing time by spreading it across several server processors. These scripts are of three kinds:

  • Synchronisation task scripts
  • “Workers”
  • “Mass launchers” (bulks)

The synchronisation tasks are all compatible with VMoodle virtualisation.

The synchronisation scripts

They run a simple synchronisation on one of the supported business entities on a given Moodle host (by default, the main installation).

The workers

They chain a series of synchronisation tasks over a specified series of hosts.

The mass launchers (bulks)

They distribute the hosts to synchronise over workers. When the distributed processing option is used, the workers are launched in parallel in order to benefit from a multi-processor architecture.

The mass launcher bulk_sync_hosts.php is a super launcher that processes all the active business entities one after the other (users, role assignments, cohorts and course groups)

An example of a processing chain

 bulk_sync_cohorts.php ==> sync_cohorts_worker.php ==> sync_cohorts.php 

Configuration

The ENT Installer configuration is an essential aspect of using this component. Indeed the main use of this component is the regular automated synchronisation of Moodle's main business entities based on these configurations.

Data source

The data is extracted from an LDAP directory as defined by the LDAP authentication plugin, even if it is not used or enabled for user authentication. If another authentication method with LDAP settings is used, the same parameters must be copied into the auth/ldap plugin configuration for the ENT_Installer's use.

General principle of the configurations

An LDAP directory is a data tree made of data records classified in a tree. Each node of the tree can have its own attributes at most. Moreover an attribute can contain a simple or composite piece of data that itself has a certain construction format.

The data definitions and schemas are generally designed by the IT teams, with standards and general concerns of IT urbanisation. They are not, in general, dedicated to any particular application, but are rather organised and formatted to serve several heterogeneous user applications.

There is therefore a priori a chance that the directory data does not directly match the formats Moodle needs to be fed.

the ENT installer works on a general processing basis that can be split into 5 concepts:

  • Find the data (the attribute) in the LDAP
  • Find the significant portion of value in the attribute content
  • Optionally establish a correspondence between these extracted significant values and values expected by Moodle
  • Find which part of the data (translated or not) is needed by Moodle
  • Find where the data must be stored in Moodle

General aspects

Synchronised entities

The main Moodle business entities are synchronised by a task associated with a command-line CLI script.

Capabilities

local/entinstaller/technique.txt · Dernière modification : de 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki