the scorm runtime environment an overview by chris poole
DESCRIPTION
The Scorm Runtime Environment An Overview By Chris Poole. The SCORM is based directly on the run-time environment functionality defined in AICC’s CMI001 Guidelines for Interoperability. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: The Scorm Runtime Environment An Overview By Chris Poole](https://reader036.vdocument.in/reader036/viewer/2022070416/56815015550346895dbdfd24/html5/thumbnails/1.jpg)
Chris Poole: Senior Content Developer
The SCORM Runtime EnvironmentThe SCORM Runtime Environment
The Scorm Runtime Environment
An Overview
By
Chris Poole
![Page 2: The Scorm Runtime Environment An Overview By Chris Poole](https://reader036.vdocument.in/reader036/viewer/2022070416/56815015550346895dbdfd24/html5/thumbnails/2.jpg)
Chris Poole: Senior Content Developer
The SCORM Runtime EnvironmentThe SCORM Runtime Environment
• The SCORM is based directly on the run-time environment functionality defined in AICC’s CMI001 Guidelines for Interoperability
![Page 3: The Scorm Runtime Environment An Overview By Chris Poole](https://reader036.vdocument.in/reader036/viewer/2022070416/56815015550346895dbdfd24/html5/thumbnails/3.jpg)
Chris Poole: Senior Content Developer
The SCORM Runtime EnvironmentThe SCORM Runtime Environment
• ADL collaborated with AICC members and participants to develop a common Launch and API specification and to adopt Web-based data elements
![Page 4: The Scorm Runtime Environment An Overview By Chris Poole](https://reader036.vdocument.in/reader036/viewer/2022070416/56815015550346895dbdfd24/html5/thumbnails/4.jpg)
Chris Poole: Senior Content Developer
The SCORM Runtime EnvironmentThe SCORM Runtime Environment
• One of the main goals of the SCORM is interoperable content
• This means we have a number of problems to solve– How does the LMS start the learning object– How does the LMS and learning object communicate– What language do they speak– What do they say
![Page 5: The Scorm Runtime Environment An Overview By Chris Poole](https://reader036.vdocument.in/reader036/viewer/2022070416/56815015550346895dbdfd24/html5/thumbnails/5.jpg)
Chris Poole: Senior Content Developer
The SCORM Runtime EnvironmentThe SCORM Runtime Environment
• To address these problems the runtime environment uses three components:– Launch– Application Program Interface (API)– Data Model
![Page 6: The Scorm Runtime Environment An Overview By Chris Poole](https://reader036.vdocument.in/reader036/viewer/2022070416/56815015550346895dbdfd24/html5/thumbnails/6.jpg)
Chris Poole: Senior Content Developer
The SCORM Runtime EnvironmentThe SCORM Runtime Environment
• The Launch Mechanism– Defines the procedures and responsibilities for
establishment of communication between the object and the LMS
– Standardises the communication protocols by the use of an API
![Page 7: The Scorm Runtime Environment An Overview By Chris Poole](https://reader036.vdocument.in/reader036/viewer/2022070416/56815015550346895dbdfd24/html5/thumbnails/7.jpg)
Chris Poole: Senior Content Developer
The SCORM Runtime EnvironmentThe SCORM Runtime Environment
• Launch– What can we launch?
• SCO’s
• Assets
![Page 8: The Scorm Runtime Environment An Overview By Chris Poole](https://reader036.vdocument.in/reader036/viewer/2022070416/56815015550346895dbdfd24/html5/thumbnails/8.jpg)
Chris Poole: Senior Content Developer
The SCORM Runtime EnvironmentThe SCORM Runtime Environment
• The LMS must– Launch the SCO in a browser window that is
• a child window or a child frame of the LMS window that exposes the API Adapter as a Document Object Model Object
– Provide the API Adapter
![Page 9: The Scorm Runtime Environment An Overview By Chris Poole](https://reader036.vdocument.in/reader036/viewer/2022070416/56815015550346895dbdfd24/html5/thumbnails/9.jpg)
Chris Poole: Senior Content Developer
The SCORM Runtime EnvironmentThe SCORM Runtime Environment
• The SCO must– Find the API Adapter
• recursively search the parent and/or opener window hierarchy
– Once the API Adapter has been found the SCO may initiate communication with the LMS
![Page 10: The Scorm Runtime Environment An Overview By Chris Poole](https://reader036.vdocument.in/reader036/viewer/2022070416/56815015550346895dbdfd24/html5/thumbnails/10.jpg)
Chris Poole: Senior Content Developer
The SCORM Runtime EnvironmentThe SCORM Runtime Environment
• Assets– The SCORM launch model only requires that an LMS
launch the Asset using the HTTP protocol– Since an Asset does not need to communicate with the
LMS there is no need for an Asset to search for the API Adapter
![Page 11: The Scorm Runtime Environment An Overview By Chris Poole](https://reader036.vdocument.in/reader036/viewer/2022070416/56815015550346895dbdfd24/html5/thumbnails/11.jpg)
Chris Poole: Senior Content Developer
The SCORM Runtime EnvironmentThe SCORM Runtime Environment
• Application Program Interface (API)– Communicates the state of the learning object to the LMS
• Initialised
• Finished
• In Error
![Page 12: The Scorm Runtime Environment An Overview By Chris Poole](https://reader036.vdocument.in/reader036/viewer/2022070416/56815015550346895dbdfd24/html5/thumbnails/12.jpg)
Chris Poole: Senior Content Developer
The SCORM Runtime EnvironmentThe SCORM Runtime Environment
• Why use an API?– Fulfills many of the SCORM’s high-level requirements for
interoperability and reuse– It provides a standardised way for SCOs to communicate
with LMSs– Shields the particular communication implementation from
the content developer
![Page 13: The Scorm Runtime Environment An Overview By Chris Poole](https://reader036.vdocument.in/reader036/viewer/2022070416/56815015550346895dbdfd24/html5/thumbnails/13.jpg)
Chris Poole: Senior Content Developer
The SCORM Runtime EnvironmentThe SCORM Runtime Environment
• What is it?– A set of predefined functions that the SCO can rely on being
available
– A piece of functional software that implements and exposes the functions of the API
![Page 14: The Scorm Runtime Environment An Overview By Chris Poole](https://reader036.vdocument.in/reader036/viewer/2022070416/56815015550346895dbdfd24/html5/thumbnails/14.jpg)
Chris Poole: Senior Content Developer
The SCORM Runtime EnvironmentThe SCORM Runtime Environment
• Why Use it?– An API hides implementation details from SCOs
– promotes reuse and interoperability
– Gives content developers a common public interface to any LMS
![Page 15: The Scorm Runtime Environment An Overview By Chris Poole](https://reader036.vdocument.in/reader036/viewer/2022070416/56815015550346895dbdfd24/html5/thumbnails/15.jpg)
Chris Poole: Senior Content Developer
The SCORM Runtime EnvironmentThe SCORM Runtime Environment
• The API is – a communication mechanism that allows the SCO to communicate
with the LMS
– Once the SCO is launched it can• “get” information from an LMS or• “set” information within an LMS• All communication is initiated by the SCO• No supported mechanism for LMSs to initiate calls to functions
implemented by a SCO
![Page 16: The Scorm Runtime Environment An Overview By Chris Poole](https://reader036.vdocument.in/reader036/viewer/2022070416/56815015550346895dbdfd24/html5/thumbnails/16.jpg)
Chris Poole: Senior Content Developer
The SCORM Runtime EnvironmentThe SCORM Runtime Environment
• The API Adapter object has three functions– Execution State
– State Management
– Data Transfer
![Page 17: The Scorm Runtime Environment An Overview By Chris Poole](https://reader036.vdocument.in/reader036/viewer/2022070416/56815015550346895dbdfd24/html5/thumbnails/17.jpg)
Chris Poole: Senior Content Developer
The SCORM Runtime EnvironmentThe SCORM Runtime Environment
• Execution State– API has two functions to handle execution state
• LMSInitialize(“”)• LMSFinish(“”),
![Page 18: The Scorm Runtime Environment An Overview By Chris Poole](https://reader036.vdocument.in/reader036/viewer/2022070416/56815015550346895dbdfd24/html5/thumbnails/18.jpg)
Chris Poole: Senior Content Developer
The SCORM Runtime EnvironmentThe SCORM Runtime Environment
• State Management– The API has three functions that are used to handle errors
• LMSGetLastError()
• LMSGetErrorString(errornumber)
• LMSGetDiagnostic(parameter).
![Page 19: The Scorm Runtime Environment An Overview By Chris Poole](https://reader036.vdocument.in/reader036/viewer/2022070416/56815015550346895dbdfd24/html5/thumbnails/19.jpg)
Chris Poole: Senior Content Developer
The SCORM Runtime EnvironmentThe SCORM Runtime Environment
• Data Transfer– The remaining API functions transfer data to and from an
LMS• LMSGetValue(data model element)
• LMSSetValue(data model elementvalue)
• LMSCommit("")
![Page 20: The Scorm Runtime Environment An Overview By Chris Poole](https://reader036.vdocument.in/reader036/viewer/2022070416/56815015550346895dbdfd24/html5/thumbnails/20.jpg)
Chris Poole: Senior Content Developer
The SCORM Runtime EnvironmentThe SCORM Runtime Environment
• State Management– The API has three functions that are used to handle errors
• LMSGetLastError()
• LMSGetErrorString(errornumber)
• LMSGetDiagnostic(parameter).
![Page 21: The Scorm Runtime Environment An Overview By Chris Poole](https://reader036.vdocument.in/reader036/viewer/2022070416/56815015550346895dbdfd24/html5/thumbnails/21.jpg)
Chris Poole: Senior Content Developer
The SCORM Runtime EnvironmentThe SCORM Runtime Environment
• The API can be in on of three states– Not Initialised– Initialised– Finished
![Page 22: The Scorm Runtime Environment An Overview By Chris Poole](https://reader036.vdocument.in/reader036/viewer/2022070416/56815015550346895dbdfd24/html5/thumbnails/22.jpg)
Chris Poole: Senior Content Developer
The SCORM Runtime EnvironmentThe SCORM Runtime Environment
• A SCO can behave differently in each of these states
• Not Initialised– A SCO must
• find the API
• Call LMSInitialize(“”)
![Page 23: The Scorm Runtime Environment An Overview By Chris Poole](https://reader036.vdocument.in/reader036/viewer/2022070416/56815015550346895dbdfd24/html5/thumbnails/23.jpg)
Chris Poole: Senior Content Developer
The SCORM Runtime EnvironmentThe SCORM Runtime Environment
• Initialised– A SCO can
• LMSGetValue
• LMSSetValue
• LMSGetLastError
• LMSGetErrorString
• LMSGetDiagnostic
• LMSCommit
• LMSFinish
![Page 24: The Scorm Runtime Environment An Overview By Chris Poole](https://reader036.vdocument.in/reader036/viewer/2022070416/56815015550346895dbdfd24/html5/thumbnails/24.jpg)
Chris Poole: Senior Content Developer
The SCORM Runtime EnvironmentThe SCORM Runtime Environment
• Finished– The SCO can
• LMSGetLastError()
• LMSGetErrorString()
• LMSGetDiagnostic()
![Page 25: The Scorm Runtime Environment An Overview By Chris Poole](https://reader036.vdocument.in/reader036/viewer/2022070416/56815015550346895dbdfd24/html5/thumbnails/25.jpg)
Chris Poole: Senior Content Developer
The SCORM Runtime EnvironmentThe SCORM Runtime Environment
• API General Rules– The function names are all case sensitive, and must always be
expressed exactly as shown
– The function parameters or arguments are case sensitive. All parameters are lower case.
– Each call to an API function, other than the error handling functions, resets the error code.
![Page 26: The Scorm Runtime Environment An Overview By Chris Poole](https://reader036.vdocument.in/reader036/viewer/2022070416/56815015550346895dbdfd24/html5/thumbnails/26.jpg)
Chris Poole: Senior Content Developer
The SCORM Runtime EnvironmentThe SCORM Runtime Environment
• The Data Model– A defined set of information that can be communicated.
What the SCO and LMS should know.• LMS must maintain the state of the data elements across
sessions.
• Learning content must only use the predefined data elements.
![Page 27: The Scorm Runtime Environment An Overview By Chris Poole](https://reader036.vdocument.in/reader036/viewer/2022070416/56815015550346895dbdfd24/html5/thumbnails/27.jpg)
Chris Poole: Senior Content Developer
The SCORM Runtime EnvironmentThe SCORM Runtime Environment
• So which Data Model do we use?– There are a number of data models under development in
various communities and standards organisations– These draft data model specifications attempt to functionally
group information sets to be exchanged between SCOs and LMS environments
![Page 28: The Scorm Runtime Environment An Overview By Chris Poole](https://reader036.vdocument.in/reader036/viewer/2022070416/56815015550346895dbdfd24/html5/thumbnails/28.jpg)
Chris Poole: Senior Content Developer
The SCORM Runtime EnvironmentThe SCORM Runtime Environment
• Examples include: – student profile information– question and test interactions– state information– assessment
• These draft data model sets are still under development and have not been widely implemented or tested
![Page 29: The Scorm Runtime Environment An Overview By Chris Poole](https://reader036.vdocument.in/reader036/viewer/2022070416/56815015550346895dbdfd24/html5/thumbnails/29.jpg)
Chris Poole: Senior Content Developer
The SCORM Runtime EnvironmentThe SCORM Runtime Environment
• The SCORM Run-Time Environment Data Model – derived directly from the AICC CMI Data Model described in
the AICC CMI Guidelines for Interoperability4
![Page 30: The Scorm Runtime Environment An Overview By Chris Poole](https://reader036.vdocument.in/reader036/viewer/2022070416/56815015550346895dbdfd24/html5/thumbnails/30.jpg)
Chris Poole: Senior Content Developer
The SCORM Runtime EnvironmentThe SCORM Runtime Environment
• It is expected that – In the future new data model sets will be adopted and
incorporated into the SCORM– the data model elements defined in this version of the
SCORM will map to new data model sets
![Page 31: The Scorm Runtime Environment An Overview By Chris Poole](https://reader036.vdocument.in/reader036/viewer/2022070416/56815015550346895dbdfd24/html5/thumbnails/31.jpg)
Chris Poole: Senior Content Developer
The SCORM Runtime EnvironmentThe SCORM Runtime Environment
• To identify the data model in use– Names of the elements start with “cmi”
• This signals implementers that these elements are part of the AICC CMI Data Model
– Alternative data models, as developed, will start with a different designation
• (e.g., adl.elementName instead of cmi.elementName)
![Page 32: The Scorm Runtime Environment An Overview By Chris Poole](https://reader036.vdocument.in/reader036/viewer/2022070416/56815015550346895dbdfd24/html5/thumbnails/32.jpg)
Chris Poole: Senior Content Developer
The SCORM Runtime EnvironmentThe SCORM Runtime Environment
• The AICC and IEEE decided to reduce the number of elements in the AICC CMI Data Model– to ease the transition to new data models under
development– many of the elements removed had not actually been
implemented by most implementers– A list of elements removed from the AICC CMI Data Model
that appeared in the SCORM Version 1.0 are summarized in Appendix C
– The SCORM Run-Time Environment Data Model matches the reduced AICC CMI Data Model set.
![Page 33: The Scorm Runtime Environment An Overview By Chris Poole](https://reader036.vdocument.in/reader036/viewer/2022070416/56815015550346895dbdfd24/html5/thumbnails/33.jpg)
Chris Poole: Senior Content Developer
The SCORM Runtime EnvironmentThe SCORM Runtime Environment
• The SCORM Run-Time Environment Data Model General Rules
– The first symbol in the data element name identifies the data model. For example, "cmi" indicates the AICC CMI Data Model. This expands the functionality of the API by allowing the same API to be used with other data models;
![Page 34: The Scorm Runtime Environment An Overview By Chris Poole](https://reader036.vdocument.in/reader036/viewer/2022070416/56815015550346895dbdfd24/html5/thumbnails/34.jpg)
Chris Poole: Senior Content Developer
The SCORM Runtime EnvironmentThe SCORM Runtime Environment
• There are three reserved keywords. These are all lower case and proceeded by an underscore
– _version: keyword used to determine the version of the data model supported by the LMS
– _children: keyword used to determine which data model elements are supported by the LMS
– _count: keyword used to determine the number of elements currently in a list
![Page 35: The Scorm Runtime Environment An Overview By Chris Poole](https://reader036.vdocument.in/reader036/viewer/2022070416/56815015550346895dbdfd24/html5/thumbnails/35.jpg)
Chris Poole: Senior Content Developer
The SCORM Runtime EnvironmentThe SCORM Runtime Environment
• All arrays are 0 based arrays– Items should be placed in the arrays in a sequential manner
• The data model names are case sensitive• The data model is implemented on a SCO by
SCO basis– One SCO cannot access another SCO’s data elements
![Page 36: The Scorm Runtime Environment An Overview By Chris Poole](https://reader036.vdocument.in/reader036/viewer/2022070416/56815015550346895dbdfd24/html5/thumbnails/36.jpg)
Chris Poole: Senior Content Developer
The SCORM Runtime EnvironmentThe SCORM Runtime Environment
• Dreamweaver Course Builder Interactions– Claim to be AICC compliant
• Objects do try to connect to tracking system
• Objects do use cmi data model elements
• Objects do provide good interactive functionality
BUT– Elements are not referenced using the SCORM rules
![Page 37: The Scorm Runtime Environment An Overview By Chris Poole](https://reader036.vdocument.in/reader036/viewer/2022070416/56815015550346895dbdfd24/html5/thumbnails/37.jpg)
Chris Poole: Senior Content Developer
The SCORM Runtime EnvironmentThe SCORM Runtime Environment
• Coding (how DW tracking works) G01.am('segm','Segment: Correctness_',1,0); G01.am('cond','Correct_01','G01.correct == true',0); G01.am('actn','Popup essage','MM_popupMsg(\'Correct\')',''); G01.am('end'); G01.am('cond','Incorrect_','G01.correct == (false)',0); G01.am('actn','Popup
Message','MM_popupMsg(\'Incorrect\')',''); G01.am('end');
![Page 38: The Scorm Runtime Environment An Overview By Chris Poole](https://reader036.vdocument.in/reader036/viewer/2022070416/56815015550346895dbdfd24/html5/thumbnails/38.jpg)
Chris Poole: Senior Content Developer
The SCORM Runtime EnvironmentThe SCORM Runtime Environment
• Dreamweaver SCORM wrapper– Allows for the insertion of code to minimum SCORM
conformancefunction mm_adlOnload(){ if (mm_adl_API != null) { mm_adl_API.LMSInitialize(""); // set status mm_adl_API.LMSSetValue("cmi.core.lesson_status",
"incomplete"); }}
![Page 39: The Scorm Runtime Environment An Overview By Chris Poole](https://reader036.vdocument.in/reader036/viewer/2022070416/56815015550346895dbdfd24/html5/thumbnails/39.jpg)
Chris Poole: Senior Content Developer
The SCORM Runtime EnvironmentThe SCORM Runtime Environment
• Conclusions– Launch
• Defines a common method for launching SCO’s and Assets
– The API • shields developer from LMS implementation• Performs data transfer from SCO to LMS• Performs state management
– The Data Model• Based on AICC cmi data model• Is designed to allow development and inclusion of new data
models
![Page 40: The Scorm Runtime Environment An Overview By Chris Poole](https://reader036.vdocument.in/reader036/viewer/2022070416/56815015550346895dbdfd24/html5/thumbnails/40.jpg)
Chris Poole: Senior Content Developer
The SCORM Runtime EnvironmentThe SCORM Runtime Environment
• Further Research / Development Work– Understand AICC cmi data model elements and how they
can be used– Develop range of templates for
• SCO’s
• Assets
• A range of interactions
– That use the cmi data model elements in the SCORM format