Search code examples
tin-can-apiarticulate-storyline

Articulate storyline 360 launch xapi course with adlnet/xAPIWrapper


One of my clients sent me a xAPI course which is created using Articulate Storyline 360 and published as Tin Can API for LMS. I am able to launch the course using method mentioned in below link:

Incorporating a Tin Can LRS into an LMS

So using the above method the launch URL looks like:

http://my.lms.com/TCActivityProvider/story.html

?endpoint=http://my.lms.com/lrs/endpoint/

&auth=Basic OjFjMGY4NTYxNzUwOGI4YWY0NjFkNzU5MWUxMzE1ZGQ1

&actor={"name": ["First Last"], "mbox": ["mailto:[email protected]"]}

&activity_id=61XkSYC1ht2_course_id

&registration=760e3480-ba55-4991-94b0-01820dbd23a2

Using the above URL which has an endpoint and credentials information, the course gets launched successfully and sents xAPI statements to LRS automatically.

But I don't want to send the parameters like auth, actor or endpoint in the URL for security reasons.

I googled for an alternative method and found the adlnet/xapi-launch and adlnet/xAPIWrapper library.

I explored the above two libraries but am confused about how it can be integrated into the LMS?

Does Articulate Storyline 360 support adlnet/xAPIWrapper?


Solution

  • The adlnet/xAPIWrapper is just a library that makes it easier to communicate with the LRS and requires you to determine how the endpoint and authentication credentials will be passed to the library. In other words it isn't necessarily intended to be used via LMS launch (it will work there, but doesn't have special handling for it). The xapi-launch specification you found as far as I know (at this time) has effectively zero adoption.

    The other alternative would be to use cmi5 which is another specification that includes the concepts of packaging, import and launch for content that communicates via xAPI. It uses a different credential handshake process that is similar to both the launch guidelines you linked and the xapi-launch method. It uses query string parameters for the endpoint, but the LRS credentials are accessed via a separate, single use request. It has better adoption (though still early at this time), has been peer reviewed, is under the ADL umbrella, and is on more of a standards path. See https://xapi.com/cmi5/ for more about cmi5. I don't believe Articulate has yet implemented cmi5 in their products (at this time) as they are waiting for more indication for market desire, you should contact them about your interest in it if you feel it is a suitable option.