To send an xAPI statement from Articulate Storyline to a Learning Record Store (LRS), you’ll need to follow these steps:
- Set Up Your LRS: First, you’ll need an LRS to store your xAPI statements. You can use a service like Veracity Learning LRS. Create an account and set up your LRS with a username, password, and access key1.
- Create the xAPI Statement: Write the xAPI statement in JSON format. Here’s a basic example:
{
“actor”: {
“name”: “John Doe”
},
“verb”: {
“id”: “http://adlnet.gov/expapi/verbs/completed”,
“display”: {“en-US”: “completed”}
},
“object”: {
“id”: “http://example.com/activity”,
“definition”: {
“name”: {“en-US”: “Sample Activity”}
}
},
“context”: {
“registration”: “12345”
}
}
3. Add JavaScript to Storyline: Open your Storyline project and add a trigger to call a JavaScript function when the desired action occurs (e.g., completing a quiz). Add the following JavaScript code to your project:
function sendXAPIStatement() { var statement = { "actor": { "name": "John Doe" }, "verb": { "id": "http://adlnet.gov/expapi/verbs/completed", "display": {"en-US": "completed"} }, "object": { "id": "http://example.com/activity", "definition": { "name": {"en-US": "Sample Activity"} } }, "context": { "registration": "12345" } }; var xhr = new XMLHttpRequest(); xhr.open("POST", "https://your-lrs-url/xapi/statements", true); xhr.setRequestHeader("Content-Type", "application/json"); xhr.setRequestHeader("Authorization", "Basic " + btoa("your-username:your-password")); xhr.send(JSON.stringify(statement)); }
4. Publish and Test: Publish your Storyline project and test it to ensure the xAPI statement is sent to the LRS