xAPI - Tin Can problem with statements ?

Apr 04, 2015


I made a test with xAPI using Learning Locker and this tuto :

It wokrs, the statement are recorded in the LRS :

Ludo M failed http://68pfIo1Ic1x_course_id | 49 minutes ago (Sat, Apr 4, 2015 9:41 AM)
Ludo M answered http://68pfIo1Ic1x_course_id/5um1CntGbHe/63mpEaD7XeB | 51 seconds ago (Sat, Apr 4, 2015 10:30 AM)
avatar Ludo M experienced http://68pfIo1Ic1x_course_id/5um1CntGbHe | 53 seconds ago (Sat, Apr 4, 2015 10:29 AM)

I have 2 questions:

1 Is it normal to have http://68pfIo1Ic1x_course_id or http://68pfIo1Ic1x_course_id/5um1CntGbHe/63mpEaD7XeB and not the name of the module or question ?

2 I thought that I could see wich choices made the learner and if it was correct or not ?





5 Replies
Ashley Terwilliger-Pollard

Hi Ludovic,

I'm not familiar with how Learning Locker will report the Tin Can statements, but you may want to reach out to them to see if they have directions in terms of how to access it. You could also look at testing your course at SCORM Cloud here. You'll want to check the Tin Can Statement Viewer within SCORM Cloud for detailed question/interaction data or follow this path:

*View Registration Statement History
*Show Advanced Options
*Format - canonical - Refresh

Hope that helps!

Ludovic M

Hi Ashley,

Thank you for your answer, I'll try SCORM Cloud and tell you the results.

I've submitted the question on Learning Lockers community and here is the answer :

Yes it's normal. That has been taken from the object.id part of the statement which has to be an IRI. However, the object.definition.name should also be set to human readable text (like the question). This is Storyline's responsibility as they send the statement.

Here is the full statement :

"objectType": "Activity",
"id": "http://68pfIo1Ic1x_course_id/5bGCV2jWfri"
"result": {
"score": {
"raw": 10
"response": "choice_6dJt1nlDCno[,]choice_6ZMcsCiCFY1",
"success": true
"verb": {
"id": "http://adlnet.gov/expapi/verbs/answered"

Do I have to set-up something in particular in Storyline to have something human readable in the statements ?

Justin Grenier

Good Afternoon, Ludovic.

Tin Can API lets an activity be defined in a statement or in the tincan.xml file. We've chosen to define all activities in the tincan.xml file to improve LMS reporting. As a result, learners' responses must be cross-referenced with the tincan.xml file to be readable.

To be specific, the tincan.xml file gives the LMS all the metadata about the content (question text, answer choices, etc.), then we send statements to the LMS with unique identifiers that are defined in the tincan.xml file. To generate meaningful descriptors for learners' responses, the LMS needs to cross-reference the unique identifiers with the tincan.xml file.

This architecture is part of the Tin Can API specification defined here.

Here's an excerpt that describes what we're talking about:

"What TinCan.xml should have is: Any activity details (such as activity descriptions) that should be available to reporting systems, but will not be (or may not be) sent by the activity provider when reporting statements. That is, TinCan.xml may be used to describe activities to the LRS, as an alternative to doing that description at runtime."

The reason we exclude meaningful descriptors from our statements to the LMS in favor of collecting them in the tincan.xml file is so the LMS will know about all answer choices and not just those the learner selected.

You can find more technical information to help LMS developers implement Tin Can API for Articulate content here.

Please let us know if you need anything else, and have a great day!

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