Apereo OpenLRW
Java learning record warehouse for xAPI, Caliper and OneRoster data, dormant since 2020
The facts
- Licence
- ECL-2.0 — OSI approved
- Pricing
- Open source Price source for Apereo OpenLRW, opens in a new tab
- Deployment
- Self-hosted
- Platforms
- Linux · Web
- Vendor
- Apereo Foundation
Standards support
Every line says where the claim came from. We do not test conformance ourselves and we issue no badge of our own.
| 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 tab | The 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 2026 | No 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.
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