v2.0 - Starter Edition
Just what you need to get started with your own LRS
That’s the first thing you should care about. ADL has a list of conformant LRSs and TRAX LRS is one of them. It means that TRAX has passed the official LRS test suite, and is reliable enough to receive your xAPI data.
TRAX LRS Starter Edition is licensed under the GNU GPL 3.0. It means that you are free to download it, use it, modify it, share it. You can even make money with it. Just keep it open!
Simple to install. TRAX LRS is built on top of a well-known technology stack. Simple to use. the Starter Edition has only the features you need to get started: clients management and Statements exploration.
Because spending time exploring xAPI data should be a pleasure, TRAX LRS comes with a beautiful and modern user interface (and yes, it has a dark background).
More to come
Over time, experimental features coming from the Extended Edition will be added to the Starter Edition. Thanks to our sponsors, they will benefit to everyone.
|Front-end||VueJS 2 (SPA)|
|Back-end||Laravel 8 / PHP 7.4 to 8.0|
|MySQL||5.7 to 8.0|
|MariaDB||10.3 to 10.4|
|PostgreSQL||12 to 13|
v2.0 - Extended Edition
Powerful features to help you grow with your xAPI data
The Extended Edition is reserved for our contributors. You want to know why? You want to join our community? Check the community page.
To know more about the Extended Edition features, please, refer to the project documentation.
TRAX LRS tells you what’s happening in your LRS thanks to internal logs. You know precisely the APIs and methods called by each client. And you get error details that help you to solve integration issues with xAPI clients.
With TRAX LRS, you can explore your Statements thanks to powerful filters and a JSON viewer with syntax colors. You can also search for Agents, Activities, States, Profiles, explore relations. Finally, you get feedbacks on the vocabulary usage, including Verbs, Activity Types, and Statement Categories.
That’s a common issue when xAPI data come from multiple sources, where people may be identified separately. TRAX LRS supports the concept of “personas” which helps you to reconcile multiple identities.
TRAX LRS helps you comply with the General Data Protection Regulation (GDPD). Learners can get access to TRAX LRS in order to explore their own data. They can get a specific endpoint in order to transfer their data into another LRS. You can manage data deletion. You can even manage data anonymization.
As you are getting more and more confident with xAPI, there is a chance you want to add your own code in order to build new features or cover specific integration needs. TRAX LRS 2.0 has been completely refactored to be more developers friendly. Its code is clean and well documented. You can easily plug your own code without changing the core application.
With TRAX, you can structure your LRS to better control data visibility. You can split your data into multiple stores and entities. You can define the API clients with a deep control on their permissions. You can define user accounts and assign them roles with custom permissions.
Control your data flows directly from TRAX LRS. You can sync TRAX LRS with other LRSs in order to pull or push Statements automatically. You can push your data to an Elasticsearch database. You can import or export Statements manually with JSON files.
If you already played with xAPI, you know that the standard APIs are very limited. TRAX LRS offers additional APIs that let you request xAPI data with more powerful filtering features. Over time, other APIs will be added to support more specialized requests aligned with xAPI profiles.
CMI5 is the new standard to track eLearning contents, and it should replace SCORM in a near future. TRAX LRS makes it easier for LMSs to implement CMI5. It provides a token delivery system, as well as secured endpoints for eLearning contents. Furthermore, it provides what you need to get back CMI5 data to your LMS.
Many software engineers think using NoSQL databases is the best way to store JSON data. But things are changing. Modern relational databases also support JSON, and xAPI Statements are relational by nature. TRAX LRS 2.0 uses relational capabilities in order to improve performances.
Based on the results of the performed tests, one can notice that Learning Locker has, sometimes, the best min and max values for response time. However, TRAX LRS (v1) outperforms Learning Locker in all the tests scenarios.
We use TRAX LRS as a "middleware" between our learning ecosystem (Moodle instances and in-house tools) and our data lake (ElasticSearch) and it works great!
Take your LRS to the next level
Our most innovative release
With TRAX LRS 3.0, we want to keep all the features that made the success of the Extended Edition, and give them a new robust and modern architecture for the coming years, focusing on scalability, performance, extensibility and security.
TRAX LRS supports the widest range of database technologies of the LRS market, including both NoSQL databases such as MongoDB, Elasticsearch and OpenSearch, and relational databases such as MySQL, PostgreSQL and TimescaleDB.
You can now split your monolithic LRS into several micro-services in order to have a better control of the overall scalability. This also gives you a more modular architecure where you can add or enable additional services depending of your needs.
TRAX LRS micro-services use Redis Stream in order to communicate with each other. This is simple, fast and reliable. And of course, this is extensible: you can add your own micro-services and react to a large set of events triggered by TRAX LRS.
We now use Lavarel Octane to improve performances. Refering to some public benchmarks, Octane improves performances so much that PHP can now compete with NodeJS. Refering to our own benchmark, TRAX LRS 3.0 is up to 500x faster than v2.0!
A Brand New UI
According to our adopters, TRAX LRS 2.0 has a very nice user interface (UI). However, we needed to simplify the technical stack and solve some licensing issues. So we removed our previous template and built a new UI with VueJS 3 and Tailwind CSS.