Ask the Expert: How to Launch xAPI Courses from Moodle Websites


By far and away, one of the most common questions I’m asked by Essentials LRS users is about launching xAPI courses from their Moodle websites. Generally, people who ask me this have installed the xAPI launch plugin, but are having difficulty getting it to work.

The world moved forward, except for the plugin.

Old xAPI Launch Plugin

These difficulties were unsurprising, as the plugin hadn’t offered a new release since December 2016. Since then, improvements in xAPI learning record store conformance testing and resulting stricter validation by LRSs exposed some bugs in the plugin’s own conformance (i.e. the plugin wasn't always setting the etag concurrency headers). Furthermore, Watershed released new APIs to make it easier for applications launching xAPI packages to create session-based credentials.

Just to get the plugin working, Moodle administrators had to carefully follow instructions to make minor code edits to the plugin, rather than just plugging it in. And when administrators did get the plugin to work, it created large numbers of Activity Provider credentials in their Watershed accounts—leaving a mess of credentials on their xAPI Data Sources page. It’s not surprising that, by the middle of 2017, the number of registered Moodle sites running the plugin had started to stagnate.

Registered Moodle Websites
(Source: Data only includes registered Moodle sites).

Updated xAPI launch plugin: ready, set, go!

By contrast, the new release fixes the majority of known issues, and administrators can now easily get the plugin up and running without having to get into the code themselves. They can just upload the plugin file, complete the settings, and they’re ready to go!

The plugin also now uses Watershed’s session credential functionality, which has a number of advantages:

  1. Watershed’s session credentials have built-in expiry functionality, so you no longer have to rely on Moodle’s cron task to tidy up old credentials.

  2. This also means the plugin doesn’t need to keep track of credentials it creates, meaning much less code and a lighter Moodle database footprint.

  3. The session credentials don’t display on your xAPI Data Sources page, keeping it tidy.

There’s one note of caution.

The one area of functionality this release didn’t touch is completion tracking—which gives the learner a little check box on his or her Moodle course site once the learner completes the xAPI package. A record of completion also is stored in the learning record store software. This functionality has a few known issues, and all but the most adventurous Moodle administrators may prefer to leave this feature turned off for now.

So, what are you waiting for?

If you’ve got a Moodle site and an authoring tool that can publish xAPI packages, go grab yourself a free Essentials LRS account on us (see below), and then download the xAPI launch plugin. You’ll be launching courses all over the place in no time!

Need an LRS for your learning ecosystem?

Use Essentials LRS to gather and track learning data from inside and outside your LMS. And, yes, it's free to get started.

Watershed Essentials Free LRS

Andrew Downes

About The Author

As one of the authors of xAPI, Andrew Downes has years of expertise in data-driven learning design. With a background in instructional design and development, he’s well versed in creating learning experiences and platforms in corporate and academic environments.