Banner/Luminis Message Broker

Enrolment ::: enrol_lmb
Maintained by Eric Merrill
Process courses, users, and enrollments out of Ellucian Banner. Includes support for realtime notifications from Luminis Message Broker, and Glassfish w/Legacy Adapter.

Banner/Luminis Message Broker 2.6.0

Moodle 2.2, 2.3, 2.4, 2.5, 2.6
Released: Friday, November 15, 2013, 9:53 PM
Luminis Message Broker enrollment Module.
Version: 2.6.0
Moodle version: 2.2.0 throught 2.6.x
Maintainer: Eric Merrill (

Project Maintained at

Documentation at

View full change log at

Release 2.6.0
Converting all get_context_instance() to context_xxx::instance().

Release 2.5.3
Fix problem where categories were always created hidden with some settings. CONTRIB-4728.

Release 2.5.2
Fixing problem where clean install couldn't be done in Moodle version before 2.5 - Thanks to MDL-37726.
Actually make the list of terms to sort by id number - was supposed to happen in 2.5.1.

Release 2.5.1
Option to obey enrolment restriction dates.
Addition of 3 extra roletypes (03, 04, 05).
Fixing error when logging path location is blank.
Sort the menu of term in Reprocess Enrolments and Prune Tables.
LMB endpoint security must now be explicitly disabled.
For backwards compatibility, if LMB is enabled and no username or password is set, security is set as disabled during the upgrade.
Catch exception thrown when course shortname or idnumbers collide. (CONTRIB-4559)
Less strict status checking when making crosslists. Prevents partial completion.
Records are no longer saved in enrol_lmb_raw_xml when storexml is set to never. (
secure/xmlservice.php (which you probably shouldn't be using...) applies the same security as liveimport.php

Release 2.5.0
Fixing lmbcheck variable name (Good catch from Chris Folin CONTRIB-4263)
Remove depreciated use of make_categories_list (CONTRIB-4299)
Set default language when creating new users (Thanks to Charles Fulton - CONTRIB-4054)
Fixed undefined variable error. (CONTRIB-3940)
Moved minimum Moodle version to 2.2.0.

Release 2.1.9
Fix for logging to a file. (Thanks to Charles Fulton - CONTRIB-3941)
Improve drop for crosslisted courses when crosslist is removed. Rerun XLS Drop Tool.
Fixed DB error in some crosslist cases.

If upgrading from a version before 2.1.0, be sure to read the full change log at:

This enrollment plugin can digest XML from the Luminis Message Broker, allowing realtime Banner to Moodle integration,
as well as full XML extractions from Banner.

You can use this module with or without Luminis Message Broker. If you do not use Luminis Message Broker, you can instead use
this module to import XML files from banner on a manual or automated basis.

I have tried to make this module as customizable as possible. If you need to make changes for your specific install, please let
me know, so I can look into making it into a preference item (also take a look at the todo list below).

1. Make sure the folder is named lmb, then copy to the enrol/ directory on your Moodle server.

2. Login to your Moodle server as an admin user, and visit the 'Notifications' page. Moodle will run through the install process.

3. Under Site Administration > Plugins > Enrolments > Manage enrol plugins, enable Banner/Luminis Message Broker.

4. Click settings Banner/Luminis Message Broker, and configure as desired.
NOTE: You must save the setting at least once, even if you don't make any changes, before you use this module. This is a
bug that will be fixed later.

You can configure, through the Luminis Message Broker interface, the LMB module to be a HTTP consumer. You should point it to
enrol/lmb/secure/liveimport.php on your Moodle server, and enter the LMB Security Username and Password that you entered in the
module settings. You should only use SSL (HTTPS) to ensure security of the interface.

When used with the Luminis Message Broker, you will generally import a complete XML from banner before the start of a
term/semester, and the Luminis Message Broker will continuously send messages that will keep Moodle up-to-date throughout the term.

If you are using this module without Luminis Message Broker, you can configure the module to import a full XML file on a regular
basis. To do this, call cli/fileprocess.php or cli/folderprocess.php from a script or cron, much in the same way that the Moodle
cron is polled.

You should disable users from being able to change the course and user idnumber fields, these are used by this module to track users
and courses.

When doing mass imports, terms should come before courses and then crosslisted courses, users should come before enrolments (which
need to come courses and crosslistsing).

Place a directory at the XML Folder path that you have specified in the settings. In this folder, place any XML files to be
processed (only files that end in .xml will be processed).

When this is complete, you call extractprocess.php or cli/folderprocess.php to preform the extract.

If you want to use status files, the folder and all files need to be writable by the web user. When the files are ready, add a file
named 'start' to the folder.

When the processing starts, the module will remove the file 'start', and create a file called 'processing'. After extract processing
has completed, the 'processing' will be removed, and a 'done' file created. These status files allow people/scripts to check the
state of the run. It is important that the XML files are not modified/replaced while the extract is processing, or inconsistent
results may occur. Should a problem occur during extract, such as the process dies, or the XML files are inadvertently
modified/removed, it is safe to re-process the extract with a consistent set of XML.

In the event an incomplete XML set is processed, students/instructors may be inadvertently removed from their courses. Re-processing
with a complete XML set will reinstate users into their courses and no data is lost.

Version information

Version build number
Version release name
Can be updated from
2.1.0 (2012040101), 2.1.1 (2012040101), 2.1.5 (2012040101), 2.1.6 (2012040101), 2.1.7 (2012060702), 2.1.8 (2012091202), 2.1.9 (2012091203), 2.5.0 (2013050801), 2.5.1 (2013080202), 2.5.2 (2013091700), 2.5.2 (2013091700), 2.5.3 (2013102800)
Can be updated to
2.6.1 (2013121800), 2.6.1 (2013121800), 2.7.0 (2014050700), 2.9.0 (2015091700), 3.0.0 (2016021000), 3.1.0 for Moodle 2.8.0-3.1.x (2016042810), 3.3.0 (2017073100), 3.3.1 (2017080900), 3.4.0 (2018011100), 3.4.1 (2018042500), 3.8.0 (2018042501)
Stable version
MD5 Sum
Supported software
Moodle 2.2, Moodle 2.3, Moodle 2.4, Moodle 2.5, Moodle 2.6

Version control information

Version control system (VCS)
VCS repository URL

Default installation instructions for plugins of the type Enrolment

  1. Make sure you have all the required versions.
  2. Download and unpack the module.
  3. Place the folder (eg "myenrol") in the "enrol" subdirectory.
  4. Visit to finish the installation