Submit a ticket My Tickets

xAPI and Moodle

xAPI, or Experience API, (also known as TinCan) is a software specification that enables learning modules to track user interactions and save those interactions in a database called a Learning Record Store (LRS). Multiple learning modules and sites can connect to the same Learning Record Store, providing a common repository of a person’s learning activity across different online platforms and websites.

xAPI enabled systems include:

  1. learning activity or module that has been developed to use xAPI. These modules are often created using course development software such as Articulate, Captivate, iSpring, Lectora, etc.

  2. hosting platform for the learning activity that enables a user to run and interact with the activity. Learning management systems and websites are often used as hosting platforms.

  3. A connection between the hosting platform and a Learning Record Store (LRS).

  4. Reporting tools that provide meaningful reports from the Learning Record Store database.

Core Moodle/Moodle Workplace (as of Moodle 4.1) does not have built-in xAPI capabilities. However there are plugins available that will enable Moodle to run xAPI learning modules and connect to a Learning Record Store. There is also a Moodle plugin that will send user interactions with standard Moodle activities (assignment, forum quiz, etc.) as xAPI statements to a Learning Record Store.

As of Moodle 4.2 support for xAPI statement was introduced. It still does not mean that Moodle fully supports xAPI but only that it offers base support for plugins that may need it. For more details and a technical explanation of how Moodle interacts with xAPI please see the official documentation from the Moodle Developer Resource Centre. 

xAPI Launch Link is a Moodle plugin that lets you launch xAPI activities from a Moodle course and track them with any LRS. It is also possible to launch external xAPI modules from within Moodle by providing the external URL.

Logstore xAPI is a Moodle plugin that converts standard Moodle logstore activities to an xAPI format and sends the information to an LRS. The activity information is not as detailed as the information from an xAPI learning activity. It is recommended that you use this plugin with caution because the logs are created site wide for all users and will result in a large number of records in the LRS. However, there is a setting to limit the logs to specific activities.

Learning Record Store (LRS)

An LRS is more than a simple database; it must include code that processes the xAPI statements. Although it is possible to code and create your own LRS, it is recommended to use an LRS provider. Several common options include:

SQL LRS is an Apache 2.0 open source xAPI Learning Record Store from Yet Analytics. It can be deployed to Windows, Linux, and MacOS and is available in a containerized version for Docker. It also supports SQLite and Postgres.

Learning Pool (formerly Learning Locker) is an Enterprise SaaS LRS with extensive tools and integration apps. The free open source version of the project stopped active development in 2021 and is no longer supported.

Watershed is an enterprise LRS provider. However they provide, for free, a hosted LRS that has basic reporting capabilities. Advanced reporting and analysis tools are available for a fee. The free Watershed LRS is an excellent way to begin working with xAPI.

Rustici Software is a software company that specializes in SCORM, xAPI and AICC standards. In addition to hosting SCORM and xAPI learning modules, Rustici also provides an LRS. The Rustici Software website does not mention any free LRS options.

Annulab LRS is a French organization that has an xAPI block plugin for Moodle. Very few Moodle sites use this plugin, and we are not able to make any informed evaluation of its capabilities or ease of use at this time.

Recommendation for Testing

Since there are many components in a Moodle xAPI application (the xAPI module itself, the Moodle xAPI activity plugin, a Learning Record Store, etc.), it is always best to do extensive testing prior to launching a production site. A recommended scenario is:

  1. Install the xAPI Launch Link plugin in Moodle

  2. Connect to a free Learning Record Store

    1. SQL LRS can be used if a self-hosted, open source application is desired.

    2. Watershed is the easiest to setup and configure for testing purposes.

  3. Add several production xAPI modules to Moodle.

  4. Test the system.

Did you find it helpful? Yes No

Send feedback
Sorry we couldn't be helpful. Help us improve this article with your feedback.