Articulate's Current Implamentation of Tin Can API.

Aug 13, 2020

Hello!

My name is Stuart Simon. I have no Articulate Storyline content at present. But when I do, it needs to post quiz pass/fail status back to a system I am developing that will generate a PDF certificate for the completion of the module. The system is not a full LMS in the sense that standards developers expect. However, from Articulate Storyline's perspective, the following is the definition of "LMS":

Learning management system (LMS): Anything both the desktop and mobile versions of content I produce can send unsafe AJAX requests to.

Because I need to be able to accommodate users on their phones and tablets as well as those using desktop computers, I'm thinking that my backend should respond to Tin Can API requests. And that is where I have some questions.

  1. Why does Articulate continue to use the name "Tin Can API" both in its software and its documentation? The proper names are "Experience API" and "xAPI."
  2. Please select the proper representation of the "verb" property. Only #2 is compliant with the xAPI specification. Please promise that if the answer is #2then https://articulate.com/support/article/Implementing-Tin-Can-API-to-Support-Articulate-Content will be updated.
    1. "verb": "passed"
    2. "verb": {
      "id": "http://adlnet.gov/expapi/verbs/passed"
      "display" : {
      "en-US": "passed"
      }
      }
    3. Can Articulate post an xAPI statement that includes only the "actor," "verb," and "object" properties? All other properties are irrelevant to my case. For instance, there is no information I wish to access inside "context."

Please remember when answering: Rise.com is NOT an option for me. These certificates are for everybody who pays for them, whether they are our employees or not. And it is impossible to know how many of them there will be. I have already told the Rise.com salesperson that Rise.com is not available for my use case.

8 Replies
Sam Hill

Hi Stuart, just letting you know that you can still use SCORM for mobile if you are delivering the content in a web browser (not a native app). Mobile and Tablet can still communicate with the SCORM API (1.2 and 2004) through the browser. I'm not sure if that changes anything for you but just wanted to throw it in the mix.

Stuart Simon

It really doesn’t add anything. I actually considered using SCORM, but it is too complex for me to understand. Like I said, I need only the action of passing a quiz.

Stuart Simon
Graphics Specialist
Human Development Center
LSU Health New Orleans
411 South Prieur Street
New Orleans, LA 70112
ssimo3@lsuhsc.edu

Sam Hill

Hi Stuart, I'm not 100% sure on what your question is, but I can tell you that you cannot customise the statements that are coming from Storyline. They are predefined and there is not any author access to them. If you wanted to customise the statement to suit your needs, you would have to build your own using JavaScript in Storyline.

For your information, this is the statement that Storyline will send for "passed". I'm sure you can capture this and parse what you need from it. As you can see you have the verb "passed" and the result properties too which give you score, results and completion.

{
"id": "7c7fb9c2-b4cf-4cf2-9603-44bcb70414d2",
"actor": {
"objectType": "Agent",
"account": {
"homePage": "http://cloud.scorm.com",
"name": "PZL18L33MU|sam.hill@rebusmedia.com"
},
"name": "Sam Hill"
},
"verb": {
"id": "http://adlnet.gov/expapi/verbs/passed",
"display": {
"en-US": "passed"
}
},
"result": {
"score": {
"scaled": 1
},
"success": true,
"completion": true,
"duration": "PT1M36.26S"
},
"context": {
"registration": "4e4d2446-cdcf-42f5-8ab7-32a25af21c64",
"contextActivities": {
"grouping": [
{
"id": "http://5gNZGhnCYTp_course_id",
"objectType": "Activity"
}
],
"parent": [
{
"id": "http://5gNZGhnCYTp_course_id",
"objectType": "Activity"
}
]
}
},
"timestamp": "2020-08-18T00:12:18.433Z",
"stored": "2020-08-18T00:12:18.320Z",
"authority": {
"objectType": "Agent",
"account": {
"homePage": "http://cloud.scorm.com",
"name": "PZL18L33MU|sam.hill@rebusmedia.com"
},
"name": "Sam Hill"
},
"version": "1.0.0",
"object": {
"id": "http://5gNZGhnCYTp_course_id",
"definition": {
"name": {
"und": "xAPI"
},
"description": {
"und": ""
},
"type": "http://adlnet.gov/expapi/activities/course"
},
"objectType": "Activity"
}
}
Sam Hill

Cool. I think you'll get more out of these forums if you treat people with a bit more respect and don't be combative with responses when people are trying to help you. Treat people how you like to be treated. You are mainly dealing with people just like you on here, try to solve problems, and help people out. Not employees of Articulate.

Also, just so you know, your signature keeps posting.

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