Limiting Storyline LRS/xAPI statements sent to LRS

May 12, 2014

Hi Group

Currently out of a Storyline 'package' (used to be a SCO, what is it in xAPI?!) published to Tin Can it seems that an activity statement is generated for each page/screen visited, every quiz question answered, and every quiz passed or failed.

Is there a way to limit what gets sent to the LRS? E.g. don't send page visits? Just report the pass score?

I ask as some 3rd party LRS vendors charge by the statement written/saved and this could get expensive storing statements that you just don't care about. 

Is there a step-by-step fudge to limit what gets sent?

Thanks for any insight.

PeteB

7 Replies
Bruno BAUDRY

Hi All,

I know this one is still VERY oudated.

But I must object :

it is possible :)

in story.js (Storyline 2)  SendTinCanStatement :

// reduild the string for parsing
var jsonString = ('{"'+ decodeURIComponent(oTinCanRequest.Data).replace(/=/g,'":"').replace(/&/g,'","') +'"}').replace(/"{/g,'{').replace(/}","/g,'},"');

then make it an object

var obj = JSON.parse(jsonString);
console.log( obj ); // to investigate he content

Look at the objects to filter what you do not need.

For example to filter storyline pages experience to be stored

if(obj.hasOwnProperty("content"))
{
if(obj.content.hasOwnProperty("verb"))
{
if(obj.content.verb.id == "http://adlnet.gov/expapi/verbs/experienced") return;
}
}

Best regards.

Bruno

This discussion is closed. You can start a new discussion or contact Articulate Support.