What xAPI does Articulate Track?

What xAPI does Articulate Track?


We're often asked questions like: “What xAPI properties does my authoring tool send to the LRS?” “What metrics can I track with my authoring tool?" Recently, we've gotten a few more questions about Articulate, specifically.

Articulate has two courseware products that emit xAPI statements: Storyline and Rise. Both tools can send xAPI statements to our LRS. Both tools send a handful of xAPI statements with no custom coding. We call this their “out-of-the-box” xAPI capability.

Notes
We've abbreviated the following sample xAPI statements for clarity and space.

Begin a Course

In each Articulate tool, a course may have a different label, such as a “scene”. Regardless, both tools send similar xAPI statements when a student begins a course…

Storyline
Rise
verb.id: …attempted
object.id: <course ID>*
object.definition.type: …course
result.completion: Boolean
context.parent.id: <course ID>
context.grouping.id: <course ID>
verb.id: …attempted
object.id: <course ID>
object.definition.type: …course
result.duration: ISO 8601 string
result.completion: Boolean
context.parent.id: <course ID>

*In Storyline, you can change the course ID when you package your course, which can help with version control. In Storyline, you can also re-use the course ID by referring to the system variable: Project.ActivityId. You can find a list of other Storyline System Variables in their Support Articles.

A Storyline course sends an ID in the form "urn:articulate:storyline:6cuTEluHuA5", where the suffix is the unique identifier. A Rise course's ID looks like "http://8NOIDUGzX72zEk_­KuLYJI2RB9oMyGsCz_rise", with “rise” appended to the unique identifier.

Flip a Page

Most authoring tools present content in pages and send xAPI when the student leaves one page and turns to the next. In the tool, Storyline calls them “slides”, but its player sends xAPI that then calls them “modules”. In Rise, students scroll down through “blocks” of content, but its player also calls them “modules” in xAPI…

Storyline
Rise
verb.id: …experienced
object.id: <course ID>/<slide ID>
object.definition.type: …module
context.parent.id: <course ID>
context.grouping.id: <course ID>

verb.id: …left
object.id: <course ID>/<slide ID>
object.definition.type: …module
result.duration: ISO 8601 string
context.parent.id: <course ID>
context.grouping.id: <course ID>
verb.id: …experienced
object.id: <course ID>/<slide ID>
object.definition.type: …module
context.parent.id: <course ID>

verb.id: …progressed
object.id: <course ID>
object.definition.type: …course
result.duration: ISO 8601 string
result.extensions…progress: integer
result.completion: Boolean
context.parent.id: <course ID>

Both tools concatenate the page's object ID on the end of the parent's object ID: e.g., "urn:articulate:storyline:6cuTEluHuA5/6Kloq9nZwHf", and "http://8NOIDUGzX72zEk_­KuLYJI2RB9oMyGsCz_rise/­nv7Ez22-BTRSLfci_tR2Yt7TVhSQswuc".

Both tools send a duration that the student spent on the page. When a student leaves a block in Rise, the courseware player sends a statement that describes the student's percentage of progress through the course.

Answer a CMI Interaction

Many authoring tools have form-based “wizards” that simplify entering graded test questions. Articulate Storyline and Rise offer the same too, but they call them “Quizzes” …

Storyline
Rise
verb.id: …answered
object.id: <course ID>/<slide ID>/<activity ID>
object.definition.type: …cmi.interaction
object.definition.description.und: <the stem question>
object.definition.interactionType: choice | fill-in | matching |
    sequencing | numeric*
object.definition.correctResponsePattern: string
object.definition.choices: [array]
result.success: Boolean
result.duration: ISO 8601 string
result.response: string
result.score.raw: integer
context.parent.id <course ID>/<slide ID>**
context.grouping.id: <course ID>
verb.id: …answered
object.id: <course ID>/<slide ID>
object.definition.type: …cmi.interaction
object.definition.description.und: <the stem question>
object.definition.interactionType: choice | fill-in | matching
object.definition.correctResponsePattern: string
object.definition.choices: [array]
result.success: Boolean
No result duration!
result.response: string
No result score!
context.parent.id: <course ID>

Notes
In Storyline, a Quiz slide must have a Result slide in the same Scene for it to send out-of-the-box xAPI. In Rise, Questions in a Quiz send out-of-the-box xAPI, but identical Knowledge Checks in a Lesson do not send xAPI.

*Storyline tracks two interaction types that Rise doesn't: sequencing and numeric entry.

**Because a Quiz in Storyline resides in a slide, the context in the xAPI starts to make sense: the parent is the slide, and the grouping is the course or lesson.


End the Course

The LMS may send more bookkeeping statements at the end of the course, but both Articulate tools send a passed or failed statement.

Storyline
Rise
verb.id: …passed | failed
object.id: <course ID>
object.definition.type: …course
result.success: Boolean
result.duration: ISO 8601 string
result.completion: Boolean
context.parent.id: <course ID>
context.grouping.id: <course ID>
verb.id: …passed | failed
object.id: <course ID>
object.definition.type: …course
result.success: Boolean
result.duration: ISO 8601 string
result.completion: Boolean
context.parent.id: <course ID>

Neither tool sends context.registration! You must configure your LMS to manage this.

We're still testing both tools, and in many permutations of packaging and customization. Check back for more.

Notes
Articulate®, Storyline®, and Rise® are all registered trademarks of Articulate Global, LLC.



    • Related Articles

    • What are xAPI Extensions and How Do I Use Them in My xAPI Statements?

      Best Practices for xAPI Extensions Activity, Context, and Result Extensions in xAPI Statements Do you need to know when and how to best use Activity, Context or Result Extensions in your xAPI Statements? This is a common challenge and a frequently ...
    • Will Students See Errors in an xAPI Course with No LRS?

      If you develop an xAPI course package and don't yet have an LRS, or the LRS is down, then the student should not see any error messages. It will depend on the authoring tool you use. To be sure, you should test it. We've gotten more questions about ...
    • What Versions Of xAPI Are Supported By Veracity Launch?

      TinCan 0.95 xAPI 1.0 xAPI 1.0.1 xAPI 1.0.2 xAPI 1.0.3 xAPI 2.0 (IEEE Standard 9274.1.1)
    • What is xAPI and What is an LRS?

      The Experience API (xAPI) is a technology standard that allows systems to store and retrieve data from a wide range of learning experiences. The specification is comprised of two main components: The data model - The xAPI data model is a JavaScript ...
    • What are Different Ways xAPI Data Can Flow from an LMS to an LRS?

      Client Side This is the most common case. This is usually the approach taken if you create your content in a commercial authoring tool and export the content to xAPI/TinCan. The content package sends xAPI data directly to the LRS. The content package ...