When creating Third Party Course Content for Absorb, each format will utilize different internal processes to accomplish or communicate specific features, functions and outcomes. The internal process to perform this is known as a Statement. Statements may include, but are not limited to:
- Course Status
- Score
- Time Spent
Both SCORM and xAPI Courses use Statements, but the Statements they utilize are different/distinct. Even between different versions of SCORM such as 1.2 or 2004, the usage of Statements may vary. In addition to generational changes of Statements between versions of Courses, different methods of creating or publishing Third Party Courses may use Statements in different ways.
This article showcases the Statements that Absorb LMS supports for SCORM 1.2, 2004 and xAPI content.
Third Party Content Type Approved Statements
Between each of the Third Party Course types, there are different methods of performing tasks or retrieving information. This section details the methods that can be used when building content for a specific format:
SCORM 1.2 Statements
The follow list includes the SCORM 1.2 statements that Absorb LMS supports:
- cmi.comments_from_lms
- cmi.core.credit
- cmi.core.entry
- cmi.core.exit
- cmi.core.lesson_location
- cmi.core.lesson_mode
- cmi.core.lesson_status
- cmi.core.score.max
- cmi.core.score.min
- cmi.core.score.raw
- cmi.core.session_time
- cmi.core.student_id
- cmi.core.student_name
- cmi.core.total_time
- cmi.interactions.n.correct_responses.n.pattern
- cmi.interactions.n.id
- cmi.interactions.n.latency
- cmi.interactions.n.result
- cmi.interactions.n.student_response
- cmi.interactions.n.time
- cmi.interactions.n.type
- cmi.interactions.n.weighting
- cmi.launch_data
- cmi.objectives.n.id
- cmi.objectives.n.score.max
- cmi.objectives.n.score.min
- cmi.objectives.n.score.raw
- cmi.objectives.n.status
- cmi.student_data.mastery_score
- cmi.student_preference.audio
- cmi.student_preference.language
- cmi.student_preference.speed
- cmi.student_preference.text
SCORM 2004 Statements
The follow list includes the SCORM 2004 statements that Absorb LMS supports:
- adl.nav.request
- adl.nav.request_valid.continue
- adl.nav.request_valid.previous
- cmi._version
- cmi.comments_from_learner.n.comment
- cmi.comments_from_learner.n.location
- cmi.comments_from_learner.n.timestamp
- cmi.comments_from_lms
- cmi.completion_status
- cmi.completion_threshold
- cmi.credit
- cmi.entry
- cmi.exit
- cmi.interactions.n.correct_responses.n.pattern
- cmi.interactions.n.description
- cmi.interactions.n.id
- cmi.interactions.n.latency
- cmi.interactions.n.learner_response
- cmi.interactions.n.result
- cmi.interactions.n.timestamp
- cmi.interactions.n.type
- cmi.interactions.n.weighting
- cmi.launch_data
- cmi.learner_id
- cmi.learner_name
- cmi.learner_preference.audio_captioning
- cmi.learner_preference.audio_level
- cmi.learner_preference.delivery_speed
- cmi.learner_preference.language
- cmi.location
- cmi.max_time_allowed
- cmi.mode
- cmi.objectives.n.completion_status
- cmi.objectives.n.description
- cmi.objectives.n.id
- cmi.objectives.n.progress_measure
- cmi.objectives.n.score.max
- cmi.objectives.n.score.min
- cmi.objectives.n.score.raw
- cmi.objectives.n.success_status
- cmi.progress_measure
- cmi.score.max
- cmi.score.min
- cmi.score.raw
- cmi.session_time
- cmi.success_status
- cmi.suspend_data
- cmi.time_limit_action
- cmi.total_time
xAPI / Tin Can Course Data
While the xAPI (Experience API) and Tin Can standards include a vast number of verbs to describe a wide range of learning activities and experiences, below is a subset that our product supports mostly relevant to Absorb's functionalities and intended use cases.
Progression Verbs
Updates the attempt to In Progress and sets the score based on the statements Result.Score.
If the attempt is in final status state (Complete/Failed) these verbs are ignored and will not update the attempt
-
Attempted
-
Attended
-
Experienced
Completion Verbs
Updates the attempts score based on the statements Result.Score and updates the attempt status based on the verb.
Verb | LMS Status |
Completed | Complete |
Passed | Complete |
Failed | Failed |
Question/Answer Verbs
Using the statements Target.Id (falls back to Object.Id in its absence) is used to link the answer to an existing questions within the LMS and adds the answer as an assessment activity to the attempt.
If the system does not find a question it will create a simple question with limited ability to determine potential choices/descriptions/answers. Statements do not contain enough information to properly construct a complete question with all available answers. This is done to ensure we record the User answered the question but leads to misleading reporting.
Questions are processed and parsed asynchronously after a Tin Can lesson is uploaded. If a User is enrolled in and takes the lesson before this processing occurs answer reporting will be less accurate.
- Answered
Supported Question Types
Interaction Type | LMS Question Type |
choice |
MultipleAnswer |
fill-in |
Text |
long-fill-in |
Text |
likert |
PollSingleAnswer |
matching |
Matching |
numeric |
NumbersOnly |
sequencing |
Sequencing |
all other types |
SingleAnswer |
SCORM Implementation
The vast majority of the SCORM data model is simply made available by the Absorb LMS implementation so that SCORM courses can interact with properties on the model. That is, most properties on the data model are not modified by the LMS.
Each “commit” made by the SCORM course will cause the LMS to store the JSON-serialized SCORM data model into the LMS database. This is then passed back to the front end so that when a Learner resumes a Lesson, for example, the SCORM model is up to date and the SCORM course can continue to access the model and modify the property values.
Client Side Implementation
There are only 2 official SCORM data model properties that are set by the LMS front end with values based on the current Learner:
Property Name and SCORM 1.2 Alias | Value | SCORM Spec Allowed Values |
cmi.learner_id (cmi.core.student_id ) |
The Learner’s User ID (Guid). |
Mandatory. Format: Up to 255 alpha-numeric characters with no spaces. Dashses (or hyphen) and the underscore are legal. Periods are illegal. Case insensitive. |
cmi.learner_name (cmi.core.student_name ) |
The Learner's full name in either LastName, FirstName MiddleInitial format or FirstName LastName format depending on Portal settings. | Mandatory. Format: Last name, first name and middle initial. Last name and first name are separated by a comma. |
The following official SCORM data model properties are set to an initial default value by the LMS and can be overwritten by SCORM courses:
Property Name and SCORM 1.2 Alias | Initial Value | SCORM Spec Allowed Values |
cmi.completion_status (cmi.core.lesson_status ) |
|
Mandatory. One of: |
cmi.credit (cmi.core.credit ) |
|
Mandatory. One of |
cmi.entry (cmi.core.entry ) |
|
Mandatory. One of |
cmi.mode (cmi.core.lesson_mode ) |
|
Optional. One of |
cmi.success_status |
|
Optional. One of |
Server Side Implementation
When initializing the SCORM data model in the back-end for a given attempt ID, the stored SCORM data model is de-serialized from the database (if it exists). Then the following SCORM data model properties are populated.
Property Name | Initial Value | SCORM Spec Allowed Values |
|
|
Mandatory. One of: |
|
|
Mandatory. One of |
|
Set to whatever the Lesson's passing score is configured to be by the course Admin. |
Optional. A decimal value. |
|
The client ID (Guid). |
Optional. No specific format. |
Comments
Article is closed for comments.