Scorm 1.2 Reference

This reference is based on the information I gather about the LMS communication API called Scorm, version 1.2

API Functions

LMSInitialize(“No Options”) – Returns a bool

using Scorm;
using System;
using System.Collections.Generic;
using System.Linq;
using UnityEngine;
using UnityEngine.UI;
using Bolt;

public class Scorm_Link : MonoBehaviour
{
    IScormService scormService;

    void Awake() {

        #if UNITY_EDITOR
            scormService = new ScormPlayerPrefsService(); 
            // PlayerPrefs Implementation for editor testing
       
        #else
            scormService = new ScormService(); // Real implementation
        
       #endif
        
      bool result = scormService.Initialize(Scorm.Version.Scorm_1_2);
        if (result)
        {
            Debug.Log("Can Use SCORM 1_2 Functions");
        }
    }
}

Begins a communication session with the LMS. This needs to be called in order to use the Scorm API. [Unity Note: There is an option for this call and it’s setting the version of Scorm to be used]

This example is using the Unity ScormAPI plugin. It is also checking if the program is being tested in the Unity Editor, and if it is then it uses “PlayerPrefs” to act as the Scorm info holder.

LMSFinish(“No Options”) – Returns a bool

Ends the communication session with the LMS.

LMSGetValue(Data Model) – Returns a String

Retrieves a value from the LMS

LMSSetValue(Data Model, Value as a string)

Saves a value to the LMS

LMSCommit(“No Options”) – Returns a bool

To be called after you set a value to ensure that the data is persistent. (Not Required)

LMSGetLastError(“No Options”) – returns an error code

Returns a numeric error code the resulted form the last API call.

LMSGetErrorString(Error Code) – Returns a String

Returns a short String describing the specific error code.

LMSGetDiagnostic(Error Code) – Returns a String

Returns a detailed String description about a specific error code.


Data Model

cmi.core.student_id(String)

Read Only – Can return up to 255 characters.

cmi.core.student_name(String)

Read Only – Can return up to 255 characters.

cmi.core.student_location(String)

Read and Write – Can contain up to 255 characters. This data model holds where the learner is in the module.
Example: You can set this to be “Question 3” and then the LMS will remember that the learner was at this point in he module.

cmi.core.credit(Arguments)

Read Only[Arguments]: “credit”,”no credit”
Indicates if the learner will be credited for their performance.

cmi.core.lesson_status(Arguments)

Read and Write – [Arguments]: “passed”, “completed”, “failed”, “incomplete”, “browsed”, “not attempted”
Indicated whether the learner has completed and satisfied the requirements.

cmi.core.entry(Arguments)

Read Only – [Arguments]: “ab-initio”, “resume”, ” “
Asserts whether the learner has previously accessed the module.
Note: Ab-Initio is legal speak for “From the Beginning”


cmi.core.score.raw(Float)

Read and Write – A number that reflects the performance of the learner relative to the range bound by the Min and Max score values.

cmi.core.score.max(Float)

Read and Write – The maximum value in the range of the raw score.

cmi.core.score.min(Float)

Read and Write – The minimum value in the range of the raw score.

Leave a Reply