Sending extensions to xAPI

Hi all,

First off, TL;DR for those who want: How do I send statement extensions along to my LRS using Storyline?

Long version: We're developing a new module in Storyline, and intend to track the data via xAPI, using LearningLocker as the LRS. Communication from Storyline to LL is working fine - all tracking data comes through just fine.

However, when reading up on the xAPI specs, I see it's possible to add so-called "extensions" to some objects (i.e. activity definition). Unfortunately I have not found how I can define these in Storyline. In this specific case, I'd like to use the "topic" extension on the definition of a question, so that that also gets sent along to the LRS when a learner answers that question. I've looked around in the Storyline interface, but found no option to do so.

So then I resorted to editing the tincan.xml file, and added the required extensions in the right place (also validated against the XSD file). This doesn't work either, sadly. It seems like what I added just gets omitted from the statements. My question is: how can I add extensions to my statements, and have them sent to my LRS?

Here's the relevant part of my tincan.xml:

<activity id="http://NBB_Quiz/5tgIX44Cl2G/5xzzwZ1bncs" type="http://adlnet.gov/expapi/activities/cmi.interaction">
<name lang="und">Who's that pokémon?</name>
<description lang="und">Who's that pokémon?</description>
<interactionType>choice</interactionType>
<correctResponsePatterns>
<correctResponsePattern>choice_6rmrT8Qfzbg</correctResponsePattern>
</correctResponsePatterns>
<choices>
<component>
<id>choice_6rmrT8Qfzbg</id>
<description lang="und">Pikachu</description>
</component>
<component>
<id>choice_6me01Aw7cBV</id>
<description lang="und">Charizard</description>
</component>
</choices>
<extensions>
<extension key="http://id.tincanapi.com/extension/topic">Pokémon</extension>
</extensions>
</activity>
Be the first to reply