Skip to content

Apereo OpenLRW

Java learning record warehouse for xAPI, Caliper and OneRoster data, dormant since 2020

Stale · 12 mo Last commit Checked · 24 Aug 2026

The facts

Standards support

Every line says where the claim came from. We do not test conformance ourselves and we issue no badge of our own.

Standards support for Apereo OpenLRW, with the source of each claim and the date it was last confirmed.
Standard Supported Provenance Checked Note
SCORM 1.2 No editor-checked · 24 Aug 2026
SCORM 2004 No editor-checked · 24 Aug 2026
xAPI Yes editor-checked · 24 Aug 2026— source, opens in a new tabThe xAPI surface is `/xAPI/statements` (POST and GET) plus an About controller and a header filter. The State, Activity Profile and Agent Profile resources are not implemented, so this is a statement store rather than a conformant LRS — do not expect a course written against a full LRS to work unchanged.
cmi5 No editor-checked · 24 Aug 2026No cmi5 code or launch handling anywhere in the repository.
AICC Not stated
LTI Not stated
Claimed
— the vendor states it. We have not confirmed it.
Checked
— an editor confirmed it on the date shown.
Verified
— an official registry lists it, and we link to the entry.

Editor's notes

OpenLRW came out of the Apereo Learning Analytics Initiative as the storage tier for an open learning-analytics stack: a Spring Boot application over MongoDB that ingests xAPI statements, IMS Caliper events and OneRoster roster data into one multi-tenant store, so that dashboards and predictive models have somewhere to read from. The combination is the interesting part. Most open-source record stores handle one specification; OpenLRW was designed around the assumption that a university has learner records in several shapes and wants them side by side.

The problem is time. Master has not received a substantive commit since February 2020, and everything GitHub has recorded since is dependency-bump branches opened by bots. The project never left Apereo incubation, five issues sit open, and the Java and Spring Boot versions it targets are long out of support. Running it in 2026 means owning a security-patching burden for a stack nobody upstream is watching.

There is also a naming trap worth spelling out. "Learning record warehouse" is accurate and deliberate: this is not an LRS in the conformance sense, and a course built against a full LRS — one that uses the State resource to hold bookmark data, for example — will not work against it.

Read it for the multi-standard ingest design, and for the Caliper and OneRoster mappings, which are still hard to find elsewhere. For a store you intend to run in production, choose something maintained.

Alternatives to Apereo OpenLRW

Chosen by hand because they solve the same problem, not because they share a keyword.

Learning Locker (Community)
The best-known open-source LRS, with no commit on master since November 2021
Ralph
A Python xAPI LRS, CLI and data-pipeline toolbox from France Universite Numerique
SQL LRS
An xAPI learning record store that runs on SQLite or your existing SQL database

Listed on scorm-tools.com

Maintainers and vendors are welcome to show the listing badge in a README or on a product page. It is free, it does not require a claim, and there is nothing to buy.

Get the embed code