- Get Started
- Write Code
One innovative feature of xAPI is to enable the sharing of data between Learning Record Stores (LRSs). It’s possible that two LRSs, perhaps from different vendors, can be integrated together by configuration in a matter of minutes. If you’ve ever been involved in an LMS integration project and seen the work involved, you’ll realize just how groundbreaking that is.
One use case for sharing statements that’s already happening in the wild is product vendors maintaining their own LRS and also sending the data to the customer’s LRS. This might include authoring tool vendors, content vendors, LMS vendors, indeed any vendor with a product that generates statements.
An LRS can either sit inside an LMS or be a separate product outside of it. Some organisations may have both an LRS inside their LMS and an external LRS that connects to a variety of different data sources. In these cases there is a need to share statements between the LMS, embedded LRS, and the external standalone LRS.
When choosing a shiny new learning platform, it can be tempting to think it will last forever. All things come to an end though, and having a plan to get your data out when the time comes is vitally important. If you store all your learning records as statements in an LRS, statements can be shared with the new LRS when the time comes, making that part of the data migration incredibly straightforward. You then only have to worry about data not stored in the LRS! This is an important use case of statement sharing.
There are a number of systems other than LRSs that use statements in some way to do some thing. Here are some examples:
There are a number of reasons why an organization might have multiple LRSs. For example:
One approach is to have one LRS share its statements with another. This means that all statements in one LRS are transferred to another, but any statements already in the second LRS are not transferred back to the first. This can either be achieved by one LRS sending statements to another, or by one LRS querying another for statements.
An extension of one way sharing is to additionally share statements in the other direction such that all statements in each LRS are shared with the other. This can be achieved by:
It’s also possible to share statements using a 3rd party, man-in-the-middle application that sits outside the LRSs. This kind of application is configured to fetch statements from particular LRSs and send them on to other LRSs. The application doesn’t necessarily store the statements itself, it just fetches them and sends them on to their required destination.
Statements can be shared between LRSs by downloading the statements as a JSON document from one LRS and uploading it to another. This method is particularly valuable for transferring statements where the LRSs are not able to directly connect to one another due to connectivity issues or security restrictions.
You can read about sharing statements in more detail in the whitepaper co-authored by the project collaborators. We’ve produced a screencast demonstrating the project proof of concept in action. You can watch a webinar where we discussed all of this in more detail!