Search code examples
cmisscormtin-can-apixapi

What is Assignable Unit in cmi5 spec?


A bit introduction, I'm trying to create a LMS that will launch cmi5 course. But, I've trouble in understanding about cmi5 package and some other terms. Here I would like to ask/clarify several points to make it clear.

I've seen TinCan/xAPI sample course/spec (I saw it here) and cmi5 spec here. I found out that they need different query string to launch the content.

To be precised, in TinCan, for the authentication, we could pass auth query string and the Basic {encoded username:password} as the value (here is the reference). The auth then processed by the TinCanJS package (I'm using Javascript). But, in the cmi5 spec, it said to get the token, we could pass fetch query string and the value is our lms that return one time token only. The fetch url will called with POST method.

But, I couldn't found "where is the fetch value being processed in the cmi5 course?" in the AU? I'm still confused with the terms of AU.

  1. Who will create it?
  2. How it looks like?
  3. is it included in the cmi5 course or do I have (as the creator of LMS) to create the AU?

Thank you in advance.


Solution

  • The specification includes a specific definition for an AU:

    Assignable Unit (AU): A learning content presentation launched from an LMS. The AU is the unit of tracking and management. The AU collects data on the learner and sends it to the LMS.

    The AU is essentially what we've come to consider the lesson inside the course. AU is a holdover term from the AICC specifications, and is similar to a SCO in SCORM or the launched thing in a package with a tincan.xml file.

    To explicitly answer your questions:

    1. A content creator would generally create an AU and potentially a course of one or more AUs. This would be the output of a "Rapid Authoring Tool" a la Storyline, Captivate, etc.

    2. Entirely depends on the AU and the content being developed.

    3. The AU will either be included in a course package zip, or it would be an external URL that can be linked to directly. Strictly speaking an LMS wouldn't generally create an AU, having said that, there could be generic implementations of AUs that could receive enough configuration information via the launch parameters such that they could be provided by an LMS. Rustici Software's Engine product which provides standards support for many LMSs (and SCORM Cloud) uses this methodology to provide support for certain content types.

    You should have a look at the resources available from the cmi5 spec website:

    http://aicc.github.io/CMI-5_Spec_Current/

    As well as the high level overview about cmi5 here: https://xapi.com/cmi5/