Plugins And Collaboration, The Recipe For Making A Massive Moodle Operation Work

The internal IT operation at Lafayette College is massive. For every new term, about a thousand Moodle Courses must be created, filled with content, and kept organized for the IT staff, faculty and students. Users who, by the way, must be enrolled into unique sets of Courses according to their personal progress towards a degree.

The process, while impressive, is not out of the ordinary for many educational institutions. Lafayette’s Charles Fulton has been collaborating with Eric Merrill from Oakland University on a couple of plugins to automate parts of this process for their own purposes. As is often the case with Moodle, the result of their work is now available for the whole Moodleverse.

However, this one plugin is far from the only way the two have added value to the LMS.

Below are details of two plugins that make otherwise cumbersome seasonal tasks easier, as well as a third way Moodle is benefiting from the pair’s work.

It is worth noting these are not the only two plugins Fulton and Merrill have developed, nor the only ones they use in their operation. Also, they are not the only developers solving similar problems for the benefit of the community.

This plugin connects to the Ellucian student information system to generate courses, users, and enrollments for Moodle. LMB is “highly configurable,” according to Merrill. It supports real-time response to Ellucian Luminis notifications, theoretically establishing courses, students, and enrollments as soon as new information is updated on Ellucian.

This plugin allows setting a template course as the “seed” for a structured offering of courses. All it takes is having new Courses follow a simple naming convention. Administrators can create any number of Courses (manually or automatically, as with the LMB plugin) with a name structure, say ‘SCHOOL-[TERMCODE]‘, where the part within the brackets is validated by a regular expression. The plugin automatically appends all the content from the template Course to the new ones: Sections, Activities, Blocks, Resources. The idea is to provide a canvas ready for teachers to fill out.

Pushing the envelope in high scale automation was not without its hurdles. During their collaboration, Merrill and Fulton discovered a bug in Moodle, where each subsequent Course backup took longer and longer. Technically, creating courses using the LMB plugin is an automated “restore,” which counts as a “backup” task. They found out that during the operation of creating lots of Courses, the first ones took about 3 seconds to restore, but this time kept increasing beyond 20 seconds per course. Over 1,000 of this restores, time can really add up. They reported the issue to the Moodle Tracker, but they didn’t stop there. They actually fixed it.

After some “programming magic,” the slowdown, calculated between 480 and 10,300% (depending on the version of PHP running), went to zero after the patch. Now, an operation over four hours long takes under 45 minutes.

Both Merrill and Fulton have kept their Moodle development work current. The Use template on course creation plugin is already compatible with Moodle 3.3, and the Moodle backup patch is coming with the new release as well.