SCORM rd EDITION Sharable Content Object Reference Model

Size: px
Start display at page:

Download "SCORM 2004 3rd EDITION Sharable Content Object Reference Model"

Transcription

1 SCORM rd EDITION Sharable Cntent Object Reference Mdel Run-Time Envirnment NOVEMBER 16, 2006 VERSION Advanced Distributed Learning. All Rights Reserved.

2 This page intentinally left blank.

3 Advanced Distributed Learning (ADL) SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 Available at ADLNet.gv Fr questins and cmments visit Ask The Experts at ADLNet.gv SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 i

4 This page intentinally left blank. ii SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

5 Chief Technical Architect Philip Ddds Technical Editr Schawn E. Thrpp Acknwledgements ADL wuld like t thank the fllwing rganizatins and their members fr their cntinued cmmitment t building interperable e-learning standards and specificatins: Alliance f Remte Instructinal Authring & Distributin Netwrks fr Eurpe (ARIADNE) ( Aviatin Industry CBT Cmmittee (AICC) ( Institute f Electrical and Electrnics Engineers (IEEE) Learning Technlgy Standards Cmmittee (LTSC) ( IMS Glbal Learning Cnsrtium, Inc. ( ADL wuld als like t thank the ADL Cmmunity fr their cmmitment and cntributin t the evlutin f SCORM. SCORM rd Editin dcumentatin suite reprinted with permissin frm IEEE Std IEEE Standard fr Learning Technlgy Data Mdel fr Cntent t Learning Management System Cmmunicatin, Cpyright 2004, by IEEE; IEEE Std IEEE Standard fr Learning Technlgy ECMAScript Applicatin Prgramming Interface fr Cntent t Runtime Services Cmmunicatin, Cpyright 2003, by IEEE; IEEE Std IEEE Standard fr Learning Object Metadata, Cpyright 2002, and IEEE Std IEEE Standard fr Learning Technlgy Extensible Markup Language (XML) Schema Definitin Language Binding fr Learning Object Metadata, Cpyright 2005, by IEEE. The IEEE disclaims any respnsibility r liability resulting frm the placement and use in the described manner. SCORM rd Editin dcumentatin suite reprinted with permissin frm IMS Cntent Packaging v1.1.4 Cpyright 2004, by IMS Glbal Learning Cnsrtium Inc. and IMS Simple Sequencing v1.0 Cpyright 2003, by IMS Glbal Learning Cnsrtium Inc. IMS Glbal Learning Cnsrtium has made n inquiry int whether r nt the implementatin f third party material included in this dcument wuld infringe upn the intellectual prperty rights f any party. Recipients f this dcument are requested t submit, with their cmments, ntificatin f any relevant patent claims r ther intellectual prperty rights f which they may be aware that might be infringed by any implementatin f the dcument set frth in this dcument, and t prvide supprting dcumentatin t IMS. This material is being ffered withut any warranty whatsever, and in particular, any warranty f nn-infringement is expressly disclaimed. Any use f this material shall be made entirely at the implementer s wn risk, and neither the IMS Glbal Learning Cnsrtium, nr any f its members r submitters, shall have any liability whatsever t any implementer r third party fr any damages f any nature whatsever, directly r indirectly, arising frm the use f this material. SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 iii

6 COPYRIGHT Cpyright 2006 Advanced Distributed Learning (ADL). All rights reserved. DISTRIBUTION Permissin t distribute this dcument is granted under the fllwing stipulatins: 1. The use f this dcument, its images and examples is fr nn-cmmercial, educatinal r infrmatinal purpses nly. 2. The dcument, its images and examples are intact, cmplete and unmdified. The cmplete cver page, as well as the COPYRIGHT, DISTRIBUTION and REPRODUCTION sectins, are cnsequently included. REPRODUCTION Permissin t reprduce this dcument cmpletely r in part is granted under the fllwing stipulatins: 1. The reprductin is fr nn-cmmercial, educatinal r infrmatinal purpses nly. 2. Apprpriate citatin f the surce dcument is used as fllws: a. Surce: Advanced Distributed Learning (ADL), Sharable Cntent Object Reference Mdel (SCORM ) rd Editin Run-Time Envirnment Versin 1.0, Fr additinal infrmatin r questins regarding cpyright, distributin and reprductin, cntact: ADL C-Labratry Hub 1901 Nrth Beauregard Street, Suite 600 Alexandria, Virginia USA iv SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

7 This page intentinally left blank. SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 v

8 Table f Cntents SECTION 1 THE SCORM RUN-TIME ENVIRONMENT (RTE) INTRODUCTION TO THE SCORM RUN-TIME ENVIRONMENT (RTE) BOOK What is Cvered in the SCORM RTE Bk? Using the SCORM RTE Bk Relatinship with ther SCORM Bks RUN-TIME ENVIRONMENT OVERVIEW SECTION 2 MANAGING THE RUN-TIME ENVIRONMENT (RTE) RUN-TIME ENVIRONMENT (RTE) MANAGEMENT T Run-Time Envirnment Tempral Mdel Launching Cntent Objects Taking Cntent Objects Away SECTION 3 APPLICATION PROGRAMMING INTERFACE (API) APPLICATION PROGRAMMING INTERFACE (API) API Overview API Methds and Syntax Sessin Methds Data-Transfer Methds Supprt Methds Cmmunicatin Sessin State Mdel API Implementatin Errr Cdes LMS RESPONSIBILITIES API Instance SCO RESPONSIBILITIES Finding the API Instance API Usage Requirements and Guidelines SECTION 4 SCORM RUN-TIME ENVIRONMENT DATA MODEL DATA MODEL OVERVIEW SCORM Run-Time Envirnment Data Mdel Basics SCORM RUN-TIME ENVIRONMENT DATA MODEL Data Mdel Versin Cmments Frm Learner Cmments Frm LMS Cmpletin Status Cmpletin Threshld Credit Entry Exit Interactins Launch Data Learner Id Learner Name Learner Preference Lcatin Maximum Time Allwed Mde Objectives Prgress Measure Scaled Passing Scre vi SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

9 Scre Sessin Time Success Status Suspend Data Time Limit Actin Ttal Time APPENDIX A ACRONYM LISTING... A-1 ACRONYM LISTING... A-3 APPENDIX B REFERENCES...B-1 REFERENCES...B-3 APPENDIX C DOCUMENT REVISION HISTORY...C-1 DOCUMENT REVISION HISTORY...C-3 List f Figures Figure 1.1a: The SCORM Run-Time Envirnment Bk as Part f the SCORM Bkshelf Figure 1.2a: SCORM Cnceptual Run-Time Envirnment Figure 2.1a: Cnceptual Cntent Structure Illustratin Figure a: Single Learner Attempt with ne Learner Sessin Figure b: Learner Attempt Spread Over Several Learner Sessins Figure c: Successive Learner Attempts, Spread Over Several Learner Sessins Figure 3.1.1a: Illustratin f API, API Instance and API Implementatin Figure 3.1.6a: Cnceptual API Instance State Transitins Figure 3.2.1a: Permitted DOM Lcatins f an API Implementatin Figure 3.3.1a: Illustratin f Finding the API Figure 4.1.1a: Illustratin f Using the Data Mdel with the API Figure 4.2.9a: Interactins and Interactin Data SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 vii

10 List f Tables Table: 3.1.1b: Categries f API Methds Table 3.1.7a: Errr Cde Categries and Range Table a: Reserved Prperty Delimiters Table b: Reserved Separatr Delimiters Table 4.2a: SCORM Run-Time Envirnment Data Mdel Elements Summary Table 4.2b: Data Mdel Element Table Explanatin Table 4.2.1a: Dt-ntatin Binding fr the Data Mdel Versin Data Mdel Element Table 4.2.2a: Dt-ntatin Binding fr the Cmments frm Learner Data Mdel Element Table 4.2.3a: Dt-ntatin Binding fr the Cmment frm LMS Data Mdel Element Table 4.2.4a: Dt-ntatin Binding fr the Cmpletin Status Data Mdel Element Table a: GetValue() Evaluatin f Cmpletin Status Table 4.2.5a: Dt-ntatin Binding fr the Cmpletin Threshld Data Mdel Element Table 4.2.6a: Dt-ntatin Binding fr the Credit Data Mdel Element Table 4.2.7a: Dt-ntatin Binding fr the Entry Data Mdel Element Table 4.2.8a: Dt-ntatin Binding fr the Exit Data Mdel Element Table 4.2.9a: Dt-ntatin Binding fr the Interactins Data Mdel Element Table a: Crrect Respnse Pattern Frmat Requirements Table a: Learner Respnse Frmat Requirements Table a: Dt-ntatin Binding fr the Launch Data Data Mdel Element Table a: Dt-ntatin Binding fr the Learner ID Data Mdel Element Table a: Dt-ntatin Binding fr the Learner Name Data Mdel Element Table a: Dt-ntatin Binding fr the Learner Preference Data Mdel Element Table a: Dt-ntatin Binding fr the Lcatin Data Mdel Element Table a: Dt-ntatin Binding fr the Max Time Allwed Data Mdel Element Table a: Dt-ntatin Binding fr the Mde Data Mdel Element Table a: Mde and Credit Values Table a: Scenaris fr String Cllectin Data Table a: Dt-ntatin Binding fr the Objectives Data Mdel Element Table a: Prgress Measure relatinship with Cmpletin Status Table b: Dt-ntatin Binding fr the Prgress Measure Data Mdel Element Table a: Dt-ntatin Binding fr the Scaled Passing Scre Data Mdel Element Table a: Dt-ntatin Binding fr the Scre Data Mdel Element Table a: Dt-ntatin Binding fr the Sessin Time Data Mdel Element Table a: Dt-ntatin Binding fr the Success Status Data Mdel Element Table a: GetValue() Evaluatin f Success Status Table a: Dt-ntatin Binding fr the Suspend Data Data Mdel Element Table a: Dt-ntatin Binding fr the Time Limit Actin Data Mdel Element Table a: Dt-ntatin Binding fr the Ttal Time Data Mdel Element viii SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

11 SECTION 1 The SCORM Run-Time Envirnment (RTE) Frm IEEE Std IEEE Standard fr Learning Technlgy Data Mdel fr Cntent t Learning Management System Cmmunicatin, Cpyright 2004 IEEE; IEEE Std IEEE Standard fr Learning Technlgy ECMAScript Applicatin Prgramming Interface fr Cntent t Runtime Services Cmmunicatin, Cpyright 2003 IEEE; IEEE Std IEEE Standard fr Learning Object Metadata, Cpyright 2002 IEEE; and IEEE Std IEEE Standard fr Learning Technlgy Extensible Markup Language (XML) Schema Definitin Language Binding fr Learning Object Metadata, Cpyright 2005 IEEE. All rights reserved. Frm IMS Cntent Packaging v1.1.4 Cpyright 2004, by IMS Glbal Learning Cnsrtium Inc. and IMS Simple Sequencing v1.0 Cpyright 2003, by IMS Glbal Learning Cnsrtium Inc. All rights reserved. SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-1-1

12 This page intentinally left blank. RTE-1-2 SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

13 1.1. Intrductin t the SCORM Run-Time Envirnment (RTE) Bk The Sharable Cntent Object Reference Mdel (SCORM ) is ften described as a set f bks n a bkshelf. The Run-Time Envirnment (RTE) bk is ne f a set f bks (refer t Figure 1.1a: The Run-Time Envirnment Bk as Part f the SCORM Bkshelf). Mre infrmatin n the ther SCORM bks and their relatinships t ne anther can be fund in the SCORM 2004 Overview. The SCORM RTE bk describes the Learning Management System (LMS) requirements in managing the run-time envirnment (i.e., cntent launch prcess, standardized cmmunicatin between cntent and LMSs and standardized data mdel elements used fr passing infrmatin relevant t the learner s experience with the cntent). The RTE bk als cvers the requirements f Sharable Cntent Objects (SCOs) and their use f a cmmn Applicatin Prgramming Interface (API) and the SCORM Run-Time Envirnment Data Mdel. Figure 1.1a: The SCORM Run-Time Envirnment Bk as Part f the SCORM Bkshelf What is Cvered in the SCORM RTE Bk? There are several key cncepts that are intrduced in the SCORM RTE bk. The bk cvers the essential LMS respnsibilities fr sequencing cntent bjects (SCOs r Assets) during run-time and allwing SCOs t indicate navigatin requests. In additin, guidance is ffered fr prviding navigatin cntrls t learners. General subjects discussed include: RTE Management: Launching f cntent bjects SCOs and Assets, Management f cmmunicatins with a SCO, Run-time envirnment data mdel management SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-1-3

14 Applicatin Prgramming Interface (API): LMS API requirements, SCORM cmmunicatin requirements, cmmunicatin errr cnditins SCORM Run-Time Envirnment Data Mdel: Data mdel management and behavir requirements, Data type requirements Using the SCORM RTE Bk This bk shuld prve useful t LMS, SCO and authring tl vendrs wishing t supprt SCORM in their prducts, and t anyne wishing t understand the cmmunicatins relatinship between cntent and LMSs, such as SCORM cntent develpers. Sectin 1: The SCORM Run-Time Envirnment (RTE) and Sectin 2: Managing the Run-Time Envirnment (RTE) f this bk cver general RTE-related cncepts. These sectins are recmmended reading fr thse seeking an intrductin t the cncepts behind the SCORM RTE and wh may nt wish t delve int its technical details. Others wh may find these sectins useful include thse wishing t learn abut updates t the RTE. Sectin 2.1: Run-Time Envirnment (RTE) Management, fr instance, discusses hw the new Sequencing and Navigatin bk impacts the SCORM RTE. Sectin 3: Applicatin Prgramming Interface (API) is the first sectin prviding technical details abut the RTE. This sectin explains every SCORM API methd and errr message available t cntent develpers, and even prvides sample cde as well as API Usage Requirements and Guidelines. Sectin 4: SCORM Run-Time Envirnment Data Mdel cvers every SCORM data mdel element in detail, which includes a listing f specific LMS and SCO behavir requirements in relatin t a given element Relatinship with ther SCORM Bks While the varius SCORM bks are intended t stand alne, there are areas f verlap r mutual cverage. Fr instance, while this bk fcuses primarily n cmmunicatin between learning cntent and LMSs, it frequently refers t SCOs that cnduct that cmmunicatin. SCOs are discussed in sme detail in the SCORM Cntent Aggregatin Mdel (CAM) bk. Similarly, while the SCORM Sequencing and Navigatin (SN) bk cvers the details f SCORM sequencing and navigatin prcesses, including detailed cverage f hw an LMS evaluates navigatin requests and related activities, this bk deals with cntent delivery, and as such, lightly tuches n hw an LMS determines which piece f cntent t deliver at any given time. RTE-1-4 SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

15 The SCORM Cntent Aggregatin Mdel (CAM) Bk The SCORM CAM bk [18] defines respnsibilities and requirements fr building cntent aggregatins (i.e., the prcess f assembling, labeling and packaging cntent). The bk cntains infrmatin n creating cntent packages, applying metadata t the cmpnents in the cntent package and applying sequencing and navigatin details in the cntext f a cntent package. Several dependencies span frm the SCORM CAM bk t the SCORM RTE bk. Metadata is data abut data. Metadata can be used t describe the different cmpnents f the SCORM cntent mdel (Cntent Aggregatins, Cntent Organizatins, Activities, SCOs and Assets). Metadata, a frm f labeling, enhances search and discvery f these cmpnents. At this time, there are n defined relatinships between metadata and the SCORM Run-Time Envirnment Data Mdel. Fr these reasns, metadata is nt discussed in detail in the SCORM RTE bk. This relatinship may change as SCORM evlves. A Cntent Package, in a general sense, bundles cntent bjects with a cntent structure that is described by a manifest. A SCORM Cntent Package may represent a SCORM curse, lessn, mdule r may simply be a cllectin f related cntent bjects that may be stred in a repsitry. The manifest, an essential part f all SCORM Cntent Packages, is cntained in an Extensible Markup Language (XML)-based file named imsmanifest.xml. This file, similar in many ways t a packaging slip, describes the cntents f the package and may include an ptinal descriptin f the cntent structure. SCORM Cntent Packages may include additinal infrmatin that describes hw an LMS is intended t prcess the Cntent Package and its cntents. Sme f these elements are utilized by the SCORM RTE mdel. Cntent bject launch lcatins and launch parameters are als described as elements in a SCORM Cntent Package. These elements are essential t the launch and delivery f cntent bjects. The SCORM RTE bk details these elements and their effects n launching cntent bjects. Several elements in a SCORM Cntent Package affect initializatin and management f a cntent bject s run-time data mdel. The SCORM RTE bk details these data mdel elements and the required LMS behavirs. Other elements in a SCORM Cntent Package describe initial values fr specific elements f a cntent bject s run-time data mdel. The SCORM RTE bk details these data mdel elements and their initializatin behavir. When a SCORM Cntent Package includes a descriptin f cntent structure, sequencing infrmatin elements may be added t define an intended apprach t sequencing the package s cntent bjects. A SCORM Cntent Package may include User Interface (UI) elements that are intended t prvide guidance t an LMS n hw certain UI navigatin cntrls are t present, enabled r hidden. When a cntent bject is launched, as defined in this bk, these elements may be used, in cnjunctin with sequencing infrmatin (refer t the SCORM SN bk), t present the crrect (at the time f rendering) UI navigatin cntrls (e.g., Cntinue r Previus user interface cntrls). SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-1-5

16 Fr a better understanding f hw all f the elements described abve are specified in a SCORM Cntent Package, refer t the SCORM CAM bk The SCORM Sequencing and Navigatin (SN) Bk The SCORM SN bk is based n the IMS Simple Sequencing (SS) Specificatin [17], which defines a methd fr representing the intended behavir f an authred learning experience such that any SCORM cnfrmant LMS will sequence discrete learning activities cnsistently. The SCORM SN mdel defines hw the IMS SS specificatin is applied and it is extended in a SCORM envirnment. It defines the required behavirs and functinality that SCORM cnfrmant LMSs must implement t prcess sequencing infrmatin at run-time. Mre specifically, it describes the branching and flw f learning activities in terms f an Activity Tree, based n the results f a learner s interactins with launched cntent bjects and an authred sequencing strategy. An Activity Tree is a cnceptual structure f learning activities managed by the LMS fr each learner. The SCORM SN bk describes hw learner- and system-initiated navigatin events can be triggered and prcessed, resulting in the identificatin f learning activities fr delivery. Each learning activity identified fr delivery will have an assciated cntent bject. The SCORM RTE mdel describes hw identified cntent bjects are launched. The sequence f launched cntent bjects, fr a given learner and cntent structure, prvides a learning experience (learner interactin with cntent bjects); the SCORM RTE Mdel describes hw the LMS manages the resulting learning experience and hw that learning experience may affect the Activity Tree. RTE-1-6 SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

17 1.2. Run-Time Envirnment Overview This bk defines the SCORM RTE mdel, which details the requirements fr launching cntent bjects, establishing cmmunicatin between LMSs and SCOs, and managing the tracking infrmatin that can be cmmunicated between SCOs and LMSs. In the cntext f SCORM, cntent bjects are either: SCOs, which cmmunicate during run-time, r Assets, which d nt cmmunicate during run-time. The SCORM RTE bk describes a cmmn cntent bject launch mechanism, a cmmn cmmunicatin mechanism between cntent bjects and LMSs, and a cmmn data mdel fr tracking a learner s experience with cntent bjects. These aspects create an envirnment where several f the ADL -ilities are satisfied. Fr example, cntent bjects that cmmunicate thrugh the standardized cmmunicatin mechanism can be mved frm LMS t LMS withut mdificatin t their cmmunicatin attempts; this increases learning bject prtability and durability, thereby lwering the cst f develpment, installatin and maintenance. The SCORM RTE defines a mdel that picks up at the pint when a specific cntent bject has been identified fr launch. The actual identificatin f the cntent bject t be launched is ut f scpe f this bk and can be fund in the SCORM SN bk [11]. This bk nly deals with the management f the run-time envirnment, which includes: The delivery f a cntent bject t the learner s Web brwser (i.e., launch); If necessary, hw a cntent bject cmmunicates with the LMS; and What infrmatin is tracked fr a cntent bject and hw the LMS manages that infrmatin. The fllwing sectins explain the relatinships between the SCORM RTE bk and the remaining SCORM bks. In additin, frequently used terminlgy will be intrduced at a high level t eliminate the need fr the reader t becme an expert in the entire SCORM t understand this bk. This, hwever, is nt an effective methd t learn and apply SCORM and its cncepts as a whle. It is strngly recmmended that each SCORM bk be read t mre fully understand the purpse, details, relatinships and advantages f all f the SCORM cncepts. SCORM was develped t enable the develpment f cntent bjects that are reusable and interperable acrss multiple LMSs. Fr this t be pssible, there must be a cmmn way t launch and manage cntent bjects, a cmmn mechanism fr cntent bjects t cmmunicate with an LMS and a predefined language r vcabulary frming the basis f the cmmunicatin. As illustrated in Figure 1.2a, these three aspects f the RTE are Launch, API and Data Mdel. SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-1-7

18 Figure 1.2a: SCORM Cnceptual Run-Time Envirnment. The Launch prcess defines a cmmn way fr LMSs t start Web-based cntent bjects. The term cntent bject is used generically here t describe any piece f cntent that can be launched fr a learner. In SCORM, there are tw types f cntent bjects: SCOs and Assets. The launch prcess defines prcedures and respnsibilities fr the establishment f cmmunicatin between the launched cntent bject and the LMS. The cmmunicatin mechanism is standardized with a cmmn API. The API is the cmmunicatin mechanism fr infrming the LMS f the cnceptual cmmunicatin state between a cntent bject and an LMS (e.g., initialized, terminated and/r in an errr cnditin), and is used fr retrieving and string data (e.g., scre, time limits, etc.) between the LMS and the SCO. A Data Mdel is a standard set f data mdel elements used t define the infrmatin being tracked fr a SCO, such as the SCO s cmpletin status r a scre frm an assessment such as a quiz r a test. In its simplest frm, the data mdel defines data mdel elements that bth the LMS and SCO are expected t knw abut. The LMS must maintain the state f SCO s data mdel elements acrss learner sessins, and the SCO must utilize nly these predefined data mdel elements t ensure reuse acrss multiple systems. RTE-1-8 SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

19 SECTION 2 Managing The Run-Time Envirnment (RTE) Frm IEEE Std IEEE Standard fr Learning Technlgy Data Mdel fr Cntent t Learning Management System Cmmunicatin, Cpyright 2004 IEEE; IEEE Std IEEE Standard fr Learning Technlgy ECMAScript Applicatin Prgramming Interface fr Cntent t Runtime Services Cmmunicatin, Cpyright 2003 IEEE; IEEE Std IEEE Standard fr Learning Object Metadata, Cpyright 2002 IEEE; and IEEE Std IEEE Standard fr Learning Technlgy Extensible Markup Language (XML) Schema Definitin Language Binding fr Learning Object Metadata, Cpyright 2005 IEEE. All rights reserved. Frm IMS Cntent Packaging v1.1.4 Cpyright 2004, by IMS Glbal Learning Cnsrtium Inc. and IMS Simple Sequencing v1.0 Cpyright 2003, by IMS Glbal Learning Cnsrtium Inc. All rights reserved. SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-2-1

20 This page intentinally left blank. RTE-2-2 SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

21 2.1. Run-Time Envirnment (RTE) Management While the learner interacts with cntent bjects (the learning experience), the LMS evaluates learner perfrmance and navigatin requests (refer t the SCORM SN bk). When the LMS identifies an activity fr delivery t the learner, the activity has a cntent bject assciated with it. The LMS will launch the cntent bject and present it t the learner. Figure 2.1a depicts hw the cntent structure (rganizatin sectin f a manifest) can be interpreted in a tree (i.e., activity tree). The tree representatin is just a different way f presenting the cntent structure fund in the manifest (refer t the SCORM CAM bk). Figure 2.1a: Cnceptual Cntent Structure Illustratin A cmmn launch mdel addresses delivery f Web-enabled cntent bjects in the frm f SCOs and Assets within the cntext f a learning experience. This launch mdel enables cnsistency f cntent bject launch behavir acrss LMSs withut specifying the underlying LMS implementatin. In this cntext, the term LMS is used t describe any system that prvides the launch f cntent bjects. SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-2-3

22 Run-Time Envirnment Tempral Mdel A learner becmes engaged with the cntent bject nce an activity with the assciated cntent bject (i.e., SCOs r Asset) has been identified fr delivery and the cntent bject has been launched in the learner s brwser-envirnment. Several key aspects need t be defined t aid in the tracking f the learner during the learning experience. The fllwing terms are defined by the Institute f Electrical and Electrnics Engineers (IEEE) Standard fr Learning Technlgy Data Mdel fr Cntent Object Cmmunicatin [1] and are referenced thrughut this dcument: Learner Attempt A tracked effrt by a learner t satisfy the requirements f a learning activity that uses a cntent bject. An attempt may span ne r mre learner sessins and may be suspended between learner sessins [1]. Learner Sessin An uninterrupted perid f time during which a learner is accessing a cntent bject [1]. Cmmunicatin Sessin An active cnnectin between a cntent bject (i.e., SCO) and an applicatin prgramming interface [1]. Lgin Sessin A perid f time during which a learner begins a sessin with a system (lgged n) until the time the learner terminates the sessin with the system (lgged ut). These fur terms are relevant when it cmes t managing the RTE fr a SCO. Fr an Asset, the RTE cnsists f nly independent learner attempts and learner sessins; ne learner attempt with a crrespnding learner sessin fr each launch f the Asset. The learner attempt begins nce an activity has been identified t be delivered (refer t the SCORM SN bk). During the attempt, the learner will be engaged with a cntent bject (either a SCO r Asset). Once the learner becmes engaged (cntent has been launched in the learner s Web brwser), a learner sessin begins. If the launched cntent bject is a SCO, as sn as the SCO initializes cmmunicatin with the LMS, a cmmunicatin sessin begins. A cmmunicatin sessin ends when the SCO terminates cmmunicatin with the LMS. Learner sessins can end leaving the SCO in a suspended state (the learner is nt thrugh with the SCO) r leaving the SCO in a nrmal state (the learner ended the learner attempt by meeting requirements defined by the SCO). Fr a SCO, the learner attempt ends when a learner sessin ends in a nrmal state. Fr an Asset, the learner attempt ends nce the Asset is taken away frm the learner. Figure 2.1.1a depicts the fur terms and their relatinships with ne anther fr a specific SCO. RTE-2-4 SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

23 Figure 2.1.1a: Tempral Mdel Relatinships fr a Specific SCO Managing Learner Attempts and Learner Sessins A learner attempt is assciated with an imprtant LMS requirement defining the management f the set f run-time data mdel elements that the SCO may cmmunicate t the LMS. When a new learner attempt begins fr a SCO, the LMS is required t create and initialize a new set f run-time data fr the SCO t access and use (refer t Sectin 4: SCORM Run-Time Envirnment Data Mdel fr mre details). SCORM des nt specify exactly when the new set f run-time data is created, but all data mdel accesses must appear (t the SCO) as if they are being perfrmed n a new set f run-time data. What the LMS des with the previus attempt s data is utside the scpe f SCORM. The LMS may elect t stre this data fr histrical purpses r fr ther purpses such as reprting, auditing, diagnstic r statistical. The LMS may elect t discard any run-time data cllected during the previus attempt. The LMS is nly required t keep run-time data fr the learner attempt if the learner attempt was suspended. SCORM des nt specify any LMS requirements n the persistence r access t previus learner attempt data. Hwever, if the learner sessin is suspended, hence causing the learner attempt t be incmplete (i.e., suspended), the LMS is respnsible fr ensuring that any run-time data that was set prir t the suspensin is available when the next learner sessin fr the SCO begins; that is, the next time the (suspended) learning activity assciated with the SCO is identified fr delivery, the previus learner attempt is resumed and the run-time data frm the previus learner attempt is prvided in a new learner sessin. The fllwing figures ( a, b and c) illustrate several different relatinships between a learner attempt and learner sessin(s). Figure a illustrates a single learner attempt being accmplished with ne learner sessin. SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-2-5

24 Figure a: Single Learner Attempt with ne Learner Sessin Figure b illustrates a single learner attempt spread ver several learner sessins. These sessins have been suspended and the learner attempt has been subsequently resumed until a learning sessin ends in a nrmal state. Figure b: Learner Attempt Spread Over Several Learner Sessins Figure c illustrates successive learner attempts. Within each f these learner attempts, any number f learner sessins may take place. Figure c: Successive Learner Attempts, Spread Over Several Learner Sessins RTE-2-6 SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

25 Launching Cntent Objects As described in the SCORM CAM [18], the SCORM Cntent Mdel is made up f three cmpnents: Assets SCOs Cntent Organizatins The SCORM CAM bk describes the characteristics f launchable cntent bjects; SCOs and Assets are the defined cntent mdel cmpnents that can be launched. Different launching requirements exist depending n the cntent bject s type. The launching prcess defines the cmmn way fr LMSs t launch cntent bjects t the learner s Web brwser. The prcedures and respnsibilities fr establishing cmmunicatin between the launched cntent bject and the LMS vary depending n the type f the launched cntent bject. It is the respnsibility f the LMS t manage the sequencing between learning activities (refer t the SCORM SN bk) based n well-defined behavirs and the evaluatin f defined sequencing infrmatin applied t activities. The prgressin thrugh learning activities that cmprise a particular learning experience may be sequential, nnsequential, user-directed r adaptive, depending n the sequencing infrmatin defined and the interactins between a learner and cntent bjects. It is the respnsibility f the LMS (r sequencing cmpnent/service theref), based n sme navigatin event, t determine which learning activity t deliver. The LMS may identify the next learning activity in the sequence defined in the cntent structure, identify a user selected learning activity r determine which learning activity t deliver based n learner perfrmance in previusly experienced cntent bjects in an adaptive fashin. A learning activity identified fr delivery will always have an assciated cntent bject. It is the respnsibility f the LMS (r launch cmpnent/service theref) t launch the cntent bject assciated with the identified learning activity. Upn determining the apprpriate cntent bject t launch, the LMS uses the Universal Resurce Lcatr (URL) defined by the cntent bject s launch lcatin, defined in the cntent package (refer t Cde Illustratin 2-1), t navigate t, r replace the currently displayed cntent bject with the cntent bject referenced by the launch lcatin. SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-2-7

26 <manifest> <rganizatins> <rganizatin> <item> <item identifierref="res_1"> </item> <item> </item> <item> </item> </item> </rganizatin> </rganizatins> <resurces> <resurce identifier="res_1" type="webcntent" adlcp:scrmtype="sc" href="lessn1/mdule1/sc1.htm"> </resurce> </resurces> </manifest> Cde Illustratin 2-1: Href used fr Launching It is the respnsibility f the LMS t determine the apprpriate fully qualified URL. The SCORM CAM defines the requirements n hw t build the fully qualified URL. The URL is built based n the fllwing pieces (if they exist in a manifest): xml:base declaratins Launch Parameters (i.e., query cmpnent [6] f a URL) Href declaratins Refer t the SCORM CAM fr mre infrmatin n the prcess invlved in building the abslute URL fr the cntent bject. The LMS may implement the launch in any manner desired r may delegate the actual launch respnsibility t the client r server prtin f the LMS as needed. The actual launch must be accmplished using the Hypertext Transfer Prtcl (HTTP). Ultimately, the cntent bject identified by the launch lcatin in a cntent package is launched and delivered t the client Web brwser Asset Fr cntent bjects that represent Assets, the SCORM launch mdel nly requires that an LMS launch the Asset using the HTTP prtcl. An Asset des nt cmmunicate t the LMS via the API and Data Mdel Sharable Cntent Object (SCO) Fr cntent bjects that represent SCOs, the SCORM launch mdel requires that an LMS launch and track ne SCO at a time (per learner). In ther wrds, the LMS launches and tracks ne SCO at a time (per learner). The LMS must launch the SCO in a Web brwser windw that is a dependent windw (i.e., pp-up windw) r child frame f the LMS windw that expses the API Instance as a Dcument Object Mdel (DOM) bject [8]. The API Instance must be prvided by the LMS. RTE-2-8 SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

27 It is the respnsibility f the SCO t recursively search the parent and/r pener windw hierarchy until the API Instance is fund. Once the API Instance has been fund the SCO may initiate cmmunicatin with the LMS. Sectin 3.3: SCO Respnsibilities defines the requirements f the SCO. The SCO is respnsible fr adhering t all requirements defined by the API Instance functins (refer t Sectin 3.1: Applicatin Prgramming Interface) Taking Cntent Objects Away At the cnclusin f a learner sessin, the cntent bject currently being experienced by the learner will be taken away and replaced with the next cntent bject identified fr delivery (refer t Sectin 2.1.2: Launching Cntent Objects). Typically, cntent bjects are taken away in respnse t a learner r system triggered navigatin event (refer t the SCORM SN bk fr mre details). After the current cntent bject is taken away, the LMS needs t have the mst accurate infrmatin regarding the learner s interactins with the cntent bject t make crrect sequencing evaluatins. If the cntent bject taken away is an Asset, the LMS will make assumptins regarding the learner s interactins. If the cntent bject taken away is a SCO, the SCO may have cmmunicated mre finely grained infrmatin regarding the learner s interactins during the just ended learner sessin. It is the LMSs respnsibility t accunt fr infrmatin cmmunicated by a SCO thrugh its run-time data mdel that may affect successive sequencing evaluatins. The run-time data mdel sectin describes the LMS respnsibilities fr mapping the data mdel elements that may affect sequencing evaluatins t the learning activity assciated with the SCO. T ensure timely use f runtime data in sequencing evaluatins, it is recmmended that LMSs accunt fr run-time data changes n each cmmit data event (refer t Sectin 3: Applicatin Prgramming Interface). In sme cases, the cntent authr des nt want t allw the user t interact with the SCO after it has finished (whatever "finish" means in the cntext f the SCO). In such a case, the fllwing behavirs are allwed, depending n the type f windw in which the SCO was launched (refer t Sectin 3.2: LMS Respnsibilities): 1. If the windw in which the SCO was launched is a tp-level windw (i.e., the windw has n parent windw, but it has an pener) then the SCO may attempt t clse the windw after calling Terminate( ). There is n requirement that the SCO behave this way. It is recmmended that an LMS mnitr the status f the dependent pp-up windw in which it launched the SCO t detect when such an event happens. This will allw an LMS t present the apprpriate implementatin-defined user interface t the learner. 2. If the windw is nt a tp-level windw (i.e., the windw has a parent windw), the SCO may nt act n the parent windw r any windw in the chain f parents. Fr example, a SCO is nt allwed t attempt t clse the tp windw, unless it is its wn windw. SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-2-9

28 In such a case, the recmmended behavir is fr the SCO t display neutral, passive cntent while waiting t be taken away by the LMS. RTE-2-10 SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

29 SECTION 3 Applicatin Prgramming Interface (API) Frm IEEE Std IEEE Standard fr Learning Technlgy Data Mdel fr Cntent t Learning Management System Cmmunicatin, Cpyright 2004 IEEE; IEEE Std IEEE Standard fr Learning Technlgy ECMAScript Applicatin Prgramming Interface fr Cntent t Runtime Services Cmmunicatin, Cpyright 2003 IEEE; IEEE Std IEEE Standard fr Learning Object Metadata, Cpyright 2002 IEEE; and IEEE Std IEEE Standard fr Learning Technlgy Extensible Markup Language (XML) Schema Definitin Language Binding fr Learning Object Metadata, Cpyright 2005 IEEE. All rights reserved. Frm IMS Cntent Packaging v1.1.4 Cpyright 2004, by IMS Glbal Learning Cnsrtium Inc. and IMS Simple Sequencing v1.0 Cpyright 2003, by IMS Glbal Learning Cnsrtium Inc. All rights reserved. SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-3-1

30 This page intentinally left blank. RTE-3-2 SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

31 3.1. Applicatin Prgramming Interface (API) API Overview Early versins f SCORM, up t and including SCORM Versin 1.2, were based n the run-time envirnment functinality defined in the AICC s CMI001 Guidelines fr Interperability [7]. Since then, the Aviatin Industry CBT Cmmittee (AICC) has submitted their wrk t the IEEE Learning Technlgy Standards Cmmittee (LTSC) with the emphasis t standardize varius pieces f the Cmputer Managed Instructin (CMI) Guidelines fr Interperability. SCORM describes the IEEE Standard fr Learning Technlgy - ECMAScript Applicatin Prgramming Interface fr Cntent t Runtime Services Cmmunicatin [2] as used in SCORM. The standard describes the API fr cntent t run-time service (RTS) cmmunicatin. An RTS is defined as the sftware that cntrls the executin and delivery f learning cntent and that may prvide services such as resurce allcatin, scheduling, input-utput cntrl and data management [2]. Frm a SCORM perspective, the term RTS and LMS are terms that culd be used interchangeably. The API enables the cmmunicatin f data between cntent and an RTS typically prvided by an LMS via a cmmn set f API services using the ECMAScript [9] (mre cmmnly knwn as JavaScript) language. In this sectin, the term cntent used by the IEEE standard relates t a SCO (because in SCORM, SCOs are the cntent bjects that cmmunicate t an LMS using the API). The use f a cmmn API fulfills many f SCORM s high-level requirements fr interperability and reuse. It prvides a standardized way fr SCOs t cmmunicate with LMSs, yet it shields the particular cmmunicatin implementatin frm the SCO develper. Hw the LMS-prvided API Instance cmmunicates with the server-side cmpnent f the LMS is utside the scpe f SCORM. This back-channel cmmunicatin can be implemented anyway the LMS vendr likes. There are several terms that are used thrughut SCORM: API, API Implementatin and API Instance. Figure 3.1.1a describes the terms and their relatinships t each ther. SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-3-3

32 Figure 3.1.1a: Illustratin f API, API Instance and API Implementatin In its simplest terms, the API is merely a set f defined functins that the SCO can rely n being available. An API Implementatin is a piece f functinal sftware that implements and expses the functins f the API. Hw an API Implementatin functins shuld nt matter t a SCO develper, as lng as the API Implementatin uses the same public interface and adheres t the semantics f the interface. The LMS need nly prvide an API Implementatin that implements the functinality f the API and expses its public interface t the client SCO. An API Instance is an individual executin cntext and state f an API Implementatin [2]. The API Instance represents the piece f executing sftware that the SCO interacts with during the SCOs peratin. A key aspect f the API is t prvide a cmmunicatin mechanism that allws the SCO t cmmunicate with the LMS. It is assumed that nce the SCO is launched it can then stre and retrieve infrmatin with an LMS. All cmmunicatin between the LMS and the SCO is initiated by the SCO. There is currently n supprted mechanism fr LMSs t initiate calls t functins implemented by a SCO. The methds expsed by the API Implementatin are divided int three categries. Table 3.1.1b defines these categries. RTE-3-4 SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

33 Methd Sessin Methds Data-transfer Methds Supprt Methds Table: 3.1.1b: Categries f API Methds Descriptin Sessin methds are used t mark the beginning and end f a cmmunicatin sessin between a SCO and an LMS thrugh the API Instance. Data-transfer methds are used t exchange data mdel values between a SCO and an LMS thrugh the API Instance. Supprt methds are used fr auxiliary cmmunicatins (e.g., errr handling) between a SCO and an LMS thrugh the API Instance API Methds and Syntax The use f a cmmn API fulfills many f SCORM s high-level requirements fr interperability and reuse. It prvides a standardized way fr SCOs t cmmunicate with LMSs, yet it shields the particular cmmunicatin implementatin frm the SCO develper. This is true if a SCO can find the API Instance in a cnsistent manner. Otherwise, cntent develpers must adapt their cntent t wrk n different LMS vendr s systems. This is ne f the primary reasns why there are restrictins n where, in the Dcument Object Mdel (DOM) hierarchy, the LMS prvides the API Instance and why there is a cmmn name f the API Instance t search. There are sme general requirements dealing with the API that shall be adhered t: All functin names are case sensitive and shall be expressed exactly as shwn. All functin parameters r arguments are case sensitive. Each call t an API functin, ther than the Supprt Methds, sets the errr cde. All parameters and return values are passed as characterstrings and shall be cmpatible with the data types and frmats described by the data mdels that use the API fr cmmunicatin. All values that are type as integers, real numbers and times are t be encded as they wuld be by the ECMAScript-t-string cast cnversin. Several examples thrughut SCORM include return data with qutes ( ). The qutes are nt intended t be part f the characterstring returned. The qutes are used t delineate the value as a characterstring. A key aspect f the API is that it allws the SCO t cmmunicate with the LMS. It is assumed that nce the SCO is launched, it exchanges (i.e., get and set ) infrmatin with an LMS. All cmmunicatin between the API Instance and the SCO is initiated by the SCO. In ther wrds, the cmmunicatin is initiated in ne directin, frm the SCO t the LMS. The SCO always invkes functins n the LMS s API Instance. The LMS des nt invke any functins defined by the SCO. This shuld nt be cnfused with the ntin f the API Instance returning a value. That is dne purely in respnse t the call initiated by the SCO. There are currently n supprted mechanisms fr LMSs t initiate calls t functins implemented by a SCO. SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-3-5

34 All f the API functins are described in detail in the fllwing sectins. Sme functins refer t a data mdel. The data mdel is described in detail in Sectin 4: SCORM Run- Time Envirnment Data Mdel. Errr handling and errr cdes are described in detail in Sectin 3.1.7: API Implementatin Errr Cdes Sessin Methds A SCO uses sessin methds t initiate and terminate data cmmunicatin between itself and an API Instance Initialize Methd Syntax: return_value = Initialize(parameter) Descriptin: The functin is used t initiate the cmmunicatin sessin. It allws the LMS t handle LMS specific initializatin issues. Parameter: ( ) empty characterstring. An empty characterstring shall be passed as a parameter. Return Value: The functin can return ne f tw values. The return value shall be represented as a characterstring. The qutes ( ) are nt part f the characterstring returned, they are used purely t delineate the values returned. true The characterstring true shall be returned if cmmunicatin sessin initializatin, as determined by the LMS, was successful. false The characterstring false shall be returned if cmmunicatin sessin initializatin, as determined by the LMS, was unsuccessful. The API Instance shall set the errr cde t a value specific t the errr encuntered. The SCO may call GetLastErrr() t determine the type f errr. Mre detailed infrmatin pertaining t the errr may be prvided by the LMS thrugh the GetDiagnstic() functin Terminate Methd Syntax: return_value = Terminate(parameter) Descriptin: The functin is used t terminate the cmmunicatin sessin. It is used by the SCO when the SCO has determined that it n lnger needs t cmmunicate with the LMS. The Terminate() functin als shall cause the persistence f any data (i.e., an implicit Cmmit( ) call) set by the SCO since the last successful call t Initialize( ) r Cmmit( ), whichever ccurred mst recently. This guarantees t the SCO that all data set by the SCO has been persisted by the LMS. Once the cmmunicatin sessin has been successfully terminated, the SCO is nly permitted t call the Supprt Methds. RTE-3-6 SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

35 Parameter: ( ) empty characterstring. An empty characterstring shall be passed as a parameter. Return Value: The methd can return ne f tw values. The return value shall be represented as a characterstring. The qutes ( ) are nt part f the characterstring returned, they are used purely t delineate the values returned. true The characterstring true shall be returned if terminatin f the cmmunicatin sessin, as determined by the LMS, was successful. false The characterstring false shall be returned if terminatin f the cmmunicatin sessin, as determined by the LMS, was unsuccessful. The API Instance shall set the errr cde t a value specific t the errr encuntered. The SCO may call GetLastErrr() t determine the type f errr. Mre detailed infrmatin pertaining t the errr may be prvided by the LMS thrugh the GetDiagnstic() functin Data-Transfer Methds A SCO uses data-transfer methds t direct the strage and retrieval f data t be used within the current cmmunicatin sessin. The SCO uses these methds t transfer runtime data t and frm the LMS. Fr example, the LMS can use this data t help determine cmpletin/mastery f activities and make sequencing and navigatin decisins GetValue Methd Syntax: return_value = GetValue(parameter) Descriptin: The functin requests infrmatin frm an LMS. It permits the SCO t request infrmatin frm the LMS t determine amng ther things: Values fr data mdel elements supprted by the LMS. Versin f the data mdel supprted by the LMS. Whether r nt specific data mdel elements are supprted. Parameter: The parameter represents the cmplete identificatin f a data mdel element. Return Value: The methd can return ne f tw values. The return value shall be represented as a characterstring. A characterstring cntaining the value assciated with the parameter If an errr ccurs, then the API Instance shall set an errr cde t a value specific t the errr and return an empty characterstring ( ). The SCO may call GetLastErrr() t determine the type f errr. Mre detailed infrmatin pertaining t the errr may be prvided by the LMS thrugh the GetDiagnstic() functin. SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-3-7

36 The SCO shuld nt rely n an empty characterstring returned frm this functin as being a valid value. The SCO shuld check t see if the errr cde indicates that n errr was encuntered. If this is the case, then the empty characterstring is a valid value returned frm the LMS. If an errr cnditin was encuntered during the prcessing f the request, then this wuld be indicated by an apprpriate errr cde (refer t Sectin 3.1.7: API Implementatin Errr Cdes) SetValue Methd Syntax: return_value = SetValue(parameter_1, parameter_2) Descriptin: The methd is used t request the transfer t the LMS f the value f parameter_2 fr the data element specified as parameter_1. This methd allws the SCO t send infrmatin t the LMS fr strage. The API Instance may be designed t immediately persist data that was set (t the server-side cmpnent) r stre data in a lcal (client-side) cache. Parameter: parameter_1 The cmplete identificatin f a data mdel element t be set. parameter_2 The value t which the cntents f parameter_1 is t be set. The value f parameter_2 shall be a characterstring that shall be cnvertible t the data type defined fr the data mdel element identified in parameter_1. Return Value: The methd can return ne f tw values. The return value shall be represented as a characterstring. The qutes ( ) are nt part f the characterstring returned, they are used purely t delineate the values returned. true The characterstring true shall be returned if the LMS accepts the cntent f parameter_2 t set the value f parameter_1. false The characterstring false shall be returned if the LMS encunters an errr in setting the cntents f parameter_1 with the value f parameter_2. The SCO may call GetLastErrr() t determine the type f errr. Mre detailed infrmatin pertaining t the errr may be prvided by the LMS thrugh the GetDiagnstic() functin Cmmit Methd Syntax: return_value = Cmmit(parameter) Descriptin: The methd requests frwarding t the persistent data stre any data frm the SCO that may have been cached by the API Instance since the last call t Initialize( ) r Cmmit( ), whichever ccurred mst recently. The LMS wuld then set the errr cde t 0 (N Errr encuntered) and return true. If the API Instance des nt cache values, Cmmit( ) shall return true and set the errr cde t 0 (N Errr encuntered) and d n ther prcessing. RTE-3-8 SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

37 Cached data shall nt be mdified because f a call t the cmmit data methd. Fr example, if the SCO sets the value f a data mdel element, then calls the cmmit data methd, and then subsequently gets the value f the same data mdel element, the value returned shall be the value set in the call prir t invking the cmmit data methd. The Cmmit( ) methd can be used as a precautinary mechanism by the SCO. The methd can be used t guarantee that data set by the SetValue() is persisted t reduce the likelihd that data is lst because the cmmunicatin sessin is interrupted, ends abnrmally r therwise terminates prematurely prir t a call t Terminate( ). Parameter: ( ) empty characterstring. An empty characterstring shall be passed as a parameter. Return Value: The methd can return ne f tw values. The return value shall be represented as a characterstring. The qutes ( ) are nt part f the characterstring returned, they are used purely t delineate the values returned. true The characterstring true shall be returned if the data was successfully persisted t a lng-term data stre. false The characterstring false shall be returned if the data was unsuccessfully persisted t a lng-term data stre. The API Instance shall set the errr cde t a value specific t the errr encuntered. The SCO may call GetLastErrr() t determine the type f errr. Mre detailed infrmatin pertaining t the errr may be prvided by the LMS thrugh the GetDiagnstic() functin Supprt Methds Supprt methds exist within the API t allw a SCO t determine errr handling and diagnstic infrmatin. With each API functin described s far, and nly thse described s far, errr cnditins may ccur. When these errr cnditins are encuntered the errr cde is changed t indicate the errr encuntered. The calls t supprt methds d nt affect the errr state. In ther wrds, calling any f the supprt methds shall nt change the current errr cde. These supprt methds allw the SCO t determine if an errr ccurred and hw t handle any errr cnditins encuntered GetLastErrr Methd Syntax: return_value = GetLastErrr() Descriptin: This methd requests the errr cde fr the current errr state f the API Instance. If a SCO calls this methd, the API Instance shall nt alter the current errr state, but simply return the requested infrmatin. A best practice recmmendatin is t check t see if a Sessin Methd r Data-transfer Methd was successful. The GetLastErrr() can be used t return the current errr SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-3-9

38 cde. If an errr was encuntered during the prcessing f a functin, the SCO may take apprpriate steps t alleviate the prblem. Parameter: The API methd shall nt accept any parameters. Return Value: The API Instance shall return the errr cde reflecting the current errr state f the API Instance. The return value shall be a characterstring (cnvertible t an integer in the range frm 0 t inclusive) representing the errr cde f the last errr encuntered GetErrrString Methd Syntax: return_value = GetErrrString(parameter) Descriptin: The GetErrrString() functin can be used t retrieve a textual descriptin f the current errr state. The functin is used by a SCO t request the textual descriptin fr the errr cde specified by the value f the parameter. The API Instance shall be respnsible fr supprting the errr cdes identified in Sectin 3.1.7: API Implementatin Errr Cdes. This call has n effect n the current errr state; it simply returns the requested infrmatin. Parameter: parameter: Represents the characterstring f the errr cde (integer value) crrespnding t an errr message. Return Value: The methd shall return a textual message cntaining a descriptin f the errr cde specified by the value f the parameter. The fllwing requirements shall be adhered t fr all return values: The return value shall be a characterstring that has a maximum length f 255 characters. SCORM makes n requirement n what the text f the characterstring shall cntain. The errr cdes themselves are explicitly and exclusively defined. The textual descriptin fr the errr cde is LMS specific. If the requested errr cde is unknwn by the LMS, an empty characterstring ( ) shall be returned. This is the nly time that an empty characterstring shall be returned GetDiagnstic Methd Syntax: return_value = GetDiagnstic(parameter) Descriptin: The GetDiagnstic() functin exists fr LMS specific use. It allws the LMS t define additinal diagnstic infrmatin thrugh the API Instance. This call has n effect n the current errr state; it simply returns the requested infrmatin. RTE-3-10 SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

39 Parameter: parameter: An implementer specific value fr diagnstics. The maximum length f the parameter value shall be 255 characters. The value f the parameter may be an errr cde, but is nt limited t just errr cdes. Return Value: The API Instance shall return a characterstring representing the diagnstic infrmatin. The maximum length f the characterstring returned shall be 255 characters. If the parameter is unknwn by the LMS, an empty characterstring ( ) shall be returned. If the parameter passed int the GetDiagnstic() functin is an empty characterstring ( ), then it is recmmended that the functin return a characterstring representing diagnstic infrmatin abut the last errr encuntered Cmmunicatin Sessin State Mdel The IEEE defines a cnceptual state mdel that the API Instance transitins thrugh during its existence. Figure 3.1.6a, describes the states that an API Instance transitins thrugh fr a given SCO at run-time. The states f the API Instance specify the transitins f the API Instance t specific events. Each f the defined API Instance states defines which functins a SCO may invke. The states encuntered by the API Instance are defined as: Nt Initialized Running Terminated An implementatin is nt required t implement a state mdel. The state mdel is just a cnceptual mdel used t help illustrate the intended behavir f the API functins during a typical cmmunicatin sessin. SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-3-11

40 Figure 3.1.6a: Cnceptual API Instance State Transitins Nt Initialized: This describes the cnceptual cmmunicatin state between the actual launching f the SCO and befre the Initialize( ) API methd is successfully invked by the SCO. During this state, it is the SCO s respnsibility t find the API Instance prvided by the LMS. The SCO is permitted t call the fllwing set f API functins: Initialize() GetLastErrr() GetErrrString() GetDiagnstic() Running: This describes the cnceptual cmmunicatin state nce the Initialize( ) API methd is successfully invked by the SCO and befre the Terminate( ) API methd call is successfully invked by the SCO. The SCO is permitted t call the fllwing set f API functins: Terminate() GetValue() SetValue() Cmmit() GetLastErrr() GetErrrString() GetDiagnstic() Terminated: This describes the cnceptual cmmunicatin state nce the Terminate( ) API methd is successfully invked. The SCO is permitted t call the fllwing set f API functins: GetLastErrr() GetErrrString() RTE-3-12 SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

41 GetDiagnstic() API Implementatin Errr Cdes All errr cdes are required t be integers represented as characterstrings. The IEEE standard [2] requires that all errr cdes be in the range f 0 t inclusive. The standard has als reserved the range f 0 t 999 inclusive fr future editins f the standard. Additinal errr cdes may be defined by implementatins and prfiles in the range f 1000 t SCORM des nt define any additinal errr cdes t be used fr errr cnditins. This des nt preclude implementatins fr defining errr cdes and using thse cdes in implementatin-defined practices. SCORM nly requires the use f the given errr cde in the defined errr cnditins (defined in this sectin). Every API functin, except fr Supprt Methds: GetLastErrr(), GetErrrString() and GetDiagnstic(), sets the currently maintained errr cde f the API Instance. The SCO may invke the GetLastErrr() functin t assess whether r nt the mst recent API functin call was successful, and if it was nt successful, what went wrng. The GetLastErrr() functin returns an errr cde that can be used t determine the type f errr raised, if any, by the mst recent API functin call. The IEEE has defined the fllwing categries and numeric ranges fr the varius errr cdes: Table 3.1.7a: Errr Cde Categries and Range Errr Cde Categry Errr Cde Range N Errr 0 General Errrs Syntax Errrs RTS Errrs Data Mdel Errrs Implementatin-defined Errrs Successful API Functin Invcatin If, during the executin f an API functin, n errrs are encuntered, the LMS shall set the API Instance s errr cde t 0. This indicates that the API functin invcatin encuntered n errrs while prcessing the request. If after an API functin call, the errr cde is 0, ne can assume the fllwing based n the actual functin called: Initialize( ): The API Instance has successfully perfrmed the apprpriate LMS specific cmmunicatin sessin initializatin prcedures. The cmmunicatin sessin has been established and the API Instance is ready fr ther functin calls. The cnceptual cmmunicatin state f the API Instance is nw Running. SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-3-13

42 GetValue(parameter): The requested data mdel element s value is returned. The value frm the request shall be cnsidered reliable and accurate accrding t the LMS. The cnceptual cmmunicatin state has nt changed. SetValue(parameter_1, parameter_2): The value passed in as parameter_2 f the SetValue() was successfully set (stred as the value assciated with the data mdel element described by parameter_1) by the LMS. A request t GetValue() fr the data mdel element used in the SetValue(), parameter_1, shall return the value that was stred by the LMS. The cnceptual cmmunicatin state has nt changed. Cmmit( ): Any values that were set (using the SetValue() methd call) since Initialize( ) r the last Cmmit( ) methd call, have been successfully frwarded t the persistent data stre. This methd guarantees that the data will be available during subsequent learner sessins within the same learner attempt with the SCO. The cnceptual cmmunicatin state has nt changed. GetLastErrr(), GetErrrString() and GetDiagnstic(): These API methds d nt affect r alter the errr cde fr the API Instance. Terminate( ): The API Instance has successfully perfrmed the apprpriate LMS specific cmmunicatin sessin terminatin prcedures. The cmmunicatin sessin has ended. The cnceptual cmmunicatin state f the API Instance is nw Terminated General Errr Cdes The General Errr cdes describe errrs that are encuntered during the prcessing f API methd requests. These errrs are used based n several cnditins: Current state f the cnceptual cmmunicatin state mdel Type f API request being prcessed by the API Instance General Exceptin (101) The General Exceptin errr cnditin indicates that an exceptin ccurred and n ther specific errr cde exists. The API Instance shall use the General Exceptin errr cde in scenaris where a mre specific errr cde is nt defined General Initializatin Failure (102) The General Initializatin Failure errr cnditin indicates that a failure ccurred while attempting t initialize the cmmunicatin sessin. The General Initializatin Failure errr cde shall be used by an API Instance when the cmmunicatin sessin initializatin prcess fails while the cnceptual cmmunicatin state is Nt Initialized and n ther specific errr cde exists. The API Instance shall set the errr cde t 102 and return false t the SCO. The cnceptual cmmunicatin state shall remain unchanged ( Nt Initialized ). RTE-3-14 SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

43 Already Initialized (103) The Already Initialized errr cnditin indicates that the SCO attempted t initialize the cmmunicatin sessin after the cmmunicatin sessin has already been initialized successfully. The Already Initialized errr cde shall be used by an API Instance when the SCO attempts t initialize the cmmunicatin sessin ( Initialize( ) ) mre than nce during that cmmunicatin sessin. This errr cde shall be used when the cnceptual cmmunicatin state is Running and the request is made t initialize the cmmunicatin sessin. In this scenari, the API Instance shall set the errr cde t 103 and return a false t the SCO. The cnceptual cmmunicatin state shall remain unchanged ( Running ) Cntent Instance Terminated (104) The Cntent Instance Terminated errr cnditin indicates that the cmmunicatin sessin has already terminated. This errr cnditin ccurs when a SCO attempts t invke the Initialize( ) methd after a successful call t the Terminate( ) methd has ccurred. This errr cde shall be used when the cnceptual cmmunicatin state is Terminated and the request t initialize the cmmunicatin sessin ccurs. In this scenari, the API Instance shall set the errr cde t 104 and return a false t the SCO. The cnceptual cmmunicatin state shall remain unchanged ( Terminated ) General Terminatin Failure (111) The General Terminatin Failure errr cnditin indicates a failure ccurred while attempting t terminate the cmmunicatin sessin. The General Terminatin Failure errr cde shall be used by an API Instance when the cmmunicatin sessin terminatin prcess fails while the cnceptual cmmunicatin state is Running and n ther errr infrmatin is available (i.e., a mre specific cmmunicatin sessin terminatin errr cnditin). The API Instance shall set the errr cde t 111 and return false t the SCO. The cnceptual cmmunicatin state shall remain unchanged ( Running ) Terminatin Befre Initializatin (112) The Terminatin Befre Initializatin errr cnditin indicates that the SCO attempted t terminate the cmmunicatin sessin befre the cmmunicatin sessin was ever initialized (cnceptual cmmunicatin state is Nt Initialized ). The Terminatin Befre Initializatin errr cde shall be used by an API Instance when the SCO tries t invke Terminate( ) prir t a successful call t Initialize( ). The API Instance shall set the errr cde t 112 and return false t the SCO. The cnceptual cmmunicatin state shall remain unchanged ( Nt Initialized ) Terminatin After Terminatin (113) The Terminatin After Terminatin errr cnditin indicates that the SCO attempted t terminate the cmmunicatin sessin after the cmmunicatin sessin has already been terminated successfully. The Terminatin After Terminatin errr cde shall be used by an API Instance when the SCO has invked the Terminatin( ) methd after a SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-3-15

44 previus Terminatin( ) methd has already been prcessed successfully. The API Instance shall set the errr cde t 113 and return false t the SCO. The cnceptual cmmunicatin state shall remain unchanged ( Terminated ) Retrieve Data Befre Initializatin (122) The Retrieve Data Befre Initializatin errr cnditin indicates that the SCO attempted t retrieve data prir t a successful cmmunicatin sessin initializatin. The Retrieve Data Befre Initializatin errr cde shall be used by an API Instance when the SCO attempts t invke the GetValue() methd prir t a successful call t the Initialize( ) methd. The API Instance shall set the errr cde t 122 and return an empty characterstring ( ). The cnceptual cmmunicatin state shall remain unchanged ( Nt Initialized ) Retrieve Data After Terminatin (123) The Retrieve Data After Terminatin errr cnditin indicates that the SCO attempted t retrieve data after the cmmunicatin sessin has successfully terminated. The Retrieve Data After Terminatin errr cde shall be used by an API Instance when the SCO attempts t invke the GetValue() methd after a successful call t the Terminate( ) methd. The API Instance shall set the errr cde t 123 and return an empty characterstring ( ). The cnceptual cmmunicatin state shall remain unchanged ( Terminated ) Stre Data Befre Initializatin (132) The Stre Data Befre Initializatin errr cnditin indicates that the SCO attempted t stre data prir t a successful cmmunicatin sessin initializatin. The Stre Data Befre Initializatin errr cde shall be used by an API Instance when the SCO attempts t invke the SetValue() methd prir t a successful call t the Initialize( ) methd. The API Instance shall set the errr cde t 132 and return false. The cnceptual cmmunicatin state shall remain unchanged ( Nt Initialized ) Stre Data After Terminatin (133) The Stre Data After Terminatin errr cnditin indicates that the SCO attempted t stre data after the cmmunicatin sessin has successfully terminated. The Stre Data After Terminatin errr cde shall be used by an API Instance when the SCO attempts t invke the SetValue() methd after a successful call t the Terminate( ) methd. The API Instance shall set the errr cde t 133 and return false. The cnceptual cmmunicatin state shall remain unchanged ( Terminated ) Cmmit Befre Initializatin (142) The Cmmit Befre Initializatin errr cnditin indicates that the SCO attempted t cmmit data t persistent strage prir t a successful cmmunicatin sessin initializatin. The Cmmit Befre Initializatin errr cde shall be used by an API Instance when the SCO attempts t invke the Cmmit( ) methd prir t a successful RTE-3-16 SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

45 call t the Initialize( ) methd. The API Instance shall set the errr cde t 142 and return false. The cnceptual cmmunicatin state shall remain unchanged ( Nt Initialized ) Cmmit After Terminatin (143) The Cmmit After Terminatin errr cnditin indicates that the SCO attempted t cmmit data t persistent strage after the cmmunicatin sessin has successfully terminated. The Cmmit After Terminatin errr cde shall be used by an API Instance when the SCO attempts t invke the Cmmit( ) methd after a successful call t the Terminate( ) methd. The API Instance shall set the errr cde t 143 and return false. The cnceptual cmmunicatin state shall remain unchanged ( Terminated ) Syntax Errr Cdes The Syntax Errr cdes describe errr cnditins that are relevant t the syntax f the API methds. At this time, the IEEE standard has defined ne errr cde dealing with syntax specific errr cnditins. The fllwing sectin describes the defined errr cnditin and its usage scenaris General Argument Errr (201) The General Argument Errr errr cnditin indicates that an attempt was made t pass an invalid argument t ne f the API functins, and n ther defined errr cnditin can be used t describe the errr. Data Mdel errrs shuld be used t specify a mre specific errr cnditin, if ne ccurs. If n ther errr cde can be used t describe the errr cnditin, the API Instance shuld use errr cde 201. One scenari where this errr cde shall be used ccurs when parameters are passed t the fllwing API calls: Initialize( ) Terminate( ) Cmmit( ) All three f these API calls have a restrictin that an empty characterstring parameter is passed t it. If a SCO passes any ther argument t these functin calls the API Instance shall return false and set the errr cde t 201. The cnceptual cmmunicatin state shall remain unchanged RTS Errr Cdes The RTS Errr cdes describe errr cnditins that are relevant t an implementatin f an RTS. At this time, the IEEE standard has defined three errr cdes dealing with runtime specific errr cnditins. The fllwing sectins describe these defined errr cnditins and their usage scenaris. SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-3-17

46 General Get Failure (301) The General Get Failure errr cnditin indicates a general get failure has ccurred and n ther infrmatin n the errr is available (mre specific errr cde). This errr cnditin acts as a catch all cnditin fr prcessing a GetValue() request. The General Get Failure errr cde shall be used by an API Instance when a retrieve data event (GetValue()) errr has ccurred and the API Instance cannt determine a mre specific errr cnditin t reprt (mre specific errr cde). The API Instance shall set the errr cde t 301 and return an empty characterstring ( ). This errr cnditin can nly happen if the cnceptual cmmunicatin state is Running. If this errr cnditin is encuntered, the cnceptual cmmunicatin state shall remain unchanged ( Running ) General Set Failure (351) The General Set Failure errr cnditin indicates a general set failure has ccurred and n ther infrmatin n the errr is available (mre specific errr cde). This errr cnditin acts as a catch-all cnditin fr prcessing a SetValue() request. The General Set Failure errr cde shall be used by an API Instance when a stre data event (SetValue()) errr has ccurred and the API Instance cannt determine a mre specific errr cnditin t reprt (mre specific errr cde). The API Instance shall set the errr cde t 351 and return false. This errr cnditin can nly happen if the cnceptual cmmunicatin state is Running. If this errr cnditin is encuntered, the cnceptual cmmunicatin state shall remain unchanged ( Running ) General Cmmit Failure (391) The General Cmmit Failure errr cnditin indicates a general cmmit failure has ccurred and n ther infrmatin n the errr is available (mre specific errr cde). This errr cnditin acts as a catch all cnditin. The General Cmmit Failure errr cde shall be used by an API Instance when a cmmit data event (Cmmit( )) errr has ccurred and the API Instance cannt determine a mre specific errr cnditin t reprt (mre specific errr cde). The API Instance shall set the errr cde t 391 and return false. This errr cnditin can nly happen if the cnceptual cmmunicatin state is Running. If this errr cnditin is encuntered, the cnceptual cmmunicatin state shall remain unchanged ( Running ) Data Mdel Errr Cdes One f the features f the API is t allw cntent t cmmunicate data t and retrieve data frm an LMS. During the prcessing f such events, certain errr cnditins may be encuntered. The IEEE standard has defined several errr cnditins that describe general-purpse data mdel errrs. The fllwing sectins describe these defined errr cnditins and their usage scenaris. RTE-3-18 SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

47 Undefined Data Mdel Element (401) The Undefined Data Mdel Element errr cnditin indicates that: The data mdel element passed as the parameter in the GetValue(parameter) is undefined and nt recgnized by the API Instance. This cnditin indicates that an attempt was made t use a data mdel element that is nt recgnized by the API Instance. The data mdel element passed as parameter_1 in the SetValue(parameter_1, parameter_2) is undefined and nt recgnized by the API Instance. This cnditin indicates that an attempt was made t use a data mdel element that is nt recgnized by the API Instance. An unrecgnized r undefined data mdel element is any element that is nt frmally defined by the SCORM Run-Time Envirnment Data Mdel r an implementatindefined extensin element that is nt recgnized by the API Instance. The Undefined Data Mdel Element errr cde shall be used by an API Instance when ne f the tw scenaris described abve is encuntered. The API Instance shall: Fr a GetValue() request: set the errr cde t 401 and return an empty characterstring( ). This errr cnditin can nly happen if the cnceptual cmmunicatin state is Running. If this errr cnditin is encuntered, the cnceptual cmmunicatin state shall remain unchanged ( Running ). Fr a SetValue() request: set the errr cde t 401 and return false. This errr cnditin can nly happen if the cnceptual cmmunicatin state is Running. If this errr cnditin is encuntered, the cnceptual cmmunicatin state shall remain unchanged ( Running ) Unimplemented Data Mdel Element (402) The Unimplemented Data Mdel Element errr cnditin indicates that: The data mdel element passed as parameter in the GetValue(parameter) is recgnized by the API Instance but is nt implemented. The data mdel element passed as parameter_1 in the SetValue(parameter_1, parameter_2) is recgnized by the API Instance but is nt implemented. All f the SCORM Run-Time Envirnment Data Mdel elements are required t be implemented by an LMS. This errr cnditin shall nt ccur when accessing SCORM Run-Time Envirnment Data Mdel elements, but may ccur when accessing extensin data mdel elements Data Mdel Element Value Nt Initialized (403) The Data Mdel Element Value Nt Initialized errr cnditin indicates that a SCO attempted t retrieve a data mdel value that has never been initialized. A data mdel element may be initialized in several manners: SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-3-19

48 By the LMS: Sme data mdel elements are initialized by values defined in a Cntent Package. Sme data mdel elements may be initialized by sme learner registratin prcess r learner prfiling requirements defined by the LMS. By the SCO: Sme data mdel elements are initialized by the SCO. The Data Mdel Element Value Nt Initialized errr cde shall be used by an API Instance when the SCO attempts t invke the GetValue() n an element that has n initial value. The API Instance shall set the errr cde t 403 and return an empty characterstring ( ). The empty characterstring ( ) value may be a valid value fr a data mdel element request. Therefre, the value returned may nt be reliable and the SCO shuld check the errr cde t determine whether the value is reliable. If the errr cde was set t 0 N Errr, then this indicates that the empty characterstring was the current value, stred by the LMS, fr the data mdel element requested. This errr cnditin can nly happen if the cnceptual cmmunicatin state is Running. If this errr cnditin is encuntered, the cnceptual cmmunicatin state shall remain unchanged ( Running ) Data Mdel Element Is Read Only (404) The Data Mdel Element Is Read Only errr cnditin indicates that a SCO attempted t stre a data mdel value fr an element that is implemented as read-nly. This errr cnditin may be encuntered with the use f the SCORM Run-Time Envirnment Data Mdel, SCORM Navigatin Data Mdel r any ther data mdel used in a SCORM envirnment (extensin data mdel). The Data Mdel Element Is Read Only errr cde shall be used by an API Instance when the SCO attempts t invke the SetValue() n a read-nly data mdel element. The API Instance shall set the errr cde t 404 and return false. This errr cnditin can nly happen if the cnceptual cmmunicatin state is Running. If this errr cnditin is encuntered, the cnceptual cmmunicatin state shall remain unchanged ( Running ) Data Mdel Element Is Write Only (405) The Data Mdel Element Is Write Only errr cnditin indicates that a SCO attempted t retrieve a data mdel value fr an element that is implemented as write-nly. This errr cnditin may be encuntered with the use f the SCORM Run-Time Envirnment Data Mdel, SCORM Navigatin Data Mdel r any ther data mdel used in a SCORM envirnment (extensin data mdel). The Data Mdel Element Is Write Only errr cde shall be used by an API Instance when the SCO attempts t invke the GetValue() n a write-nly data mdel element. The API Instance shall set the errr cde t 405 and return an empty characterstring ( ). This errr cnditin can nly happen if the cnceptual cmmunicatin state is Running. If this errr cnditin is encuntered, the cnceptual cmmunicatin state shall remain unchanged ( Running ) Data Mdel Element Type Mismatch (406) The Data Mdel Element Type Mismatch errr cnditin indicates that a SCO attempted t stre a data mdel value fr a data mdel element and the value was nt f the crrect data type. This errr cnditin may be encuntered with the use f the SCORM Run- RTE-3-20 SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

49 Time Envirnment Data Mdel, SCORM Navigatin Data Mdel r any ther data mdel used in a SCORM envirnment (extensin data mdel). The Data Mdel Element Type Mismatch errr cde shall be used by an API Instance if the value passed as parameter_2 in a SetValue() des nt evaluate t a valid type r defined frmat fr the data mdel element indicated in parameter_1 f a SetValue(). The API Instance shall set the errr cde t 406 and return false. This errr cnditin can nly happen if the cnceptual cmmunicatin state is Running. If this errr cnditin is encuntered, the cnceptual cmmunicatin state shall remain unchanged ( Running ) Data Mdel Element Value Out Of Range (407) The Data Mdel Element Value Out Of Range errr cnditin indicates that a SCO attempted t stre a data mdel value fr an element, hwever the value was nt in the specified range f values fr the element. This errr cnditin may be encuntered with the use f the SCORM Run-Time Envirnment Data Mdel, SCORM Navigatin Data Mdel r any ther data mdel used in a SCORM envirnment (extensin data mdel). The Data Mdel Element Value Out Of Range errr cde shall be used by an API Instance if the value passed as parameter_2 in a SetValue() is ut f range fr the data mdel element indicated in parameter_1 f a SetValue(). The API Instance shall set the errr cde t 407 and return false. This errr cnditin can nly happen if the cnceptual cmmunicatin state is Running. If this errr cnditin is encuntered, the cnceptual cmmunicatin state shall remain unchanged ( Running ) Data Mdel Dependency Nt Established (408) The Data Mdel Dependency Nt Established errr cnditin shall be used when relevant dependencies are nt in place. A dependency represents ne r mre key values in a data mdel that shall have been set prir t ther data mdel elements. The dependencies data mdel elements fr the SCORM Run-Time Envirnment Data Mdel are described in Sectin 4: SCORM Run-Time Envirnment Data Mdel. This errr cnditin is described by the IEEE standard as being used fr situatins that may arise during a GetValue() r SetValue() request, hwever, SCORM des nt define any situatins fr use f this errr cde during the prcessing f GetValue() requests. Fr SetValue() requests, sme data mdel elements have requirements that certain ther data mdel elements be set prir t ther data mdel elements. By setting elements in a specific rder, this maintains the integrity f a dependency being met. If ne f these dependency requirements have nt been established the LMS shall set the API Instance errr cde t 408 and return false. This errr cnditin can nly happen if the cnceptual cmmunicatin state is Running. If this errr cnditin is encuntered, the cnceptual cmmunicatin state shall remain unchanged ( Running ) SCORM Extensin Errr Cnditins Due t the nature f the SCORM Run-Time Envirnment Data Mdel elements and the binding f the data mdel elements (dt-ntatin), SCORM defines extensin errr cnditins t cver errr scenaris that may ccur within a SCORM envirnment. There SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-3-21

50 is n mechanism, defined by the IEEE standard, t permit extensin errr cdes t be set by an API Instance. In the fllwing sectins, SCORM defines a set f errr cnditins. If these errr cnditins are encuntered, API Instance shall behave as fllws: Set the errr cde t 301 (fr GetValue() failures) r 351 (fr SetValue() failures), and return false. If requested by a SCO t return mre infrmatin abut the errr encuntered (GetDiagnstic()), it is recmmended that the LMS return infrmatin detailing the errr cnditins that fllw Data Mdel Element Des Nt Have Children The Data Mdel Element Des Nt Have Children errr cnditin indicates that a SCO attempted t retrieve a list f supprted data mdel elements (children) fr a data mdel element that des nt have children (refer t the SCORM Run-Time Envirnment Data Mdel fr infrmatin regarding the data mdel elements). The Data Mdel Element Des Nt Have Children errr cnditin shuld be used by an API Instance if the value passed as parameter in GetValue() is a request fr a listing f child elements fr a data mdel element that des nt have any children (refer t the SCORM Run-Time Envirnment Data Mdel fr mre infrmatin n prcessing f children requests). The API Instance shall set the errr cde t 301 and return an empty characterstring ( ). This errr cnditin can nly happen if the cnceptual cmmunicatin state is Running. If this errr cnditin is encuntered, the cnceptual cmmunicatin state shall remain unchanged ( Running ). Example: GetValue( cmi.learner_name._children ); Fr this example the API Instance shall set the errr cde t 301 and return an empty characterstring ( ). The learner_name element is cnsidered a child element and des nt have any children. If the SCO requests further infrmatin abut the errr (by invking GetDiagnstic()), it is recmmended that the LMS return a characterstring indicating that the data mdel element des nt have children, such as, The data mdel element des nt have children Data Mdel Element Cannt Have Cunt The Data Mdel Element Cannt Have Cunt errr cnditin indicates that a SCO attempted t retrieve the number f entries (cunt) currently stred in a data mdel element that is nt an array (refer t the SCORM Run-Time Envirnment Data Mdel fr data mdel elements that are arrays and array handling). The Data Mdel Element Cannt Have Cunt errr cnditin shall be used by an API Instance if the value passed as parameter in a GetValue() is a request fr the number f entries (cunt) currently stred in a data mdel element that is nt an array. The API Instance shuld set the errr cde t 301 and return an empty characterstring ( ). This errr cnditin can nly happen if the cnceptual cmmunicatin state is Running. If this errr cnditin is encuntered, the cnceptual cmmunicatin state shall remain unchanged ( Running ). RTE-3-22 SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

51 Example: GetValue( cmi.learner_name._cunt ); Fr this example the API Instance shall set the errr cde t 301 and return an empty characterstring ( ). The learner_name element is nt a cllectin and therefre des nt have a cunt. If the SCO requests further infrmatin abut the errr (by invking GetDiagnstic()), it is recmmended that the LMS return a characterstring indicating that the data mdel element is nt an array and des nt have a cunt, such as, The data mdel element is nt a cllectin and therefre des nt have a cunt Data Mdel Element Cllectin Set Out Of Order The Data Mdel Element Cllectin Set Out Of Order errr cnditin indicates that a SCO attempted t set a value in an array where the index number used (n) is nt the next available psitin in the array. All cllectins (refer t Sectin : Handling Cllectins) are required t be packed arrays (n skipped psitins). When a new value is added t the array it must be in the next available psitin. The SCO can determine this psitin by using the _cunt keywrd data mdel element (refer t Sectin : Keywrd Data Mdel Elements). The Data Mdel Element Cllectin Set Out Of Order errr cnditin shuld be used by an API Instance if the value fr the index psitin (n) passed as parameter_1 in a SetValue(), fr a new entry in the array, is nt the next available psitin in the array. The API Instance shall set the errr cde t 351 and return false. This errr cnditin can nly happen if the cnceptual cmmunicatin state is Running. If this errr cnditin is encuntered, the cnceptual cmmunicatin state shall remain unchanged ( Running ). Example: SetValue( cmi.bjectives.0.id, identifier_1 ); SetValue( cmi.bjectives.2.id, identifier_2 ); Fr this example the API Instance shall set the errr cde t 351 and return false. The secnd request is attempting t set the bjective identifier in psitin 2, prir t psitin 1, in the array. If the SCO requests further infrmatin abut the errr (by invking GetDiagnstic()), it is recmmended that the LMS return a characterstring indicating that the data mdel element cllectin was set ut f rder, such as, The data mdel element cllectin was attempted t be set ut f rder Data Mdel Cllectin Element Request Out Of Range The Data Mdel Cllectin Element Request Out Of Range errr cnditin indicates that a SCO attempted t retrieve a data mdel element fund in a cllectin and the index value prvided is larger than what is currently being maintained by the LMS. All cllectins (refer t Sectin : Handling Cllectins) are required t be packed arrays (n skipped psitins). The SCO can determine the current number f data mdel SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-3-23

52 element values being stred by using the _cunt keywrd data mdel element (refer t Sectin : Keywrd Data Mdel Elements). If the current data mdel cllectin nly cntains fur values, this implies that the index psitins that are accessible by the SCO are 0, 1, 2, and 3. If the SCO attempts t retrieve a value frm a psitin with an index (n) greater than 3, the API Instance shall set the errr cde t 301 and return an empty characterstring. This errr cnditin can nly happen if the cnceptual cmmunicatin state is Running. If this errr cnditin is encuntered, the cnceptual cmmunicatin state shall remain unchanged ( Running ). If the SCO requests further infrmatin abut the errr (by invking GetDiagnstic()), it is recmmended that the LMS return a characterstring indicating that the data mdel cllectin element des nt exist due t an index ut f range, such as, The data mdel element request failed t be prcessed due t an index ut f range errr Data Mdel Element Nt Specified The Data Mdel Element Nt Specified errr cnditin indicates that a SCO attempted t make a GetValue() r SetValue() API methd call withut prviding any indicatin f the data mdel element t retrieve r stre. Bth f the API methd calls require the presence f a data mdel element: GetValue(parameter_1) SetValue(parameter_1, parameter_2) The Data Mdel Element Nt Specified errr cnditin shuld be used by an API Instance if the value passed as parameter_1 in a GetValue() request r parameter_1 in a SetValue() request is nt specified (i.e., empty characterstring ). GetValue( ): The API Instance shuld set the errr cde t 301 General Get Failure and return an empty characterstring ( ). SetValue(, 3.4 ): The API Instance shuld set the errr cde t 351 General Set Failure and return false. This errr cnditin can nly happen if the cnceptual cmmunicatin state is Running. If this errr cnditin is encuntered, the cnceptual cmmunicatin state shall remain unchanged ( Running ). If the SCO requests further infrmatin abut the errr (by invking GetDiagnstic()), it is recmmended that the LMS return a characterstring indicating that the data mdel element was nt specified, such as, The data mdel element was nt specified Unique Identifier Cnstraint Vilated The Unique Identifier Cnstraint Vilated errr cnditin shuld be used by an API Instance if the value passed as parameter_2 in a SetValue() request is t be used t set an identifier fr which the identifier is required t be unique. The API Instance shuld set the errr cde t 351 and return false. This errr cnditin can nly happen if the cnceptual cmmunicatin state is Running. If this errr cnditin is encuntered, the cnceptual cmmunicatin state shall remain unchanged ( Running ). RTE-3-24 SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

53 Example: API Call 1: SetValue( cmi.bjectives.0.id, bjective1) API Call 2: SetValue( cmi.bjectives.1.id, bjective2 ) API Call 3: SetValue( cmi.bjectives.2.id, bjective1 ) In the example abve, the identifier fr the bjective data stred in psitin 2 f the array is trying t set the identifier f the bjective t bjective1. This identifier was used fr the bjective data stred at psitin 0 f the array. Since the cmi.bjectives.n.id, is required t be a unique identifier, this wuld cause a General Set Failure errr. The LMS shall nt set the requested element, return false and set the errr cde t 351. If the SCO requests further infrmatin abut the errr (by invking GetDiagnstic()), it is recmmended that the LMS return a characterstring indicating that there was a unique identifier cnstraint vilated, such as, The data mdel element s value is already in use and is nt unique Smallest Permitted Maximum Exceeded The Smallest Permitted Maximum (SPM) Exceeded errr cnditin shuld be used in tw situatins: if the value passed as parameter_2 in a SetValue() request is t be used t set a data mdel element that has a SPM and the length f parameter_2 exceeds the SPM fr the data mdel element, r if the value is being placed in a cllectin and the cllectin s SPM has been exceeded These situatins d nt necessarily describe errr cnditins, hwever depending n the implementatin, these situatins may be handled differently. In bth situatins described abve, the API Instance shuld set the errr cde t 0 and return true. This errr cnditin can nly happen if the cnceptual cmmunicatin state is Running. If this errr cnditin is encuntered, the cnceptual cmmunicatin state shall remain unchanged ( Running ). If the SCO requests further infrmatin abut the errr (by invking GetDiagnstic()), it is recmmended that the LMS return a characterstring indicating that an SPM was vilated, such as, The value t be used t set the data mdel element exceeds the SPM fr the data mdel element. The value was truncated. The SPMs defined represent implementatin strage requirements. An implementatin has t supprt the strage f at least the SPM. An implementatin may elect t supprt the strage f mre than the SPM. If an implementatin nly supprts the SPM and perfrms a truncatin f the characterstring, then ADL recmmends that the implementatin make infrmatin available thrugh the GetDiagnstic() methd call indicating that truncatin f a characterstring has ccurred. SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-3-25

54 Data Mdel Element Des Nt Have Versin The Data Mdel Element Des Nt Have Versin errr cnditin indicates that a SCO attempted t retrieve the versin f the data mdel (_versin) n a data mdel element fr which it is nt permitted. The _versin keywrd shuld nly be applied t the base data mdel identified by the SCORM Run-Time Envirnment Data Mdel (cmi._versin). The Data Mdel Element Des Nt Have Versin errr cnditin shall be used by an API Instance if the value passed as parameter in a GetValue() is smething ther than cmi._versin (e.g., cmi.learner_id._versin). The API Instance shuld set the errr cde t 301 and return an empty characterstring ( ). This errr cnditin can nly happen if the cnceptual cmmunicatin state is Running. If this errr cnditin is encuntered, the cnceptual cmmunicatin state shall remain unchanged ( Running ). If the SCO requests further infrmatin abut the errr (by invking GetDiagnstic()), it is recmmended that the LMS return a characterstring indicating that the versin request is invalid, such as, The _versin keywrd was used incrrectly Identifier Value Can Only Be Set Once The Identifier Value Can Only Be Set Once errr cnditin shuld be used by an API Instance if the value passed as parameter_2 in a SetValue() request is t be used t set an identifier t a value different than the value that has already been set. The API Instance shuld set the errr cde t 351 and return false. This errr cnditin can nly happen if the cnceptual cmmunicatin state is Running. If this errr cnditin is encuntered, the cnceptual cmmunicatin state shall remain unchanged ( Running ). Example: API Call 1: SetValue( cmi.bjectives.0.id, bjective1) API Call 2: SetValue( cmi.bjectives.0.id, bjective2) In the example abve, the identifier fr the bjective data stred in psitin 0 f the array was initially set t bjective1. API Call 2 is trying t set the identifier f the bjective t bjective2. Since the value bjective2 is different than the value that was already set, this wuld cause a General Set Failure errr. The LMS shall nt set the requested element, return false and set the errr cde t 351. If the SCO requests further infrmatin abut the errr (by invking GetDiagnstic()), it is recmmended that the LMS return a characterstring indicating that there was a unique identifier cnstraint vilated, such as, The data mdel element s value is already set and cannt be changed. RTE-3-26 SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

55 3.2. LMS Respnsibilities SCORM requires the LMS t prvide an instance f the API as defined by the IEEE standard and SCORM. The API Instance shields the SCO frm the particular implementatin details. SCORM des nt place any restrictins n the underlying cmmunicatin infrastructure f the API Instance. The fllwing sectins describe thse additinal requirements, nt described thus far, f an API Instance fr an LMS implementatin API Instance SCORM requires that an LMS supply an API Instance that implements the required API functinality described earlier. In rder fr a SCO t utilize the API Instance develped by an LMS, the LMS has certain requirements n where and hw t prvide access t the API Instance. T prvide fr an interperable means t lcate the API Instance, the LMS s API Instance must be accessible via the DOM [8] as an bject named API_1484_11. The LMS must prvide the ability fr the SCO t access the API Instance via ECMAScript. In rder fr SCOs t find the LMS-prvided API Instance, the LMS is respnsible fr launching SCOs in a particular DOM hierarchy. The LMS shall launch the SCO in a brwser windw that is a child windw r a child frame f the LMS windw that cntains the API Instance. Figure 3.2.1a describes the valid lcatins in the DOM hierarchy that an LMS is permitted t place its API Instance. The algrithm defined by the IEEE standard is built t search fr the API Instance in specific lcatins and in a specific rder. The specific lcatins that an LMS can prvide an API Instance is determined based n the implementatin requirements f the LMS. Chain f Parents: In this case, the SCOs and Assets are being launched in a structure where the API Instance is in an HTML Frameset. In this case, the LMS can prvide the API Instance smewhere in the hierarchy f parent frames within the frameset. The algrithm described in the IEEE standard will search fr the API by walking the chain f parents either until the API Instance is fund r until it reaches a pint where there are n ther parent frames. Opener: In this case, the SCOs and Assets are being launched in a new windw. This new windw is smetimes referred t as a pp-up windw. The new windw cntains the SCO r Asset. In this case, the LMS can prvide the API Instance in the pener windw (i.e., the windw that was respnsible fr launching, r pening, the new windw in which the SCO r Asset was launched in). The algrithm described in the IEEE standard will determine if the SCO was launched by an pener windw. If s, the pener will be searched fr the API Instance. SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-3-27

56 Chain f Parents f the Opener: In this case, the SCOs and Assets are being launched in a new windw and the LMS has placed the API Instance in a parent frame f the pener windw. The algrithm described in the IEEE standard will determine if the SCO was launched in an pener windw. If s, the pener windw will be searched fr the API Instance. If the API Instance is nt fund in the pener windw, the algrithm determines if the pener windw has a parent. The algrithm is designed t search the parent windw hierarchy until it either finds the API Instance r determines that there are n mre parent windws. Figure 3.2.1a: Permitted DOM Lcatins f an API Implementatin There are nging research and develpment effrts investigating alternative methds (e.g., as a Web Service) fr LMS vendrs t prvide SCOs access t the API Instance. Hwever, SCORM nly supprts the methd described abve, the DOM and ECMAScript are reliable technlgies that have been arund fr sme time and are simple t use. Future versins f SCORM may intrduce ther cmmunicatin prtcls that supprt the fundamental requirements defined by the IEEE standard. RTE-3-28 SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

57 Versin Attribute The IEEE standard requires that the API Instance be accessible via a DOM Object. The standard als requires the DOM bject t have an attribute named versin. The value f the attribute represents the versin f the API Instance. The value assigned t the attribute is required t cnsist f a perid-delimited string cntaining majr and minr release values as whle numbers. T indicate that the API Instance is built in cnfrmance with the IEEE Standard, the first three characters are required t be 1.0. If an implementatin wants t append additinal characters t the value, t represent internal versining infrmatin, then the furth character is required t be anther periddelimiter (e.g., 1.0.). SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-3-29

58 3.3. SCO Respnsibilities All SCOs have certain respnsibilities when cmmunicating acrss the API. SCOs must be able t cnsistently find the API Instance. This is ne f the primary reasns why there are restrictins n where, in the DOM hierarchy, the LMS prvides the API Instance and why there is a cmmn name f the API Instance t lcate. If the API Instance were allwed t exist anywhere in the DOM hierarchy, this wuld make it extremely difficult t prvide a cnsistent cmmunicatin mechanism and management f the run-time envirnment Finding the API Instance In rder fr a SCO t begin tracking a learner s experience with an LMS, the SCO must be able t find the LMS prvided API Instance. Since the cntent bjects, in the SCORM envirnment, are launched in Web brwsers, the Web brwsers prvide a DOM in which t place an API Instance. The DOM can be cnsidered a defined structure r rganizatin f the bjects in a page. In rder fr SCOs t find the API Instance frm ne LMS t anther, the IEEE standard has placed restrictins n where the API Instance can be placed in this hierarchy. The imprtant fact is that the SCO must lk in the fllwing lcatins, in the rder specified, fr the API Instance: 1. The chain f parents f the current windw, if any exist, until the tp f the windw f the parent chain is reached 2. The pener windw, if any 3. The chain f parents f the pener windw, if any exist, until the tp windw f the parent chain is reached The SCO must search fr the API Instance in this manner and stp as sn as an API instance is fund. Fr the SCO t knw what it is lking fr, the IEEE standard has als defined a mandatry name fr the bject in the DOM that is assciated with the API Implementatin. The name defined fr the API Implementatin is API_1484_11. RTE-3-30 SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

59 Figure 3.3.1a: Illustratin f Finding the API Once a SCO finds an API Instance, the SCO is required t, at a minimum, issue Initialize( ) and Terminate( ) API calls. The IEEE standard has prvided a simple piece f ECMAScript that will find the API Instance in a cnsistent manner. It is nt a requirement t use this ECMAScript cde. Other variatins can be written. SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-3-31

60 var nfindapitries = 0; var API = null; var maxtries = 500; var APIVersin = ""; // The ScanFrAPI() functin searches fr an bject named API_1484_11 // in the windw that is passed int the functin. If the bject is // fund a reference t the bject is returned t the calling functin. // If the instance is fund the SCO nw has a handle t the LMS // prvided API Instance. The functin searches a maximum number // f parents f the current windw. If n bject is fund the // functin returns a null reference. This functin als reassigns a // value t the win parameter passed in, based n the number f // parents. At the end f the functin call, the win variable will be // set t the upper mst parent in the chain f parents. functin ScanFrAPI(win) { while ((win.api_1484_11 == null) && (win.parent!= null) && (win.parent!= win)) { nfindapitries++; if (nfindapitries > maxtries) { return null; } win = win.parent; } return win.api_1484_11; } // The GetAPI() functin begins the prcess f searching fr the LMS // prvided API Instance. The functin takes in a parameter that // represents the current windw. The functin is built t search in a // specific rder and stp when the LMS prvided API Instance is fund. // The functin begins by searching the current windw s parent, if the // current windw has a parent. If the API Instance is nt fund, the // functin then checks t see if there are any pener windws. If // the windw has an pener, the functin begins t lk fr the // API Instance in the pener windw. functin GetAPI(win) { if ((win.parent!= null) && (win.parent!= win)) { API = ScanFrAPI(win.parent); } if ((API == null) && (win.pener!= null)) { API = ScanFrAPI(win.pener); } if (API!= null) { APIVersin = API.versin; } } } Cde Illustratin 3.3.1b: Example ECMAScript fr finding the API Implementatin This example ECMAScript cde is based n the algrithm defined in the IEEE standard. The algrithm was updated t add narrative text describing the functins, remved an errr message that is nt necessary and updated t explain the win variable fund in the algrithm in mre f a cntext. Organizatins are nt required t use the ECMAScript RTE-3-32 SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

61 cde as defined in IEEE r SCORM and are free t create their wn ECMAScript. The rganizatins must make sure the algrithm searches fr the API Instance as defined in the IEEE and SCORM API Usage Requirements and Guidelines This sectin utlines several additinal requirements and guidelines fr using the API t cmmunicate infrmatin t an LMS Unexpected events SCOs are built in a variety f different ways. When develping a SCO, cntent authrs need t be aware f the design f the SCO, hw the SCO is intended t be delivered in an LMS, and the different ways a learner may interact with the SCO. Fr example, sme SCOs are built as a cllectin f pages, which allw internal SCO navigatin frm ne page t anther. In this design, sme cntent authrs may implement the SCO t invke the Initialize( ) call n the first page and Terminate( ) nly n the last page. What happens if there was an unexpected behavir that was encuntered during the learning experience? The unexpected event may fall int several categries: Accidental exit Deliberate user actin Catastrphic terminatin (e.g., lst cnnectin, brwser crash) Sme LMSs handle these different scenaris by simulating the effect f Terminate( ) functin if it detects that a SCO that successfully called Initialize( ) became unexpectedly inaccessible befre invking the Terminate() functin. This is dne because there is n way t detect (r decide) the cause f the prblem - was it an accident, a deliberate user actin, r just a prly built SCO? Of curse, if there is a catastrphic event (lst cnnectin, cmplete brwser crash, etc.) then nly the data that had been cpied frm a client side cache (if ne is being used) thrugh a Cmmit( ) functin survives in the server side database. One f the main reasns why Cmmit( ) is in the API is t minimize time-cnsuming cmmunicatin delays between the client side f a runtime service and the server side that wuld ccur if every data element value update was transmitted acrss the netwrk in real time. Implementatins f the API are free t prvide a client side cache that nly transmits and persists data state when the Cmmit( ) functin is invked. A SCO has n way t detect if the API Instance it is cmmunicating thrugh is prviding a client side cache r sending all data updates t the server. T help minimize unexpected behavirs and prblems that may be encuntered, SCO develpers shuld adhere t the fllwing recmmendatins: SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-3-33

62 Invke Cmmit( ) whenever smething significant happens that must be recrded, regardless f what might happen later. D NOT call Cmmit( ) after every SetValue() call -- that defeats the perfrmance enhancement and can lead t serius prblems with sme LMS implementatins. DO call Cmmit( ) nly after a "batch" f SetValue() calls. There is typically n benefit in calling Cmmit( ) immediately prir t calling Terminate( ). It des n harm since there wuld be nthing new t cmmit during the Terminate( ) functin call. Call Terminate( ) prir t the SCO being taken away frm the learner (i.e., unladed frm the brwser). The SCO shuld keep track f whether it has successfully invked Terminate( ), s the SCO can be built nt t invke Terminate( )again. A prperly built LMS will be able t handle the call. It shuld ignre the secnd call and set the errr status accrdingly. If the client brwser is Micrsft Internet Explrer, call Terminate( ) in an nbefreunlad handler rather than in an nunlad handler, because there is a much better chance that all the resulting wrk invlved with unlading the SCO will actually happen in an rderly manner. Other brwsers d nt raise an event called nbefreunlad and therefre rely n the nunlad event. It may be wise t prvide a mechanism t terminate the cmmunicatin sessin smewhere ther than the nunlad event. Use SetValue() and Cmmit( ) n an nging basis during the cmmunicatin sessin rather than trying t save a large amunt f data immediately prir t Terminate( ). D this because there is anecdtal evidence that sme brwsers r brwser versins actually start lading the next page even while nunlad is executing, and d nt finish executing sme peratins triggered by nunlad especially if the peratins invlve psting acrss a netwrk. This culd make fr a difficult situatin n the back end, and in sme implementatins, sme data may nt be cmmitted prperly r cmpletely. If the data has been saved and cmmitted befre unlad ccurs, then this data is mst likely safe. RTE-3-34 SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

63 SECTION 4 SCORM Run-Time Envirnment Data Mdel Frm IEEE Std IEEE Standard fr Learning Technlgy Data Mdel fr Cntent t Learning Management System Cmmunicatin, Cpyright 2004 IEEE; IEEE Std IEEE Standard fr Learning Technlgy ECMAScript Applicatin Prgramming Interface fr Cntent t Runtime Services Cmmunicatin, Cpyright 2003 IEEE; IEEE Std IEEE Standard fr Learning Object Metadata, Cpyright 2002 IEEE; and IEEE Std IEEE Standard fr Learning Technlgy Extensible Markup Language (XML) Schema Definitin Language Binding fr Learning Object Metadata, Cpyright 2005 IEEE. All rights reserved. Frm IMS Cntent Packaging v1.1.4 Cpyright 2004, by IMS Glbal Learning Cnsrtium Inc. and IMS Simple Sequencing v1.0 Cpyright 2003, by IMS Glbal Learning Cnsrtium Inc. All rights reserved. SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-4-1

64 This page intentinally left blank. RTE-4-2 SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

65 4.1. Data Mdel Overview The purpse f establishing a cmmn data mdel is t ensure that a defined set f infrmatin abut SCOs can be tracked by different LMS envirnments. If, fr example, it is determined that tracking a learner s scre is a general requirement, then it is necessary t establish a cmmn way fr cntent t reprt scres t LMS envirnments. If SCOs use a unique scring representatin, LMSs may nt knw hw t receive, stre r prcess the infrmatin. Figure 4.1.1a: Illustratin f Using the Data Mdel with the API The SCORM Run-Time Envirnment Data Mdel is based n the Standard fr Learning Technlgy - Data Mdel fr Cntent Object Cmmunicatin [1] standard prduced by the IEEE LTSC CMI is a standard that defines a set f data mdel elements that can be used t cmmunicate infrmatin frm a cntent bject (i.e., SCO in SCORM) t an LMS. This set f data includes, but is nt limited t, infrmatin abut the learner, interactins that the learner had with the SCO, bjective infrmatin, success status and cmpletin status. This infrmatin may be vital fr many purpses. This data can be used t track the learner s prgress and status, aid in sequencing decisins and reprt n the verall learner interactin with the SCO. The data mdel in this sectin is defined as the SCORM Run-Time Envirnment Data Mdel. Prir t SCORM 2004, the SCORM Run-Time Envirnment Data Mdel was based n the AICC CMI001 Guideline fr Interperability [7]. Since the release f SCORM Versin 1.2, AICC has submitted CMI001 t the IEEE fr standardizatin. SCORM 2004 intrduces the changes t the data mdel as defined by the IEEE Standard fr Learning Technlgy Data Mdel fr Cntent Object Cmmunicatin [1]. Since the IEEE standard purely defines data mdel elements and their data types, SCORM needs t apply mre requirements pertaining t the use, behavir and relatinship with the API Instance. The SCORM Run-Time Envirnment Data Mdel SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-4-3

66 defines a particular binding (dt-ntatin), implementatin guidance and behaviral requirements f the IEEE standard SCORM Run-Time Envirnment Data Mdel Basics Data Mdel Elements T identify the data mdel, all f the names f the data mdel elements described in the SCORM Run-Time Envirnment Data Mdel start with cmi. This signals t LMSs that these data mdel elements are part f the IEEE Data Mdel fr Cntent Object Cmmunicatin standard[1]. It is envisined that as alternative data mdels are develped they will start with a different designatin (e.g., adl.elementname instead f cmi.elementname) r may have a different binding ther than the dt-ntatin. All data mdel elements described by SCORM are required t be implemented and their behavirs supprted by an LMS. All data mdel elements are ptinal fr use by SCOs. SCOs are required nly t use the API functins Initialize( ) and Terminate( ); they are nt required t use SetValue() r GetValue(). SCOs may be very, very small and nt designed t be tracked in detail. Hwever, if they are t be tracked, they must cnfrm t a cmmn data mdel fr reusability acrss multiple LMS envirnments. All data mdel element names are bund t an ECMAScript characterstring using a dtntatin (e.g., cmi.success_status). During SetValue() methd calls, all values t be used fr setting the data mdel element are bund as ECMAScript characterstrings. The ECMAScript standard [9] supprts and is in cnfrmance with the Unicde Standard [13] (Versin 2.1 r later). SCOs and LMSs need t be aware that since these characterstrings are Unicde encded they may include Unicde escape sequences. When dealing with any data that may be rendered in the brwser, SCOs must be aware f the level f supprt fr the Unicde in the different brwsers and versins f brwsers Data Mdel Effects n Sequencing SCORM Sequencing (refer t the SCORM SN bk) describes hw a series f cntent bjects are identified fr delivery based n defined sequencing infrmatin, sequencing behavirs and results f learner interactin with launched cntent bjects. Assets have a limited effect n sequencing. An LMS nly tracks the fact that an Asset is launched. Once the Asset has been launched, the Asset shall be cnsidered cmpleted. SCOs can affect sequencing by reprting the results f a learner s interactins during a learner sessin with that SCO; this is dne thrugh the SCO s Run-time Envirnment Data Mdel. An LMS is required t utilize infrmatin reprted by the SCO, thrugh the SCORM Run-time Envirnment Data Mdel, t affect the sequencing f subsequent learning activities. SCORM des nt mandate a specific methd r timing fr hw and when a SCO's run-time data is used fr sequencing. SCORM prescribes nly that the mst recent infrmatin is used when a sequencing evaluatin requires it. Specific LMS RTE-4-4 SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

67 requirements fr this data mapping are prvided in the fllwing tables, brken dwn by each data mdel element (fr mre infrmatin refer t the Sequencing Impacts sectin f relevant tables). Fr example, if the SCO reprts the learner s cmpletin f the SCO thrugh cmi.cmpletin_status, the activity identified with that SCO will be assumed t als be cmpleted. ADL Nte: If the currently experienced cntent bject is a SCO and the Learner Attempt n it ends due t an Abandn r Abandn All Navigatin Request, n data mapping ccurs. An abandned Learner Attempt des nt affect the state f the SCO s assciated activity Handling Cllectins Sme data mdel elements cllect sets f data related t their respective requirements. The cllectin f data is referred t as a recrd f data thrughut this dcument. Each recrd f data shall be cllected as a single entity in the array. The recrd f data is accessed by an index value representing the recrd f data s psitin in the array. All arrays shall be implemented with a starting index f 0 (zer-based arrays). The fllwing data mdel elements are defined as cllectins f recrds f data: Cmments frm learner (cmi.cmments_frm_learner) Cmments frm LMS (cmi.cmments_frm_lms) Objectives (cmi.bjectives) Interactins (cmi.interactins) These data mdel elements exist with the intentin that SCOs may track multiple cmments, bjectives and/r interactins. There are tw distinct errr cnditins that can ccur when invking a GetValue() request: 1. General Get Failure: Data Mdel Cllectin Element Request Out Of Range. The recrd f data des nt exist at the array psitin (i.e., index) requested. Fr example, if data exists fr bjectives in array psitins 0,1 and 2 and the SCO invkes a GetValue() request fr bjective infrmatin at psitin 4, the LMS shall set the errr cde t 301 General Get Failure and return an empty characterstring. It is recmmended that the LMS prvide t the SCO, if requested by a GetDiagnstic() request, mre specific infrmatin abut the errr encuntered (refer t Sectin : Data Mdel Cllectin Element Request Out Of Range) Anther scenari that may happen is that a SCO attempts t create a new recrd f data in an array psitin. Sme f the data mdel element cllectins cntain requirements that certain data mdel elements be set first, which will allw the LMS t set up the recrd f data in the apprpriate array psitin. If any f these SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-4-5

68 data mdel elements is set successfully, it wuld cause a newly created recrd f data t be added t the cntaining cllectin, increasing the cllectin s cunt by: 1. The fllwing list identifies the set f data mdel elements that wuld cause the new recrd f data t be created: cmi.bjectives.n.id cmi.interactins.n.id cmi.interactins.n.bjectives.m.id cmi.cmments_frm_learner.n.cmment cmi.cmments_frm_learner.n.lcatin cmi.cmments_frm_learner.n.timestamp When an LMS receives an invalid SetValue() request against ne f these data mdel elements, the LMS will return false and set the apprpriate API errr cde. The size f the cntaining cllectin shall nt be incremented. If a _cunt request is made prir t the invalid SetValue() request and the same _cunt request is made immediately after the invalid SetValue() request, then the value returned by bth calls shall be identical (i.e., the cllectin size has nt changed). If an LMS receives a GetValue() request immediately fllwing an invalid SetValue() request n ne f these data mdel elements, then the behavir shall be: (1) Return an empty characterstring ( ) (2) Set the API Errr Cde t 301 General Get Failure 2. Data Mdel Element Value Nt Initialized. The recrd f data exists at the array psitin, hwever the data requested has nt been initialized with a value yet. Fr example, if the SCO makes a request t get an bjective s scaled scre (cmi.bjectives.0.scre.scaled), hwever the scaled scre was never initialized with data. In this case, the bjective s recrd f data exists (i.e., the cmi.bjectives.0.id has been set) at psitin 0, hwever the scaled scre was never initialized. The LMS shall set the errr cde t 403 Data Mdel Element Value Nt Initialized and return an empty characterstring. Because f the current dt-ntatin binding f the SCORM Run-Time Envirnment Data Mdel, these data mdel elements cntain an integer value representing the index (r psitin) in the array. The index is just that, an index. Indices shuld nt be cnsidered unique fr any given SCO, meaning that there is n guarantee frm LMS t LMS (r learner sessin t learner sessin) that the same bjective is stred at the same index. SCO develpers shuld keep this in mind when using these data mdel elements. The Objectives and Interactins data mdel elements cntain an identifier data mdel element that indicates a unique identifier fr each f the SCO s bjectives and interactins. This value shuld be used when searching fr the index f a specific set f bjective r interactin data. T retrieve values fr a specific Objective r Interactin, it is recmmended that the list f all f the SCO s Objectives r Interactins be searched RTE-4-6 SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

69 fr a given identifier t determine its index rather than relying n a specific (hard-cded) index psitin. The index psitin is nt guaranteed t be the same frm learner sessin t learner sessin. All new cllectin elements shall be added sequentially. Indices used t access cllectin elements shall nt have insignificant starting zers 15 nt When a value is t be added t a cllectin, the SCO must determine the last index psitin used fr that cllectin. The SCO and LMS shall nt skip index psitins (packed arrays) when cnstructing r appending t a cllectin element. The _cunt keywrd data mdel element can be used t determine the current number f data mdel elements in the cllectin. Fr instance, t determine the number f bjectives currently stred fr the SCO, the fllwing API call wuld be used: var numofobjectives = GetValue("cmi.bjectives._cunt"); All cllectin data mdel elements, besides cmi.cmments_frm_lms (this data mdel element is read-nly frm a SCO perspective), can have their sub-elements verwritten by the SCO. Overwriting r appending is a decisin that is made by the SCO develper during the creatin f the SCO. Data mdel elements in a cllectin are referred t using a dt-number ntatin (represented by.n). cmi.bjective.n.cmpletin_status Fr instance, the value f the cmpletin status data mdel element in the first bjective in a SCO wuld be referred t as "cmi.bjective.0.cmpletin_status", and the cmpletin status data mdel element in the furth bjective wuld be referred t as "cmi.bjective.3.cmpletin_status" Smallest Permitted Maximum (SPM) There are tw cases when describing data mdel element requirements where there are SPMs defined. The tw cases are fr characterstring lengths and the number f data mdel elements cntained in cllectins (arrays, bags, etc.). The SPM is defined as the minimum number f entries (in a cllectin) r characters (length f characterstrings) that an implementatin must accept r prcess. Implementatins are free t accept and prcess mre than the SPM; hwever, they must supprt at least the SPM. Fr example, Characterstrings: If a characterstring is defined with an SPM f 100, then an implementatin must accept and supprt at least 100 characters. Implementatins may supprt mre than the defined SPM. SCORM is silent n handling f characterstrings that cntain mre than the SPM number f characters (e.g., an implementatin is free t truncate the characterstring). Because an implementatin shall supprt at least the SPM, if an implementatin truncates values, the implementatin shall truncate at the SPM. Implementatins shuld be aware f the cnsequences if the characterstring cntains mre than the defined SPM. Cllectins: If a cllectin (e.g., array, set, bag) is defined with an SPM f 100, then an implementatin must accept and supprt at least 100 entries in that SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-4-7

70 cllectin. Implementatins may supprt mre than the defined SPM. SCORM is silent n handling f cllectins that cntain mre than the SPM number f entries (e.g., an implementatin is free t nt accept new entries). Implementatins shuld be aware f the cnsequences if the number f entries exceeds the defined SPM. The SPMs defined represent implementatin strage requirements. As mentined abve, an implementatin has t supprt the strage f at least the SPM. An implementatin may elect t supprt the strage f mre than the SPM. If an implementatin nly supprts the SPM and perfrms a truncatin f the characterstring, then ADL recmmends that the implementatin make infrmatin available thrugh the GetDiagnstic() methd call indicating that truncatin f a characterstring has ccurred. Fr example, if an implementatin truncates a characterstring (because it nly supprts the SPM), then if the SCO calls GetDiagnstic() the implementatin culd return a characterstring that states: The SetValue() call was successful. The value was greater than the SPM and was truncated. All validatin f characterstrings and cllectins shuld be dne prir t the actual strage f the value. If an implementatin elects t truncate the characterstring at the SPM, the validatin prcess will enfrce the validatin f the characterstring prir t this truncatin. The SPM fr the characterstrings are in place fr cntent develpers t utilize. Cntent develpers need t be aware f the SPM and what may happen if an SPM is exceeded. It is recmmended that cntent develpers keep within the SPM cnstraints fr maximum interperability Keywrd Data Mdel Elements SCORM defines a set f keywrd data mdel elements in the binding f the IEEE Cntent Object Cmmunicatin Data Mdel. The three keywrd data mdel elements are: _versin, _cunt and _children. The keywrd data mdel elements are managed by the LMS and are derived frm the state f the ther data mdel elements. These keywrds allw SCOs t find ut descriptive infrmatin abut the data mdel elements. The keywrd data mdel elements can nly be applied t certain ther data mdel elements (refer t Sectin 4.2 fr mre infrmatin). The keywrd data mdel elements shall be implemented as read-nly. If a SCO attempts t set (i.e., SetValue() API request) a keywrd data mdel element (as defined in Sectin 4.2), then the LMS shall set the errr cde t Data Mdel Element Is Read Only and return false. Keywrds cannt be applied t ther keywrds. Fr example, cmi.interactins._children._versin is nt permitted. If this situatin is attempted by a SCO, then the LMS shall return an empty characterstring and set the errr cde t 401 Undefined Data Mdel Element. _versin: The _versin keywrd data mdel element is used t determine the versin f the data mdel supprted by the LMS. This keywrd data mdel element cannt be applied t any data mdel element (refer t Sectin 4.2.1: Data Mdel Versin fr implementatin details). RTE-4-8 SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

71 _cunt: The _cunt keywrd data mdel element is used t determine the number f data mdel elements currently in a cllectin. The cunt is the ttal number f data mdel elements in the cllectin. This value can be requested by the SCO t determine the next index psitin that is free t be used fr string infrmatin. This keywrd data mdel element can nly be applied t a data mdel element that is a cllectin. _children: The _children keywrd data mdel element is used t determine all f the data mdel elements in a parent data mdel element that are supprted by the LMS. The characterstring returned frm a valid _children request shuld be a cmma separated listing f all f the data mdel elements supprted by the LMS. The listing f data mdel elements returned shall match the data mdel elements fund in Sectin 4.2 (i.e., casesensitive naming f data mdel elements apply). The data mdel element names shall be cnsidered reserved tkens and if white space is prvided in the characterstring (i.e., used in separating the reserved tkens), then the white space shall be ignred. The rder f the data mdel elements returned in the characterstring shall nt matter. This keywrd data mdel element can nly be applied t a data mdel element that has children Reserved Delimiters Due t the nature f the dt-ntatin binding, sme f the data mdel elements need t cnvey mre infrmatin than what can easily be represented as a characterstring. In these cases, a special reserved delimiter has been created t meet the requirements f the dt-ntatin binding. These special delimiters appear in either the characterstring used in a SetValue() request r in the characterstring returned frm a GetValue() request. The cases where a special reserved delimiter may be needed are: Representing the language type fr a particular characterstring (Data Type: lcalized_string_type) Representing the indicatin f whether r nt rder matters in a learner respnse t an interactin Representing the indicatin f whether r nt case matters in a learner respnse t an interactin Representing a set f values in a list r a pair f values Fr each f the cases described abve, a default value is prvided, if applicable. This default value shall be used if the special reserved delimiter is nt specified. In all cases, the reserved delimiters shall nt be cunted tward the value f the SPM. Table a describes the specifics f the reserved delimiters. Table a: Reserved Prperty Delimiters Reserved Delimiter Syntax Default Value Example {lang=<language_type>} {lang=en} {lang=en} {case_matters=<blean>} {case_matters=false} {case_matters=true} {case_matters=false} SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-4-9

72 {rder_matters=<blean>} {rder_matters=true} {rder_matters=true} {rder_matters=false} Because these delimiters are nt required, the default value shall be assumed fr thse cases where the delimiter is nt specified. If the delimiters are used in the characterstring, there are ther requirements n placement f the delimiter and the delimiter syntax. Prperty Delimiter Syntax Requirements: The delimiter shall be treated as a cnstant set f characters with the fllwing frmat: delimiter ::= { + name + = + value + } The { and } are required t indicate the beginning and ending prtins f a delimiter. The = is required t separate the name and value pieces f the delimiter. The absences f these required characters will cause the delimiter t nt be recgnized by the system; instead, the set f characters will be treated as part f the underlying characterstring data value. The name represents the identifier f the delimiter. The name is represented by a set f reserved tkens: lang case_matters rder_matters Fr the {lang=<language_type>} delimiter t be recgnized as the language fr the characterstring, it must be placed at the beginning f the characterstring being qualified. If the {lang=<language_type>} delimiter is nt the first set f characters, then the default language shall be assumed. The name tken must be represented as-is (i.e., ne f the fllwing: lang, case_matters r rder_matters). Any derivatives f these tkens (e.g., padding the tken names with white space) will result in an unrecgnized delimiter and the set f characters will be treated as part f the underlying characterstring. The value indicates the value fr the named delimiter. The value prtin f the delimiter is restricted t the fllwing: lang: Restricted t the value represented by a language_type (refer t Sectin : Data Types fr requirements f a language_type). case_matters: Restricted t either true r false rder_matters: Restricted t either true r false If the value des nt meet its named delimiter s type requirements, then the delimiter is imprperly frmed and the characterstring des nt meet the requirements f its type (i.e., causing a 406 Data Type Mismatch errr t ccur). RTE-4-10 SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

73 Valid Examples: SetValue( cmi.cmments_frm_learner.0.cmment, {lang=en}characterstring in the English language ) SetValue( cmi.interactins.0.crrect_respnse.0.pattern, {lang=en}{case_matters=true}characterstring in the English language where the case matters ) SetValue( cmi.cmments_frm_learner.0.cmment, {lang =fr}characterstring in the English language ) There is n delimiter qualifying this Characterstring {lang =fr} is nt cnsidered a language delimiter because it cntains white space, which is nt lexically equivalent t the lang reserved delimiter. In this case, the verall Characterstring includes {lang =fr} and is still cnsidered valid; its default language is English ( en ). If this SetValue call is invked, the LMS shall set the data mdel element assciated with the call t {lang =fr}characterstring in the English language, set the errr cde t 0 N Errr and return true. SetValue( cmi.cmments_frm_learner.0.cmment, {case_matters=invalid}characterstring in the English language ) There are n delimiters qualifying this Characterstring {case_matters=invalid is nt part f the defined frmat fr cmi.cmments_frm_learner.n.cmment. In this case the verall Characterstring includes {case_matters=invalid} and is still cnsidered valid; its default language is English ( en ). If this SetValue call is invked, the LMS shall set the data mdel element assciated with the call t {case_matters=invalid}characterstring in the English language, set the errr cde t 0 N Errr and return true. Invalid Examples: SetValue( cmi.interactin.0.crrect_respnse.0.pattern, {case_matters=invalid}{lang=en}characterstring in the English language ) Assuming that the type f cmi.interactin.0 is fill-in, the case matters delimiter is invalid because it requires a value f true r false. This example uses invalid. Because the delimiter is imprperly frmed, an LMS shuld nt set the data mdel element assciated with the call, set the errr cde t 406 Data Type Mismatch, and return false. SetValue( cmi.cmments_frm_learner.0.cmment, {lang= fr}characterstring in the French language ) In this example, the lang delimiter is invalid because its value includes white space, which is nt part f a valid language string. Because the delimiter is imprperly frmed, an LMS shuld nt set the data mdel element assciated SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-4-11

74 with the call, set the errr cde t 406 Data Type Mismatch, and return false. Prperty Delimiter Placement Requirements: The delimiters are required t be placed in specific psitins within the characterstring. In thse cases where a cmbinatin f delimiters may be used, the rder f the delimiters is described by the data mdel element. If a default value is used (implied by the absence f a delimiter) fr ne f the delimiters in the set f delimiters, then the rder shuld still be preserved. The delimiters shall be cncatenated tgether with n white space permitted between the delimiters. Fr example: {case_matters=true}{rder_matters=true} N white space r ther characters are permitted prir t the first delimiter identified in the characterstring. If there are n delimiters, which implies that the default values are being used, then the value represents the characterstring used fr the data mdel element. If any white space r ther character is fund at the beginning f the characterstring, then this will cause the set f characters t be treated as part f the underlying characterstring. As mentined abve, Table a will be brken up int tw tables. Table b will be updated t describe the Reserved Separatr Delimiters as fllws: Table b: Reserved Separatr Delimiters Reserved Delimiter Syntax Default Value Example {lang=<language_type>} {lang=en} {lang=en} {case_matters=<blean>} {case_matters=false} {case_matters=true} {case_matters=false} {rder_matters=<blean>} {rder_matters=true} {rder_matters=true} {rder_matters=false} Reserved Delimiter Syntax Default Value [.] Nt applicable, needs t be prvided Example Used t separate a pair f values that are related fr an interactin: 1[.]a [,] Nt applicable, needs t be prvided Used t separate a set f values fr an interactin s cllectin: 1[.]a[,]2[.]c[,]3[.]b [:] Nt applicable, needs t be prvided Used t represent a separatr between a range f numeric RTE-4-12 SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

75 values: 1[:]100 a range where the numeric value is between 1 and 100 (inclusive) Separatr Delimiter Syntax Requirements: The delimiter shall be treated as a cnstant set f characters with the fllwing frmat: delimiter ::= [ + reserved_character + ] The [ and ] are required t indicate the beginning and ending prtins f the delimiter. The absences f these required characters will cause the delimiter t nt be recgnized by the system; instead, the set f characters will be treated as part f the underlying characterstring. The reserved_character represents the defined separatr. The reserved_character is represented by a set f reserved tkens:., : The reserved_character tken must be represented as-is (i.e., ne f the fllwing: [.], [,] r [:]). Any derivatives f these tkens (e.g., padding the reserved_character tkens with white space) will result in an unrecgnized delimiter and the set f characters will be treated as part f the underlying characterstring. Separatr Delimiter Placement Requirements: The delimiters are required t be placed in specific psitins within the characterstring. The delimiter is used t separate varius data values defined by a particular data mdel element. Fr mre infrmatin n the data mdel elements that use these separatr delimiters refer t Sectin 4.2: SCORM Run-Time Envirnment Data Mdel Data Types Each f the data mdel elements has a defined data type. All applicatins f these data types are required t adhere t the defined requirements. This sectin utlines the set f data types and the specific requirements fr each f the data types. characterstring: A characterstring is a string f characters that are defined in ISO ISO is equivalent t the Unicde Standard. Each data mdel element defined as type characterstring specifies an SPM number f characters that shall be supprted by LMSs. It shuld be nted that this is the number f characters nt the ctet string which is created by a particular character set encding scheme (e.g., UTF-8, UTF-16). SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-4-13

76 lcalized_string_type: A lcalized characterstring is a characterstring that has an indicatr f the language f the characterstring. There are certain data mdel elements where the language infrmatin is imprtant. SCORM applies a reserved delimiter fr representing the language f the characterstring: {lang=<language_type>}. The frmat f the characterstring is required t have the fllwing syntax: {lang=<language_type>}<actual characterstring> Example: {lang=en}the cntent presented an excellent pint dealing with the tpic. The {lang=<language_type>} shall represent the delimiter that indicates the language f the characterstring t fllw. The {lang=<language_type>} is ptinal. The default language_type, if nt specified, shall be en (English). The <language_type> value shall be implemented with an SPM f 250 characters. language_type: A data type used t represent a language. The frmat f this data type is a characterstring cnsisting f a required language cde (langcde) fllwed by multiple, ptinal, hyphen-prefixed subcdes (subcde): language_type ::= langcde [ - subcde]* where the langcde: 2-letter cdes are defined by ISO [14] 3-letter cdes are defined by ISO [15] The value i is reserved and used as a prefix fr registratins defined by Internet Assigned Numbers Authrity (IANA) The value x is reserved and used as a prefix fr private use and the subcde: 2-letter subcdes are ISO alpha-2 cuntry cdes[16] subcdes f frm 3 t 8 letters are registered with IANA The requirements fr additinal subcde values are nt defined. Bth the langcde and subcde values shall be 1 t 8 characters in length. ISO specifies tw cde sets (bibligraphic and terminlgy) fr the language cde. Either cde set may be used. The langcde and subcde is case insensitive. SCORM recmmends that the language_type be represented with the fllwing frmat: langcde is nrmally given in lwer case, and subcdes (if any) are nrmally in upper case. The language_type is als permitted t be an empty characterstring fr certain data mdel elements. The language_type f a lcalized_string_type is nt permitted t be an empty characterstring. The default value fr the language_type prtin f a lcalized_string_type is en (English). The language_type may be an empty RTE-4-14 SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

77 characterstring fr all ther data mdel elements defined as this type (refer t Sectin : Learner Preference). lng_identifier_type: The lng_identifier_type represents a label r identifier. This label r identifier shall be unique within the cntext f the SCO. The lng_identifier_type shall be a characterstring that cnfrms t the syntax defined fr Universal Resurce Identifiers (URI), refer t RFC 3986 [6]. SCORM recmmends that the URI be a glbally unique identifier in the frm f a Unifrm Resurce Name (URN), refer t RFC 2141 [3]. All URNs are required t have the fllwing syntax (phrases in qutes are required): <URN> ::= urn: <NID> : <NSS> where <NID> is the Namespace Identifier and <NSS> is the Namespace Specific String [3]. Example: urn:adl:interactin-id-0001 Since an empty characterstring des nt prvide sufficient semantic infrmatin t uniquely identify a value, then a lng_identifier_type value shall nt be an empty characterstring and cannt cntain all white space characters. The lng_identifier_type value shall be implemented with an SPM f 4000 characters. shrt_identifier_type: The shrt_identifier_type represents a label r identifier. This label r identifier shall be unique within the cntext f the SCO. The shrt_identifier_type shall be a characterstring that cnfrms t the syntax defined fr URI, refer t RFC 3986 [6]. Since an empty characterstring des nt prvide sufficient semantic infrmatin t uniquely identify a value, then a shrt_identifier_type value shall nt be an empty characterstring and cannt cntain all white space characters. The shrt_identifier_type value shall be implemented with an SPM f 250 characters. integer: The integer data type indicates that the data mdel element is a member f the set f psitive whle numbers (i.e., 1,2,3, etc.), negative whle numbers (i.e., -1, -2, -3, etc.) and zer (0). state: Sme f the data mdel elements values have a defined set f states. This is defined by a statement like: state (brwse,nrmal,review) Each state is bund t a reserved tken. These reserved tkens are specific characterstring representatins f the state values defined by the data mdel elements. These reserved tkens are defined in the Value Space sectin in the Data Mdel Element Implementatin Requirements. Each defined state des nt necessarily map ne-t-ne t a reserved tken (e.g., nt_attempted state value maps t the nt attempted reserved tken). real (10,7): The real(10,7) data type dentes a real number with a precisin f seven significant digits. SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-4-15

78 time (secnd, 10, 0): The time (secnd,10,0) data type represents a pint in time. This data type shall have a required precisin f 1 secnd and an ptinal precisin f 0.01 secnds [1]. Implementatins shuld be aware f this required precisin versus the ptinal precisin, fr it may impact implementatin decisins. Fr example, if an applicatin is expecting the ptinal precisin, it may nt be supprted. The SCORM dt-ntatin binding defines a particular frmat fr a characterstring t represent a pint in time. The frmat f the characterstring shall be as fllws: YYYY[-MM[-DD[Thh[:mm[:ss[.s[TZD]]]]]]] where YYYY: A fur-digit year (1970 <= YYYY <=2038) MM: A tw-digit mnth (01 thrugh 12 where 01=January) DD: A tw-digit day f mnth (01 thrugh 31, depending n the value f mnth and year) hh: Tw-digits f hur (00 thrugh 23) mm: Tw-digits f minute (00 thrugh 59) ss: Tw-digits f secnd (00 thrugh 59) s: One r mre digits representing a decimal fractin f a secnd. If fractins f a secnd are used, SCORM further restricts the string t a maximum f 2 digits (e.g., valid, nt valid). TZD: Time zne designatr (Z fr UTC r +hh:mm r hh:mm). The hh and mm shall adhere t the requirements defined abve fr hh and mm. The time zne designatr uses the extended frmat as defined by ISO The extended frmat requires the use f the cln ( : ) as a separatr between the hurs and minutes. If the difference between lcal time and UTC is required, then the time can be expressed in hurs and minutes (i.e., 03:10), r if the time difference is exactly an integral number f hurs, then hurs nly (03). The leading zer is required fr hurs less than 10. If n TZD designatr is prvided, then the default time zne shall be interpreted as lcal time. If TZD is defined, then hh:mm:ss.s shall als be defined, althugh they may be all zers. At least the fur-digit year must be present. If additinal parts f the time are included, the character literals -, T, : and. are part f the character lexical representatin [1]. Example: T03:00: T03:00:00-03: T03: T03:00:00Z timeinterval (secnd, 10,2): The timeinterval (secnd, 10, 2) dentes that the value fr the data mdel element timeinterval represents elapsed time with a precisin f 0.01 RTE-4-16 SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

79 secnds[1]. The SCORM dt-ntatin binding defines a particular frmat fr a characterstring t represent a timeinterval. The frmat f the characterstring shall be as fllws: P[yY][mM][dD][T[hH][nM][s[.s]S]] where: y: The number f years (integer, >= 0, nt restricted) m: The number f mnths (integer, >=0, nt restricted) d: The number f days (integer, >=0, nt restricted) h: The number f hurs (integer, >=0, nt restricted) n: The number f minutes (integer, >=0, nt restricted) s: The number f secnds r fractin f secnds (real r integer, >=0, nt restricted). If fractins f a secnd are used, SCORM further restricts the string t a maximum f 2 digits (e.g., valid, nt valid). The character literals designatrs P, Y, M, D, T, H, M and S shall appear if the crrespnding nn-zer value is present. Zer-padding f the values shall be supprted. Zer-padding des nt change the integer value f the number being represented by a set f characters. Fr example, PT05H is equivalent t PT5H and PT000005H. Example: P1Y3M2DT3H indicates a perid f time f 1 year, 3 mnths, 2 days and 3 hurs PT3H5M indicates a perid f time f 3 hurs and 5 minutes Implementers shuld be aware that the frmat and binding is fr the cmmunicatin f the data between a SCO and an LMS. Since the frmat is representing a perid f time, then a duratin like PT5M is equivalent t PT300S. If the data mdel element, that is f type timeinterval(secnd,10,2) cntains a value, then The designatr P shall be present; If the value f years, mnths, days, hurs, minutes r secnds is zer, the value and crrespnding character literal designatin may be mitted, but at least ne character literal designatr and value shall be present in additin t the designatr P; The designatr T shall be mitted if all f the time cmpnents (hurs, minutes and secnds) are nt used. A zer value may be used with any f the time cmpnents (e.g., PT0S) Extending the SCORM Run-Time Envirnment Data Mdel The SCORM Run-Time Envirnment Data Mdel itself shall nt be extended. If an LMS receives an API request in which the parameter is cmi.elementname (where elementname is sme ther tken nt defined in Sectin 4.2), then an LMS shall behave as fllws: SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-4-17

80 GetValue(parameter): The LMS shall return an empty characterstring and set the errr cde t 401 Undefined Data Mdel Element SetValue(parameter_1, parameter_2): The LMS shall return false and set the errr cde t 401 Undefined Data Mdel Element There is wrk currently taking place t address additinal ways f extending and defining ther data mdels. SCORM may be updated t include these develpment effrts as they prgress and becme stable. RTE-4-18 SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

81 4.2. SCORM Run-Time Envirnment Data Mdel The SCORM Run-Time Envirnment Data Mdel cntains a set f data mdel elements that can be tracked by the SCO with an LMS during the run-time f the SCO. The data mdel elements can be used t track items like status, scres, interactins, bjectives, etc. Sme f the run-time envirnment data mdel elements impact each ther r are used in crdinatin with thers. Sme f the data mdel elements, if used, impact the cntrl and sequence f ther SCOs that are being used in the same cntext (e.g., lessn r curse). Table 4.2.a summarizes high level infrmatin abut each data mdel elements. Table 4.2a: SCORM Run-Time Envirnment Data Mdel Elements Summary Data Mdel Element Cmments Frm Learner Dt-Ntatin Binding cmi.cmments_frm_learner Descriptin Cntains text frm the learner. Cmments Frm LMS cmi.cmments_frm_lms Cntains cmments and anntatins intended t be made available t the learner. Cmpletin Status cmi.cmpletin_status Indicates whether the learner has cmpleted the SCO. Cmpletin Threshld cmi.cmpletin_threshld Identifies a value against which the measure f the prgress the learner has made tward cmpleting the SCO can be cmpared t determine whether the SCO shuld be cnsidered cmpleted. Credit cmi.credit Indicates whether the learner will be credited fr perfrmance in this SCO. Entry cmi.entry Cntains infrmatin that asserts whether the learner has previusly accessed the SCO. Exit cmi.exit Indicates hw r why the learner left the SCO. Interactins cmi.interactins Defines infrmatin pertaining t an interactin fr the purpse f measurement r assessment. Launch Data cmi.launch_data Prvides data specific t a SCO that the SCO can use fr initializatin. Learner Id cmi.learner_id Identifies the learner n behalf f whm the SCO instance was launched. Learner Name cmi.learner_name Represents the name f the learner. Learner Preference cmi.learner_preference Specifies learner preferences assciated with the learner s use f the SCO. Lcatin cmi.lcatin Represents a lcatin in the SCO. Maximum Time Allwed cmi.max_time_allwed Indicates the amunt f accumulated time the learner is allwed t use a SCO in the learner attempt. Mde cmi.mde Identifies the mdes in which the SCO may be presented t the learner. Objectives cmi.bjectives Specifies learning r perfrmance bjectives assciated with a SCO. SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-4-19

82 Prgress Measure cmi.prgress_measure Identifies a measure f the prgress the learner has made tward cmpleting the SCO. Scaled Passing Scre cmi.scaled_passing_scre Identifies the scaled passing scre fr a SCO. Scre cmi.scre Identifies the learner s scre fr the SCO. Sessin Time cmi.sessin_time Identifies the amunt f time that the learner has spent in the current learner sessin fr the SCO. Success Status cmi.success_status Indicates whether the learner has mastered the SCO. Suspend Data cmi.suspend_data Prvides infrmatin that may be created by a SCO as a result f a learner accessing r interacting with the SCO. Time Limit Actin cmi.time_limit_actin Indicates what the SCO shuld d when the maximum time allwed is exceeded. Ttal Time cmi.ttal_time Identifies the sum f all f the learner s learner sessin times accumulated in the current learner attempt prir t the current learner sessin. The fllwing sectins define the requirements fr implementatin f the SCORM Run- Time Envirnment Data Mdel. Each data mdel element is presented in a new sectin (i.e., 4.2.1, 4.2.2, etc.). Each sectin cntains a table that describes the specific requirements fr the data mdel element. These requirements apply t bth LMS and SCO implementatins. Sme requirements impact LMS implementatins; sme impact SCO implementatins and sme impact bth LMS and SCO implementatins. Table 4.2b describes the layut and frmat f the tables and prvides descriptive infrmatin describing each prtin f the tables. Table 4.2b: Data Mdel Element Table Explanatin Dt-Ntatin Binding <dt-ntatin characterstring representatin f the data mdel element> Details This sectin prvides descriptive data abut the data mdel element. Data Mdel Element Implementatin Requirements: This sectin f the table defines the data mdel element implementatin requirements. This sectin utlines thse requirements abut the data type that bth an LMS and a SCO shall adhere. This sectin f the table is brken up int three sub-sectins Data Type, Value Space and Frmat. Data Type: Describes the specific data type fr the data mdel element as defined by the IEEE standard [1]. Value Space: Represents the space f values that can be held by the data type. Fr example, the data type may be a characterstring, hwever that characterstring data values may be restricted t the ASCII character set. Frmat: Describes any frmat restrictins placed n the value fr the data type. Fr example, times may have a certain frmat (i.e., hh:mm:ss). LMS Behavir Requirements: This sectin describes the set f requirements that an LMS is required t fllw. Sequencing Impacts: This sectin describes the impacts f the data mdel RTE-4-20 SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

83 element n sequencing rules and behavirs. If this sectin is mitted, the data mdel element has n impacts n sequencing. SCO Behavir Requirements: This sectin describes the set f requirements that a SCO is required t fllw. API Implementatin Requirements: GetValue(): This sectin utlines the specific behavirs that an LMS shall adhere t when prcessing GetValue() requests fr the specified data mdel element. This sectin als utlines the errr cnditins that culd ccur using the specified data mdel element with a GetValue() request. SetValue(): This sectin utlines the specific behavirs that an LMS shall adhere t when prcessing SetValue() requests fr the specified data mdel element. This sectin als utlines the errr cnditins that culd ccur using the specified data mdel element with a SetValue() request. Additinal Behavir Requirements: This sectin utlines any additinal behavir requirements that are specific t the data mdel element. Example: This sectin utlines valid API methd calls using the data mdel element. SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-4-21

84 Data Mdel Versin The cmi._versin keywrd data mdel element can be used by the SCO t determine the data mdel versin supprted by the LMS. The assciated cmi._versin fr the SCORM Run-Time Envirnment Versin 1.3 shall be 1.0. This value is defined by the IEEE standard [1]. This value can be requested by a SCO t determine the versin f the SCORM Run-Time Envirnment Data Mdel supprted by the LMS. Fr example, a SCO culd be authred t supprt multiple versins f the SCORM Run-Time Envirnment Data Mdel if s desired. Table 4.2.1a: Dt-ntatin Binding fr the Data Mdel Versin Data Mdel Element Dt-Ntatin Binding cmi._versin Details Represents the versin f the data mdel. Data Mdel Element Implementatin Requirements: Data Type: characterstring Value Space: ISO [5] Frmat: The value shall cnsist f a perid-delimited characterstring cntaining majr and minr release values as whle numbers. Any characters appearing after the minr release value shall be separated frm the minr release value by a perid (. ) [1]. The characterstring shall represent the value defined by the IEEE standard: 1.0 LMS Behavir Requirements: This data mdel element is mandatry and shall be implemented as read-nly. The LMS is respnsible fr returning the characterstring 1.0, when requested by the SCO. SCO Behavir Requirements: This data mdel element is required t be implemented by an LMS as read-nly. The SCO is nly permitted t retrieve the value f the data mdel versin (cmi._versin) data mdel element. API Implementatin Requirements: GetValue(): The LMS shall return the value 1.0 (refer t Data Mdel Element Implementatin Requirements abve) and set the errr cde t 0 N Errr. SetValue(): If the SCO invkes a SetValue() request t set the cmi._versin, then the LMS shall set the errr cde t 404 Data Mdel Element Is Read Only and return false. Example: GetValue( cmi._versin ) RTE-4-22 SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

85 Cmments Frm Learner There may be times where the cntent designer wishes t cllect cmments frm the learner abut the learning experience. The data mdel permits the tracking f cmments frm the learner n a per SCO basis. Hw the cmments are cllected r presented is utside the scpe f SCORM. Fr example, an LMS may prvide an ptin t cllect cmments n the SCO thrugh sme LMS prvided user interface cntrl r the SCO may have the ability t cllect cmments built directly int the SCO. Hw the cmments are used is als utside the scpe f SCORM. Fr example, nce the cmments have been cllected, an LMS may prvide the designers (f the SCO) the ability t create a reprt listing ut the cmments. These may be able t be cllected fr the entire cntent rganizatin. These cmments then may be used by the designer t evaluate the current design and structure f the cntent. The cmi.cmments_frm_learner data mdel element prvides the ability t nt nly cllect the actual text f the cmment but als the lcatin (where in the cntent) and a timestamp (when). The cmi.cmments_frm_learner cntains freefrm text generated by the learner. The structure f the text is nt specified. The value f this data mdel element is intended t prvide feedback abut the SCO r the learning experience with the SCO frm a specific learner. Using this data mdel element fr ther purpses may adversely affect interperability. The LMS shall supprt at least the SPM f 250 cmments frm the learner. Each cmment frm the learner cntains a data mdel element that represents the textual cmment made by the learner. This textual cmment has a SPM f In either case, the LMS is free t supprt mre than the SPM. Table 4.2.2a: Dt-ntatin Binding fr the Cmments frm Learner Data Mdel Element Dt-Ntatin Binding cmi.cmments_frm_learner._children Details The cmi.cmments_frm_learner._children data mdel element represents a listing f supprted data mdel elements. This data mdel element is typically used by a SCO t determine which data mdel elements are supprted by the LMS. The characterstring returned may be used by the SCO t dynamically build parameters fr the GetValue() and SetValue() requests. Data Mdel Element Implementatin Requirements: Data Type: characterstring Value Space: ISO [5] Frmat: A cmma-separated list f all f the data mdel elements in the Cmments Frm Learner parent data mdel element that are supprted by the LMS. Since all data mdel elements are required t be supprted by the LMS, the characterstring shall represent the fllwing data mdel elements: cmment lcatin timestamp SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-4-23

86 LMS Behavir Requirements: This data mdel element is mandatry and shall be implemented by an LMS as read-nly. The LMS is respnsible fr returning a cmma-separated list f all f the Cmments Frm Learner child data mdel elements (refer t Data Mdel Element Implementatin Requirements abve). SCO Behavir Requirements: This data mdel element is required t be implemented by an LMS as read-nly. The SCO is nly permitted t retrieve the value f the cmi.cmments_frm_learner._children data mdel element. API Implementatin Requirements: GetValue(): The LMS shall return a cmma-separated list f the Cmments Frm Learner child data mdel elements supprted by the LMS (refer t Data Mdel Element Implementatin Requirements abve) and set the errr cde t 0 N Errr. The rdering f data mdel elements is nt imprtant. The characterstring returned shall adhere t the requirements identified in the Data Mdel Element Implementatin Requirements. SetValue(): If the SCO invkes a SetValue() request t set the cmi.cmments_frm_learner._children, then the LMS shall set the errr cde t 404 Data Mdel Element Is Read Only and return false. Example: GetValue( cmi.cmments_frm_learner._children ) cmi.cmments_frm_learner._cunt The cmi.cmments_frm_learner._cunt keywrd describes the current number f learner cmments that are being stred by the LMS fr the SCO. The ttal number f entries currently being managed by the LMS shall be returned. Data Mdel Element Implementatin Requirements: Data Type: integer Value Space: Nn-negative integer Frmat: The characterstring representing the number f learner cmments that the LMS is currently managing. LMS Behavir Requirements: This data mdel element is mandatry and shall be implemented by the LMS as read-nly. If the LMS receives a request t get the cmi.cmments_frm_learner._cunt value prir t any cmments being set by the SCO, then the LMS shall adhere t the requirements listed belw fr API Implementatin Requirements. SCO Behavir Requirements: The data mdel element is required t be implemented by an LMS as read-nly. The SCO is nly permitted t retrieve the value f the cmi.cmments_frm_learner._cunt data mdel element. API Implementatin Requirements: GetValue(): The LMS shall return the number f learner cmments currently stred by the LMS and set the errr cde t 0 N Errr. If n cmments have been set by the SCO, then the LMS shall return 0, set the errr cde t 0 - N Errr. SetValue(): If the SCO invkes a SetValue() request t RTE-4-24 SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

87 set the cmi.cmments_frm_learner._cunt, then the LMS shall set the errr cde t 404 Data Mdel Element Is Read Only and return false. Example: GetValue( cmi.cmments_frm_learner._cunt ) cmi.cmments_frm_learner.n.cmment The cmi.cmments_frm_learner.n.cmment data mdel element shall describe textual input [1]. The characterstring value represents a lcalized characterstring. Data Mdel Element Implementatin Requirements: Data Type: lcalized_string_type (SPM: 4000) Value Space: A characterstring (defined by ISO ) with lcalizatin infrmatin Frmat: Refer t Sectin : Data Types fr mre infrmatin n the requirements fr the frmat f the lcalized_string_type data type. LMS Behavir Requirements: The data mdel element is mandatry and shall be implemented by an LMS as read/write. The value is supplied by the SCO. The LMS shall nt make any assumptin n an initial value fr this data mdel element. If a GetValue() request is made befre the actual cmment has been set by the SCO, then the LMS shall behave accrding t the API Implementatin Requirements belw. SCO Behavir Requirements: The data mdel element is required t be implemented by an LMS as read/write. The SCO is permitted t retrieve and stre the value f the cmi.cmments_frm_learner.n.cmment data mdel element. During a SetValue() request, the SCO shuld be aware that the delimiter is ptinal. If the delimiter is nt prvided as part f the characterstring, the LMS will assume that the default language is en (English). During a GetValue() request, the SCO shuld be aware that the delimiter may be part f the characterstring returned by the LMS (depending n the LMS implementatin). What the SCO des with the characterstring returned by the LMS is dependent n the implementatin f the SCO. API Implementatin Requirements: GetValue(): The LMS shall return the value stred fr the cmi.cmments_frm_learner.n.cmment data mdel element and set the errr cde t 0 N Errr. The characterstring returned shall adhere t the requirements identified in the Data Mdel Element Implementatin Requirements. The data mdel binding fr cllectins is represented as packed arrays. If the SCO invkes a GetValue() request where the index (n) is a number larger than what the LMS is currently maintaining (e.g., the request indicated an n value f 5 when there are nly 3 cmments in the array), then the LMS shall set the errr cde t 301 General Get Failure and return an empty characterstring ( ). Refer t Sectin : SCORM Extensin Errr Cnditins fr further recmmendatins n prcessing this request. SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-4-25

88 If the SCO attempts t retrieve the cmi.cmments_frm_learner.n.cmment and the recrd f data has been created but the cmment data mdel element has nt been set by the SCO, then the LMS shall set the errr cde t Data Mdel Element Value Nt Initialized and return an empty characterstring ( ). SetValue(): The LMS shall set the cmi.cmments_frm_learner.n.cmment t the supplied value in the SetValue() request, set the errr cde 0 - N Errr and return true. If the supplied value f the SetValue() des nt meet the requirements f the Data Mdel Element Implementatin Requirements, then the LMS shall set the errr cde t 406 Data Mdel Element Type Mismatch and return false. The LMS shall nt alter the state f the data mdel element based n the request. The data mdel binding fr cllectins is represented as packed arrays. If the SCO invkes a SetValue() request where the index (n) prvided is a number that is greater than the current number f cmments frm learner being stred (can be determined by requesting the cmi.cmments_frm_learner._cunt ), then the LMS shall set the errr cde t 351 General Set Failure and return false. Refer t Sectin : SCORM Extensin Errr Cnditins fr mre infrmatin n prcessing this request. Additinal Behavir Requirements: If the data mdel element is implemented, the SCO has the respnsibility t make sure that cmi.cmments_frm_learner.n.cmment is set initially in a sequential rder. The SCO has the ability t retrieve previusly set cmments and verwrite these cmments, updating the cmment, lcatin and timestamp. The SCO shuld be aware f the smallest permitted maximum number f characters (4000) that shall be implemented by the LMS. Example: GetValue( cmi.cmments_frm_learner.0.cmment ) SetValue( cmi.cmments_frm_learner.0.cmment, S me cmments abut the SCO ) cmi.cmments_frm_learner.n.lcatin The cmi.cmments_frm_learner.n.lcatin data mdel element indicates the pint in the SCO t which the cmment applies. This data mdel element is implementatin-defined by each SCO. If n value is specified fr lcatin, then the cmment is applicable t the entire SCO (as a whle) rather than a specific lcatin in the SCO. [1]. Data Mdel Element Implementatin Requirements: Data Type: characterstring (SPM: 250) Value Space: ISO Frmat: The frmat f this data mdel element is defined and cntrlled by the SCO. Refer t Sectin : Data Types fr mre infrmatin n the requirements fr the frmat f the characterstring data RTE-4-26 SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

89 type. LMS Behavir Requirements: The data mdel element is mandatry and shall be implemented by the LMS as read/write. The value is cntrlled and supplied by the SCO. If a GetValue() request is made befre the actual lcatin has been set by the SCO, then the LMS shall behave accrding t the API Implementatin Requirements belw. SCO Behavir Requirements: The data mdel element is required t be implemented by an LMS as read/write. The SCO is permitted t retrieve and stre the value f the cmi.cmments_frm_learner.n.lcatin data mdel element. API Implementatin Requirements: GetValue(): The LMS shall return the value stred fr the cmi.cmments_frm_learner.n.lcatin data mdel element and set the errr cde t 0 N Errr. The characterstring returned shall adhere t the requirements identified in the Data Mdel Element Implementatin Requirements. The data mdel binding fr cllectins is represented as packed arrays. If the SCO invkes a GetValue() request where the index (n) is a number larger than what the LMS is currently maintaining (e.g., the request indicated an n value f 5 when there are nly 3 cmments in the array), then the LMS shall set the errr cde t 301 General Get Failure and return an empty characterstring ( ). Refer t Sectin : SCORM Extensin Errr Cnditins fr further recmmendatins n prcessing this request. If the SCO attempts t retrieve the cmi.cmments_frm_learner.n.lcatin and the recrd f data has been created but the lcatin data mdel element has nt been set by the SCO, then the LMS shall set the errr cde t 403 Data Mdel Element Value Nt Initialized and return an empty characterstring ( ). SetValue(): The LMS shall set the cmi.cmments_frm_learner.n.lcatin t the supplied value in the SetValue() request, set the errr cde 0 - N Errr and return true. The data mdel binding fr cllectins is represented as packed arrays. If the SCO invkes a SetValue() request where the index (n) prvided is a number that is greater than the current number f cmments frm learner being stred (can be determined by requesting the cmi.cmments_frm_learner._cunt ), then the LMS shall set the errr cde t 351 General set failure and return false. Refer t Sectin : SCORM Extensin Errr Cnditins fr mre infrmatin n prcessing this request. Additinal Behavir Requirements: The SCO has the ability t retrieve previusly set SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-4-27

90 cmments and verwrite these cmments, updating the cmment, lcatin and timestamp. The SCO shuld be aware f the smallest permitted maximum number f characters (250) that shall be implemented by the LMS. Example: GetValue( cmi.cmments_frm_learner.0.lcatin ) SetValue( cmi.cmments_frm_learner.0.lcatin, PA GE1SECTION#3 ) cmi.cmments_frm_learner.n.timestamp The cmi.cmments_frm_learner.n.timestamp data mdel element indicates the pint in time at which the cmment was created r mst recently changed. Implementatin shall supprt, minimally, time perids in the range f January 1, 1970 thrugh January 1, 2038 [1]. Data Mdel Element Implementatin Requirements: Data Type: time (secnd,10,0) Value Space: The data type dentes the value fr time is expressed as a value that is accurate t ne secnd and ptinally accurate t ne hundredth f a secnd (0.01). Frmat: Refer t Sectin : Data Types fr mre infrmatin n the requirements fr the frmat f the time (secnd,10,0) data type. LMS Behavir Requirements: The data mdel element is mandatry and shall be implemented by the LMS as read/write. The value is cntrlled and supplied by the SCO. If a GetValue() request is made befre the timestamp has been set, then the LMS shall behave accrding t the API Implementatin Requirements belw. SCO Behavir Requirements: The data mdel element is required t be implemented by an LMS as read/write. The SCO is permitted t retrieve and stre the value f the cmi.cmments_frm_learner.n.timestamp data mdel element. API Implementatin Requirements: GetValue(): The LMS shall return the value stred fr the cmi.cmments_frm_learner.n.timestamp data mdel element and set the errr cde t 0 N Errr. The characterstring returned shall adhere t the requirements identified in the Data Mdel Element Implementatin Requirements. The data mdel binding fr cllectins is represented as packed arrays. If the SCO invkes a GetValue() request where the index (n) is a number larger than what the LMS is currently maintaining (e.g., the request indicated an n value f 5 when there are nly 3 cmments in the array), then the LMS shall set the errr cde t 301 General Get Failure and return an empty characterstring ( ). Refer t Sectin : SCORM Extensin Errr Cnditins fr further recmmendatins n prcessing this request. If the SCO attempts t retrieve the cmi.cmments_frm_learner.n.timestamp and the recrd f data has been created but the cmi.cmments_frm_learner.n.timestamp data mdel element has nt been set by the SCO, then the LMS shall set the errr cde t 403 RTE-4-28 SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

91 Data Mdel Element Value Nt Initialized and return an empty characterstring ( ). SetValue(): The LMS shall set the cmi.cmments_frm_learner.n.timestamp t the supplied value in the SetValue() request, set the errr cde 0 - N Errr and return true. If the supplied value f the SetValue() des nt meet the requirements f the Data Mdel Element Implementatin Requirements, then the LMS shall set the errr cde t 406 Data Mdel Element Type Mismatch and return false. The LMS shall nt alter the state f the data mdel element based n the request. The data mdel binding fr cllectins is represented as packed arrays. If the SCO invkes a SetValue() request where the index (n) prvided is a number that is greater than the current number f cmments frm learner being stred (can be determined by requesting the cmi.cmments_frm_learner._cunt ), then the LMS shall set the errr cde t 351 General set failure and return false. Refer t Sectin : SCORM Extensin Errr Cnditins fr mre infrmatin n prcessing this request. Example: GetValue( cmi.cmments_frm_learner.0.timestamp ) SetValue( cmi.cmments_frm_learner.0.timestamp, T03:00:00 ) SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-4-29

92 Cmments Frm LMS The cmi.cmments_frm_lms data mdel element cntains cmments and anntatins intended t be seen by all learners fr the SCO fr which they are defined. These cmments are intended t be a mechanism fr adding infrmatin f interest t all learners in a particular cmmunity, instructr ntes, etc. SCORM des nt define a mechanism fr hw these cmments are initialized. LMSs are free t prvide a mechanism t supprt the creatin and initializatin f this data. This supprt is nt required fr SCORM cnfrmance. Hw this infrmatin is presented r used is utside the scpe f SCORM. One such use wuld be fr the ability t retrieve the cmments and display them t the learner upn launch f the SCO (r during sme pint in the learner sessin). The value f cmi.cmments_frm_lms is intended t prvide infrmatin abut the SCO r the learning experience with the SCO. The structure f this data is nt specified by SCORM. The LMS shall supprt at least the SPM f 100 cmments frm the LMS. The LMS is free t supprt mre than the SPM. Table 4.2.3a: Dt-ntatin Binding fr the Cmment frm LMS Data Mdel Element Dt-Ntatin Binding cmi.cmments_frm_lms._children Details The cmi.cmments_frm_lms._children data mdel element represents a listing f supprted data mdel elements. This data mdel element is typically used by a SCO t determine which data mdel elements are supprted by the LMS. The characterstring returned may be used by the SCO t dynamically build parameters fr the GetValue() and SetValue() requests. Data Mdel Element Implementatin Requirements: Data Type: characterstring Value Space: ISO [5] Frmat: A cmma-separated list f all f the data mdel elements in the Cmments Frm LMS parent data mdel element that are supprted by the LMS. Since all data mdel elements are required t be supprted by the LMS, the characterstring shall represent the fllwing data mdel elements: cmment lcatin timestamp LMS Behavir Requirements: This data mdel element is mandatry and shall be implemented by an LMS as read-nly. The LMS is respnsible fr returning a cmmaseparated list f all f the data mdel elements (refer t Data Mdel Element Implementatin Requirements abve). SCO Behavir Requirements: This data mdel element is required t be implemented by an LMS as read-nly. The SCO is RTE-4-30 SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

93 nly permitted t retrieve the value f the cmi.cmments_frm_lms._children data mdel element. API Implementatin Requirements: GetValue(): The LMS shall return a cmmaseparated list f data mdel elements supprted by the LMS (refer t Data Mdel Element Implementatin Requirements abve) and set the errr cde t 0 N Errr. The rdering f elements is nt imprtant. The characterstring returned shall adhere t the requirements identified in the Data Mdel Element Implementatin Requirements. SetValue(): If the SCO invkes a SetValue() request t set the cmi.cmments_frm_lms._children, then the LMS shall set the errr cde t 404 Data Mdel Element Is Read Only and return false. Example: GetValue( cmi.cmments_frm_lms._children ) cmi.cmments_frm_lms._cunt cmi.cmments_frm_lms.n.cmment The cmi.cmments_frm_lms._cunt keywrd is used t describe the current number f cmments frm the LMS that are currently being stred by the LMS. The ttal number f entries currently being stred by the LMS shall be returned. Data Mdel Element Implementatin Requirements: Data Type: integer Value Space: Nn-negative integer Frmat: The characterstring representing the number f cmments that the LMS is currently persisting. LMS Behavir Requirements: This data mdel element is mandatry and shall be implemented by the LMS as read-nly. If the LMS receives a request t get the cmi.cmments_frm_lms._cunt value prir t any cmments being set by the SCO, then the LMS shall adhere t the requirements listed belw fr API Implementatin Requirements. SCO Behavir Requirements: The data mdel element is required t be implemented by an LMS as read-nly. The SCO is nly permitted t retrieve the value f the cmi.cments_frm_lms._cunt data mdel element. API Implementatin Requirements: GetValue(): The LMS shall return the number f cmments currently stred by the LMS and set the errr cde t 0 N Errr. If there are n cmments defined fr this element, then the LMS shall return 0 and set the errr cde t 0. SetValue(): If the SCO invkes a SetValue() request t set the cmi.cmments_frm_lms._cunt, then the LMS shall set the errr cde t 404 Data Mdel Element Is Read Only and return false. Example: GetValue( cmi.cmments_frm_lms._cunt ) The cmi.cmments_frm_lms.n.cmment data mdel element shall describe cmments r anntatins assciated with a SCO [1]. The characterstring value represents the lcalized characterstring. SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-4-31

94 Data Mdel Element Implementatin Requirements: Data Type: lcalized_string_type (SPM: 4000) Value Space: A characterstring (defined by ISO ) with lcalizatin infrmatin Frmat: Refer t Sectin : Data Types fr mre infrmatin n the requirements fr the frmat f the lcalized_string_type data type. LMS Behavir Requirements: The data mdel element is mandatry and shall be implemented by an LMS as read-nly. Hw this data mdel element is initialized is utside the scpe f SCORM. The LMS may prvide a means t allw the authr/instructr t prvide the cmments and these cmments may then be used t initialize this value. If a GetValue() request is made prir t the cmment being set r initialized by the LMS, then the LMS shall behave accrding t the API Implementatin Requirements belw. SCO Behavir Requirements: The data mdel element is required t be implemented by an LMS as read-nly. The SCO is nly permitted t retrieve the value f the cmi.cmments_frm_lms.n.cmment data mdel element. During a GetValue() request, the SCO shuld be aware that the delimiter may be part f the characterstring returned by the LMS (depending n the LMS implementatin). What the SCO des with the characterstring returned by the LMS is dependent n the implementatin f the SCO. If n delimiter is prvided the SCO shall assume the default language f en. API Implementatin Requirements: GetValue(): The LMS shall return the value stred fr the cmi.cmments_frm_lms.n.cmment data mdel element and set the errr cde t 0 N Errr. The characterstring returned shall adhere t the requirements identified in the Data Mdel Element Implementatin Requirements. The data mdel binding fr cllectins is represented as packed arrays. If the SCO invkes a GetValue() request where the index (n) is a number larger than what the LMS is currently maintaining (e.g., the request indicated an n value f 5 when there are nly 3 cmments in the array), then the LMS shall set the errr cde t 301 General Get Failure and return an empty characterstring ( ). Refer t Sectin : SCORM Extensin Errr Cnditins fr further recmmendatins n prcessing this request. If the SCO attempts t retrieve the cmi.cmments_frm_lms.n.cmment and the recrd f data has been created but the cmment data mdel element has nt been set by the LMS, then the LMS shall set the errr cde t Data Mdel Element Value Nt Initialized and return an empty characterstring ( ). RTE-4-32 SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

95 SetValue(): If the SCO invkes a SetValue() request t set the cmi.cmments_frm_lms.n.cmment, then the LMS shall set the errr cde t 404 Data Mdel Element Is Read Only and return false. The LMS shall nt alter the state f the data mdel element based n the request. Example: GetValue( cmi.cmments_frm_lms.0.cmment ) cmi.cmments_frm_lms.n.lcatin The cmi.cmments_frm_lms.n.lcatin data mdel element indicates the pint in the SCO t which the cmment applies. This data mdel element is implementatin-defined by each SCO. If n value is specified fr lcatin, then the cmment is applicable t the entire SCO (as a whle) [1]. Data Mdel Element Implementatin Requirements: Data Type: characterstring (SPM: 250) Value Space: ISO Frmat: Refer t Sectin : Data Types fr mre infrmatin n the requirements fr the frmat f the characterstring data type. LMS Behavir Requirements: The data mdel element is mandatry and shall be implemented by the LMS as read-nly. Hw this element is initialized is utside the scpe f SCORM. The LMS may prvide a means t allw the authr/instructr t prvide the cmments (alng with a lcatin and date) and these cmments may then be used t initialize this value. If a GetValue() request is made prir t the lcatin being set r initialized by the LMS, then the LMS shall behave accrding t the API Implementatin Requirements belw. SCO Behavir Requirements: The data mdel element is required t be implemented by an LMS as read-nly. The SCO is nly permitted t retrieve the cmi.cmments_frm_lms.n.lcatin data mdel element. API Implementatin Requirements: GetValue(): The LMS shall return the value stred fr the cmi.cmments_frm_lms.n.lcatin data mdel element and set the errr cde t 0 N Errr. The characterstring returned shall adhere t the requirements identified in the Data Mdel Element Implementatin Requirements. The data mdel binding fr cllectins is represented as packed arrays. If the SCO invkes a GetValue() request where the index (n) is a number larger than what the LMS is currently maintaining (e.g., the request indicated an n value f 5 when there are nly 3 cmments in the array), then the LMS shall set the errr cde t 301 General Get Failure and return an empty characterstring ( ). Refer t Sectin : SCORM Extensin Errr Cnditins fr further recmmendatins n prcessing this request. If the SCO attempts t retrieve the cmi.cmments_frm_lms.n.lcatin and the SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-4-33

96 recrd f data has been created but the lcatin data mdel element has nt been set by the LMS, then the LMS shall set the errr cde t Data Mdel Element Value Nt Initialized and return an empty characterstring ( ). SetValue(): If the SCO invkes a SetValue() request t set the cmi.cmments_frm_lms.n.lcatin, then the LMS shall set the errr cde t 404 Data Mdel Element Is Read Only and return false. The LMS shall nt alter the state f the data mdel element based n the request. Example: GetValue( cmi.cmments_frm_lms.0.lcatin ) cmi.cmments_frm_lms.n.timestamp The cmi.cmments_frm_lms.n.timestamp data mdel element indicates the pint in time at which the cmment was created r mst recently changed. Implementatin shall supprt, minimally, time perids in the range f January 1, 1970 thrugh January 1, 2038 [1]. Data Mdel Element Implementatin Requirements: Data Type: time(secnd,10,0) Value Space: The data type dentes that the value fr time is a number expressed as a real data type with values that are accurate t ne secnd and ptinally accurate t ne hundredth f a secnd (0.01). The number f secnds in the time value is the number f secnds since 00:00 n January 1, 1970 [1]. Frmat: Refer t Sectin : Data Types fr mre infrmatin n the requirements fr the frmat f the time (secnd,10,0) data type. LMS Behavir Requirements: The data mdel element is mandatry and shall be implemented by the LMS as read-nly. Hw this element is initialized is utside the scpe f SCORM. The LMS may prvide a means t allw the authr/instructr t prvide the cmments (alng with a lcatin and date) and these cmments may then be used t initialize this value. If a GetValue() request is made prir t the timestamp being set r initialized by the LMS, then the LMS shall behave accrding t the API Implementatin Requirements belw. SCO Behavir Requirements: The data mdel element is required t be implemented by an LMS as read-nly. The SCO is nly permitted t retrieve the value f the cmi.cmments_frm_lms.n.timestamp data mdel element. API Implementatin Requirements: GetValue(): The LMS shall return the value stred fr the cmi.cmments_frm_lms.n.timestamp data mdel element and set the errr cde t 0 N Errr. The characterstring returned shall adhere t the requirements identified in the Data Mdel Element Implementatin Requirements. The data mdel binding fr cllectins is represented as packed arrays. If the SCO invkes a GetValue() request where the index (n) is a number larger than what the RTE-4-34 SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

97 LMS is currently maintaining (e.g., the request indicated an n value f 5 when there are nly 3 cmments in the array), then the LMS shall set the errr cde t 301 General Get Failure and return an empty characterstring ( ). Refer t Sectin : SCORM Extensin Errr Cnditin fr further recmmendatins n prcessing this request. If the SCO attempts t retrieve the cmi.cmments_frm_lms.n.timestamp and the recrd f data has been created but the timestamp data mdel element has nt been set by the LMS, then the LMS shall set the errr cde t Data Mdel Element Value Nt Initialized and return an empty characterstring ( ). SetValue(): If the SCO invkes a SetValue() request t set the cmi.cmments_frm_lms.n.timestamp, then the LMS shall set the errr cde t 404 Data Mdel Element Is Read Only and return false. The LMS shall nt alter the state f the data mdel element based n the request. Example: GetValue( cmi.cmments_frm_lms.0.timestamp ) SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-4-35

98 Cmpletin Status The cmi.cmpletin_status data mdel element indicates whether the learner has cmpleted the SCO [1]. Hw the SCO determines its cmpletin status is utside the scpe f SCORM. This value indicates the verall cmpletin status fr the SCO as determined by the SCO develper. Table 4.2.4a: Dt-ntatin Binding fr the Cmpletin Status Data Mdel Element Dt-Ntatin Binding cmi.cmpletin_status Details Data Mdel Element Implementatin Requirements: Data Type: state (cmpleted, incmplete, nt_attempted, unknwn) Value Space: The IEEE defines fur state values. SCORM binds these state values t the fllwing restricted vcabulary tkens: cmpleted : The learner has experienced enugh f the SCO t cnsider the SCO cmplete [1]. Hw cmpletin is determined is cntrlled and managed by the SCO. The cmpletin status can be verridden by an LMS based n the requirements defined in : Cmpletin Status Evaluatin. incmplete : The learner has nt experienced enugh f the SCO t cnsider the SCO cmplete [1]. Hw cmpletin is determined is cntrlled and managed by the SCO. nt attempted : The learner is cnsidered nt t have used the SCO in any significant way [1]. unknwn : N assertin is made [1]. This indicates that n applicable assertin can be made that indicates the cmpletin status. Frmat: The frmat f the data mdel value shall be ne f the fur restricted vcabulary tkens listed abve ( cmpleted, incmplete, nt attempted, unknwn ). LMS Behavir Requirements: This data mdel element is mandatry and shall be implemented by an LMS as read/write. If a cmi.cmpletin_threshld is nt defined, the determinatin f cmi.cmpletin_status is cntrlled and managed by the SCO, the LMS cannt imply any value fr the cmi.cmpletin_status in any way. There is n requirement in SCORM that mandates a SCO t set cmi.cmpletin_status. If the SCO des nt set the cmi.cmpletin_status, the LMS shall use the default value f unknwn as the value fr cmi.cmpletin_status. If a cmi.cmpletin_threshld is defined, it is the respnsibility f the LMS t maintain cngruence between the cmi.cmpletin_threshld, cmi.prgress_measure, and the value used by the LMS fr cmi.cmpletin_status. The LMS must reprt (when requested via a GetValue() call) cmi.cmpletin_status by adhering t the requirements defined in sectin : Cmpletin Status Evaluatin. Sequencing Impacts: If the SCO r LMS (thrugh the prcess described in Sectin ) sets cmi.cmpletin_status, f the SCO t unknwn, the Attempt Prgress Status fr the learning activity assciated with the SCO shall be false. If the SCO r LMS (thrugh the prcess described in Sectin ) sets cmi.cmpletin_status, f the SCO t cmpleted, the Attempt Prgress Status fr the learning activity assciated with the SCO shall be true, and the Attempt Cmpletin Status fr the learning activity assciated with the SCO shall be true. If the SCO r LMS (thrugh the prcess described in Sectin ) sets RTE-4-36 SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

99 cmi.cmpletin_status, f the SCO t incmplete, the Attempt Prgress Status fr the learning activity assciated with the SCO shall be true, and the Attempt Cmpletin Status fr the learning activity assciated with the SCO shall be false. If the SCO r LMS (thrugh the prcess described in Sectin ) sets cmi.cmpletin_status, f the SCO t "nt attempted", the Attempt Prgress Status fr the learning activity assciated with the SCO shall be true and the Attempt Cmpletin Status fr the learning activity assciated with the SCO shall be false. SCO Behavir Requirements: The data mdel element is required t be implemented by the LMS as read/write. The SCO is permitted t retrieve and stre the value f the cmi.cmpletin_status data mdel element. The SCO shuld be aware that setting the cmi.cmpletin_status will affect the learning activity assciated with the SCO, therefre pssibly affecting sequencing. If there is sequencing infrmatin applied t the learning activity assciated with the SCO that relies n cmpletin status, the SCO must ensure cmpletin infrmatin is accurately sent t the LMS ( SetValue() ) prir t the SCO s learner sessin ending. Otherwise, the LMS will use the value unknwn as the cmpletin status f the learning activity assciated with the SCO when prcessing sequencing infrmatin. API Implementatin Requirements: GetValue(): The LMS shall return the assciated cmi.cmpletin_status currently managed by the LMS fr the learner and set the errr cde t 0 N Errr. The characterstring returned shall adhere t the requirements identified in the Data Mdel Element Implementatin Requirements. If a cmi.cmpletin_threshld is defined, then the LMS shall reprt (when requested via GetValue() call) cmi.cmpletin_status by adhering t the requirements defined in sectin : Cmpletin Status Evaluatin. If a cmi.cmpletin_threshld is nt defined, until the SCO reprts a value, the default value f the cmi.cmpletin_status is unknwn. SetValue(): If the SCO invkes a request t set the cmi.cmpletin_status and the value is nt a member f the restricted vcabulary tkens described abve, then the LMS shall set the API Errr Cde t 406 Data Mdel Element Type Mismatch and return false. The LMS shall nt alter the state f the data mdel element based n the request. Example: GetValue( cmi.cmpletin_status ) SetValue( cmi.cmpletin_status, incmplete ) Cmpletin Status Evaluatin Typically, the cmpletin status f the SCO is determined by the SCO. The cmpletin status f the SCO can be designed by the cntent develper in varius ways, including but nt limited t: Number f pages visited by the learner Result f a learner selecting a user interface cntrl (e.g., learner pressing a buttn) Cmpletin f the learner viewing a piece f vide r reading a dcument SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-4-37

100 Cmpletin f varius bjectives in the SCO (i.e., cmi.bjectives.n.cmpletin_status) Regardless f hw the determinatin is made by the SCO, this prcess invlves the SCO setting the cmi.cmpletin_status. SCORM des nt require the SCO t track (i.e., GetValue() r SetValue() functin calls) any SCORM Run-Time Envirnment Data Mdel elements. With this in mind, the LMS has additinal behavirs that are required in the determinatin f cmpletin status. Under certain circumstances, the LMS is required t behave differently. The cmi.cmpletin_status data mdel element is impacted by tw ther SCORM Run-Time Envirnment Data Mdel Elements (Cmpletin Threshld cmi.cmpletin_threshld and Prgress Measure cmi.prgress_measure). The fllwing table defines the pssible states f these values and the defined LMS behavir. The Cmpletin Threshld value may be defined in the imsmanifest.xml file (refer t Sectin 4.2.5: Cmpletin Threshld fr mre details). Bth the Prgress Measure and Cmpletin Status are determined and set by the SCO. Table a defines the LMS behavirs assciated with the cmbinatins f these values being set/defined r nt set/defined. The LMS behavir shall be applied when a GetValue() request t retrieve the value f the cmi.cmpletin_status is made by the SCO. Whether r nt the actual value stred by the LMS fr cmi.cmpletin_status is verridden and persisted during this evaluatin prcess is utside the scpe f SCORM and is implementatin specific. Table a: GetValue() Evaluatin f Cmpletin Status Cmpletin Threshld (*) Nne defined Nne defined Prgress Measure N value set by the SCO N value set by the SCO Cmpletin Status N value set by the SCO One f the defined vcabularies Nne defined 0.5 One f the defined vcabularies One f the defined vcabularies One f the defined vcabularies LMS GetValue() Behavir The cmi.cmpletin_status shall be evaluated as unknwn and this value shall be returned t the SCO. N actin, the cmi.cmpletin_status currently being maintained by the LMS (i.e., the value set in the last successful call t SetValue() by the SCO) shall be returned t the SCO. N actin, the cmi.cmpletin_status currently being maintained by the LMS (i.e., the value set in the last successful call t SetValue() by the SCO) shall be returned t the SCO. The cmi.cmpletin_status shall be evaluated t incmplete and this value shall be returned t the SCO. RATIONALE: 0.5 < 0.8. Refer t the requirements defined by cmi.cmpletin_threshld and cmi.prgress_measure. The cmi.cmpletin_status shall be evaluated t cmpleted and this value shall be returned t the SCO. RATIONALE: 0.9 >= 0.8. Refer t the requirements RTE-4-38 SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

101 defined by cmi.cmpletin_threshld and cmi.prgress_measure. 0.8 N value set by the SCO N value set by the SCO N value set by the SCO N value set by the SCO Nne defined 0.5 N value set by the SCO 0.8 N value set by the SCO One f the defined vcabularies The cmi.cmpletin_status shall be evaluated t unknwn and this value shall be returned t the SCO. The cmi.cmpletin_status shall be evaluated t incmplete and this value shall be returned t the SCO. RATIONALE: 0.5 < 0.8. Refer t the requirements defined by cmi.cmpletin_threshld and cmi.prgress_measure. The cmi.cmpletin_status shall be evaluated t cmpleted and this value shall be returned t the SCO. RATIONALE: 0.9 >= 0.8. Refer t the requirements defined by cmi.cmpletin_threshld and cmi.prgress_measure. The cmi.cmpletin_status shall be evaluated t unknwn and this value shall be returned t the SCO. The cmi.cmpletin_status shall be evaluated t unknwn and this value shall be returned t the SCO. * ADL Nte: The Cmpletin Threshld is defined by the ADL namespaced element <adlcp:cmpletinthreshld> assciated with the <adlcp:item> element that references the SCO Resurce. If an <adlcp:cmpletinthreshld> is defined, then the LMS is respnsible fr initializing the cmi.cmpletin_threshld data mdel element t the value used. If n <adlcp:cmpletinthreshld> is defined, then the cmi.cmpletin_threshld is nt defined and shall nt be initialized t any value by the LMS. SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-4-39

102 Cmpletin Threshld The value stred in the cmi.cmpletin_threshld data mdel element can be used t determine whether the SCO shuld be cnsidered cmplete. This can be accmplished by cmparing the cmi.cmpletin_threshld t the cmi.prgress_measure, made by the learner, twards the cmpletin f the SCO. Table 4.2.5a: Dt-ntatin Binding fr the Cmpletin Threshld Data Mdel Element Dt-Ntatin Binding cmi.cmpletin_threshld Details Data Mdel Element Implementatin Requirements: Data Type: real(10,7) range (0..1) Value Space: 0.0 <= cmi.cmpletin_threshld <= 1.0 Frmat: Refer t Sectin : Data Types fr mre infrmatin n the requirements fr the frmat f the real(10,7) data type. LMS Behavir Requirements: The data mdel element is mandatry and shall be implemented by the LMS as read-nly. The LMS is respnsible fr initializing this data mdel element using the ADL Cntent Packaging namespace element <adlcp:cmpletinthreshld>. This element, if needed, shall nly be placed n an <imscp:item> element that references a SCO resurce, fund in a Cntent Package Manifest. SCO Behavir Requirements: The data mdel element is required t be implemented by the LMS as read-nly. The SCO is nly permitted t retrieve the value f the cmi.cmpletin_threshld data mdel element. API Implementatin Requirements: GetValue(): The LMS shall return the value stred fr the cmi.cmpletin_threshld data mdel element and set the errr cde t 0 N Errr. The characterstring returned shall adhere t the requirements identified in the Data Mdel Element Implementatin Requirements. If the SCO attempts t retrieve the cmi.cmpletin_threshld and n cmpletin threshld was defined in the Cntent Package Manifest (<adlcp:cmpletinthreshld> element), then the LMS shall set the errr cde t Data Mdel Element Value Nt Initialized and return an empty characterstring ( ). SetValue(): If the SCO invkes a SetValue() request t set the cmi.cmpletin_threshld, then the LMS shall set the errr cde t 404 Data Mdel Element Is Read Only and return false. The LMS shall nt alter the state f the data mdel element based n the request. Example: GetValue( cmi.cmpletin_threshld ) RTE-4-40 SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

103 Credit The cmi.credit data mdel element indicates whether the learner will be credited fr perfrmance in the SCO [1]. Hw a SCO is prescribed t be taken fr credit r n credit is utside the scpe f SCORM. The default value fr this data mdel element is the fact that the SCO is being taken fr credit. Typically, ne des nt chse which SCOs shuld be fr credit and n credit. This is usually handled at the cntent rganizatin (e.g., curse) level. If an LMS prvides a mechanism fr allwing learners t register fr cntent rganizatin fr credit and n credit, then the value that the learner chses (r pssibly the value that the instructr requires fr the cntent rganizatin) shall be used thrughut all f the SCOs fund in the cntent rganizatin. Table 4.2.6a: Dt-ntatin Binding fr the Credit Data Mdel Element Dt-Ntatin Binding cmi.credit Details Data Mdel Element Implementatin Requirements: Data Type: state (credit, n_credit) Value Space: The IEEE defines tw state values. SCORM binds these state values t the fllwing restricted vcabulary tkens: credit : The learner is taking the SCO fr credit [1]. The default value fr this data mdel element shall be credit. If n mechanism is supplied t determine r assign this value, then the default f credit shall be used. Taking the SCO fr credit affects the determinatin f the cmi.success_status data mdel element (refer t Sectin : Mde and Credit Usage Requirements fr mre details). n-credit : The learner is taking the SCO fr n credit [1]. If the learner is taking the SCO fr n credit, then values that affect the determinatin f success status r scre shall nt be interpreted by the LMS and shall nt affect the current success status r scre fr the SCO. Frmat: The frmat f the data mdel value shall be ne f the tw restricted tkens listed abve ( credit, n-credit ). LMS Behavir Requirements: This data mdel element is mandatry and shall be implemented by an LMS as read-nly. SCORM des nt require that an LMS supprt a mechanism fr prescribing the credit state fr a SCO. Whether r nt an LMS supprts a mechanism fr this functinality is utside the scpe f SCORM. If the LMS des nt supprt a mechanism, then the default value ( credit ) f credit shall be returned in all cases. SCO Behavir Requirements: The data mdel element is required t be implemented by the LMS as readnly. The SCO is nly permitted t retrieve the value f the cmi.credit data mdel element. What the SCO des with this data is ttally up t the discretin f the SCO. The SCO culd use the cmi.credit value t determine the imprtance f reprting ther data mdel element values t the LMS (via a SetValue() call). API Implementatin Requirements: GetValue(): The LMS shall return the assciated cmi.credit currently stred by the LMS fr the learner and set the errr cde t 0 N Errr. SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-4-41

104 The characterstring returned shall adhere t the requirements identified in the Data Mdel Element Implementatin Requirements. If the SCO requests the cmi.credit and the LMS des nt supprt a mechanism r prcess fr selecting credit vs. n-credit, then the LMS shall return the default value ( credit ). If the LMS supprts such a mechanism r prcess, then the LMS shall return the current value being stred fr cmi.credit. SetValue(): If the SCO invkes a request t set the cmi.credit, then the LMS shall set the API Errr Cde t 404 Data Mdel Element Is Read Only and return false. The LMS shall nt alter the state f the data mdel element based n the request. Example: GetValue( cmi.credit ) RTE-4-42 SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

105 Entry The cmi.entry data mdel element cntains infrmatin that asserts whether the learner has previusly accessed the SCO [1]. As defined in the Tempral Mdel (refer t Sectin 2.1.1: Run-Time Envirnment Tempral Mdel), an entry value f ab-initi indicates that the SCO has a default (clean) set f run-time data. There is n run-time data available frm any previus learner attempts. An entry value f resume indicates that the SCO is accessing runtime data fr the current learner attempt as set frm the previus learner sessin n the SCO. Table 4.2.7a: Dt-ntatin Binding fr the Entry Data Mdel Element Dt-Ntatin Binding cmi.entry Details Data Mdel Element Implementatin Requirements: Data Type: state (ab_initi, resume, _nil_) [1] Value Space: The IEEE defines three state values. SCORM binds these state values t the fllwing restricted vcabulary tkens: ab-initi : Indicates that the learner has nt accessed the SCO during the current learner attempt [1]. This value indicates that this is the first learner sessin assciated with the current learner attempt n the SCO. resume : Indicates that (1) the learner has previusly accessed the SCO during the current learner attempt, and (2) upn exiting, the cmi.exit data mdel element had the value f suspend r lgut [1] r the LMS triggered a Suspend All Navigatin Request. (empty characterstring): Indicates all ther cnditins. There is n knwledge f previus access r n specific entry cnditin is indicated [1]. Anther example culd be that the SCO was already cmpleted r mastered, and later it was launched fr review purpses. LMS Behavir Requirements: This data mdel element is mandatry and shall be implemented by an LMS as read-nly. The LMS is respnsible fr initializing the cmi.entry data mdel element based n the fllwing rules: If this is the first learner sessin n a learner attempt, then the LMS shall set the cmi.entry t ab-initi upn initial launch f the SCO. If the learner attempt n the SCO is being resumed frm a suspended learner sessin (cmi.exit was set t suspend r lgut ), then the LMS shall initialize this value t resume. If the previus learner sessin n the SCO ended due t a Suspend All Navigatin Request triggered by the LMS, then the LMS shall initialize this value t resume. Fr all ther cnditins, the LMS shall set the cmi.entry t an empty characterstring ( ). Upn receiving a Terminate( ) request r the user navigates away, the LMS shall set the cmi.entry t either (empty characterstring) r resume. This value shall be made available during the next learner sessin in the current learner attempt. This is determined by the LMS by evaluating the value f the cmi.exit. If the attempt f the activity is being suspended (either indicated by the SCO by setting the value f cmi.exit t suspend r by sme ther LMS prvided suspensin mechanism such as a Suspend All Navigatin Request), then the LMS shall set cmi.entry t resume upn the next attempt f the activity (that references the assciated SCO) fr that learner. If the SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-4-43

106 SCO set cmi.exit t a value ther than suspend r did nt set the value at all, then the LMS will set the cmi.entry t an empty characterstring ( ). SCO Behavir Requirements: The data mdel element is required t be implemented by the LMS as readnly. The SCO is nly permitted t retrieve the value f the cmi.entry data mdel element. What the SCO des with this data is ttally up t the discretin f the SCO. API Implementatin Requirements: GetValue(): The LMS shall return the assciated cmi.entry value currently stred by the LMS fr the learner and set the errr cde t 0 N Errr. The characterstring returned shall adhere t the requirements identified in the Data Mdel Element Implementatin Requirements. SetValue(): If the SCO invkes a request t set the cmi.entry, then the LMS shall set the API Errr Cde t 404 Data Mdel Element Is Read Only and return false. The LMS shall nt alter the state f the data mdel element based n the request. Example: GetValue( cmi.entry ) RTE-4-44 SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

107 Exit The cmi.exit data mdel element indicates hw r why the learner left the SCO [1]. This value is used t indicate the reasn that the SCO was last exited. The cmi.exit data mdel element is invlved with tempral aspects f the run-time executin f the SCO. If the cmi.exit is set t suspend then the SCOs current learner attempt des nt end. The SCOs Run-Time Envirnment data mdel element values fr the current learner sessin will be available t the SCO if the SCO is relaunched in a subsequent learner sessin. If the cmi.exit is set t nrmal, lgut, time-ut r (empty characterstring) then the SCOs learner attempt ends. The SCOs Run-Time Envirnment data mdel element values f the current learner sessin will NOT be available if the SCO is relaunched. ADL Nte: If an LMS invkes a Suspend All navigatin request, then the value f cmi.exit will be ignred. In these cases, the SCOs current learner attempt des nt end. The SCOs Run-Time Envirnment data mdel element values shall be persisted and available t the SCO if the SCO is relaunched. Table 4.2.8a: Dt-ntatin Binding fr the Exit Data Mdel Element Dt-Ntatin Binding cmi.exit Details Data Mdel Element Implementatin Requirements: Data Type: state (timeut, suspend, lgut, nrmal, _nil_) Value Space: The IEEE defines five state values. SCORM binds these state values t the fllwing restricted vcabulary tkens: time-ut : The SCO terminated because the time limit specified by max_time_allwed had been exceeded [1]. suspend : The learner exited the SCO with the intent f returning t it at the pint f exit [1]. lgut : The SCO signaled a desire t terminate the entire learning activity f which the SCO is part [1]. ADL Nte: The lgut keywrd is being deprecated and will nt be supprted in a future versin f the SCORM. nrmal : The SCO exited nrmally [1]. empty characterstring: The exit cnditins are undetermined [1]. The default value. LMS Behavir Requirements: The data mdel element is mandatry and shall be implemented by an LMS as write-nly. The value is cmpletely cntrlled by the SCO. The SCO is respnsible fr setting this value. If the SCO des nt set the cmi.exit data mdel element, then the default value (empty characterstring ) shall be used. If the LMS receives a request t get the cmi.exit value, then the LMS shall adhere t the requirements listed belw fr API Implementatin Requirements. If there are additinal learner sessins within a learner attempt, the cmi.exit becmes uninitialized (i.e., reinitialized t its default value f ( ) - empty characterstring) at the beginning f each additinal learner sessin within the learner attempt. SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-4-45

108 Sequencing Impacts: If the SCO sets cmi.exit t time-ut, the LMS shall prcess an Exit All navigatin request when the SCO is taken away, instead f any pending (frm the learner r LMS) navigatin request. If the SCO sets cmi.exit t suspend, the LMS shall set the Activity is Suspended value f the learning activity assciated with the SCO t true. If the SCO sets cmi.exit t lgut, the LMS shall prcess a Exit All navigatin request when the SCO is taken away, instead f any pending (frm the learner r LMS) navigatin request. ADL Nte: The lgut keywrd is being deprecated and will nt be supprted in a future versin f the SCORM. SCO Behavir Requirements: The data mdel element is required t be implemented by an LMS as writenly. The SCO is nly permitted t stre the value f the cmi.exit data mdel element. API Implementatin Requirements: GetValue(): If the SCO invkes a request t get the cmi.exit, then the LMS shall set the errr cde t 405 Data Mdel Element Is Write Only and return and empty characterstring ( ). SetValue(): This request sets the cmi.exit t the supplied value. The value must match ne f the restricted vcabularies declared fr this data mdel element. If the value supplied matches ne f the tkens listed abve, then the LMS shall set the value, return true and set the errr cde t 0 - N Errr. If the value supplied is nt equivalent t ne f the tkens listed abve, then the LMS shall set the errr cde t Data Mdel Element Type Mismatch and return false. The LMS shall nt alter the state f the data mdel element based n the request. Additinal Behavir Requirements: Fr each leaner attempt n a SCO, it is the respnsibility f the LMS t make available a cmi.entry value f ab-initi n the first learner sessin f that learner attempt. This value indicates that this is the first time the learner is experiencing the SCO during this learner attempt n the SCO. It als indicates that a default (clean) data-mdel is being accessed by the SCO. The cmi.entry value shall be implemented by the LMS as read-nly. Since the data mdel element shall be implemented as readnly, an LMS is respnsible fr managing this value (the SCO des nt directly affect this value cannt call SetValue() n cmi.entry). The LMS is respnsible fr reacting t ther run-time interactins in determining this value. The fllwing explanatin is prvided fr further clarificatin: The cmi.entry value is directly affected by the cmi.exit data mdel element. The SCO is respnsible fr setting, if s desired, the cmi.exit value. Depending n the value f the cmi.exit, the LMS shall react as fllws: 1. If the SCO set the cmi.exit t time-ut, it is assumed that the learner attempt is ending. Since the learner attempt has ended, the next time the SCO is launched the LMS shall supply a clean set f data mdel values. In additin, the LMS shall end the attempt n the cntent rganizatin fr the learner. This behavir shall be exhibited when a Terminate( ) request is received frm the SCO that set the cmi.exit t time-ut r the learner navigates away. 2. If the SCO set the cmi.exit t suspend, then the LMS shuld set the cmi.entry t resume. By setting the cmi.exit t suspend, the SCO is indicating that the learner has exited the SCO with the intent f returning t the SCO at a later time. Since the learner attempt was suspended, nce the learner attempt is resumed, the SCO shall have the same set f data that was acquired during the previusly suspended learner attempt. 3. If the SCO set the cmi.exit t lgut, then this indicates that the SCO has been exited nrmally (as determined by the SCO develper) and that learner attempt n the SCO ended nrmally. A subsequent learner attempt n the RTE-4-46 SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

109 SCO will invlve a new set f run-time data. ADL Nte: The lgut keywrd is being deprecated and will nt be supprted in a future versin f the SCORM. 4. If the SCO set the cmi.exit t nrmal, then this indicates that the SCO has been exited nrmally (as determined by the SCO develper) and that learner attempt n the SCO ended nrmally. A subsequent learner attempt n the SCO will invlve a new set f run-time data. 5. If the SCO set the cmi.exit t, then this indicates that the exit state is undetermined and the learner attempt n the SCO ended. A subsequent learner attempt n the SCO will invlve a new set f run-time data. Hw r when the cmi.entry is set by the LMS is implementatin specific. Hwever, this value shall be available during the next learner sessin within the learner attempt. Example: SetValue( cmi.exit, suspend ). SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-4-47

110 Interactins The interactins data mdel element defines a cllectin f learner respnses that can be passed frm the SCO t the LMS. Interactins are intended t be respnses t individual questins r tasks that the SCO develper wants t recrd. There is n implied behavir an LMS shall have when interactins are requested t be set, ther than strage f the data. Interactins can be thught f as a cllectin f infrmatin (interactin data). The interactin data is depicted in Figure 4.2.9a. As defined by the IEEE standard, an LMS is required t supprt (i.e., stre) at least 250 sets f interactin data [1]. An LMS can elect t prvide supprt fr mre than 250; hwever, the requirement is t supprt at least 250 sets f interactin data. Figure 4.2.9a: Interactins and Interactin Data There are tw imprtant pieces f data that are required t be in the interactin data, an identifier (cmi.interactins.n.id) and the type f interactin (cmi.interactins.n.type). The cmi.interactins.n.type data mdel element is required if the Interactin includes data pertaining t either the Crrect Respnse r Learner Respnse. These tw pieces f infrmatin are what distinguish the interactin data frm ther interactin data fund in the cllectin f interactins (cnsidered the dependencies f the interactin data). The identifier uniquely identifies ne interactin frm anther within the scpe f the SCO. The type uniquely identifies the type f interactin (true-false, matching, etc.). The Interactins data mdel element can be used fr tw primary means by the SCO: jurnaling and status. A jurnaling scheme requires the SCO t recrd interactin data every time the learner is engaged with the interactin (i.e., new interactin data is appended t the array f interactins). By applying this scheme fr recrding interactins, infrmatin can be gathered t study the learner s experience with the interactins fund in the SCO. Fr RTE-4-48 SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

111 example, reprts can be generated that state hw many times the learner respnded t the interactin, what was the latency fr each interactin, what the learner s respnse was and the result f the respnse. This data can be gathered and used t ptentially update the interactin fr future use. LMSs may prvide this type f infrmatin fr independent research and analysis, hwever, the availability f this data and feature is utside the scpe f SCORM. A status scheme requires the SCO t recrd interactin data and keep the interactin updated based n the learner s experience with the SCO. Fr example, if the learner respnds t an interactin, infrmatin can be set. If the learner then crrects his/her respnse, the same interactin data is updated t reflect the change (versus a new entry being added t the interactins array). In this scheme, the interactin data cntains the last recrded state f the interactin. Als in this scheme, the ability t track hw many times the learner updated the respnse t the interactin is lst. There are prs and cns fr using ne particular scheme ver anther. SCO develpers shuld be aware f the tw schemes and use the ne they desire. Frm the LMS perspective, the jurnaling scheme prvides mre burden n strage requirements. But then again, the nly requirement fr the amunt f interactin data t stre is 250. SCO develpers need t understand the smallest permitted maximum f 250 indicates that the LMS is nly required t supprt 250 sets f interactin data. As with any data mdel element stred in arrays, the index psitin (n) is nt what sets the uniqueness f the data being stred. The implementatin requirements defined in the standard states that the arrays shuld be implemented as a bag [12]. This data structure allws the same bject (interactin data) t be repeated in the array (unlike a set that requires the items in the set t be unique). If using a status scheme, it is recmmended that SCOs be built, if using the interactin data mdel elements, nt t rely n the index psitin fr the uniqueness. Depending n the learner and the learning sessin, the same interactin data may nt be stred at the same psitin in the array. It is highly recmmended that the SCO be built t search thrughut the interactin data lking fr given identifiers, prir t updating the interactin data. If using the jurnaling scheme described abve, then this recmmendatin des nt need t be fllwed since every time a learner interacts a new entry in the array is created. Table 4.2.9a: Dt-ntatin Binding fr the Interactins Data Mdel Element Dt-Ntatin Binding cmi.interactins._children Details The cmi.interactins._children data mdel element represents a listing f supprted data mdel elements. This data mdel element is typically used by a SCO t determine which data mdel elements are supprted by the LMS. The characterstring returned may be used by the SCO t dynamically build parameters fr the GetValue() and SetValue() requests. Data Mdel Element Implementatin Requirements: Data Type: characterstring Value Space: ISO [5] Frmat: A cmma-separated list f all f the data mdel elements in the Interactin parent data mdel element that are supprted by the LMS. Since all data mdel elements are required t be supprted by the LMS, the characterstring shall SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-4-49

112 cmi.interactins._cunt represent the fllwing data mdel elements: id type bjectives timestamp crrect_respnses weighting learner_respnse result latency descriptin LMS Behavir Requirements: This data mdel element is mandatry and shall be implemented by an LMS as read-nly. The LMS is respnsible fr returning a cmma-separated list f all f the data mdel elements (refer t Data Mdel Element Implementatin Requirements abve). SCO Behavir Requirements: This data mdel element is required t be implemented by an LMS as read-nly. The SCO is nly permitted t retrieve the value f the cmi.interactins._children data mdel element. API Implementatin Requirements: GetValue(): The LMS shall return a cmma-separated list f data mdel elements supprted by the LMS (refer t Data Mdel Element Implementatin Requirements abve) and set the errr cde t 0 N Errr. The rdering f data mdel elements is nt imprtant. The characterstring returned shall adhere t the requirements identified in the Data Mdel Element Implementatin Requirements. SetValue(): If the SCO invkes a SetValue() request t set the cmi.interactins._children, the LMS shall set the errr cde t 404 Data Mdel Element Is Read Only and return false. Example: GetValue( cmi.interactins._children ) The cmi.interactins._cunt keywrd is used t describe the current number f interactins being stred by the LMS. The ttal number f entries currently being stred by the LMS shall be returned. Data Mdel Element Implementatin Requirements: Data Type: integer Value Space: Nn-negative integer Frmat: The characterstring representing the number f interactins that the LMS is currently persisting. LMS Behavir Requirements: This data mdel element is mandatry and shall be implemented by the LMS as read-nly. If the LMS receives a request t get the cmi.interactins._cunt value prir t any interactin data being set, then the LMS shall adhere t the requirements listed belw fr API Implementatin Requirements. SCO Behavir Requirements: The data mdel element is required t be implemented by an LMS as read-nly. The SCO is nly permitted t retrieve the value f the cmi.interactins._cunt data mdel element. API Implementatin Requirements: GetValue(): The LMS shall return the number f interactins currently stred by the LMS and set the errr cde t 0 N RTE-4-50 SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

113 Errr. Until interactin data is available fr the SCO, the LMS shall return 0, which indicates that there are n interactin data currently being stred. SetValue(): If the SCO invkes a SetValue() request t set the cmi.interactins._cunt, then the LMS shall set the errr cde t 404 Data Mdel Element Is Read Only and return false. Example: GetValue( cmi.interactins._cunt ) cmi.interactins.n.id The cmi.interactins.n.id data mdel element is a label fr the interactin. This label shall be unique at least within the scpe f the SCO per interactin recrd.[1]. Data Mdel Element Implementatin Requirements: Data Type: lng_identifier_type Value Space: A characterstring (SPM: 4000) that represents a valid URI as per RFC 3986 [6]. It is recmmended that the URI be a URN as per RFC 2141 [3]. Frmat: Refer t Sectin : Data Types fr mre infrmatin n the requirements fr the frmat f the lng_identifier_type data type. LMS Behavir Requirements: This data mdel element is mandatry and shall be implemented by an LMS as read/write. The LMS is nly respnsible fr strage and retrieval f this data mdel element alng with any additinal requirements stated in the API Implementatin Requirements. SCO Behavir Requirements: The data mdel element is required t be implemented by the LMS as read/write. The SCO is permitted t retrieve and stre the value f the cmi.interactins.n.id data mdel element. SCOs have the respnsibility f setting interactin data in a sequential rder. All arrays are implemented as packed arrays. Packed arrays are implemented with n array psitins being skipped. The cmi.interactins.n.id is required t be set first fr each interactin that needs t be tracked by the SCO. It is recmmended that a SCO nt alter (set) existing interactin ids during a learner attempt. If the SCO alters an cmi.interactins.n.id during a learner attempt, this culd crrupt interactin data that has been cllected in previus learner sessins and prvide incnsistent infrmatin abut the interactin. API Implementatin Requirements: GetValue(): The LMS shall return the assciated cmi.interactins.n.id currently stred by the LMS fr the learner and set the errr cde t 0 N Errr. The characterstring returned shall adhere t the requirements identified in the Data Mdel Element Implementatin Requirements. The data mdel binding fr cllectins is represented as packed arrays. If the SCO invkes a GetValue() request where the index (n) is a number larger than what the LMS is currently maintaining (e.g., the request indicated an n value f 5 when there are nly 3 interactins in the array), then the LMS shall set the errr cde t 301 General Get Failure and return an empty characterstring ( ). Refer t Sectin : SCORM Extensin Errr Cnditins fr further recmmendatins n prcessing this request. SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-4-51

114 SetValue(): The LMS shall set the cmi.interactins.n.id t the supplied value in the SetValue() request, set the errr cde t 0 N Errr and return true. If the supplied value f the SetValue() des nt meet the requirements f the Data Mdel Element Implementatin Requirements, then the LMS shall set the errr cde t 406 Data Mdel Element Type Mismatch and return false. The LMS shall nt alter the state f the data mdel element based n the request. The data mdel binding fr cllectins is represented as packed arrays. If the SCO invkes a SetValue() request where the index (n) prvided is a number that is greater than the current number f interactins being stred (can be determined by requesting the cmi.interactins._cunt ), then the LMS shall set the errr cde t 351 General Set Failure and return false. Refer t Sectin : SCORM Extensin Errr Cnditins. Additinal Behavir Requirements: The SCO is respnsible fr making sure that new interactin infrmatin is inserted ( SetValue() ) in the index list in a sequential rder. The interactin s identifier is a required field that shall be set by the SCO if interactin data will be requested t be tracked by the SCO. Example: GetValue( cmi.interactins.0.id ) SetValue( cmi.interactins.0.id, bj1 ) cmi.interactins.n.type The cmi.interactins.n.type data mdel element indicates which type f interactin is recrded in an instance f an interactin. It is als used t determine hw the interactin respnse shuld be interpreted [1]. Data Mdel Element Implementatin Requirements: Data Type: state (true_false, multiple_chice, fill_in, lng_fill_in, matching, perfrmance, sequencing, likert, numeric, ther) Value Space: The IEEE defines ten state values. SCORM binds these state values t the fllwing restricted vcabulary tkens: true-false : The interactin has tw pssible respnses [1]. SCORM requires that the tw pssible respnses be either true r false. N abbreviated versins r alternative frms (i.e., t,f,1,0) shall be permitted. chice : The interactin has a set f tw r mre pssible respnses frm which the learner may select [1]. fill-in : The interactin requires the learner t supply a shrt respnse in the frm f ne r mre strings f characters. Typically, the crrect respnse cnsists f part f a wrd, ne wrd r a few wrds [1]. lng-fill-in : The interactin requires the learner t supply a respnse in the frm f a lng string f characters. likert : The interactin asks the learner t select frm a discrete set f chices n a scale [1]. matching : The interactin cnsists f tw sets f items. Members f the first set are related t zer r mre members f the secnd set. perfrmance : The interactin requires the learner t perfrm a task that requires multiple steps [1]. RTE-4-52 SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

115 sequencing : The interactin requires the learner t identify a lgical rder fr members f a list [1]. numeric : The interactin requires a numeric respnse frm the learner. The respnse is a simple number with an ptinal decimal pint [1]. ther : Any ther type f interactin nt defined by the IEEE standard [1]. Frmat: The frmat f the data mdel value shall be ne f the restricted tkens listed abve ( true-false, chice, fill-in, lng-fill-in, matching, perfrmance, sequencing, likert, numeric r ther ). LMS Behavir Requirements: This data mdel element is mandatry and shall be implemented by an LMS as read/write. The LMS is nly respnsible fr strage and retrieval f this data mdel element alng with any additinal requirements stated in the API Implementatin Requirements. SCO Behavir Requirements: The data mdel element is required t be implemented by the LMS as read/write. The SCO is permitted t retrieve and stre the value f the cmi.interactins.n.type data mdel element. SCOs have the respnsibility f setting interactin data in a sequential rder. All arrays are implemented as packed arrays. Packed arrays are implemented with n array psitins being skipped. The cmi.interactins.n.type is required t be set fr each interactin that needs t be tracked by the SCO in which a crrect_respnse and/r learner_respnse is als being tracked. The cmi.interactins.n.type shall be set prir t setting the crrect_respnse r learner_respnse. If the cmi.interactins.n.type is nt set prir t the crrect_respnse r learner_respnse, then a data mdel dependency is nt being met. It is recmmended that a SCO des nt alter (set) existing interactin types during a learner attempt. If the SCO alters an interactin type during a learner attempt, this culd crrupt interactin data that has been cllected in previus learner sessins reflective f that type. By altering the type f the interactin, crrect_respnse and learner_respnse data may becme invalid. API Implementatin Requirements: GetValue(): The LMS shall return the assciated cmi.interactins.n.type currently stred by the LMS fr the learner and set the errr cde t 0 N Errr. The characterstring returned shall adhere t the requirements identified in the Data Mdel Element Implementatin Requirements. The data mdel binding fr cllectins is represented as packed arrays. If the SCO invkes a GetValue() request where the index (n) is a number larger than what the LMS is currently maintaining (e.g., the request indicated an n value f 5 when there are nly 3 interactins in the array), then the LMS shall set the errr cde t 301 General Get Failure and return an empty characterstring ( ). Refer t Sectin : SCORM Extensin Errr Cnditins fr further recmmendatins n prcessing this request. If the SCO attempts t retrieve the cmi.interactins.n.type and the recrd f data has been created but the type data mdel element has nt been set by the SCO, then the LMS shall set the errr cde SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-4-53

116 t Data Mdel Element Value Nt Initialized and return an empty characterstring ( ). SetValue(): The LMS shall set the cmi.interactins.n.type t the supplied value in the SetValue() request, set the errr cde t 0 N Errr and return true. If the SCO invkes a request t set the cmi.interactins.n.type and the value is nt a member f the restricted vcabulary tkens described abve, then the LMS shall set the errr cde t 406 Data Mdel Element Type Mismatch and return false. The LMS shall nt alter the state f the data mdel element based n the request. The data mdel binding fr cllectins is represented as packed arrays. If the SCO invkes a SetValue() request where the index (n) prvided is a number that is greater than the current number f interactins being stred (can be determined by requesting the cmi.interactins._cunt ), then the LMS shall set the errr cde t 351 General Set Failure and return false. Refer t Sectin : SCORM Extensin Errr Cnditins. If the cmi.interactins.n.id has nt been set prir t the request t set the cmi.interactins.n.type, then the LMS shall set the errr cde t 408 Data Mdel Dependency Nt Established, return false and nt change the current state f the data mdel element. Example: GetValue( cmi.interactins.0.type ) SetValue( cmi.interactins.0.type, true-false ) bjectives cmi.interactins.n.bjectives._cunt The cmi.interactins.n.bjectives._cunt keywrd is used t describe the current number f bjectives (i.e., bjective identifiers) being stred by the LMS fr the given interactin (i.e., the interactin data stred at psitin n). The ttal number f entries currently being stred by the LMS shall be returned. Data Mdel Element Implementatin Requirements: Data Type: integer Value Space: Nn-negative integer Frmat: The characterstring representing the number f bjective identifiers that the LMS is currently persisting. Refer t Sectin : Data Types fr mre infrmatin n the requirements fr the frmat f the integer data type. LMS Behavir Requirements: This data mdel element is mandatry and shall be implemented by the LMS as read-nly. If the LMS receives a request t get the cmi.interactins.n.bjectives._cunt value prir t any interactin bjective identifiers being set, then the LMS shall adhere t the requirements listed belw fr API Implementatin Requirements. SCO Behavir Requirements: The data mdel element is required t be implemented by an LMS as read-nly. The SCO is nly permitted t retrieve the value f the cmi.interactins.n.bjectives._cunt data mdel element. API Implementatin Requirements: RTE-4-54 SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

117 GetValue(): The LMS shall return the number f bjective identifiers fr the interactins currently stred by the LMS and set the errr cde t 0 N Errr. Until bjective identifiers are requested t be stred by the SCO, the LMS shall return 0, which indicates that there is n bjective identifiers fr the interactin data currently being stred. If n bjective identifiers are requested t be stred by the SCO, the LMS shall return 0, if requested by the SCO. SetValue(): If the SCO invkes a SetValue() request t set the cmi.interactins.n.bjectives._cunt, then the LMS shall set the errr cde t 404 Data Mdel Element Is Read Only and return false. Example: GetValue( cmi.interactins.0.bjectives._cunt ) cmi.interactins.n.bjectives.m.id The cmi.interactins.n.bjectives.m.id data mdel element is a label fr bjectives assciated with the interactin. The label shall be unique at least within the scpe f the SCO [1]. The bjective identifiers may r may nt crrespnd t the bjective identifiers fund in the Objectives data mdel element (cmi.bjectives.n.id). Whether r nt there is a relatinship t the bjective identifiers is implementatin specific. The SCO may be designed t track this infrmatin and relatinship. The cmi.interactins.n.bjectives.m.id is an array f bjective identifiers. The LMS shall maintain an array f at a least 10 (required SPM) f bjective identifiers. The LMS may extend the ability t stre mre, hwever, this is implementatin specific. Data Mdel Element Implementatin Requirements: Data Type: lng_identifier_type Value Space: A characterstring (SPM: 4000) that represents a valid URI as per RFC 3986 [6]. It is recmmended that the URI be a URN as per RFC 2141 [3]. Frmat: Refer t Sectin : Data Types fr mre infrmatin n the requirements fr the frmat f the lng_identifier_type data type. LMS Behavir Requirements: This data mdel element is mandatry and shall be implemented by an LMS as read/write. The LMS is nly respnsible fr strage and retrieval f this data mdel element alng with any additinal requirements stated in the API Implementatin Requirements. The LMS shall make be capable f string at least 10 bjective identifiers (SPM requirement). SCO Behavir Requirements: The data mdel element is required t be implemented by the LMS as read/write. The SCO is permitted t retrieve and stre the value f the cmi.interactins.n.bjectives.m.id data mdel element. SCOs have the respnsibility f setting interactin data in a sequential rder. All arrays are implemented as packed arrays. Packed arrays are implemented with n array psitins being skipped. Prir t setting any assciated bjective identifiers, the SCO is required t have set the cmi.interactins.n.id. API Implementatin Requirements: GetValue(): The LMS shall return the assciated cmi.interactins.n.bjectives.m.id currently stred by the LMS SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-4-55

118 fr the interactin and set the errr cde t 0 N Errr. The characterstring returned shall adhere t the requirements identified in the Data Mdel Element Implementatin Requirements. The data mdel binding fr cllectins is represented as packed arrays. If the SCO invkes a GetValue() request where the index (n) is a number larger than what the LMS is currently maintaining (e.g., the request indicated an n value f 5 when there are nly 3 bjective identifiers in the array), then the LMS shall set the errr cde t 301 General Get Failure and return an empty characterstring ( ). Refer t Sectin : SCORM Extensin Errr Cnditins fr further recmmendatins n prcessing this request. SetValue(): The LMS shall set the cmi.interactins.n.bjectives.m.id t the supplied value in the SetValue() request, set the errr cde t 0 N Errr and return true. If the supplied value f the SetValue() des nt meet the requirements f the Data Mdel Element Implementatin Requirements, then the LMS shall set the errr cde t 406 Data Mdel Element Type Mismatch and return false. The LMS shall nt alter the state f the data mdel element based n the request. The data mdel binding fr cllectins is represented as packed arrays. If the SCO invkes a SetValue() request where the index (n) prvided is a number that is greater than the current number f bjectives being stred (can be determined by requesting the cmi.interactins.n.bjectives._cunt ) r the current number f interactins being stred (can be determined by requesting the cmi.interactins._cunt), then the LMS shall set the errr cde t 351 General Set Failure and return false. Refer t Sectin : SCORM Extensin Errr Cnditins. If the cmi.interactins.n.id has nt been set prir t the request t set the cmi.interactins.n.bjectives.m.id, then the LMS shall set the errr cde t 408 Data Mdel Dependency Nt Established, return false and nt change the current state f the data mdel element. If the supplied value f the SetValue() is a value that has already been used (nt unique within the set f interactin bjective identifiers) in an earlier array psitin within a learner attempt, then the LMS shall set the errr cde t 351 General Set Failure and return false. Refer t Sectin : SCORM Extensin Errr Cnditins. The LMS shall nt alter the state f the data mdel element based n the request. Example: GetValue( cmi.interactins.0.bjectives.0.id ) SetValue( cmi.interactins.0.bjectives.0.id, urn:adl:bjectiv e-id-0001 ) cmi.interactins.n.timestamp The cmi.interactins.n.timestamp data mdel element is the pint in time at which the interactin was first made available t the learner fr learner interactin and respnse [1]. The value f the timestamp is represented as a pint in time. If several interactins are presented at the same time, they RTE-4-56 SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

119 have the same timestamp value. If an interactin was never available fr respnse, such as an interactin that is nt used in an adaptive test, n timestamp value is available fr that interactin. If a timestamp value is available fr an interactin but n learner respnse data is available, it shuld be assumed the interactin has been available t the learner but the learner did nt respnd t the interactin. Data Mdel Element Implementatin Requirements: Data Type: time(secnd,10,0) Value Space: The data type dentes that the value fr time is a number expressed as a real data type with values that are accurate t ne secnd and an ptinal precisin f ne hundredth f a secnd (0.01). The number f secnds in the time value is the number f secnds since 00:00 n January 1, 1970 [1]. Frmat: Refer t Sectin : Data Types fr mre infrmatin n the requirements fr the frmat f the time(secnd,10,0) data type. LMS Behavir Requirements: This data mdel element is mandatry and shall be implemented by an LMS as read/write. The LMS is nly respnsible fr strage and retrieval f this data mdel element alng with any additinal requirements stated in the API Implementatin Requirements. SCO Behavir Requirements: The data mdel element is required t be implemented by the LMS as read/write. The SCO is permitted t retrieve and stre the value f the cmi.interactins.n.timestamp data mdel element. SCOs have the respnsibility f setting interactin data in a sequential rder. All arrays are implemented as packed arrays. Packed arrays are implemented with n array psitins being skipped. Prir t setting any assciated interactin timestamp, the SCO is required t have set the cmi.interactins.n.id. API Implementatin Requirements: GetValue(): The LMS shall return the assciated interactin timestamp currently stred by the LMS fr the interactin and set the errr cde t 0 N Errr. The characterstring returned shall adhere t the requirements identified in the Data Mdel Element Implementatin Requirements. The data mdel binding fr cllectins is represented as packed arrays. If the SCO invkes a GetValue() request where the index (n) is a number larger than what the LMS is currently maintaining (e.g., the request indicated an n value f 5 when there are nly 3 interactins in the array), then the LMS shall set the errr cde t 301 General Get Failure and return an empty characterstring ( ). Refer t Sectin : SCORM Extensin Errr Cnditins fr further recmmendatins n prcessing this request. If the SCO attempts t retrieve the cmi.interactins.n.timestamp and the recrd f data has been created but the cmi.interactins.n.timestamp has nt been set by the SCO, then the LMS shall set the errr cde t Data Mdel Element Value Nt Initialized and return an empty characterstring ( ). SetValue(): The LMS shall set the cmi.interactins.n.timestamp t the supplied value in the SetValue() request, set the errr cde t 0 N Errr and return true. If the supplied value f the SetValue() des nt meet SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-4-57

120 the requirements f the Data Mdel Element Implementatin Requirements, then the LMS shall set the errr cde t 406 Data Mdel Element Type Mismatch and return false. The LMS shall nt alter the state f the data mdel element based n the request. The data mdel binding fr cllectins is represented as packed arrays. If the SCO invkes a SetValue() request where the index (n) prvided is a number that is greater than the current number f interactins being stred (can be determined by requesting the cmi.interactins._cunt ), then the LMS shall set the errr cde t 351 General Set Failure and return false. Refer t Sectin : SCORM Extensin Errr Cnditins. If the cmi.interactins.n.id has nt been set prir t the request t set the cmi.interactins.n.timestamp, then the LMS shall set the errr cde t 408 Data Mdel Dependency Nt Established, return false and nt change the current state f the data mdel element. Example: GetValue( cmi.interactins.0.timestamp ) SetValue( cmi.interactins.0.timestamp T03:00:00 ) crrect_respnses cmi.interactins.n.crrect_respnses._cunt The cmi.interactins.n.crrect_respnses._cunt keywrd is used t describe the current number f crrect respnses being stred by the LMS. The ttal number f entries currently being stred by the LMS shall be returned. Data Mdel Element Implementatin Requirements: Data Type: integer Value Space: Nn-negative integer Frmat: The characterstring representing the number f crrect respnses that the LMS is currently persisting. Refer t Sectin : Data Types fr mre infrmatin n the requirements fr the frmat f the integer data type. LMS Behavir Requirements: This data mdel element is mandatry and shall be implemented by the LMS as read-nly. If the LMS receives a request t get the cmi.interactins.n.crrect_respnses._cunt value prir t any crrect respnses fr the interactin being set, then the LMS shall adhere t the requirements listed belw fr API Implementatin Requirements. SCO Behavir Requirements: The data mdel element is required t be implemented by an LMS as read-nly. The SCO is nly permitted t retrieve the value f the cmi.interactins.n.crrect_respnses._cunt data mdel element. API Implementatin Requirements: GetValue(): The LMS shall return the number f crrect respnses fr the interactins currently stred by the LMS and set the errr cde t 0 N Errr. Until crrect_respnses are requested t be stred by the SCO, the LMS shall return 0, which indicates that there are n crrect respnses fr the interactin data currently being stred. RTE-4-58 SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

121 SetValue(): If the SCO invkes a SetValue() request t set the cmi.interactins.n.crrect_respnses._cunt, then the LMS shall set the errr cde t 404 Data Mdel Element Is Read Only and return false. Example: GetValue( cmi.interactins.0.crrect_respnses._cunt ) cmi.interactins.n.crrect_respnses.n.pattern The cmi.interactins.n.crrect_respnses.n.pattern data mdel element defines ne crrect respnse pattern fr the interactin. The frmat f the pattern value depends n the type (cmi.interactins.n.type) f interactin. The cmi.interactins.n.crrect_respnses cllectin is a packed array f crrect respnses fr an interactin. Depending n the type (cmi.interactins.n.type) f interactin, the number f crrect respnse patterns required t be supprted varies. Refer t Sectin : Crrect Respnses Pattern Data Mdel Element Specifics fr mre details n each type. Data Mdel Element Implementatin Requirements: The data type and frmat fr the pattern varies depending n the type (cmi.interactins.n.type) f interactin. Sectin : Crrect Respnses Pattern Data Mdel Element Specifics defines the data mdel element implementatin requirements and frmat fr each type f interactin. During SetValue() and GetValue() prcessing, LMSs and SCOs, need t be aware f the frmat f the pattern based n the interactin type. Hw the LMS and/r SCO handles and prcesses the pattern is utside the scpe f SCORM. Fr example, the SCO may need t parse the characterstring returned frm the LMS in rder t display the value t a learner. LMS Behavir Requirements: The data mdel element is mandatry and shall be implemented by an LMS as read/write. The SCO is respnsible fr setting this value if apprpriate. The LMS cannt make any judgments f what the crrect respnses are fr the interactin. If an LMS receives a GetValue() request prir t the value being set by the SCO, then the LMS shall set the apprpriate errr cde (refer t API Implementatin Requirements). SCO Behavir Requirements: The data mdel element is implemented by an LMS as read/write. The SCO is permitted t retrieve and stre the value f the cmi.interactins.n.crrect_respnses.n.pattern data mdel element. The data mdel element requirements and frmat fr the crrect respnses are described in detail in Sectin : Crrect Respnses Pattern Data Mdel Element Specifics. Prir t setting any assciated interactin crrect respnse, the SCO is required t have set the interactin s cmi.interactins.n.id and cmi.interactins.n.type data mdel elements. API Implementatin Requirements: GetValue(): The LMS shall return the assciated cmi.interactins.n.crrect_respnses.n.pattern currently stred by the LMS fr the learner and set the errr cde t 0 N Errr. The characterstring returned shall adhere t the requirements identified in the Data Mdel Element Implementatin Requirements. The data mdel binding fr cllectins is represented as packed arrays. If the SCO invkes a GetValue() request where the index (n) is a number larger than what the LMS is currently maintaining (e.g., the SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-4-59

122 request indicated an n value f 5 when there are nly 3 crrect_respnses in the array), then the LMS shall set the errr cde t 301 General Get Failure and return an empty characterstring ( ). Refer t Sectin : SCORM Extensin Errr Cnditins fr further recmmendatins n prcessing this request. SetValue(): The LMS shall set the cmi.interactins.n.crrect_respnses.n.pattern data mdel element t the parameter passed as parameter_2 f the SetValue() call, set the errr cde t 0 - N Errr and return true. If either cmi.interactins.n.id r cmi.interactins.n.type are nt set prir t the request t set the cmi.interactins.n.crrect_respnses.n.pattern, then the LMS shall set the errr cde t 408 Data Mdel Dependency Nt Established, return false and nt change the current state f the data mdel element. If the SCO tries t set the cmi.interactins.n.crrect_respnses.n.pattern t a value that des nt meet the requirements defined in Sectin : Crrect Respnses Pattern Data Mdel Element Specifics fr the interactin s type (cmi.interactins.n.type), then the LMS shall set the errr cde t Data Mdel Element Type Mismatch, return false. The LMS shall nt alter the state f the data mdel element based n the request. The data mdel binding fr cllectins is represented as packed arrays. If the SCO invkes a SetValue() request where the index (n) prvided is a number that is greater than the current number f interactins being stred (which can be determined by requesting the cmi.interactins._cunt ) r crrect respnse patterns being stred (which can be determined by requesting the cmi.interactins.n.crrect_respnses._cunt), then the LMS shall set the errr cde t 351 General Set Failure and return false. Refer t Sectin : SCORM Extensin Errr Cnditins. Example: GetValue( cmi.interactins.0.crrect_respnses.1.pattern ) SetValue( cmi.interactins.0.crrect_respnses.0.pattern, true ) cmi.interactins.n.weighting The cmi.interactins.n.weighting data mdel element is the weight given t the interactin that may be used by the SCO t cmpute a value fr a scre. The interactin weights typically are used t explain the effect f an interactin n the value f the scre but are nt intended t be used by systems ther than the SCO t cmpute the scre [1]. Hw this value r any calculatin f a ttal scre is cmputed by the SCO is utside the scpe f SCORM. Data Mdel Element Implementatin Requirements: Data Type: real (10,7) Value Space: A real number with values that is accurate t seven significant decimal figures. Frmat: Refer t Sectin : Data Types fr mre infrmatin n the requirements fr the frmat f the real (10,7) data type. LMS Behavir Requirements: The data mdel element is mandatry and shall be implemented by an LMS as read/write. The SCO is respnsible fr setting this value if apprpriate. The LMS cannt make any judgments f the weighting f the interactin unless reprted therwise frm the SCO. If an LMS receives a GetValue() request prir t the value being set by the RTE-4-60 SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

123 SCO, then the LMS shall set the apprpriate errr cde (refer t API Implementatin Requirements). SCO Behavir Requirements: The data mdel element is required t be implemented by an LMS as read/write. The SCO is permitted t retrieve and stre the value f the cmi.interactins.n.weighting data mdel element. Prir t setting any assciated interactin weighting, the SCO is required t have set the cmi.interactins.n.id API Implementatin Requirements: GetValue(): The LMS shall return the assciated cmi.interactins.n.weighting currently stred by the LMS fr the learner and set the errr cde t 0 N Errr. The characterstring returned shall adhere t the requirements identified in the Data Mdel Element Implementatin Requirements. The data mdel binding fr cllectins is represented as packed arrays. If the SCO invkes a GetValue() request where the index (n) is a number larger than what the LMS is currently maintaining (e.g., the request indicated an n value f 5 when there are nly 3 interactins in the array), then the LMS shall set the errr cde t 301 General Get Failure and return an empty characterstring ( ). refer t Sectin : SCORM Extensin Errr Cnditins fr further recmmendatins n prcessing this request. If the SCO attempts t retrieve the cmi.interactins.n.weighting and the recrd f data has been created but the cmi.interactins.n.weighting has nt been set by the SCO, then the LMS shall set the errr cde t Data Mdel Element Value Nt Initialized and return an empty characterstring ( ). SetValue(): The LMS shall set the cmi.interactins.n.weighting data mdel element t the parameter passed as parameter_2 f the SetValue() call, set the errr cde t 0 - N Errr and return true. If the SCO tries t set the cmi.interactins.n.weighting t a value that is nt a real number, then the LMS shall set the errr cde t Data Mdel Element Type Mismatch, return false. The LMS shall nt alter the state f the data mdel element based n the request. The data mdel binding fr cllectins is represented as packed arrays. If the SCO invkes a SetValue() request where the index (n) prvided is a number that is greater than the current number f interactins being stred (can be determined by requesting the cmi.interactins._cunt ), then the LMS shall set the errr cde t 351 General Set Failure and return false. Refer t Sectin : SCORM Extensin Errr Cnditins. If the cmi.interactins.n.id has nt been set prir t the request t set the cmi.interactins.n.weighting, then the LMS shall set the errr cde t 408 Data Mdel Dependency Nt Established, return false and nt change the current state f the data mdel element. Example: GetValue( cmi.interactins.0.weighting ) SetValue( cmi.interactins.0.weighting, 1.0 ) SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-4-61

124 cmi.interactins.n.learner_respnse The cmi.interactins.n.learner_respnse data mdel element cnsists f the data generated when a learner respnds t an interactin [1]. The learner s respnse shall have ne f ten pssible variants. Each variant depends n the type (i.e., cmi.interactins.n.type) f interactin. Refer t Sectin : Learner Respnse Data Mdel Element Specifics fr mre details n each type. Data Mdel Element Implementatin Requirements: The data type fr the value varies depending n the type (cmi.interactins.n.type) f interactin. Sectin : Learner Respnse Data Mdel Element Specifics defines the data mdel element implementatin requirements and frmat fr each type f interactin. During SetValue() and GetValue() prcessing, LMSs and SCOs need t be aware that the frmat f the learner respnse is based n the interactin type. Hw the LMS and r SCO handles and prcesses the learner respnse is utside the scpe f SCORM. Fr example, the SCO may need t parse the characterstring returned frm the LMS in rder t display the value t a learner. LMS Behavir Requirements: The data mdel element is mandatry and shall be implemented by an LMS as read/write. The SCO is respnsible fr setting this value if apprpriate. The LMS is nt respnsible fr making any judgments f whether r nt the learner respnse is crrect. If an LMS receives a GetValue() request prir t the value being set by the SCO, then the LMS shall set the apprpriate errr cde (refer t API Implementatin Requirements). SCO Behavir Requirements: The data mdel element is required t be implemented by an LMS as read/write. The SCO is permitted t retrieve and stre the value f the cmi.interactins.n.learner_respnse data mdel element. The data mdel element requirements and frmat fr the learner respnse are described in detail in Sectin : Learner Respnse Data Mdel Element Specifics. Prir t setting any assciated interactin learner respnse, the SCO is required t have set the cmi.interactins.n.id and cmi.interactins.n.type data mdel elements. The cmi.interactins.n.learner_respnse is nt required t be set, if the learner did nt respnd t an interactin, then it is up t the SCO t determine whether r nt a cmi.interactins.n.learner_respnse is set. It shuld be cnsider a best practice nt t set the cmi.interactins.n.learner_respnse if the learner did nt respnd t the interactin. API Implementatin Requirements: GetValue(): The LMS shall return the assciated cmi.interactins.n.learner_respnse currently stred by the LMS fr the learner and set the errr cde t 0 N Errr. The characterstring returned shall adhere t the requirements identified in the Data Mdel Element Implementatin Requirements. The data mdel binding fr cllectins is represented as packed arrays. If the SCO invkes a GetValue() request where the index (n) is a number larger than what the LMS is currently maintaining (e.g., the request indicated an n value f 5 when there are nly 3 interactins in the array), then the LMS shall set the errr cde t 301 General Get Failure and return an empty characterstring ( ). Refer t Sectin : RTE-4-62 SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

125 SCORM Extensin Errr Cnditins fr further recmmendatins n prcessing this request. If the SCO attempts t retrieve the cmi.interactins.n.learner_respnse and the recrd f data has been created but the learner_respnse data mdel element has nt been set by the SCO, then the LMS shall set the errr cde t Data Mdel Element Value Nt Initialized and return an empty characterstring ( ). SetValue(): The LMS shall set the cmi.interactins.n.learner_respnse data mdel element t the parameter passed as parameter_2 f the SetValue() call, set the errr cde t 0 - N Errr and return true. If the SCO tries t set the cmi.interactins.n.learner_respnse t a value that des nt meet the requirements defined in Sectin : Learner Respnse Data Mdel Element Specifics, then the LMS shall set the errr cde t Data Mdel Element Type Mismatch, return false. The LMS shall nt alter the state f the data mdel element based n the request. The data mdel binding fr cllectins is represented as packed arrays. If the SCO invkes a SetValue() request where the index (n) prvided is a number that is greater than the current number f interactins being stred (can be determined by requesting the cmi.interactins._cunt ), then the LMS shall set the errr cde t 351 General Set Failure and return false. Refer t Sectin : SCORM Extensin Errr Cnditins. If the cmi.interactins.n.id and cmi.interactins.n.type are nt set prir t the request t set the cmi.interactins.n.learner_respnse, then the LMS shall set the errr cde t 408 Data Mdel Dependency Nt Established, return false and nt change the current state f the data mdel element. Example: GetValue( cmi.interactins.0.learner_respnse ) SetValue( cmi.interactins.0.learner_respnse, true ) cmi.interactins.n.result The cmi.interactins.n.result data mdel element is a judgment f the crrectness f the learner respnse [1]. Data Mdel Element Implementatin Requirements: Data Type: state (crrect, incrrect, unanticipated, neutral, real (10,7) ) Value Space: The IEEE defines five state values. SCORM binds these state values t the fllwing restricted vcabulary tkens: crrect : The learner respnse was crrect [1]. incrrect : The learner respnse was incrrect [1]. unanticipated : The learner respnse was nt expected [1]. neutral : The learner respnse was neither crrect nr incrrect [1]. real (10,7): A real number. This result prvides the capability f reprting a numeric estimate f the crrectness f the learner respnse [1]. Frmat: The frmat f the data mdel value shall be ne f the restricted tkens listed abve ( crrect, incrrect, SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-4-63

126 unanticipated, neutral ) r a real number with values that is accurate t seven significant decimal figures real. LMS Behavir Requirements: The data mdel element is mandatry and shall be implemented by an LMS as read/write. The SCO is respnsible fr setting this value if apprpriate. The LMS cannt make any judgments f the result fr the learner respnse f the interactin unless reprted therwise frm the SCO. If an LMS receives a GetValue() request prir t the value being set by the SCO, then the LMS shall set the apprpriate errr cde (refer t API Implementatin Requirements). SCO Behavir Requirements: The data mdel element is required t be implemented by an LMS as read/write. The SCO is permitted t retrieve and stre the value f the cmi.interactins.n.result data mdel element. Prir t setting any assciated interactin result, the SCO is required t have set the cmi.interactins.n.id. API Implementatin Requirements: GetValue(): The LMS shall return the assciated cmi.interactins.n.result currently stred by the LMS fr the learner and set the errr cde t 0 N Errr. The characterstring returned shall adhere t the requirements identified in the Data Mdel Element Implementatin Requirements. The data mdel binding fr cllectins is represented as packed arrays. If the SCO invkes a GetValue() request where the index (n) is a number larger than what the LMS is currently maintaining (e.g., the request indicated an n value f 5 when there are nly 3 interactins in the array), then the LMS shall set the errr cde t 301 General Get Failure and return an empty characterstring ( ). Refer t Sectin : SCORM Extensin Errr Cnditins fr further recmmendatins n prcessing this request. If the SCO attempts t retrieve the cmi.interactins.n.result and the recrd f data has been created but the cmi.interactins.n.result has nt been set by the SCO, then the LMS shall set the errr cde t Data Mdel Element Value Nt Initialized and return an empty characterstring ( ). SetValue(): The LMS shall set the cmi.interactins.n.result data mdel element t the parameter passed as parameter_2 f the SetValue() call, set the errr cde t 0 - N Errr and return true. If the SCO tries t set the cmi.interactins.n.result t a value that des nt meet the Data Mdel Implementatin Requirements, then the LMS shall set the errr cde t Data Mdel Element Type Mismatch, return false. The LMS shall nt alter the state f the data mdel element based n the request. The data mdel binding fr cllectins is represented as packed arrays. If the SCO invkes a SetValue() request where the index (n) prvided is a number that is greater than the current number f interactins being stred (can be determined by requesting the cmi.interactins._cunt ), then the LMS shall set the errr cde t 351 General Set Failure and return false. Refer t Sectin : SCORM Extensin RTE-4-64 SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

127 Example: Errr Cnditins. If the cmi.interactins.n.id has nt been set prir t the request t set the cmi.interactins.n.result, then the LMS shall set the errr cde t 408 Data Mdel Dependency Nt Established, return false and nt change the current state f the data mdel element. GetValue( cmi.interactins.0.result ) SetValue( cmi.interactins.0.result, 1.0 ) SetValue( cmi.interactins.0.result, crrect ) cmi.interactins.n.latency The cmi.interactins.n.latency data element is the time elapsed between the time the interactin was made available t the learner fr respnse and the time f the first respnse. The latency infrmatin is nt available fr an interactin if the learner did nt respnd. The latency is, in effect, the time difference between the cmi.interactins.n.timestamp f the interactin and the time f the first respnse [1]. Data Mdel Element Implementatin Requirements: Data Type: timeinterval (secnd,10,2) - a time interval with reslutin t 0.01 secnds Frmat: Refer t Sectin : Data Types fr mre infrmatin n the requirements fr the frmat f the timeinterval (secnd,10,2) data type. LMS Behavir Requirements: The data mdel element is mandatry and shall be implemented by an LMS as read/write. The SCO is respnsible fr setting this value if apprpriate. The LMS cannt make any judgments f the latency fr the interactin unless reprted therwise frm the SCO. If an LMS receives a GetValue() request prir t the value being set by the SCO, then the LMS shall set the apprpriate errr cde (refer t API Implementatin Requirements). SCO Behavir Requirements: The data mdel element is required t be implemented by an LMS as read/write. The SCO is permitted t retrieve and stre the value f the cmi.interactins.n.latency data mdel element. Prir t setting any assciated interactin latency, the SCO is required t have set the cmi.interactins.n.id. API Implementatin Requirements: GetValue(): The LMS shall return the assciated cmi.interactins.n.latency currently stred by the LMS fr the learner and set the errr cde t 0 N Errr. The characterstring returned shall adhere t the requirements identified in the Data Mdel Element Implementatin Requirements. The data mdel binding fr cllectins is represented as packed arrays. If the SCO invkes a GetValue() request where the index (n) is a number larger than what the LMS is currently maintaining (e.g., the request indicated an n value f 5 when there are nly 3 interactins in the array), then the LMS shall set the errr cde t 301 General Get Failure and return an empty characterstring ( ). Refer t Sectin : SCORM Extensin Errr Cnditins fr further recmmendatins n prcessing this request. If the SCO attempts t retrieve the cmi.interactins.n.latency and the recrd f data has been created but the cmi.interactins.n.latency has nt SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-4-65

128 been set by the SCO, then the LMS shall set the errr cde t Data Mdel Element Value Nt Initialized and return an empty characterstring ( ). SetValue(): The LMS shall set the cmi.interactins.n.latency data mdel element t the parameter passed as parameter_2 f the SetValue() call, set the errr cde t 0 - N Errr and return Example: true. If the SCO tries t set the cmi.interactins.n.latency t a value that des nt meet the Data Mdel Implementatin Requirements, then the LMS shall set the errr cde t Data Mdel Element Type Mismatch, return false. The LMS shall nt alter the state f the data mdel element based n the request. The data mdel binding fr cllectins is represented as packed arrays. If the SCO invkes a SetValue() request where the index (n) prvided is a number that is greater than the current number f interactins being stred (can be determined by requesting the cmi.interactins._cunt ), then the LMS shall set the errr cde t 351 General Set Failure and return false. Refer t Sectin : SCORM Extensin Errr Cnditins. If the cmi.interactins.n.id has nt been set prir t the request t set the cmi.interactins.n.latency, then the LMS shall set the errr cde t 408 Data Mdel Dependency Nt Established, return false and nt change the current state f the data mdel element. GetValue( cmi.interactins.0.latency ) SetValue( cmi.interactins.0.latency, PT5M ) A perid f time f 5 minutes cmi.interactins.n.descriptin The cmi.interactins.n.descriptin data mdel element is a brief infrmative descriptin f the interactin. Data Mdel Element Implementatin Requirements: Data Type: lcalized_string_type (SPM: 250) Value Space: A characterstring that represents a lcalized characterstring. Frmat: Refer t Sectin : Data Types fr mre infrmatin n the requirements fr the frmat f the lcalized_string_type data type. LMS Behavir Requirements: The data mdel element is mandatry and shall be implemented by an LMS as read/write. The SCO is respnsible fr setting this value if apprpriate. The LMS cannt make any judgments n the descriptin fr the interactin unless reprted therwise frm the SCO. If an LMS receives a GetValue() request prir t the value being set by the SCO, then the LMS shall set the apprpriate errr cde (refer t API Implementatin Requirements). SCO Behavir Requirements: The data mdel element is required t be implemented by an LMS as read/write. The SCO is permitted t retrieve and stre the value f the cmi.interactins.n.descriptin data mdel element. Prir t setting any assciated interactin descriptin, the SCO is required t have set the cmi.interactins.n.id. RTE-4-66 SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

129 During a SetValue() request, the SCO shuld be aware that the {lang=<language_type>} delimiter is ptinal. If the delimiter is nt part f the characterstring, the LMS will assume that the default language is en. During a GetValue() request, the SCO shuld be aware that the {lang=<language_type>} delimiter may be part f the characterstring returned by the LMS (depending n the LMS implementatin). What the SCO des with the characterstring returned by the LMS is dependent n the implementatin f the SCO. If the characterstring des nt cntain the delimiter, then the SCO can assume that the language is en. API Implementatin Requirements: GetValue(): The LMS shall return the assciated cmi.interactins.n.descriptin currently stred by the LMS fr the interactin and set the errr cde t 0 N Errr. The characterstring returned shall adhere t the requirements identified in the Data Mdel Element Implementatin Requirements. The data mdel binding fr cllectins is represented as packed arrays. If the SCO invkes a GetValue() request where the index (n) is a number larger than what the LMS is currently maintaining (e.g., the request indicated an n value f 5 when there are nly 3 interactins in the array), then the LMS shall set the errr cde t 301 General Get Failure and return an empty characterstring ( ). Refer t Sectin : SCORM Extensin Errr Cnditins fr further recmmendatins n prcessing this request. If the SCO attempts t retrieve the cmi.interactins.n.descriptin and the recrd f data has been created but the cmi.interactins.n.descriptin has nt been set by the SCO, then the LMS shall set the errr cde t Data Mdel Element Value Nt Initialized and return an empty characterstring ( ). SetValue(): The LMS shall set the cmi.interactins.n.descriptin data mdel element t the parameter passed as parameter_2 f the SetValue() call, set the errr cde t 0 - N Errr and return true. If the SCO tries t set the cmi.interactins.n.descriptin t a value that des nt meet the Data Mdel Implementatin Requirements, then the LMS shall set the errr cde t Data Mdel Element Type Mismatch, return false. The LMS shall nt alter the state f the data mdel element based n the request. The data mdel binding fr cllectins is represented as packed arrays. If the SCO invkes a SetValue() request where the index (n) prvided is a number that is greater than the current number f interactins being stred (can be determined by requesting the cmi.interactins._cunt ), then the LMS shall set the errr cde t 351 General Set Failure and return false. Refer t Sectin : SCORM Extensin Errr Cnditins. If the cmi.interactins.n.id has nt been set prir t the request t set the cmi.interactins.n.descriptin, then the LMS shall set the errr cde t 408 Data Mdel Dependency Nt Established, return false and nt change the current state f the data mdel element. Example: SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-4-67

130 GetValue( cmi.interactins.0.descriptin ) SetValue( cmi.interactins.0.descriptin, Which f the fllwing are red? ) - default language f en is used Crrect Respnses Pattern Data Mdel Element Specifics The cmi.interactins.n.crrect_respnses.n.pattern data mdel element hlds a value that varies depending n the interactin type (cmi.interactins.n.type). This sectin defines the requirements f the data mdel value fr the characterstring value defined by the pattern. Interactin Data Type true_false Table a: Crrect Respnse Pattern Frmat Requirements Crrect Respnse Pattern Frmat The IEEE defines a crrect respnse fr the true_false interactin type as: true_false: state(true, false) Data Mdel Element Implementatin Requirements: Data Type: characterstring Value Space: ISO Frmat: The IEEE defines tw state values. SCORM binds these state values t the fllwing restricted vcabulary tkens: true : Indicates that the crrect respnse is true. false : Indicates that the crrect respnse is false. LMS Behavir Requirements: Each crrect respnse pattern is represented by a characterstring that cnfrms t the Data Mdel Element Implementatin Requirements, described abve, and is stred at a specific index f the crrect respnses cllectin. The LMS shall enfrce that there may nly be ne crrect respnse fr this type f interactin. If a SCO tries t invke a SetValue() t stre an additinal pattern (a crrect_respnses index, n, greater than zer), the LMS shall set the errr cde t 351 General Set Failure and return false. The LMS shall nt add the new value t the valid list f patterns nr shuld the LMS alter the state f the currently stred pattern, if ne exists. Example: SetValue( cmi.interactins.0.crrect_respnses.0.pattern, true ) multiple_chice The IEEE defines a crrect respnse fr the multiple_chice interactin type as: multiple_chice: set f set f shrt_identifier_type // The set SPM: 10 sets // The set f shrt_identifier_type SPM: 36 shrt_identifier_type Data Mdel Element Implementatin Requirements: Data Type: characterstring Value Space: An ISO characterstring representing a set f shrt_identifier_types, where each element f the set is separated by a special reserved tken ( [,] ). The LMS shall supprt characterstrings that include at least 36 (the required SPM) shrt_identifier_types, separated by the reserved [,] tken. The LMS may extend the ability t supprt mre; hwever, this is implementatin specific. The LMS is nly respnsible fr managing the SPM f RTE-4-68 SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

131 36 shrt_identifier_types. Refer t Sectin : Data Types fr mre infrmatin n the requirements fr the frmat f the shrt_identifier_type data type. Frmat: The frmat f the characterstring shall be: <shrt_identifier_type>[,]<shrt_identifier_type> The fllwing requirements shall be adhered t when building the characterstring: The set shall cntain ne r mre sets f shrt_identifier_types. The set f shrt_identifier_types may cntain zer r mre shrt_identifier_types. If a set f shrt_identifier_types is empty, it represents that the crrect respnse is n chice. If the set cntains mre than ne shrt_identifier_type (interactin has multiple crrect answers all f which are required), then each shrt_identifier_type shall be separated by the special reserved tken [,]. Each shrt_identifier_type shall ccur in the set nly nce. The rder f the shrt_identifier_types is insignificant. LMS Behavir Requirements: Each crrect respnse pattern is represented by a characterstring that cnfrms t the Data Mdel Element Implementatin Requirements, described abve, and is stred at a specific index f the crrect respnses cllectin. The LMS shall supprt at least 10 (the required SPM) patterns fr the crrect respnses cllectin. The LMS may extend the ability t supprt mre; hwever, this is implementatin specific. The LMS is nly respnsible fr managing the SPM f 10. The LMS shall enfrce the uniqueness f the crrect respnse sets. If a SCO tries t invke a SetValue() t stre a set that already exists in the crrect respnses cllectin, LMS shall set the errr cde t 351 General Set Failure and return false. The LMS shall nt add the new value t the valid list f patterns nr shuld the LMS alter the state f any currently stred pattern. Example: SetValue( cmi.interactins.0.crrect_respnses.0.pattern, chice1[,]chice2[,]chice3 ) SetValue( cmi.interactins.0.crrect_respnses.1.pattern, chice1[,]chice2 ) This is an example f a chice interactin where the crrect respnses cllectin has tw patterns. The API methd calls indicate that the crrect respnse is either chice1, chice2 and chice3, r chice1 and chice2 fill_in The IEEE defines a crrect respnse fr the fill_in interactin type as: fill_in: bag f recrd { case_matters: blean, rder_matters: blean, match_text: array (0..9) f lcalized_string_type(250), // The match_text array SPM: 10 lcalized_string_types // The lcalized_string_type SPM: 250 characters }// The bag f recrd SPM: 5 recrds Data Mdel Element Implementatin Requirements: Data Type: characterstring Value Space: An ISO characterstring representing an array f lcalized_string_types, where each element f the array is separated by a special reserved tken ( [,] ). The LMS shall supprt characterstrings that include at least 10 (the required SPM) lcalized_string_types, separated by the reserved [,] tken. The LMS may extend the ability t supprt mre; hwever, this is SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-4-69

132 implementatin specific. The LMS is nly respnsible fr managing the SPM f 10 lcalized_string_types. Refer t Sectin : Data Types fr mre infrmatin n the requirements fr the frmat f the lcalized_string_type data type. Frmat: The frmat f the characterstring shall be the fllwing: {case_matters=<blean>}{rder_matters=<blean>}<lcalized_string_ty pe>[,]<lcalized_string_type> The fllwing requirements shall be adhered t in building the characterstring: The array may cntain ne r mre lcalized_string_types. If the array cntains mre than ne lcalized_string_type (the interactin has multiple crrect answers all f which are required), then they shall be separated by the special reserved tken [,]. Each lcalized_string may ccur mre than nce. The {case_matters=<blean>} delimiter indicates whether r nt the case matters fr evaluatin f the crrect respnse pattern. The case_matters value shall be applied t all f the lcalized_string_types in the array. The {case_matters=<blean>} may cme befre r after the {rder_matters=<blean>} delimiter. This delimiter is ptinal; if it is nt specified the default value fr case_matters is false. Refer t Sectin : Reserved Delimiters fr mre infrmatin n the requirements fr the frmat f the {case_matters=<blean>} delimiter. The {rder_matters=<blean>} indicates whether r nt the rder matters fr evaluatin f the crrect respnse pattern. The rder_matters value shall be applied t all f the lcalized_string_types in the array. The {rder_matters=<blean>} may cme befre r after the {case_matters=<blean>} delimiter. This delimiter is ptinal; if it is nt specified the default value fr rder_matters is true. Refer t Sectin : Reserved Delimiters fr mre infrmatin n the requirements fr the frmat f the {rder_matters=<blean>} delimiter. LMS Behavir Requirements: Each crrect respnse pattern is represented by a characterstring that cnfrms t the Data Mdel Element Implementatin Requirements, described abve, and is stred at a specific index f the crrect respnses cllectin. The LMS shall supprt at least 5 (the required SPM) patterns fr the crrect respnses cllectin. The LMS may extend the ability t supprt mre; hwever, this is implementatin specific. The LMS is nly respnsible fr managing the SPM f 5. Example: SetValue( cmi.interactins.0.crrect_respnses.0.pattern, {case_matters=true}{lang=en}car ) SetValue( cmi.interactins.0.crrect_respnses.1.pattern, {case_matters=true}{lang=en}autmbile ) This is an example f a fill_in interactin where the crrect respnses cllectin has tw patterns. The API methd calls indicate that the crrect respnse is either car r autmbile. The crrect respnse must be all lwercase and the language f the lcalized_string_type is English. SetValue( cmi.interactins.0.crrect_respnses.0.pattern, {lang=en}car ) This is an example f a fill_in interactin where the crrect respnses cllectin has ne pattern. The API methd call indicates that the crrect respnse is car. The case f the crrect respnse des nt matter; hwever, the language f the lcalized_string_type is English. SetValue( cmi.interactins.0.crrect_respnses.0.pattern, car ) This is an example f a fill_in interactin where the crrect respnses cllectin has ne pattern. The API methd call indicates that the crrect respnse is car. Since RTE-4-70 SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

133 neither f the reserved delimiters is specified the default values are used. In this example the case f the crrect respnse des nt matter; hwever, the language f the lcalized_string_type is English. SetValue( cmi.interactins.0.crrect_respnses.0.pattern, {case_matters=true}{ rder_matters=true}car[,]autmbile ) This is an example f a fill_in interactin where the crrect respnses cllectin has ne pattern. The API methd call indicates that the crrect respnse is car and autmbile in exactly that rder. The crrect respnse must be lwercase and the language f each lcalized_string_type is English. lng_fill_in The IEEE defines a crrect respnse fr the lng_fill_in interactin type as: lng_fill_in: bag f recrd { case_matters: blean, match_text: lcalized_string_type(4000), // The lcalized_string_type SPM: 4000 characters }// The bag SPM: 5 recrds Data Mdel Element Implementatin Requirements: Data Type: characterstring Value Space: An ISO characterstring representing a lcalized_string_type. Refer t Sectin : Data Types fr mre infrmatin n the requirements fr the frmat f the lcalized_string_type data type. Frmat: The frmat f the characterstring shall be: {case_matters=<blean>}<lcalized_string_type> The fllwing requirements shall be adhered t when building the characterstring: The characterstring must include ne lcalized_string_type. The {case_matters=<blean>} delimiter indicates whether r nt the case matters fr evaluatin f the crrect respnse pattern. This delimiter is ptinal; if it is nt specified the default value fr case_matters is false. Refer t Sectin : Reserved Delimiters fr mre infrmatin n the requirements fr the frmat f the {case_matters=<blean>} delimiter. LMS Behavir Requirements: Each crrect respnse pattern is represented by a characterstring that cnfrms t the Data Mdel Element Implementatin Requirements, described abve, and is stred at a specific index f the crrect respnses cllectin. The LMS shall supprt at least 5 (the required SPM) patterns fr the crrect respnses cllectin. The LMS may extend the ability t supprt mre; hwever, this is implementatin specific. The LMS is nly respnsible fr managing the SPM f 5. Example: The fllwing examples d nt include the entire Gettysburg Address. They are written t save space and t describe the data type nly. A practical use wuld include the entire text f the Gettysburg Address. SetValue( cmi.interactins.0.crrect_respnses.0.pattern, {case_matters=true}{lang=en}fur scre and seven years ag ) This is an example f a lng_fill_in interactin where the crrect respnses cllectin has ne pattern. The API methd call indicates that the crrect respnse is sme prtin f the Gettysburg Address. The case f the crrect respnse des matter and the language f the lcalized_string_type is English. SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-4-71

134 SetValue( cmi.interactins.0.crrect_respnses.0.pattern, {lang=en}fur scre and seven years ag ) This is an example f a lng_fill_in interactin where the crrect respnses cllectin has ne pattern. The API methd call indicates that the crrect respnse is sme prtin f the Gettysburg Address. Since the {case_matters=<blean>} delimiter is nt specified, the default value (false) is used. In this example, the case f the crrect respnse des nt matter and the language f the lcalized_string_type is English. likert The IEEE defines a crrect respnse fr the likert interactin type as: likert: shrt_identifier_type Data Mdel Element Implementatin Requirements: Data Type: shrt_identifier_type Value Space: An ISO characterstring representing a shrt_identifier_type. Refer t Sectin : Data Types fr mre infrmatin n the requirements fr the frmat f the shrt_identifier_type data type. Frmat: The frmat f the characterstring shall be: <shrt_identifier_type> LMS Behavir Requirements: Each crrect respnse pattern is represented by a characterstring that cnfrms t the Data Mdel Element Implementatin Requirements, described abve, and is stred at a specific index f the crrect respnses cllectin. The LMS shall enfrce that there may nly be ne crrect respnse fr this type f interactin cmi.interactins.n.crrect_respnses.0.pattern. If a SCO tries t invke a SetValue() t stre an additinal pattern (a crrect_respnses index greater than zer), the LMS shall set the errr cde t 351 General Set Failure and return false. The LMS shall nt add the new value t the valid list f patterns nr shuld the LMS alter the state f the currently stred pattern, if ne exists. Example: SetValue( cmi.interactins.1.crrect_respnses.0.pattern, likert_1 ) This is an example f a likert interactin where the crrect respnses cllectin has ne pattern. The API methd call indicates that the crrect respnse is likert_1. The SCO is respnsible fr understanding the significance f this value. Fr example, the identifier value f likert_1 might have a meaning f strngly agree. matching The IEEE defines a crrect respnse fr the matching interactin type as: matching: bag f bag f recrd { surce: shrt_identifier_type, target: shrt_identifier_type, } // The bag f bag SPM: 5 bags // The bag f recrd SPM: 36 recrds Data Mdel Element Implementatin Requirements: Data Type: characterstring Value Space: An ISO characterstring representing a bag f recrds, where each recrd cnsists f tw shrt_identifier_types a surce and a target. The recrd s shrt_identifier_types are separated by a special reserved tken ( [.] ). Refer t Sectin : Data Types fr mre infrmatin n the requirements fr the frmat f the shrt_identifier_type data type. Each recrd in the bag is separated by a special reserved tken ( [,] ). The LMS shall supprt characterstrings that include at least 36 (the required SPM) recrds, separated by RTE-4-72 SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

135 the reserved [,] tken. The LMS may extend the ability t supprt mre; hwever, this is implementatin specific. The LMS is nly respnsible fr managing the SPM f 36 recrds. Frmat: The frmat f the characterstring shall be: <shrt_identifier_type>[.]<shrt_identifier_type>[,]<shrt_identifier_type>[.]<shrt_identifier_type> The fllwing requirements shall be adhered t when building the characterstring: The bag shall cntain ne r mre recrds. Each recrd shall include bth a surce and a target value separated by the special reserved tken [.]. The surce and target values are shrt_identifier_types. If the bag cntains mre than ne recrd, they shall be separated by the special reserved tken [,]. There is n restrictin n the number f times a shrt_identifier_type ccurs in a given characterstring. The rder f the recrds is insignificant. LMS Behavir Requirements: Each crrect respnse pattern is represented by a characterstring that cnfrms t the Data Mdel Element Implementatin Requirements, described abve, and is stred at a specific index f the crrect respnses cllectin. The LMS shall supprt at least 5 (the required SPM) patterns fr the crrect respnses cllectin. The LMS may extend the ability t supprt mre; hwever, this is implementatin specific. The LMS is nly respnsible fr managing the SPM f 5. Example: SetValue( cmi.interactins.0.crrect_respnses.0.pattern, 1[.]a[,]2[.]c[,]3[.]b ) This is an example f a matching interactin where the crrect respnses cllectin has ne pattern. The API methd call indicates that the crrect respnse is: Surce Target 1 matches a 2 matches c 3 matches b The SCO is respnsible fr understanding the significance f the crrect respnse and its cnstituent surce/target pairs. perfrmance The IEEE defines a crrect respnse fr the perfrmance interactin type as: perfrmance: bag f recrd ( rder_matters: blean, answers: array(0..124) f recrd // The array f recrd SPM: 125 recrds, ( step_name : shrt_identifier_type, step_answer : chice ( state( literal, numeric) ) f ( literal : characterstring (ISO ), // SPM 250 SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-4-73

136 numeric : recrd ( min : real (10,7), max : real (10,7), ) ) ) ) // The bag f recrd SPM: 5 recrds Data Mdel Element Implementatin Requirements: Data Type: characterstring Value Space: An ISO characterstring representing a recrd that cnsists f an {rder_matters=<blean>} delimiter and an array f recrds. Each f the array s recrds cnsists f ne r tw f the fllwing values separated by a special reserved tken ( [.] ): The step name A shrt_identifier_type. Refer t Sectin : Data Types fr mre infrmatin n the requirements fr the frmat f the shrt_identifier_type data type. The step answer Either a characterstring r a numerical range. If the step answer is a characterstring, the LMS shall supprt at least 250 (the required SPM) characters. The LMS may extend the ability t supprt mre; hwever, this is implementatin specific. The LMS is nly respnsible fr managing the SPM f 250 characters. If the step answer is a numeric range, its frmat shall be: <min>[:]<max> Each recrd in the array is separated by a special reserved tken ( [,] ). The LMS shall supprt characterstrings that include at least 125 (the required SPM) recrds, separated by the reserved [,] tken. The LMS may extend the ability t supprt mre; hwever, this is implementatin specific. The LMS is nly respnsible fr managing the SPM f 125 recrds. Frmat: The frmat f the characterstring shall be: {rder_matters}<step_name>[.]<step_answer>[,]<step_name>[.]<step_ans wer> The fllwing requirements shall be adhered t when building the characterstring: The array shall cntain ne r mre recrds. The {rder_matters=<blean>} delimiter indicates whether r nt the rder f the array recrds matters fr evaluatin f the crrect respnse pattern. This delimiter is ptinal; if it is nt specified the default value fr rder_matters is true. Refer t Sectin : Reserved Delimiters fr mre infrmatin n the requirements fr the frmat f the {rder_matters=<blean>} delimiter. Each f the array recrds shall include either a step_name r a step answer, r bth, separated by the special reserved tken [.]. The step name value is a shrt_identifier_type. The step name value is ptinal. If the array recrd des nt include a step name, then the array recrd must include a step answer preceded by [.]. If the step answer value is a nt a numerical range, it shall be represented as a characterstring with an SPM f 250. If the step answer value is a numerical range, it shall exhibit the fllwing frmat, where <min> and <max> are bth f real(10, 7) data type. Refer t Sectin : Data Types fr mre infrmatin n the requirements fr the frmat f the real(10, 7) data type. <min>[:]<max> Indicates that the crrect respnse is greater than r RTE-4-74 SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

137 equal t the minimum value supplied and less than r equal t the maximum value supplied. If the <min> and the <max> are identical numbers, then the crrect respnse is exactly that number. [:]<max> Indicates that there is n lwer bund fr the crrect respnse, nly an upper bund. The value must be less than r equal t the maximum value supplied. <min>[:] Indicates that there is n upper bund fr the crrect respnse, nly a lwer bund. The value must be greater than r equal t the minimum value supplied. [:] Indicates that there is n upper r lwer bund. The step answer value is ptinal. If the array recrd des nt include a step answer, then the array recrd must include a step name succeeded by [.]. If the array cntains mre than ne recrd, they shall be separated by the special reserved tken [,]. There is n restrictin n the number f times a step name ccurs in a given characterstring. LMS Behavir Requirements: Each crrect respnse pattern is represented by a characterstring that cnfrms t the Data Mdel Element Implementatin Requirements, described abve, and is stred at a specific index f the crrect respnses cllectin. The LMS shall supprt at least 5 (the required SPM) patterns fr the crrect respnses cllectin. The LMS may extend the ability t supprt mre; hwever, this is implementatin specific. The LMS is nly respnsible fr managing the SPM f 5. Example: SetValue( cmi.interactins.0.crrect_respnses.0.pattern, {rder_matters=false}[.]drink cffee[,][.]eat cereal ) This is an example f a perfrmance interactin where the crrect respnses cllectin has ne pattern. The API methd call indicates that the crrect respnse is t drink cffee and eat cereal, in any rder. The API methd call als indicates that n step_name was irrelevant and nt prvided. SetValue( cmi.interactins.0.crrect_respnses.0.pattern, step_1[.]inspect wund[,]step_2[.]clean wund[,]step_3[.]apply bandage ) This is an example f a perfrmance interactin where the crrect respnses cllectin has ne pattern. The API methd call indicates that the crrect respnse is t perfrm step_1 fllwed by step_2 fllwed by step_3, in exactly that rder, with the crrespnding answers. sequencing The IEEE defines a crrect respnse fr the sequencing interactin type as: sequencing: bag f array (0..35) f shrt_identifier_type, // The bag f array SPM: 5 arrays // The array f shrt_identifier_type SPM: 36 shrt_identifier_types Data Mdel Element Implementatin Requirements: Data Type: characterstring Value Space: An ISO characterstring representing an array f shrt_identifier_types, where each element f the array is separated by a special reserved tken ( [,] ). The LMS shall supprt characterstrings that include at least 36 (the required SPM) shrt_identifier_types, separated by the reserved [,] tken. The LMS may extend the ability t supprt mre; hwever, this is implementatin specific. The LMS is nly respnsible fr managing the SPM f 36 shrt_identifier_types. Refer t Sectin : Data Types fr mre infrmatin n the requirements fr the frmat f the shrt_identifier_type data type. Frmat: The frmat f the characterstring shall be: SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-4-75

138 numeric <shrt_identifier_type>[,]<shrt_identifier_type> The fllwing requirements shall be adhered t when building the characterstring: The array may cntain zer r mre shrt_identifier_types. If the array cntains mre than ne shrt_identifier_type (the interactin has multiple crrect answers all f which are required) they shall be separated by the special reserved tken [,]. Each shrt_identifier_type may ccur mre than nce within the array. The rder f the shrt_identifier_types is significant. LMS Behavir Requirements: Each crrect respnse pattern is represented by a characterstring that cnfrms t the Data Mdel Element Implementatin Requirements, described abve, and is stred at a specific index f the crrect respnses cllectin. The LMS shall supprt at least 5 (the required SPM) patterns fr the crrect respnses cllectin. The LMS may extend the ability t supprt mre; hwever, this is implementatin specific. The LMS is nly respnsible fr managing the SPM f 5. The LMS shall enfrce the uniqueness f the crrect respnses. If a SCO tries t invke a SetValue() t stre an array that already exists in the crrect respnses cllectin, LMS shall set the errr cde t 351 General Set Failure and return false. The LMS shall nt add the new value t the valid list f patterns nr shuld the LMS alter the state f any currently stred pattern. Example: SetValue( cmi.interactins.0.crrect_respnses.0.pattern, a[,]b[,]c ) SetValue( cmi.interactins.0.crrect_respnses.1.pattern, b[,]c[,]a ) This is an example f a sequencing interactin where the crrect respnses cllectin has tw patterns. The API methd calls indicate that the crrect respnse is the sequence f a then b then c, r b then c then a. SetValue( cmi.interactin.0.crrect_respnses.1.pattern, buildhuse/buymaterials[,]buildhuse/buildfundatin[,]buildhuse/buildfirst Flr[,]buildHuse/buildSecndFlr ) This is an example f a sequencing interactin where the crrect respnses cllectin has ne pattern. The API methd call indicates that the nly crrect respnse is the sequence f a then b then a. The IEEE defines a crrect respnse fr the numeric interactin type as: numeric: recrd ( min: real (10,7), max: real (10,7) ) The numeric crrect respnse is represented as tw numbers with an ptinal decimal pint. The numbers may be used t express an inclusive range fr the crrect respnse. If the numbers are the same, then a single number is specified as the crrect respnse [1]. Data Mdel Element Implementatin Requirements: Data Type: characterstring Value Space: An ISO characterstring representing a numeric range. Frmat: The frmat f the characterstring shall be: <min>[:]<max> The fllwing requirements shall be adhered t when building the characterstring: If the characterstring value is a numerical range, it shall exhibit the fllwing frmat, where <min> and <max> are bth f real(10, 7) data type. Refer t Sectin : Data Types fr mre infrmatin n the requirements fr the frmat f the real(10, 7) data type. RTE-4-76 SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

139 <min>[:]<max> Indicates that the crrect respnse is greater than r equal t the minimum value supplied and less than r equal t the maximum value supplied. If the <min> and the <max> are identical numbers, then the crrect respnse is exactly that number. [:]<max> Indicates that there is n lwer bund fr the crrect respnse, nly an upper bund. The value must be less than r equal t the maximum value supplied. <min>[:] Indicates that there is n upper bund fr the crrect respnse, nly a lwer bund. The value must be greater than r equal t the minimum value supplied. [:] Indicates that there is n upper r lwer bund. LMS Behavir Requirements: Each crrect respnse pattern is represented by a characterstring that cnfrms t the Data Mdel Element Implementatin Requirements, described abve, and is stred at a specific index f the crrect respnses cllectin. The LMS shall enfrce that there may nly be ne crrect respnse fr this type f interactin cmi.interactins.n.crrect_respnses.0.pattern. If a SCO tries t invke a SetValue() t stre an additinal pattern (a crrect_respnses index greater than zer), the LMS shall set the errr cde t 351 General Set Failure and return false. The LMS shall nt add the new value t the valid list f patterns nr shuld the LMS alter the state f the currently stred pattern, if ne exists. Examples: SetValue( cmi.interactins.0.crrect_respnses.0.pattern, 4[:]10 ) This is an example f a numeric interactin where the crrect respnses cllectin has ne pattern. The API methd call indicates that the crrect respnse is sme real number between r equal 4 and 10. SetValue( cmi.interactins.0.crrect_respnses.0.pattern, [:]10 ) This is an example f a numeric interactin where the crrect respnses cllectin has ne pattern. The API methd call indicates that the crrect respnse is sme real number less than r equal t 10. SetValue( cmi.interactins.0.crrect_respnses.0.pattern, 4[:] ) This is an example f a numeric interactin where the crrect respnses cllectin has ne pattern. The API methd call indicates that the crrect respnse is sme real number greater than r equal t 4. SetValue( cmi.interactins.0.crrect_respnses.0.pattern, [:] ) This is an example f a numeric interactin where the crrect respnses cllectin has ne pattern. The API methd call indicates that the crrect respnse is a real number exactly equal t ther The IEEE defines a crrect respnse fr the ther interactin type as: ther: characterstring (ISO ) // The characterstring SPM 4000 characters Data Mdel Element Implementatin Requirements: Data Type: characterstring Value Space: An ISO characterstring Frmat: The ther crrect respnse is used t supprt ther types f interactins nt defined by the IEEE standard. The frmat f the characterstring is left t the implementer f the interactin. LMS Behavir Requirements: Each crrect respnse pattern is represented by a characterstring that cnfrms t the Data Mdel Element Implementatin Requirements, described abve, and is stred in a specific index f the crrect respnses cllectin. The LMS shall enfrce that there may nly be ne crrect respnse fr this type SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-4-77

140 f interactin cmi.interactins.n.crrect_respnses.0.pattern. If a SCO tries t invke a SetValue() t stre an additinal pattern (a crrect_respnses index greater than zer), the LMS shall set the errr cde t 351 General Set Failure and return false. The LMS shall nt add the new value t the valid list f patterns nr shuld the LMS alter the state f the currently stred pattern, if ne exists Learner Respnse Data Mdel Element Specifics The cmi.interactins.n.learner_respnse data mdel element hlds values that vary depending n the interactin type (cmi.interactins.n.type). This sectin defines the requirements f the data mdel value fr characterstring defined by the learner_respnse. Interactin Data Type true_false Table a: Learner Respnse Frmat Requirements Learner Respnse Frmat The IEEE defines the learner respnse fr the true_false interactin as: true_false: state( true, false) Data Mdel Element Implementatin Requirements: Data Type: characterstring Value Space: ISO Frmat: The IEEE defines tw state values. SCORM binds these state values t the fllwing restricted vcabulary tkens: true : Indicates that the learner respnse is true r a synnym f true (e.g., agree, yes) false : Indicates that the learner respnse is false r a synnym f false (e.g., disagree, n) Example: SetValue( cmi.interactins.0.learner_respnse, true ) This is an example f a true_false interactin where the learner respnse is true. multiple_chice The IEEE defines the learner respnse fr the multiple chice interactin as: multiple_chice: set f shrt_identifier_type // The set f shrt_identifier_type SPM: 36 shrt_identifier_types Data Mdel Element Implementatin Requirements: Data Type: characterstring Value Space: An ISO characterstring representing a set f shrt_identifier_types, where each element f the set is separated by a special reserved tken ( [,] ). The LMS shall supprt characterstrings that include at least 36 (the required SPM) shrt_identifier_types, separated by the reserved [,] tken. The LMS may extend the ability t supprt mre; hwever, this is implementatin specific. The LMS is nly respnsible fr managing the SPM f 36 shrt_identifier_types. Refer t Sectin : Data Types fr mre infrmatin n the requirements fr the frmat f the shrt_identifier_type data type. RTE-4-78 SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

141 Frmat: The frmat f the characterstring shall be: <shrt_identifier_type>[,]<shrt_identifier_type> The fllwing requirements shall be adhered t when building the characterstring: The set may cntain zer r mre shrt_identifier_types. If the set cntains mre than ne shrt_identifier_type, then they shall be separated by the special reserved tken [,]. Each shrt_identifier_type shall ccur in the set nly nce. The rder f the shrt_identifier_types is insignificant. Example: SetValue( cmi.interactins.0.learner_respnse, chice1[,]chice2[,]chice3 ) This is an example f a chice interactin where the learner respnse is chice1, chice2 and chice3. fill_in The IEEE defines the learner respnse fr the fill_in interactin type as: fill_in: { array (0..9) f lcalized_string_type(250), // The array SPM: 10 lcalized_string_type // The lcalized_string type SPM: 250 characters } Data Mdel Element Implementatin Requirements: Data Type: characterstring Value Space: An ISO characterstring representing an array f lcalized_string_types, where each element f the array is separated by a special reserved tken ( [,] ). The LMS shall supprt characterstrings that include at least 10 (the required SPM) lcalized_string_types, separated by the reserved [,] tken. The LMS may extend the ability t supprt mre; hwever, this is implementatin specific. The LMS is nly respnsible fr managing the SPM f 10 lcalized_string_types. Refer t Sectin : Data Types fr mre infrmatin n the requirements fr the frmat f the lcalized_string_type data type. Frmat: The frmat f the characterstring shall be: <lcalized_string_type>[,]<lcalized_string_type> The fllwing requirements shall be adhered t when building the characterstring: The array may cntain ne r mre lcalized_string_types. If the array cntains mre than ne lcalized_string_type (the interactin has multiple crrect answers all f which are required), then they shall be separated by the special reserved tken [,]. Each lcalized_string may ccur mre than nce. The rder f the lcalized_strings is significant. Example: SetValue( cmi.interactins.0.learner_respnse, {lang=en}car ) This is an example f a fill_in interactin where the learner respnse is car and the language f the lcalized_string_type is English. SetValue( cmi.interactins.0.learner_respnse, car ) This is an example f a fill_in interactin where the learner respnse is car and the language f the lcalized_string_type is English. SetValue( cmi.interactins.0.learner_respnse, car[,]autmbile ) This is an example f a fill_in interactin where the learner respnse is car fllwed by autmbile and the language f bth lcalized_string_types is English. SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-4-79

142 lng_fill_in The IEEE defines the learner respnse fr the lng_fill_in interactin type as: lng_fill_in: { lcalized_string_type(4000), // The lcalized_string_type SPM: 4000 characters } Data Mdel Element Implementatin Requirements: Data Type: characterstring Value Space: An ISO characterstring representing a lcalized_string_type. Refer t Sectin : Data Types fr mre infrmatin n the requirements fr the frmat f the lcalized_string_type data type. Frmat: The frmat f the characterstring shall be: <lcalized_string_type> The fllwing requirements shall be adhered t when building the characterstring: The characterstring must include ne lcalized_string_type Example: The fllwing examples d nt include the entire Gettysburg Address. They are written t save space and t describe the data type nly. A practical use wuld include the entire text f the Gettysburg Address. SetValue( cmi.interactins.0.learner_respnse, {lang=en}fur scre and seven years ag ) This is an example f a lng_fill_in interactin where the learner respnse is Fur scre and seven years ag and the language f the lcalized_string_type is English. SetValue( cmi.interactins.0.learner_respnse, Fur scre and seven years ag ) This is an example f a lng_fill_in interactin where the learner respnse is Fur scre and seven years ag and the language f the lcalized_string_type is English. likert The IEEE defines the learner respnse fr the likert interactin type as: likert: shrt_identifier_type Data Mdel Element Implementatin Requirements: Data Type: shrt_identifier_type Value Space: An ISO characterstring representing a shrt_identifier_type. Refer t Sectin : Data Types fr mre infrmatin n the requirements fr the frmat f the shrt_identifier_type data type. Frmat: The frmat f the characterstring shall be: <shrt_identifier_type> Example: SetValue( cmi.interactins.0.learner_respnse, strngly_disagree ) This is an example f a likert interactin where the learner respnse is strngly_disagree. SetValue( cmi.interactins.1.learner_respnse, likert_1 ) This is an example f a likert interactin where the learner respnse is likert_1. matching The IEEE defines the learner respnse fr the matching interactin type as: matching: bag f recrd { surce: RTE-4-80 SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

143 shrt_identifier_type, target: shrt_identifier_type, } // The bag f recrd SPM: 36 recrds Data Mdel Element Implementatin Requirements: Data Type: characterstring Value Space: An ISO characterstring representing a bag f recrds, where each recrd cnsists f tw shrt_identifier_types a surce and a target. The recrd s shrt_identifier_types are separated by a special reserved tken ( [.] ). Refer t Sectin : Data Types fr mre infrmatin n the requirements fr the frmat f the shrt_identifier_type data type. Each recrd in the bag is separated by a special reserved tken ( [,] ). The LMS shall supprt characterstrings that include at least 36 (the required SPM) recrds, separated by the reserved [,] tken. The LMS may extend the ability t supprt mre; hwever, this is implementatin specific. The LMS is nly respnsible fr managing the SPM f 36 recrds. Frmat: The frmat f the characterstring shall be: <shrt_identifier_type>[.]<shrt_identifier_type>[,]<shrt_identifier_type>[. ]<shrt_identifier_type> The fllwing requirements shall be adhered t when building the characterstring: The bag shall cntain zer r mre recrds. Each recrd shall include bth a surce and a target value separated by the special reserved tken [.]. The surce and target values are shrt_identifier_types. If the bag cntains mre than ne recrd, they shall be separated by the special reserved tken [,]. There is n restrictin n the number f times a shrt_identifier_type ccurs in a given characterstring. The rder f the recrds is insignificant. Example: SetValue( cmi.interactins.0.learner_respnse, 2[.]c[,]1[.]a[,]3[.]b ) This is an example f a matching interactin where the learner respnse is: Surce Target 1 matches a 2 matches c 3 matches b The SCO is respnsible fr understanding the significance f the crrect respnse and its cnstituent surce/target pairs. perfrmance The IEEE defines the learner respnse fr the perfrmance interactin type as: perfrmance: array(0..249) f recrd // The array f recrd SPM: 250 recrds ( step_name: shrt_identifier_type, step_answer: chice ( state(literal, numeric) ) f ( literal: characterstring (ISO ) SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-4-81

144 ) ) // The characterstring SPM: 250 characters numeric: real(10,7) Data Mdel Element Implementatin Requirements: Data Type: characterstring Value Space: An ISO characterstring representing an array f recrds. Each f the array s recrds cnsists f ne r tw f the fllwing values separated by a special reserved tken ( [.] ): The step name A shrt_identifier_type. Refer t Sectin : Data Types fr mre infrmatin n the requirements fr the frmat f the shrt_identifier_type data type. The step answer Either a characterstring r a numerical value. If the step answer is a characterstring, the LMS shall supprt at least 250 (the required SPM) characters. The LMS may extend the ability t supprt mre; hwever, this is implementatin specific. The LMS is nly respnsible fr managing the SPM f 250 characters. If the step answer is a numerical value, its frmat shall be real(10, 7). Refer t Sectin : Data Types fr mre infrmatin n the requirements fr the frmat f the real (10,7) data type. Each recrd in the array is separated by a special reserved tken ( [,] ). The LMS shall supprt characterstrings that include at least 250 (the required SPM) recrds, separated by the reserved [,] tken. The LMS may extend the ability t supprt mre; hwever, this is implementatin specific. The LMS is nly respnsible fr managing the SPM f 250 recrds. Frmat: The frmat f the characterstring shall be: <step_name>[.]<step_answer>[,]<step_name>[.]<step_answer> The fllwing requirements shall be adhered t when building the characterstring: The array shall cntain ne r mre recrds. Each f the array s recrds shall include either a step_name r a step answer, r bth, separated by the special reserved tken [.]. The step name value is a shrt_identifier_type. The step name value is ptinal. If the array recrd des nt include a step name, then the array recrd must include a step answer preceded by [.]. If the step answer value is nt a numerical range, it shall be represented as a characterstring with an SPM f 250. If the step answer is a numerical value, its frmat shall be real(10, 7). Refer t Sectin : Data Types fr mre infrmatin n the requirements fr the frmat f the real(10, 7) data type. The step answer value is ptinal. If the array recrd des nt include a step answer, then the array recrd must include a step name succeeded by [.]. If the array cntains mre than ne recrd, they shall be separated by the special reserved tken [,]. There is n restrictin n the number f times a step name ccurs in a given characterstring. The rder f the recrds is significant. Example: SetValue( cmi.interactins.0.learner_respnse, step_1[.]inspect wund[,]step_2[.]clean wund[,]step_3[.]apply bandage ) This is an example f a perfrmance interactin where the learner respnse indicates that the learner perfrmed the fllwing steps in the fllwing rder: 1. step_1 inspect wund 2. step_2 clean wund RTE-4-82 SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

145 3. step_3 apply bandage SetValue( cmi.interactins.0.learner_respnse, step_3[.]apply bandage[,]step_1[.]inspect wund[,]step_2[.]clean wund ) This is an example f a perfrmance interactin where the learner respnse indicates that the learner perfrmed the fllwing steps in the fllwing rder: 1. step_3 apply bandage 2. step_1 inspect wund 3. step_2 clean wund sequencing The IEEE defines the learner respnse fr the sequencing interactin type as: sequencing: array (0..35) f shrt_identifier_type // The array f shrt_identifier_type SPM: 36 shrt_identifier_types Data Mdel Element Implementatin Requirements: Data Type: characterstring Value Space: An ISO characterstring representing an array f shrt_identifier_types, where each element f the array is separated by a special reserved tken ( [,] ). The LMS shall supprt characterstrings that include at least 36 (the required SPM) shrt_identifier_types, separated by the reserved [,] tken. The LMS may extend the ability t supprt mre; hwever, this is implementatin specific. The LMS is nly respnsible fr managing the SPM f 36 shrt_identifier_types. Refer t Sectin : Data Types fr mre infrmatin n the requirements fr the frmat f the shrt_identifier_type data type. Frmat: The frmat f the characterstring shall be: <shrt_identifier_type>[,]<shrt_identifier_type> The fllwing requirements shall be adhered t when building the characterstring: The array may cntain zer r mre shrt_identifier_types. If the array cntains mre than ne shrt_identifier_type (the interactin has multiple crrect answers all f which are required), then they shall be separated by the special reserved tken [,]. Each shrt_identifier_type may ccur mre than nce in the array. The rder f the shrt_identifier_types is significant. Example: SetValue( cmi.interactins.0.learner_respnse, a[,]b[,]c ) This is an example f a sequencing interactin where the learner respnse was the sequence f a then b then c. SetValue( cmi.interactin.0.learner_respnse, b[,]c[,]a ) This is an example f a sequencing interactin where the learner respnse was the sequence f b then c then a. numeric The IEEE defines the learner respnse fr the numeric interactin type as: numeric: real (10,7) Data Mdel Element Implementatin Requirements: Data Type: characterstring Value Space: An ISO characterstring Frmat: The characterstring shall represent a real (10,7). Refer t Sectin : Data Types fr mre infrmatin n the requirements fr the frmat f the real(10, 7) data type. SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-4-83

146 Example: SetValue( cmi.interactins.0.learner_respnse, 4 ) This is an example f a numeric interactin where the learner respnse was the number 4. SetValue( cmi.interactins.0.learner_respnse, 10.5 ) This is an example f a numeric interactin where the learner respnse was the number ther The IEEE defines the learner respnse fr the ther interactin type as: ther: characterstring (ISO ) // The characterstring SPM: 4000 characters Data Mdel Element Implementatin Requirements: Data Type: characterstring Value Space: An ISO characterstring Frmat: The ther learner respnse is used t supprt ther types f interactins nt defined by the IEEE standard. The frmat f the characterstring is left t the implementer f the interactin. RTE-4-84 SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

147 Launch Data During the learning experience, there may be a need t prvide the SCO assciated with a learning activity with sme launch infrmatin. This is infrmatin that cannt be represented using parameters t the SCO prir t the launch. The cmi.launch_data data mdel element prvides the cntent designer a means t supply this infrmatin. The cmi.launch_data data mdel element prvides data specific t a SCO that the SCO can use fr initializatin. The value f this data mdel element is nt specified [1]. The allwable values fr this data mdel element are defined by the implementer f the SCO. Typically, the dcumentatin fr the SCO wuld specify what data can r has t be prvided [1]. This is infrmatin that typically cannt be passed as launch parameters t the SCO. The infrmatin is typically needed fr every use f the SCO, in a certain cntext. Table a: Dt-ntatin Binding fr the Launch Data Data Mdel Element Dt-Ntatin Binding cmi.launch_data Details Data Mdel Element Implementatin Requirements: Data Type: characterstring (SPM: 4000) Value Space: ISO Frmat: The frmat f this characterstring is left t the discretin f the SCO develper. The LMS simply returns the data, if requested t by the SCO ( GetValue() ). Refer t Sectin : Data Types fr mre infrmatin n the requirements fr the frmat f the characterstring data type. LMS Behavir Requirements: The data mdel element is mandatry and shall be implemented by an LMS as read-nly. If launch data is required t perate the SCO, the designers shall prvide this launch data using the mechanisms described in SCORM Cntent Aggregatin Mdel. The ADL Cntent Package extensin namespace prvides an element (<adlcp:datafrmlms>) that is respnsible fr string this infrmatin. The element can be assciated with an <imscp:item> fr which the SCO resurce is referenced by. The LMS shall initialize the cmi.launch_data value using the value supplied in the <adlcp:datafrmlms> element. If n element r value is present, then the LMS shuld nt make any assumptin n hw t initialize this value. If an LMS receives a GetValue() request and n infrmatin is defined in the manifest, then the LMS shall set the apprpriate errr cde (refer t API Implementatin Requirements). SCO Behavir Requirements: The data mdel element is required t be implemented by the LMS as readnly. The SCO is nly permitted t retrieve the value f the cmi.launch_data data mdel element. API Implementatin Requirements: GetValue(): The LMS shall return the value stred fr the cmi.launch_data data mdel element and set the errr cde t 0 - N Errr. The characterstring returned shall adhere t the requirements identified in the Data Mdel Element Implementatin Requirements. If there is n defined <adlcp:datafrmlms> fr the <imscp:item> in which the SCO resurce is referenced, then the LMS is nt respnsible fr making an assumptin f the initial value fr the cmi.launch_data. If the SCO requests ( GetValue() ) the cmi.launch_data in these cases, then the LMS shall set the errr cde SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-4-85

148 t Data Mdel Element Value Nt Initialized and return an empty characterstring ( ). SetValue(): If the SCO attempts t call SetValue() n the cmi.launch_data data mdel element, then the LMS shall set the errr cde t Data Mdel Element Is Read Only and return false. The LMS shall nt alter the state f the data mdel element based n the request. Additinal Behavir Requirements: The SCO develper is respnsible fr defining the cmi.launch_data. The Cntent Package Manifest cntains an element (<adlcp: datafrmlms>) that shall be used by the SCO develper fr declaring this data. The element is placed in the manifest as a sub-element f the <imscp:item> that references the SCO resurce. The LMS is respnsible fr initializing the cmi.launch_data fr the referenced SCO with the value defined in the element. The cmi.launch_data is permitted t be any valid representatin f a characterstring (as defined by the abve Data Mdel Element Implementatin Requirements). The LMS shall at least prvide the smallest permitted maximum f 4000 characters. A characterstring that is greater than 4000 characters is nt guaranteed t be stred in its entirety by an LMS. If n data is defined by the SCO develper in the manifest and the SCO requests the cmi.launch_data, then the LMS shall return an empty characterstring ( ) and set the apprpriate API Implementatin errr cde. Example: GetValue( cmi.launch_data ) RTE-4-86 SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

149 Learner Id The cmi.learner_id data mdel element identifies the learner n behalf f whm the SCO was launched. The cmi.learner_id shall be unique at least within the scpe f the SCO [1]. Hw the cmi.learner_id is assigned is utside the scpe f SCORM. One typical case n hw learner_ids are assigned is thrugh sme learner registratin prcess defined by the LMS. The cmi.learner_id identifies the learner in a given LMS. Table a: Dt-ntatin Binding fr the Learner ID Data Mdel Element Dt-Ntatin Binding cmi.learner_id Details Data Mdel Element Implementatin Requirements: Data Type: lng_identifier_type Value Space: A characterstring (SPM: 4000) that represents a valid Universal Resurce Identifier (URI) as per RFC 3986 [6]. It is recmmended that the URI be a URN as per RFC 2141 [3]. Frmat: Refer t Sectin : Data Types fr mre infrmatin n the requirements fr the frmat f the lng_identifier_type data type. LMS Behavir Requirements: This data mdel element is mandatry and shall be implemented by an LMS as read-nly. The LMS shall be respnsible fr initializing the cmi.learner_id. Hw this is dne is currently utside the scpe f SCORM (e.g., this is typically handled via a learner registratin system within the LMS). SCO Behavir Requirements: This data mdel element is required t be implemented by an LMS as readnly. The SCO is nly permitted t retrieve the value f the cmi.learner_id data mdel element. API Implementatin Requirements: GetValue(): The LMS shall return the assciated learner identifier currently stred by the LMS fr the learner and set errr cde t 0 N Errr. The characterstring returned shall adhere t the requirements identified in the Data Mdel Element Implementatin Requirements. SetValue(): If the SCO invkes a SetValue() request t set the cmi.learner_id, then the LMS shall set the errr cde t 404 Data Mdel Element Is Read Only and return false. The LMS shall nt alter the state f the data mdel element based n the request. Example: GetValue( cmi.learner_id ) SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-4-87

150 Learner Name The cmi.learner_name data mdel element is the name prvided fr the learner by the LMS [1]. Hw the cmi.learner_name is assigned r created is utside the scpe f SCORM. The cmi.learner_name may cme frm sme LMS learner registratin system r thrugh sme learner prfile infrmatin. There may be ther mechanisms fr creatin and assignment f the cmi.learner_name, hwever there is n restrictin n hw this prcess is accmplished. Hw the LMS r SCO interprets and prcesses the delimiter fr the characterstring is utside the scpe f SCORM. The SCO may be built t parse ut the language infrmatin prir t utilizing the characterstring returned by the LMS. Table a: Dt-ntatin Binding fr the Learner Name Data Mdel Element Dt-Ntatin Binding cmi.learner_name Details Data Mdel Element Implementatin Requirements: Data Type: lcalized_string_type (SPM: 250) Value Space: A characterstring that represents a lcalized characterstring. Frmat: Refer t Sectin : Data Types fr mre infrmatin n the requirements fr the frmat f the lcalized_string_type data type. LMS Behavir Requirements: The data mdel element is mandatry and shall be implemented by an LMS as read-nly. The LMS is respnsible fr initializing cmi.learner_name. Hw this functin is perfrmed is currently utside the scpe f SCORM. This functin is typically handled by varius mechanisms, sme f which are described abve. SCO Behavir Requirements: This data mdel element is required t be implemented by an LMS as readnly. The SCO is nly permitted t retrieve the value f the cmi.learner_name data mdel element. During a GetValue() request, the SCO shuld be aware that the delimiter may be part f the characterstring returned by the LMS (depending n the LMS implementatin). What the SCO des with the characterstring returned by the LMS is dependent n the implementatin f the SCO. If n delimiter is prvided by the LMS, the SCO shall assume that the characterstring is using the default value ( en ). API Implementatin Requirements: GetValue(): The LMS shall return the assciated cmi.learner_name currently stred by the LMS fr the learner and set the errr cde t 0 - N Errr. The characterstring returned shall adhere t the requirements identified in the Data Mdel Element Implementatin Requirements. SetValue(): If the SCO invkes a SetValue() request t set the cmi.learner_name, the LMS shall set the errr cde t 404 Data Mdel Element Is Read Only and return false. The LMS shall nt alter the state f the data mdel element based n the request. Example: GetValue( cmi.learner_name ) RTE-4-88 SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

151 Learner Preference The Learner preference data specifies learner preferences assciated with the learner s use f the SCO [1]. There is n restrictin n hw this learner preference data is determined. Fr example, the LMS may prvide sme interface that permits a learner t set this data r sme srt f prfiling system that captures infrmatin abut the learner. If such a mechanism is in place, this glbally defined data shuld be used t initialize the set f data mdel elements defined in this sectin. Depending hw this mechanism is implemented, the data may apply t all f the SCOs in a given cntent rganizatin, a subset f SCOs r a single SCO. If a mechanism exists t determine and set the learner preference infrmatin befre runtime executin f a SCO, then certain bligatins and requirements need t be adhered t. Since this data is cnsidered glbal t the SCOs that are impacted (i.e., may apply t all f the SCOs in a cntent rganizatin), the data shuld nt be altered if a SCO sets a learner preference via a SetValue() call during a learner attempt. If learner preference data is set during a learner attempt, this data is nly available fr that attempt n the SCO (i.e., temprarily, fr the learner attempt, verrides the glbally defined preference). If a new attempt is underway, any SCO set learner preferences are lst frm the previus learner attempt. The values are initialized back t default values as defined belw r default t the glbal values acquired by anther means. If n such mechanism exists t determine the learner preference infrmatin befre runtime executin f a SCO, default values r a default behavir have been defined fr each data mdel element. The same requirements apply dealing with the persistence f the data, if set by the SCO. The data shuld nly exist fr the learner attempt n the SCO. Table a: Dt-ntatin Binding fr the Learner Preference Data Mdel Element Dt-Ntatin Binding cmi.learner_preference._children Details The cmi.learner_preference._children data mdel element represents a listing f supprted data mdel elements. This data mdel element is typically used by a SCO t determine which data mdel elements are supprted by the LMS. The characterstring returned may be used by the SCO t dynamically build parameters fr the GetValue() and SetValue() requests. Data Mdel Element Implementatin Requirements: Data Type: characterstring Value Space: ISO [5] Frmat: A cmma-separated list f all f the data mdel elements in the Learner Preference parent data mdel element that are supprted by the LMS. Since all data mdel elements are required t be supprted by the LMS, the characterstring shall represent the fllwing data mdel elements: audi_level language delivery_speed audi_captining LMS Behavir Requirements: This data mdel element is mandatry and shall be SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-4-89

152 implemented by an LMS as read-nly. The LMS is respnsible fr returning a cmma-separated list f all f the data mdel elements (refer t Data Mdel Element Implementatin Requirements abve). SCO Behavir Requirements: This data mdel element is required t be implemented by an LMS as read-nly. The SCO is nly permitted t retrieve the cmi.learner_preference._children data mdel element. API Implementatin Requirements: GetValue(): The LMS shall return a cmma-separated list f data mdel elements supprted by the LMS (refer t Data Mdel Element Implementatin Requirements abve) and set the errr cde t 0 N Errr. The rdering f data mdel elements is nt imprtant. The characterstring returned shall adhere t the requirements identified in the Data Mdel Element Implementatin Requirements. SetValue(): If the SCO invkes a SetValue() request t set the cmi.learner_preference._children, then the LMS shall set the errr cde t 404 Data Mdel Element Is Read Only and return false. Example: GetValue( cmi.learner_preference._children ) cmi.learner_preference.audi_level The cmi.learner_preference.audi_level data mdel element is a multiplier value that specifies an intended change in perceived audi level relative t an implementatin-specific reference level with 1 meaning n change. Fr example, the value 0 specifies infinite attenuatin, the value f 0.5 specifies an attenuatin f 10 decibels and the value f 2 specifies an amplificatin f 10 decibels [1]. Data Mdel Element Implementatin Requirements: Data Type: real(10,7), range (0..*) Value Space: A real number greater than r equal t 0. Frmat: Refer t Sectin : Data Types fr mre infrmatin n the requirements fr the frmat f the real (10,7) data type. LMS Behavir Requirements: This data mdel element is mandatry and shall be implemented by an LMS as read/write. The default cmi.learner_preference_audi_level shall be 1. SCO Behavir Requirements: This data mdel element is required t be implemented by the LMS as read/write. The SCO is permitted t retrieve and stre the value f the cmi.learner_preference.audi_level data mdel element. If a SCO sets the cmi.learner_preference.audi_level during a learner attempt, this value is nly persisted by the LMS fr that learner attempt. API Implementatin Requirements: GetValue(): The LMS shall return the assciated cmi.learner_preference.audi_level value currently being stred by the LMS fr the learner and set the API Implementatin s errr cde t 0 N Errr. The characterstring returned shall adhere t the requirements identified in the Data Mdel Element Implementatin Requirements. If the SCO invkes a request t get the cmi.learner_preference.audi_level prir t the value RTE-4-90 SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

153 being set by the SCO r sme ther means, then the LMS shall return the default value f 1 and set the errr cde t 0 N Errr. SetValue(): The LMS shall set the cmi.learner_preference.audi_level data mdel element t the parameter passed as parameter_2 f the SetValue() call, set the Example: errr cde t 0 - N Errr and return true. If the SCO tries t set the cmi.learner_preference.audi_level t a value that is nt a real number, then the LMS shall set the errr cde t Data Mdel Element Type Mismatch, return false. The LMS shall nt alter the state f the data mdel element based n the request. If the SCO tries t set the cmi.learner_preference.audi_level t a value that is a real number, hwever, the value is nt greater than 0 (utside the range), then the LMS shall set the errr cde t Data Mdel Element Value Out Of Range. The LMS shall nt alter the state f the data mdel element based n the request. GetValue( cmi.learner_preference.audi_level ) SetValue( cmi.learner_preference.audi_level, 3 ) cmi.learner_preference.language The cmi.learner_preference.language data mdel element is the learner s preferred language fr SCOs with multilingual capability [1]. Data Mdel Element Implementatin Requirements: Data Type: language_type (SPM 250) r empty characterstring Value Space: ISO-646 [4] Frmat: Refer t Sectin : Data Types fr mre infrmatin n the requirements fr the frmat f the language_type data type. The default language shall be (empty characterstring). LMS Behavir Requirements: The data mdel element is mandatry and shall be implemented by the LMS as read/write. If an LMS des nt prvide a mechanism fr initializing the learner preferences, then the default value fr the cmi.learner_preference.language shuld be an empty characterstring ( ). SCO Behavir Requirements: This data mdel element is required t be implemented by the LMS as read/write. The SCO is permitted t retrieve and stre the value f the cmi.learner_preference.language data mdel element. Since the default value fr the cmi.learner_preference.language is an empty characterstring, the meaning f this value shall be determined by the SCO. Fr example, an empty characterstring culd mean that the default value is English. An empty characterstring culd mean that there is n preferred language and the SCO culd be built t determine if the learner has a preferred language. If a SCO sets the cmi.learner_preference.language during a learner attempt, this value is nly persisted by the LMS fr that learner attempt. API Implementatin Requirements: GetValue(): The LMS shall return the assciated cmi.learner_preference.language value currently being stred SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-4-91

154 by the LMS fr the learner and set the API Implementatin s errr cde t 0 N Errr. The characterstring returned shall adhere t the requirements identified in the Data Mdel Element Implementatin Requirements. If the SCO invkes a request t get the cmi.learner_preference.language prir t the value being set by the SCO r sme ther means, then the LMS shall set the errr cde t 0 N Errr and return the default value f (empty characterstring). SetValue(): The LMS shall set the cmi.learner_preference.language data mdel element t the parameter passed as parameter_2 f the SetValue() call, set the errr cde t 0 - N Errr and return true. Example: If the SCO tries t set the cmi.learner_preference.language t a value that des nt meet the Data Mdel Element Implementatin Requirements, then the LMS shall set the errr cde t Data Mdel Element Type Mismatch, return false. The LMS shall nt alter the state f the data mdel element based n the request. GetValue( cmi.learner_preference.language ) SetValue( cmi.learner_preference.language, fr-ca ) cmi.learner_preference.delivery_speed The cmi.learner_preference.delivery_speed data mdel element is a multiplier that specifies the learner s preferred relative speed f cntent delivery expressed as a change in speed relative t an implementatinspecific reference speed. Fr example, 2 is twice as fast as the reference speed and 0.5 is ne half the reference speed. The default value shall be 1 [1]. Data Mdel Element Implementatin Requirements: Data Type: real(10,7), range (0..*) Value Space: A real number greater than r equal t 0. Frmat: Refer t Sectin : Data Types fr mre infrmatin n the requirements fr the frmat f the real (10,7) data type. LMS Behavir Requirements: The data mdel element is mandatry and shall be implemented by the LMS as read/write. If an LMS des nt prvide a mechanism fr initializing the learner preferences, then the default value fr the cmi.learner_preference.delivery_speed shuld be 1. SCO Behavir Requirements: This data mdel element is required t be implemented by the LMS as read/write. The SCO is permitted t retrieve and stre the value f the cmi.learner_preference.delivery_speed data mdel element. If a SCO sets the cmi.learner_preference.delivery_speed during a learner attempt, this value is nly persisted by the LMS fr that learner attempt. API Implementatin Requirements: GetValue(): The LMS shall return the assciated cmi.learner_preference.delivery_speed value currently being stred by the LMS fr the learner and set the API Implementatin s errr cde t 0 N Errr. The characterstring returned shall adhere t the requirements identified in the Data Mdel Element Implementatin RTE-4-92 SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

155 Requirements. If the SCO invkes a request t get the cmi.learner_preference.delivery_speed prir t the value being set by the SCO r sme ther means, then the LMS shall return the default value f 1 and set the errr cde t 0 N Errr. SetValue(): The LMS shall set the cmi.learner_preference.delivery_speed data mdel element t the parameter passed as parameter_2 f the SetValue() call, set the errr cde t 0 - N Errr and return true. If the SCO tries t set the cmi.learner_preference.delivery_speed t a value that is nt a real number, then the LMS shall set the errr cde t Data Mdel Element Type Mismatch, return false. The LMS shall nt alter the state f the data mdel element based n the request. If the SCO tries t set the cmi.learner_preference.delivery_speed t a value that is a real number, hwever the value is less than 0 (utside the range), then the LMS shall set the errr cde t Data Mdel Element Value Out Of Range. The LMS shall nt alter the state f the data mdel element based n the request. Additinal Behavir Requirements: The SCO is respnsible fr setting the speed value based n a learner s preference. Hw this value is cllected, determined r applied t the SCO is utside the scpe f SCORM. Example: GetValue( cmi.learner_preference.delivery_speed ) SetValue( cmi.learner_preference.delivery_speed, 0.5 ) cmi.learner_preference.audi_captining The cmi.learner_preference.audi_captining data mdel element specifies whether captining text crrespnding t audi is displayed [1]. Data Mdel Element Implementatin Requirements: Data Type: state (ff, n_change, n) Value Space: The IEEE defines three state values. SCORM binds these state values t the fllwing restricted vcabulary tkens: -1: Represents the ff state. The captining is ff and text crrespnding t audi is nt displayed [1]. 0: Represents the n_change state. The current default captining setting is maintained [1]. This is the default value. 1: Represents the n state. The captining is n and text crrespnding t audi is displayed [1]. LMS Behavir Requirements: The data mdel element is mandatry and shall be implemented by the LMS as read/write. SCO Behavir Requirements: This data mdel element is required t be implemented by the LMS as read/write. The SCO is permitted t retrieve and stre the value f the cmi.learner_preference.audi_captining data mdel element. If a SCO sets the cmi.learner_preference.audi_captining during a learner attempt, this value is nly persisted by the LMS fr that learner attempt. API Implementatin Requirements: SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-4-93

156 GetValue(): The LMS shall return the assciated cmi.learner_preference.audi_captining value currently being stred by the LMS fr the learner and set the API Implementatin s errr cde t 0 N Errr. The characterstring returned shall adhere t the requirements identified in the Data Mdel Element Implementatin Requirements. If the SCO invkes a request t get the cmi.learner_preference.audi_captining prir t the value being set by the SCO r sme ther means, then the LMS shall return the default value f 0 and set the errr cde t 0 N Errr. SetValue(): If the SCO invkes a request t set the cmi.learner_preference.audi_captining and the value is nt a member f the restricted vcabulary tkens described abve, then the LMS shall set the API Errr Cde t 406 Data Mdel Element Type Mismatch and return false. The LMS shall nt alter the state f the data mdel element based n the request. Additinal Behavir Requirements: Hw this data mdel element is initialized is utside the scpe f SCORM. The value may be initialized in a number f ways. Fr example: SCO may be built t set the initial audi captining value based n a learner s preference, r the value may be initialized by sme learner preference r prfile data cllected by the LMS. Hw this value is cllected, determined r applied t the SCO is utside the scpe f SCORM. Example: GetValue( cmi.learner_preference.audi_captining ) SetValue( cmi.learner_preference.audi_captining, -1 ) RTE-4-94 SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

157 Lcatin The cmi.lcatin data mdel element is a lcatin in the SCO. Its value and meaning are defined by the SCO. The first time the learner attempts the SCO r if there is n preferred initial lcatin, the value shall be an empty characterstring ( ) [1]. The LMS shuld nt interpret r change this data. The data is paque t the LMS. The frmat f the cmi.lcatin is nly understd by the SCO setting the value. If the SCO cmmunicates a cmi.lcatin, this data mdel element may be used t indicate a bkmark r checkpint within the SCO. This data mdel element may be used as a starting pint upn re-entry int the SCO after a suspended learner sessin. In this case, the cmi.lcatin data mdel element crrespnds t the SCO exit pint the last time the learner experienced the SCO. The behavir and use f this data mdel element is managed by the SCO. Table a: Dt-ntatin Binding fr the Lcatin Data Mdel Element Dt-Ntatin Binding cmi.lcatin Details Data Mdel Element Implementatin Requirements: Data Type: characterstring (SPM: 1000) Value Space: ISO [5] Frmat: The frmat f this characterstring is left t the discretin f the SCO develper. The LMS simply stres the data, if requested t by the SCO ( SetValue() ), and returns the data, if requested by the SCO ( GetValue() ). Refer t Sectin : Data Types fr mre infrmatin n the requirements fr the frmat f the characterstring data type. LMS Behavir Requirements: The data mdel element is mandatry and shall be implemented by an LMS as read/write. This data mdel element is cntrlled by the SCO. N initializatin steps are required by the LMS. If a GetValue() request is made prir t the value being set by the SCO, then the LMS shall behave accrding t the API Implementatin Requirements defined belw. SCO Behavir Requirements: The data mdel element is required t be implemented by the LMS as read/write. The SCO is permitted t retrieve and stre the value f the cmi.lcatin data mdel element. If string the data mdel element, then the value is SCO-implementatin defined and the frmat f the characterstring shall adhere t ISO The LMS is respnsible fr simply string this data and then returning the data when requested by the SCO. API Implementatin Requirements: GetValue(): The LMS shall return the assciated cmi.lcatin currently stred by the LMS fr the learner and set the errr cde t 0 - N Errr. The characterstring returned shall adhere t the requirements identified in the Data Mdel Element Implementatin Requirements. If the SCO requests the cmi.lcatin prir t the value being initialized by the SCO, then the LMS shall return an empty characterstring ( ) and set the errr cde t 403 Data Mdel Element Value Nt Initialized. SetValue(): If the SCO invkes a SetValue() request t set the cmi.lcatin and the supplied value meets the requirements defined in the Data Mdel Element Implementatin Requirements, then the LMS shall stre the SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-4-95

158 supplied value fr cmi.lcatin, set the errr cde t 0 N Errr and return true. Example: GetValue( cmi.lcatin ) SetValue( cmi.lcatin, chkpt1.p3.f5 ) RTE-4-96 SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

159 Maximum Time Allwed The cmi.max_time_allwed data mdel element is the amunt f accumulated time the learner is allwed t use a SCO in the learner attempt. [1]. The learner attempt begins with the beginning f the first learner sessin and cntinues until the activity terminates. Table a: Dt-ntatin Binding fr the Max Time Allwed Data Mdel Element Dt-Ntatin Binding cmi.max_time_allwed Details Data Mdel Element Implementatin Requirements: Data Type: timeinterval (secnd,10,2) - a time interval with reslutin t 0.01 secnds Frmat: Refer t Sectin : Data Types fr mre infrmatin n the requirements fr the frmat f the timeinterval (secnd,10,2) data type. LMS Behavir Requirements: This data mdel element is mandatry and the LMS shall be implemented by the LMS as read-nly. The LMS is respnsible fr initializing this value based n the value prvided by the SCO develper. This value can be prvided in the Cntent Package Manifest assciated with the cntent rganizatin. The LMS shall use the imsss:attemptabsluteduratinlimit attribute f the <imsss:limitcnditins> element, if defined fr the <imscp:item> referencing the SCO Resurce in the manifest, t initialize this value. SCO Behavir Requirements: This data mdel element is required t be implemented by the LMS as read-nly. The SCO is nly permitted t retrieve the value f the cmi.max_time_allwed data mdel element. API Implementatin Requirements: GetValue(): The LMS shall return the value stred fr the cmi.max_time_allwed data mdel element and set the errr cde t 0 N Errr. The characterstring returned shall adhere t the requirements identified in the Data Mdel Element Implementatin Requirements. If there is n maximum time allwed (i.e., imsss:attemptabsluteduratinlimit attribute fr the <imsss:limitcnditins> element) defined in the manifest and the SCO requests the value fr this data mdel element, then the LMS shall set the errr cde t 403 Data Mdel Element Value Nt Initialized and return an empty characterstring ( ). SetValue(): If the SCO invkes a SetValue() request t set the cmi.max_time_allwed, then the LMS shall set the errr cde t 404 Data Mdel Element Is Read Only and return false. The LMS shall nt alter the state f the data mdel element based n the request. Example: GetValue( cmi.max_time_allwed ) SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-4-97

160 Mde The cmi.mde data mdel element identifies ne f three pssible mdes in which the SCO may be presented t the learner [1]. This value can be used t indicate a SCO s behavir after launch. Many SCOs have a single behavir. Sme SCOs, hwever, can present different amunts f infrmatin, present infrmatin in different sequences, present infrmatin reflecting different training strategies r stre different sets f data based n the mde that the SCO is currently in. Table a: Dt-ntatin Binding fr the Mde Data Mdel Element Dt-Ntatin Binding cmi.mde Details Data Mdel Element Implementatin Requirements: Data Type: state (brwse, nrmal, review) [1] Value Space: The IEEE defines three state values. SCORM binds these state values t the fllwing restricted vcabulary tkens: brwse : The SCO is presented withut the intent f recrding any infrmatin abut the current learner sessin [1]. nrmal : The SCO is presented with the intent f recrding infrmatin abut the current learner sessin [1]. This is the default value if n mechanism is in place t identify the mde. review : The SCO has previusly recrded infrmatin abut the learner attempt and is presented withut the intent f updating this infrmatin with data frm the current learner sessin [1]. LMS Behavir Requirements: This data mdel element is mandatry and shall be implemented by the LMS as read-nly. There is currently n mechanism in place t determine the mde f a SCO. This is currently left t the implementatin f an LMS. If the LMS wants t prvide a way f previewing (r brwsing) a cntent rganizatin r a way f reviewing a cntent rganizatin, then this is ne mechanism fr initializing the cmi.mde in which the cntent (SCO) in the cntent rganizatin shuld be viewed. The nrmal mde shall be the default mde fr all SCOs. Sequencing Impacts: The cmi.mde data mdel element has n impact n sequencing. The value f cmi.mde des nt impact any sequencing behavirs. If the cmi.mde value is brwse r review, the LMS shuld treat any data sent by the SCO as infrmative (in rder t make sequencing decisins). Whether r nt an LMS persists any f the data sent by the SCO, while in a mde f review r brwse, is utside the scpe f the SCORM. SCO Behavir Requirements: The data mdel element is required t be implemented by an LMS as readnly. The SCO is nly permitted t retrieve the value f the cmi.mde data mdel element. API Implementatin Requirements: GetValue(): The LMS shall return the assciated cmi.mde currently stred by the LMS fr the learner and set the errr cde t 0 N Errr. If a mechanism is nt in place t supprt different mdes, then the LMS shall nly return nrmal fr all cases. SetValue(): If the SCO invkes a request t set the cmi.mde, then the LMS shall set the errr cde t 404 Data Mdel Element Is Read Only and return false. The LMS shall nt alter the state f the data mdel element based n the request. Example: RTE-4-98 SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

161 GetValue( cmi.mde ) Mde and Credit Usage Requirements The cmi.mde and cmi.credit data mdel elements have a relatinship t ne anther. The fllwing table describes the relatinships: cmi.mde value brwse review nrmal Table a: Mde and Credit Values cmi.credit value n-credit n-credit credit r n-credit An LMS is required t implement these data mdel elements as read-nly. The SCO is nt permitted t alter the states f these values with a SetValue() API call. The LMS must guarantee that these values are kept in sync with each ther. If credit is ncredit, then any infrmatin (success_status, interactins, etc.) cmmunicated by the SCO is infrmative. The data recrded during the learner s interactin with the SCO is used t make sequencing decisins. Other than that, the LMS is free t d what it wants with the data. SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-4-99

162 Objectives Instructinal designers may wish t assciate learning r ther types f bjectives with a learning activity and its assciated cntent bject. SCORM des nt define what an bjective is r place requirements n its use. Hwever, SCORM des define hw the status f bjectives, regardless f type, may be tracked during a learner experience, and hw tracked bjective status may be used t affect sequencing evaluatins. Fr purpses f a learner experience, bjectives are tracked by assciating a set f bjective status infrmatin with each tracked bjective thrugh the use f an identifier. The identifier used des nt have r imply any semantics; it is nly used t relate the results f a learner experience with a cntent develper defined bjective. The Objectives are treated as a gruping f sets f bjective status infrmatin fr a given SCO, which are used t track learning r ther types f bjectives assciated with the SCO. A SCO may have zer r mre sets f bjective status infrmatin. Infrmatin tracked in the Objectives parent data mdel element is nly available t the SCO, and it is available fr the duratin f a learner attempt. An identifier is required t differentiate between sets f bjective status infrmatin. Fr a given SCO, all bjective identifiers must be unique. Each set f bjective status infrmatin cnsists f the fllwing elements: Identifier: an identifier fr the set f bjective status infrmatin Scre: a scre (if applicable) Success Status: an indicatin f the success status fr the bjective (if applicable) Cmpletin Status: an indicatin f the cmpletin status fr the bjective (if applicable) Prgress Measure: an indicatin f a measure twards the prgress f cmpleting the assciated bjective. Descriptin: a brief, infrmative descriptin f the bjective During the learner s interactin with the SCO, the SCO is permitted t update status/scre infrmatin and nt have t create a new entry in the array. The bjectives array shuld act as a status f the bjectives during the learner s interactin. The bjective identifier is what makes the bjective unique, therefre when new bjective status infrmatin is needed t be tracked (new bjective identifier), then a new entry in the array shuld be made. SCO develpers can describe the tracked bjectives f the SCO the significance f bjective identifiers by using the Classificatin categry f the LOM metadata. The Purpse, Taxnpath and Descriptin elements can als be used t describe and identify the SCO s bjective(s). Hwever, applying metadata t a SCO is fr infrmative purpses nly. Currently there is n requirement defined fr an LMS t prcess the metadata assciated with a SCO and there is n behavir defined fr an LMS t interperably utilize the metadata assciated with a SCO. RTE SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

163 The LMS shall supprt at least the SPM f 100 bjective status infrmatin. The LMS is free t supprt mre than the SPM Assciating Objective Status Infrmatin t SCOs Mre than ne set f bjective status infrmatin may be assciated with a given SCO. The mechanism defined t access multiple sets f bjective status infrmatin is an indexed list (refer t Sectin : Handling Cllectins). When setting (SetValue()) bjective status infrmatin, the SCO is respnsible fr inserting bjective status infrmatin in sequential rder. Table a: Scenaris fr String Cllectin Data Incrrect cmi.bjectives.0.id = ID1 cmi.bjectives.2.id = ID3 cmi.bjectives.1.id = ID2 Crrect cmi.bjectives.0.id = ID1 cmi.bjectives.1.id = ID2 cmi.bjectives.2.id = ID3 T avid the incrrect scenari shwn abve, in Table a, the SCO can invke GetValue() n cmi.bjectives._cunt t retrieve the next available psitin in the indexed list. The LMS is respnsible fr managing this list as a zer-based indexed list. When a SCO requests the cmi.bjectives._cunt, the LMS shall return the ttal number f bjectives currently being managed by the LMS. Fr example, if the LMS returns 2 frm the GetValue( cmi.bjectives._cunt ) request, the SCO shall use this value in inserting the next set f bjective infrmatin. The 2 indicates that the SCO has already set (SetValue()) cmi.bjectives.0 and cmi.bjectives.1 bjective infrmatin. The rder f the sets f bjective status infrmatin in the indexed list des nt define a significant relatinship between the bjectives and the rder may change between learner sessins. The recmmended methd f accessing sets f bjective status infrmatin is t search the indexed list fr the desired bjective identifier. The index where the identifier is fund shuld be used t access and mdify the ther elements f bjective status infrmatin Initializatin f Run-Time Objectives frm Sequencing Infrmatin Instructinal designers may wish t use bjectives t make cnditinal sequencing decisins; this desire is explicitly represented in the sequencing infrmatin assciated with a learning activity (refer t the SCORM CAM bk). As a SCO references bjectives thrugh their identifiers, s des the sequencing infrmatin assciated with a learning activity. Fr bjectives assciated with a learning activity, thse that may be affected by the learning experience are thse with identifiers that match identically with an identifier defined in the cmi.bjectives status infrmatin fr the SCO assciated with the learning activity. SCORM defines hw identifiers are used t relate the bjectives defined n the learning activity fr sequencing purpses t the bjectives status infrmatin (cmi.bjectives) SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-4-101

164 available t the activity s assciated SCO during the learning experience. Whenever a SCO is launched fr a new learner attempt, the LMS shall initialize a set f run-time bjectives (cmi.bjectives) fr the SCO with the bjective status infrmatin managed fr sequencing the SCO s assciated learning activity. The LMS shall create ne entry in the SCO s bjectives cllectin fr each bjective defined in the sequencing infrmatin (children f the <imsss:bjectives> element) applied t the SCO s assciated activity. The sequencing infrmatin shall be used t initialize the run-time bjective as fllws: 1. cmi.bjectives.n.id shall be initialized with the bjective s ID (the bjective ID attribute assciated t the bjective in the activity s sequencing infrmatin). 2. cmi.bjectives.n.success_status shall be initialized with the Tracking Infrmatin assciated with the bjective (pssibly thrugh a read Objective Map). 3. cmi.bjectives.n.scre.scaled shall be initialized with the Tracking Infrmatin assciated with the bjective (pssibly thrugh a read Objective Map). When the new learner attempt n the SCO begins and after LMS initializatin f the SCO s bjective data mdel elements fr that bjective, the number f bjectives being stred by the LMS (cmi.bjectives._cunt) shall equal the number f bjectives defined in the sequencing infrmatin (children f the <imsss:bjectives> element) applied t the SCO s assciated activity that have defined Objective IDs, regardless f whether the activity is tracked r nt. During the learner experience, the SCO may mdify the status f these bjectives; the updated status infrmatin will be used by the LMS during sequencing evaluatins. When a subsequent learner sessin n the SCO begins within the same learner attempt, the LMS shall update the SCO s bjective data mdel elements (cmi.bjectives.n.xxx) fr the bjectives defined in the activity s sequencing infrmatin, using the mst recent infrmatin available t the LMS s sequencing implementatin. Any additinal bjectives created by the SCO during a previus learner sessin will nt be affected. ADL Nte: If a learner attempt n a SCO is suspended and then later resumed, the LMS is required t update the SCO s bjective data mdel elements values t reflect changes in sequencing Tracking Infrmatin ccurring with any f the SCO s assciated activity s bjectives while the SCO is suspended. The SCO s bjective data mdel elements shall be initialized even if the SCO s assciated activity is nt tracked (tracked = False). In these cases, read bjective maps shall be applied t initialize bjective state. When n read bjective maps are defined, the initialized bjectives shall have default (unknwn) state. RTE SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

165 Run-time data related t bjectives (cmi.bjectives.n.xxx) will nt be initialized fr an activity s assciated SCO unless an bjective ID attribute is defined in the sequencing infrmatin. In additin, if multiple bjectives are defined fr an activity, the rder f the SCO s bjectives (cmi.bjectives.n.xxx) need nt cincide with the rder f the activity s bjectives nly the IDs are significant. Table a: Dt-ntatin Binding fr the Objectives Data Mdel Element Dt-Ntatin Binding cmi.bjectives._children cmi.bjectives._cunt Details The cmi.bjectives._children data mdel element represents a listing f supprted data mdel elements. This data mdel element is typically used by a SCO t determine which data mdel elements are supprted by the LMS. The characterstring returned may be used by the SCO t dynamically build parameters fr the GetValue() and SetValue() requests. Data Mdel Element Implementatin Requirements: Data Type: characterstring Value Space: ISO [5] Frmat: A cmma-separated list f all f the data mdel elements in the Objectives parent data mdel element that are supprted by the LMS. Since all data mdel elements are required t be supprted by the LMS, the characterstring shall represent the fllwing data mdel elements: id scre success_status cmpletin_status prgress_measure descriptin LMS Behavir Requirements: This data mdel element is mandatry and shall be implemented by an LMS as read-nly. The LMS is respnsible fr returning a cmma-separated list f all f the data mdel elements (refer t Data Mdel Element Implementatin Requirements abve). SCO Behavir Requirements: This data mdel element is required t be implemented by an LMS as read-nly. The SCO is nly permitted t retrieve the value f the cmi.bjectives._children data mdel element. API Implementatin Requirements: GetValue(): The LMS shall return a cmma-separated list f data mdel elements supprted by the LMS (refer t Data Mdel Element Implementatin Requirements abve) and set the errr cde t 0 N Errr. The rdering f data mdel elements is nt imprtant. The characterstring returned shall adhere t the requirements identified in the Data Mdel Element Implementatin Requirements. SetValue(): If the SCO invkes a SetValue() request t set the cmi.bjectives._children, then the LMS shall set the errr cde t 404 Data Mdel Element Is Read Only and return false. Example: GetValue( cmi.bjectives._children ) The cmi.bjectives._cunt keywrd is used t describe the current number f bjectives being stred by the LMS. The ttal number f SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-4-103

166 entries currently being stred by the LMS shall be returned. The LMS is respnsible fr supprting the smallest permitted maximum f 100 bjectives. Data Mdel Element Implementatin Requirements: Data Type: integer Value Space: Nn-negative integer Frmat: The characterstring representing the number f bjectives that the LMS is currently persisting. LMS Behavir Requirements: This data mdel element is mandatry and shall be implemented by the LMS as read-nly. If the LMS receives a request t get the cmi.bjectives._cunt value prir t any bjectives being set, then the LMS shall adhere t the requirements listed belw fr API Implementatin Requirements. SCO Behavir Requirements: The data mdel element is required t be implemented by an LMS as read-nly. The SCO is nly permitted t retrieve the value f the cmi.bjectives._cunt data mdel element. API Implementatin Requirements: GetValue(): The LMS shall return the number f bjectives currently stred by the LMS and set the errr cde t 0 N Errr. Until bjective infrmatin is available fr the SCO, the LMS shall return 0, which indicates that there is n bjective infrmatin currently being stred. SetValue(): If the SCO invkes a SetValue() request t set the cmi.bjectives._cunt, then the LMS shall set the errr cde t 404 Data Mdel Element Is Read Only and return false. Example: GetValue( cmi.bjectives._cunt ) cmi.bjectives.n.id The cmi.bjectives.n.id data mdel element is an identifier fr an bjective and shall be unique, at least within the scpe f the SCO. The cmi.bjectives.n.id data mdel element shall cntain a valid value if either the scre r status data mdel elements described belw is implemented [1]. If a SCO is requesting t stre bjective infrmatin, then the SCO is required t set the identifier first (unless it was initialized by anther means), prir t any ther bjective infrmatin. Once the cmi.bjectives.n.id has a value, the data mdel element is nt allwed t be reset t a different value. Data Mdel Element Implementatin Requirements: Data Type: lng_identifier_type Value Space: A characterstring (SPM: 4000) that represents a valid Universal Resurce Identifier (URI) as per RFC 3986 [6]. It is recmmended that the URI be a URN as per RFC 2141 [3]. Frmat: Refer t Sectin : Data Types fr mre infrmatin n the requirements fr the frmat f the lng_identifier_type data type. LMS Behavir Requirements: This data mdel element is mandatry and shall be implemented by an LMS as read/write. The data mdel element is nly permitted t be written t nce. SCOs are nt permitted t change the cmi.bjectives.n.id value nce it has been established. The value may be set mre than nce, as lng as the value stays the same. If the <imsss:bjectives> are defined fr an <imscp:item> element in the Cntent Package Manifest, then the LMS is RTE SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

167 respnsible fr initializing bjective run-time data (cmi.bjectives.n.xxx) fr the SCO based n the Objective Prgress Infrmatin referenced and managed fr the learning activity. Run-time data related t bjectives (cmi.bjectives.n.xxx) shuld nt be initialized fr an activity s assciated SCO unless an bjective ID attribute is defined in the sequencing infrmatin (<imsss:primaryobjective> r <imsss:bjective>). The bjective ID attribute shall be used t initialize the cmi.bjectives.n.id value. The number f bjectives defined in the manifest dictates the number f bjective status infrmatin that need t be initialized. The LMS is als respnsible fr initializing status and scre fr the bjective infrmatin data if that infrmatin is available t the LMS (fr mre infrmatin refer t the SCORM SN bk Glbal bjectives). SCO Behavir Requirements: The data mdel element is required t be implemented by an LMS as read/write. The SCO is permitted t retrieve and stre the value f the cmi.bjectives.n.id data mdel element. If a SCO is requesting t stre bjective infrmatin, a SCO shall ensure that an id is set t uniquely distinguish ne bjective frm anther. The identifier shall be set first (unless it was initialized by anther means), prir t any ther bjective infrmatin. It is recmmended that a SCO des nt alter (set) existing bjective IDs during a learner attempt. If the SCO alters an bjective ID during a learner attempt, this culd crrupt bjective data that has been cllected in previus learner sessins and have impact n sequencing decisins made by the LMS. API Implementatin Requirements: GetValue(): The LMS shall return the assciated bjectives identifier currently stred by the LMS fr the learner and set the errr cde t 0 N Errr. The characterstring returned shall adhere t the requirements identified in the Data Mdel Element Implementatin Requirements. The data mdel binding fr cllectins is represented as packed arrays. If the SCO invkes a GetValue() request where the index (n) is a number larger than what the LMS is currently maintaining (e.g., the request indicated an n value f 5 when there are nly 3 bjectives in the array), then the LMS shall set the errr cde t 301 General Get Failure and return an empty characterstring ( ). Refer t Sectin : SCORM Extensin Errr Cnditins fr further recmmendatins n prcessing this request. SetValue(): The LMS shall set the cmi.bjectives.n.id t the supplied value in the SetValue() request, set the errr cde t 0 N Errr and return true. If the supplied value f the SetValue() des nt meet the requirements f the Data Mdel Element Implementatin Requirements, then the LMS shall set the errr cde t 406 Data Mdel Element Type Mismatch and return false. The LMS shall nt alter the state f the data mdel element based n the request. Cllectin data mdel elements are required t be set in sequential rder. If a SCO des nt set bjectives in a sequential rder, then the LMS shall set the errr cde t 351 General Set Failure and return SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-4-105

168 false. Refer t Sectin : SCORM Extensin Errr Cnditins. If the supplied value f the SetValue() is a value that has already been used (nt unique within the set f bjective infrmatin) in an earlier array psitin within a learner attempt, then the LMS shall set the errr cde t 351 General Set Failure and return false. Refer t Sectin : SCORM Extensin Errr Cnditins. The LMS shall nt alter the state f the data mdel element based n the request. If the cmi.bjectives.n.id data mdel element has already been established with a value (either thrugh a mapping based n the Objective Prgress Infrmatin defined fr the assciated Activity r an explicit SetValue() call by the SCO) and the SCO issues a SetValue() call t change the current value t a different value, the LMS shall set the errr cde t 351 General Set Failure and return false. Refer t Sectin : SCORM Extensin Errr Cnditins. The LMS shall nt alter the state f the data mdel element based n the request. If the value in the SetValue() request is identical t the current value, then the LMS shall set the errr cde t 0 N Errr and return true. Additinal Behavir Requirements: The SCO is respnsible fr making sure that new bjective infrmatin is inserted ( SetValue() ) in the index list in a sequential rder. The cmi.bjectives.n.id is required t be set first prir t any ther bjective infrmatin. Example: GetValue( cmi.bjectives.0.id ) SetValue( cmi.bjectives.0.id, bj1 ) cmi.bjectives.n.scre cmi.bjectives.n.scre._children The cmi.bjectives.n.scre._children data mdel element represents a listing f supprted data mdel elements. This data mdel element is typically used by a SCO t determine which data mdel elements are supprted by the LMS. The characterstring returned may be used by the SCO t dynamically build parameters fr the GetValue() and SetValue() requests. Data Mdel Element Implementatin Requirements: Data Type: characterstring Value Space: ISO [5] Frmat: A cmma-separated list f all f the data mdel elements in the Scre parent data mdel element that are supprted by the LMS. Since all data mdel elements are required t be supprted by the LMS, the characterstring shall represent the fllwing data mdel elements: scaled raw min max LMS Behavir Requirements: This data mdel element is mandatry and shall be implemented by an LMS as read-nly. The LMS is respnsible fr returning a cmma-separated list f all f the data mdel elements (refer t Data Mdel Element RTE SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

169 Implementatin Requirements abve). SCO Behavir Requirements: This data mdel element is required t be implemented by an LMS as read-nly. The SCO is nly permitted t retrieve the value f the cmi.bjectives.n.scre._children data mdel element. API Implementatin Requirements: GetValue(): The LMS shall return a cmma-separated list f data mdel elements supprted by the LMS (refer t Data Mdel Element Implementatin Requirements abve) and set the errr cde t 0 N Errr. The rdering f data mdel elements is nt imprtant. The characterstring returned shall adhere t the requirements identified in the Data Mdel Element Implementatin Requirements. SetValue(): If the SCO invkes a SetValue() request t set the cmi.bjectives.n.scre._children, then the LMS shall set the errr cde t 404 Data Mdel Element Is Read Only and return false. Example: GetValue( cmi.bjectives.0.scre._children ) cmi.bjectives.n.scre.scaled The cmi.bjectives.n.scre.scaled data mdel element is a number that reflects the perfrmance f the learner fr the bjective. The value f the data mdel element is scaled t fit the range 1 t 1 inclusive [1]. If there is sequencing infrmatin applied t the learning activity assciated with the SCO that relies n a measure, the SCO shuld ensure scre infrmatin is accurately sent t the LMS ( SetValue() ) prir t the SCO s learner sessin ending. If the measure is nt reprted by the SCO, then the LMS will use the value unknwn as the bjective measure fr the apprpriate bjective (based n bjective IDs) f the learning activity assciated with the SCO when prcessing sequencing infrmatin. Data Mdel Element Implementatin Requirements: Data Type: real (10,7) range (-1..1) Value Space: A real number with a value that is accurate t seven significant decimal figures. The value shall be in the range f -1.0 t 1.0, inclusive. Frmat: Refer t Sectin : Data Types fr mre infrmatin n the requirements fr the frmat f the real (10,7) data type. LMS Behavir Requirements: The data mdel element is mandatry and shall be implemented by the LMS as read/write. The SCO is respnsible fr determining the cmi.bjectives.n.scre.scaled. The LMS cannt make any judgments f the bjective s scaled scre unless reprted therwise frm the SCO. If an LMS receives a retrieve ( GetValue() ) request prir t the value being set by the SCO, then the LMS shall set the apprpriate errr cde (refer t API Implementatin Requirements). Sequencing Impacts: If the SCO des nt set cmi.bjectives.n.scre.scaled fr an bjective f the SCO, the Objective Measure Status fr the assciated bjective (based n bjective IDs) f the learning activity assciated with the SCO shall be false. If the SCO sets cmi.bjectives.n.scre.scaled fr an bjective f the SCO, the Objective Measure Status fr the bjective (based n bjective IDs) f the learning activity assciated with the SCO shall be true, and the Objective Nrmalized SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-4-107

170 Measure fr the bjective (based n bjective IDs) f the learning activity assciated with the SCO shall equal the value f scre.scaled. SCO Behavir Requirements: The data mdel element is required t be implemented by an LMS as read/write. The SCO is permitted t retrieve and stre the value f the cmi.bjectives.n.scre.scaled data mdel element. API Implementatin Requirements: GetValue(): The LMS shall return the assciated cmi.bjectives.n.scre.scaled currently stred by the LMS fr the learner and set the API Implementatin s errr cde t 0 N Errr. The characterstring returned shall adhere t the requirements identified in the Data Mdel Element Implementatin Requirements. The data mdel binding fr cllectins is represented as packed arrays. If the SCO invkes a GetValue() request where the index (n) is a number larger than what the LMS is currently maintaining (e.g., the request indicated an n value f 5 when there are nly 3 bjectives in the array), then the LMS shall set the errr cde t 301 General Get Failure and return an empty characterstring ( ). Refer t Sectin : SCORM Extensin Errr Cnditins fr further recmmendatins n prcessing this request. If the SCO attempts t retrieve the cmi.bjectives.n.scre.scaled and the recrd f data has been created but the scaled data mdel element has nt been set by the SCO, then the LMS shall set the errr cde t Data Mdel Element Value Nt Initialized and return an empty characterstring ( ). SetValue(): The LMS shall set the cmi.bjectives.n.scre.scaled data mdel element t the parameter passed as parameter_2 f the SetValue() call, set the errr cde t 0 - N Errr and return true. If the SCO tries t set the cmi.bjectives.n.scre.scaled t a value that is nt a real number, then the LMS shall set the errr cde t Data Mdel Element Type Mismatch, return false. The LMS shall nt alter the state f the data mdel element based n the request. If the SCO tries t set the cmi.bjectives.n.scre.scaled t a value that is a real number but the value is nt in the range f 1 t 1, inclusive, then the LMS shall set the errr cde t Data Mdel Element Value Out Of Range, return false. The LMS shall nt alter the state f the data mdel element based n the request. Since the cmi.bjectives.n.id is required t be set first prir t any ther bjective infrmatin, if the SCO attempts t set cmi.bjectives.n.scre.scaled (prir t setting the identifier), then the LMS shall set the errr cde t 408 Data Mdel Dependency Nt Established and return false. The LMS shall nt alter the state f the data mdel element based n the request. The data mdel binding fr cllectins is represented as packed arrays. If the SCO invkes a SetValue() request where the index (n) prvided is a number RTE SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

171 that is greater than the current number f bjectives being stred, then the LMS shall set the errr cde t 351 General Set Failure and return false. Refer t Sectin : SCORM Extensin Errr Cnditins. Example: GetValue( cmi.bjectives.0.scre.scaled ) SetValue( cmi.bjectives.0.scre.scaled, ) SetValue( cmi.bjectives.0.scre.scaled, 0.75 ) cmi.bjectives.n.scre.raw The cmi.bjectives.n.scre.raw data mdel element is a number that reflects the perfrmance f the learner, fr the bjective, relative t the range bunded by the values f min and max [1]. Data Mdel Element Implementatin Requirements: Data Type: real (10,7) Value Space: A real number with values that is accurate t seven significant decimal figures. Frmat: Refer t Sectin : Data Types fr mre infrmatin n the requirements fr the frmat f the real (10,7) data type. LMS Behavir Requirements: The data mdel element is mandatry and shall be implemented by an LMS as read/write. The SCO is respnsible fr setting this value if apprpriate. The LMS cannt make any judgments f the bjective s raw scre unless reprted therwise frm the SCO. If an LMS receives a GetValue() request prir t the value being set by the SCO, then the LMS shall behave in accrdance with the API Implementatin Requirements. SCO Behavir Requirements: The data mdel element is required t be implemented by an LMS as read/write. The SCO is permitted t retrieve and stre the value f the cmi.bjectives.n.scre.raw data mdel element. The raw scre fr the bjective may be determined and calculated in any manner and is cntrlled by the SCO. API Implementatin Requirements: GetValue(): The LMS shall return the assciated cmi.bjectives.n.scre.raw currently stred by the LMS fr the learner and set the API Implementatin s errr cde t 0 N Errr. The characterstring returned shall adhere t the requirements identified in the Data Mdel Element Implementatin Requirements. The data mdel binding fr cllectins is represented as packed arrays. If the SCO invkes a GetValue() request where the index (n) is a number larger than what the LMS is currently maintaining (e.g., the request indicated an n value f 5 when there are nly 3 bjectives in the array), then the LMS shall set the errr cde t 301 General Get Failure and return an empty characterstring ( ). Refer t Sectin : SCORM Extensin Errr Cnditins fr further recmmendatins n prcessing this request. If the SCO attempts t retrieve the cmi.bjectives.n.scre.raw and the recrd f data has been created but the raw data mdel element has nt been set by the SCO, then the LMS shall set the errr cde t Data Mdel Element Value Nt Initialized and return an empty characterstring ( ). SetValue(): The LMS shall set the cmi.bjectives.n.scre.raw SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-4-109

172 data mdel element t the supplied value passed as parameter_2 f the SetValue() call, set the errr cde t 0 - N Errr and return true. If the SCO tries t set the cmi.bjectives.n.scre.raw t a value that is nt a real number, then the LMS shall set the errr cde t Data Mdel Element Type Mismatch, return false. The LMS shall nt alter the state f the data mdel element based n the request. The data mdel binding fr cllectins is represented as packed arrays. If the SCO invkes a SetValue() request where the index (n) prvided is a number that is greater than the current number f bjectives being stred, then the LMS shall set the errr cde t 351 General Set Failure and return false. Refer t Sectin : SCORM Extensin Errr Cnditins. Since the cmi.bjectives.n.id is required t be set first prir t any ther bjective infrmatin, if the SCO attempts t set cmi.bjectives.n.scre.raw (prir t setting the identifier), then the LMS shall set the errr cde t 408 Data Mdel Dependency Nt Established and return false. The LMS shall nt alter the state f the data mdel element based n the request. Example: GetValue( cmi.bjectives.0.scre.raw ) SetValue( cmi.bjectives.0.scre.raw, ) SetValue( cmi.bjectives.0.scre.raw, 0.75 ) cmi.bjectives.n.scre.min The cmi.bjectives.n.scre.min data mdel element is the minimum value, fr the bjective, in the range fr the raw scre [1]. Data Mdel Element Implementatin Requirements: Data Type: real (10,7) Value Space: A real number with values that is accurate t seven significant decimal figures. Frmat: Refer t Sectin : Data Types fr mre infrmatin n the requirements fr the frmat f the real (10,7) data type. LMS Behavir Requirements: The data mdel element is mandatry and shall be implemented by an LMS as read/write. The SCO is respnsible fr setting this value if apprpriate. The LMS cannt make any judgments f the bjective s minimum scre unless reprted therwise frm the SCO. If an LMS receives a GetValue() request prir t the value being set by the SCO, then the LMS shall set the apprpriate errr cde (refer t API Implementatin Requirements). SCO Behavir Requirements: The data mdel element is required t be implemented by an LMS as read/write. The SCO is permitted t retrieve and stre the value f the cmi.bjectives.n.scre.min data mdel element. The minimum scre is determined by the SCO. API Implementatin Requirements: GetValue(): The LMS shall return the assciated cmi.bjectives.n.scre.min currently stred by the LMS fr the learner and set the API Implementatin s errr cde t 0 N Errr. The characterstring returned shall adhere t the requirements identified in the Data Mdel Element RTE SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

173 Implementatin Requirements. The data mdel binding fr cllectins is represented as packed arrays. If the SCO invkes a GetValue() request where the index (n) is a number larger than what the LMS is currently maintaining (e.g., the request indicated an n value f 5 when there are nly 3 bjectives in the array), then the LMS shall set the errr cde t 301 General Get Failure and return an empty characterstring ( ). Refer t Sectin : SCORM Extensin Errr Cnditins fr further recmmendatins n prcessing this request. If the SCO attempts t retrieve the cmi.bjectives.n.scre.min and the recrd f data has been created but the min data mdel element has nt been set by the SCO, then the LMS shall set the errr cde t Data Mdel Element Value Nt Initialized and return an empty characterstring ( ). SetValue(): The LMS shall set the cmi.bjectives.n.scre.min data mdel element t the parameter passed as parameter_2 f the SetValue() call, set the errr cde t 0 - N Errr and return true. If the SCO tries t set the cmi.bjectives.n.scre.min t a value that is nt a real number, then the LMS shall set the errr cde t Data Mdel Element Type Mismatch, return false. The LMS shall nt alter the state f the data mdel element based n the request. The data mdel binding fr cllectins is represented as packed arrays. If the SCO invkes a SetValue() request where the index (n) prvided is a number that is greater than the current number f bjectives being stred, then the LMS shall set the errr cde t 351 General Set Failure and return false. Refer t Sectin : SCORM Extensin Errr Cnditins. Since the cmi.bjectives.n.id is required t be set first prir t any ther bjective infrmatin, if the SCO attempts t set cmi.bjectives.n.scre.min (prir t setting the identifier) then the LMS shall set the errr cde t 408 Data Mdel Dependency Nt Established and return false. The LMS shall nt alter the state f the data mdel element based n the request. Example: GetValue( cmi.bjectives.0.scre.min ) SetValue( cmi.bjectives.0.scre.min, 1.0 ) SetValue( cmi.bjectives.0.scre.min, 500 ) cmi.bjectives.n.scre.max The cmi.bjectives.n.scre.max data mdel element is the maximum value, fr the bjective, in the range fr the raw scre [1]. Data Mdel Element Implementatin Requirements: Data Type: real (10,7) Value Space: A real number with values that is accurate t seven significant decimal figures. Frmat: Refer t Sectin : Data Types fr mre infrmatin n the requirements fr the frmat f the real (10,7) data type. LMS Behavir Requirements: The data mdel element is mandatry and shall be implemented by an LMS as read/write. SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-4-111

174 The SCO is respnsible fr setting this value if apprpriate. The LMS cannt make any judgments f the bjective s maximum scre unless reprted therwise frm the SCO. If an LMS receives a GetValue() request prir t the value being set by the SCO, then the LMS shall set the apprpriate errr cde (refer t API Implementatin Requirements). SCO Behavir Requirements: The data mdel element is required t be implemented by an LMS as read/write. The SCO is permitted t retrieve and stre the value f the cmi.bjectives.n.scre.max data mdel element. The max scre is determined by the SCO. API Implementatin Requirements: GetValue(): The LMS shall return the assciated cmi.bjectives.n.scre.max currently stred by the LMS fr the learner and set the API Implementatin s errr cde t 0 N Errr. The characterstring returned shall adhere t the requirements identified in the Data Mdel Element Implementatin Requirements. The data mdel binding fr cllectins is represented as packed arrays. If the SCO invkes a GetValue() request where the index (n) is a number larger than what the LMS is currently maintaining (e.g., the request indicated an n value f 5 when there are nly 3 bjectives in the array), then the LMS shall set the errr cde t 301 General Get Failure and return an empty characterstring ( ). Refer t Sectin : SCORM Extensin Errr Cnditins fr further recmmendatins n prcessing this request. If the SCO attempts t retrieve the cmi.bjectives.n.scre.max and the recrd f data has been created but the max data mdel element has nt been set by the SCO, then the LMS shall set the errr cde t Data Mdel Element Value Nt Initialized and return an empty characterstring ( ). SetValue(): The LMS shall set the cmi.bjectives.n.scre.max data mdel element t the parameter passed as parameter_2 f the SetValue() call, set the errr cde t 0 - N Errr and return true. If the SCO tries t set the cmi.bjectives.n.scre.max t a value that is nt a real number, then the LMS shall set the errr cde t Data Mdel Element Type Mismatch, return false. The LMS shall nt alter the state f the data mdel element based n the request. The data mdel binding fr cllectins is represented as packed arrays. If the SCO invkes a SetValue() request where the index (n) prvided is a number that is greater than the current number f bjectives being stred, then the LMS shall set the errr cde t 351 General Set Failure and return false. Refer t Sectin : SCORM Extensin Errr Cnditins. Since the cmi.bjectives.n.id is required t be set first prir t any ther bjective infrmatin, if the SCO attempts t set cmi.bjectives.n.scre.max (prir t setting the identifier) then the LMS shall set the errr cde t 408 Data Mdel Dependency Nt Established and return false. The LMS shall nt alter the state f the data mdel element based n the request. RTE SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

175 Example: GetValue( cmi.bjectives.0.scre.max ) SetValue( cmi.bjectives.0.scre.max, 1.0 ) SetValue( cmi.bjectives.0.scre.max, 500 ) cmi.bjectives.n.success_status The cmi.bjectives.n.success_status data mdel element indicates whether the learner has mastered the bjective [1]. Hw the SCO determines the cmi.bjectives.n.success_status fr the bjective is utside the scpe f SCORM. The SCO culd base this decisin n a certain percentage f interactins being passed that map t the bjective, a ttal scre fr a test r quiz, based n the bjectives, cmpared against a mastery scre, etc. This value indicates the verall success status fr the SCO as determined by the SCO develper. If there is sequencing infrmatin applied t the learning activity assciated with the SCO that relies n bjective status, the SCO must ensure bjective infrmatin is accurately sent t the LMS ( SetValue() ) prir t the SCO s learner sessin ending. Otherwise, the LMS will use the value unknwn as the bjective status fr the apprpriate bjective (based n bjective IDs) f the learning activity assciated with the SCO when prcessing sequencing infrmatin. Data Mdel Element Implementatin Requirements: Data Type: state (passed, failed, unknwn) Value Space: The IEEE defines three state values. SCORM binds these state values t the fllwing restricted vcabulary tkens: passed : The learner has passed the SCO [1]. Indicates that the necessary number f bjectives was mastered r a necessary scre was achieved. failed : The learner has failed the SCO [1]. Indicates that the learner did nt master the necessary number f bjectives r that a required scre was nt achieved. unknwn : N assertin is made [1]. This indicates that n applicable assertin can be made that indicates the success status. Frmat: The frmat f the data mdel value shall be ne f the three restricted values listed abve ( passed, failed, unknwn ). LMS Behavir Requirements: This data mdel element is mandatry and shall be implemented by an LMS as read/write. Nrmally the SCO will reprt its wn cmi.bjectives.n.success_status t the LMS, hwever there is n requirement in SCORM that mandates a SCO t set cmi.bjectives.n.success_status. If the cmi.bjectives.n.success_status is nt reprted by the SCO, then the LMS shall use the default f unknwn as the value f the bjectives success status. Sequencing Impacts: If the SCO sets cmi.bjectives.n.success_status fr an bjective f the SCO t unknwn, the Objective Prgress Status fr the bjective (based n bjective IDs) f the learning activity assciated with the SCO shall be false. If the SCO sets cmi.bjectives.n.success_status fr an bjective f the SCO t passed, the Objective Prgress Status fr the bjective (based n bjective IDs) f the learning activity assciated with the SCO shall be true, and the Objective Satisfied Status fr the bjective (based n bjective IDs) f the learning activity assciated with the SCO shall be true. If the SCO sets cmi.bjectives.n.success_status fr an bjective SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-4-113

176 f the SCO t failed, the Objective Prgress Status fr the bjective (based n bjective IDs) f the learning activity assciated with the SCO shall be true, and the Objective Satisfied Status fr the bjective (based n bjective IDs) f the learning activity assciated with the SCO shall be false. SCO Behavir Requirements: The data mdel element is required t be implemented by the LMS as read/write. The SCO is permitted t retrieve and stre the value f the cmi.bjectives.n.success_status data mdel element. API Implementatin Requirements: GetValue(): The LMS shall return the bjectives assciated cmi.bjectives.n.success_status currently stred by the LMS fr the learner and set the errr cde t 0 N Errr. The characterstring returned shall adhere t the requirements identified in the Data Mdel Element Implementatin Requirements. Until the cmi.bjectives.n.success_status has been set, the default value f the data mdel element shall be unknwn. If the SCO attempts t retrieve the cmi.bjectives.n.success_status and the recrd f data has been created but success_status data mdel element has nt been set by the SCO nr determined by the LMS, then the LMS shall return the default value f unknwn and set the errr cde t 0 N Errr. The data mdel binding fr cllectins is represented as packed arrays. If the SCO invkes a GetValue() request where the index (n) is a number larger than what the LMS is currently maintaining (e.g., the request indicated an n value f 5 when there are nly 3 bjectives in the array), then the LMS shall set the errr cde t 301 General Get Failure and return an empty characterstring ( ). Refer t Sectin : SCORM Extensin Errr Cnditins fr further recmmendatins n prcessing this request. SetValue(): If the SCO invkes a SetValue() request t set the cmi.bjectives.n.success_status and the supplied value meets the requirements defined in the Data Mdel Element Implementatin Requirements, then the LMS shall stre the supplied value fr cmi.bjectives.n.success_status, set the errr cde t 0 N Errr and return true. If the SCO invkes a request t set the cmi.bjectives.n.success_status and the value is nt a member f the restricted vcabulary tkens described abve, then the LMS shall set the API Errr Cde t 406 Data Mdel Element Type Mismatch and return false. The LMS shall nt alter the state f the data mdel element based n the request. The data mdel binding fr cllectins is represented as packed arrays. If the SCO invkes a SetValue() request where the index (n) prvided is a number that is greater than the current number f bjectives being stred, then the LMS shall set the errr cde t 351 General Set Failure and return false. Refer t Sectin : SCORM Extensin Errr Cnditins. Since the cmi.bjectives.n.id is required t be set first prir t any ther bjective infrmatin, if the SCO attempts t set cmi.bjectives.n.success_status (prir RTE SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

177 t setting the identifier) then the LMS shall set the errr cde t 408 Data Mdel Dependency Nt Established and return false. The LMS shall nt alter the state f the data mdel element based n the request. Example: GetValue( cmi.bjectives.n.success_status ) SetValue( cmi.bjectives.n.success_status, passed ) cmi.bjectives.n.cmpletin_status The cmi.bjectives.n.cmpletin_status data mdel element indicates whether the learner has cmpleted the assciated bjective [1]. Hw the SCO determines the cmi.bjectives.n.cmpletin_status fr the bjective is utside the scpe f SCORM. Fr example, the SCO culd base this decisin n a number f interactins assciated with the bjective being cmpleted. Since the determinatin f cmi.bjectives.n.cmpletin_status is cntrlled and managed by the SCO, the LMS cannt imply that the SCO is cmpleted in any way. If n cmi.bjectives.n.cmpletin_status is reprted by the SCO, then the LMS can nly rely n the fact that the cmi.bjectives.n.cmpletin_status is unknwn. Data Mdel Element Implementatin Requirements: Data Type: state (cmpleted, incmplete, nt_attempted, unknwn). Value Space: The IEEE defines fur state values. SCORM binds these state values t the fllwing restricted vcabulary tkens: cmpleted : The learner has experienced enugh f the SCO fr the assciated bjective t be cnsidered cmplete [1]. Hw cmpletin is determined is cntrlled and managed by the SCO. incmplete : The learner has nt experienced enugh f the SCO fr the assciated bjective t be cnsidered cmpleted [1]. Hw cmpletin is determined is cntrlled and managed by the SCO. nt attempted : The learner has experienced the SCO, but the assciated bjective has nt been attempted [1]. The SCO is respnsible fr determining whether r nt the bjective was attempted. unknwn : N assertin is made [1]. This indicates that n applicable assertin can be made that indicates the cmpletin status. Frmat: The frmat f the data mdel value shall be ne f the fur restricted vcabulary tkens listed abve ( cmpleted, incmplete, nt attempted, unknwn ). LMS Behavir Requirements: This data mdel element is mandatry and shall be implemented by the LMS as read/write. Nrmally the SCO will reprt its wn bjectives cmpletin status t the LMS, hwever there is n requirement in SCORM that mandates a SCO t set cmi.bjectives.n.cmpletin_status. If the SCO des nt set the cmi.bjectives.n.cmpletin_status, then the LMS shall treat the cmi.bjectives.n.cmpletin_status as unknwn. SCO Behavir Requirements: The data mdel element is required t be implemented by an LMS as read/write. The SCO is permitted t retrieve and stre the value f the cmi.bjectives.n.cmpletin_status data mdel element. SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-4-115

178 API Implementatin Requirements: GetValue(): The LMS shall return the assciated cmi.bjectives.n.cmpletin_status currently stred by the LMS fr the learner and set the errr cde t 0 N Errr. The characterstring returned shall adhere t the requirements identified in the Data Mdel Element Implementatin Requirements. Until the cmi.bjectives.n.cmpletin_status has been set, the default value f the data mdel element shall be unknwn. If the SCO attempts t retrieve the cmi.bjectives.n.cmpletin_status and the recrd f data has been created but cmpletin_status data mdel element has nt been set by the SCO nr determined by the LMS, then the LMS shall return the default value f unknwn and set the errr cde t 0 N Errr. The data mdel binding fr cllectins is represented as packed arrays. If the SCO invkes a GetValue() request where the index (n) is a number larger than what the LMS is currently maintaining (e.g., the request indicated an n value f 5 when there are nly 3 bjectives in the array), then the LMS shall set the errr cde t 301 General Get Failure and return an empty characterstring ( ). Refer t Sectin : SCORM Extensin Errr Cnditins fr further recmmendatins n prcessing this request. SetValue(): If the data dependency has been met (the identifier fr the bjective has been previusly set fr the given index n and the supplied value meets the Data Mdel Element Implementatin Requirements) the LMS shall set the cmi.bjectives.n.cmpletin_status data mdel element t the supplied value, set the errr cde t 0 N Errr and return true. If the SCO invkes a request t set the cmi.bjectives.n.cmpletin_status and the value is nt a member f the restricted vcabulary tkens described abve, then the LMS shall set the API Errr Cde t 406 Data Mdel Element Type Mismatch and return false. The LMS shall nt alter the state f the data mdel element based n the request. The data mdel binding fr cllectins is represented as packed arrays. If the SCO invkes a SetValue() request where the index (n) prvided is a number that is greater than the current number f bjectives being stred, then the LMS shall set the errr cde t 351 General Set Failure and return false. Refer t Sectin : SCORM Extensin Errr Cnditins. Since the cmi.bjectives.n.id is required t be set first prir t any ther bjective infrmatin, if the SCO attempts t set cmi.bjectives.n.cmpletin_status (prir t setting the identifier) then the LMS shall set the errr cde t 408 Data Mdel Dependency Nt Established and return false. The LMS shall nt alter the state f the data mdel element based n the request. Example: GetValue( cmi.bjectives.0.cmpletin_status ) SetValue( cmi.bjectives.0.cmpletin_status, incmplete ) RTE SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

179 cmi.bjectives.n.prgress_measure The cmi.bjectives.n.prgress_measure data mdel element indicates a measure f the prgress the learner has made tward cmpleting the assciated bjective [1]. Hw the SCO determines the cmi.bjectives.n.prgress_measure fr the bjective is utside the scpe f SCORM. Fr example, the SCO culd base this decisin n a number f interactins assciated with the bjective being cmpleted. Since the determinatin f cmi.bjectives.n.prgress_measure is cntrlled and managed by the SCO, the LMS cannt imply the value f the prgress measure in any way Data Mdel Element Implementatin Requirements: Data Type: real (10,7) range (0..1) Value Space: A real number with values that is accurate t seven significant decimal figures. The value shall be in the range f 0.0 t 1.0, inclusive. Frmat: Refer t Sectin : Data Types fr mre infrmatin n the requirements fr the frmat f the real (10,7) data type. LMS Behavir Requirements: The data mdel element is mandatry and shall be implemented by the LMS as read/write. The SCO is respnsible fr determining the cmi.bjectives.n.prgress_measure. The LMS cannt make any judgments f the cmi.bjectives.n.prgress_measure unless reprted frm the SCO. If an LMS receives a retrieve ( GetValue() ) request prir t the value being set, then the LMS shall set the apprpriate errr cde (refer t API Implementatin Requirements). SCO Behavir Requirements: The data mdel element is required t be implemented by an LMS as read/write. The SCO is permitted t retrieve and stre the value f the cmi.bjectives.n.prgress_measure data mdel element. API Implementatin Requirements: GetValue(): The LMS shall return the assciated cmi.bjectives.n.prgress_measure currently stred by the LMS fr the learner and set the API Implementatin s errr cde t 0 N Errr. The characterstring returned shall adhere t the requirements identified in the Data Mdel Element Implementatin Requirements. The data mdel binding fr cllectins is represented as packed arrays. If the SCO invkes a GetValue() request where the index (n) is a number larger than what the LMS is currently maintaining (e.g., the request indicated an n value f 5 when there are nly 3 bjectives in the array), then the LMS shall set the errr cde t 301 General Get Failure and return an empty characterstring ( ). Refer t Sectin : SCORM Extensin Errr Cnditins fr further recmmendatins n prcessing this request. If the SCO invkes a request t get the cmi.bjectives.n.prgress_measure prir t the value being set, then the LMS shall set the errr cde t 403 Data Mdel Element Value Nt Initialized and return an empty characterstring ( ). SetValue(): The LMS shall set the cmi.bjectives.n.prgress_measure data mdel element t the parameter passed as parameter_2 f the SetValue() call, set the errr cde t 0 - N Errr and return true. If the SCO tries t set the SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-4-117

180 cmi.bjectives.n.prgress_measure t a value that is nt a real number, then the LMS shall set the errr cde t Data Mdel Element Type Mismatch, return false. The LMS shall nt alter the state f the data mdel element based n the request. The data mdel binding fr cllectins is represented as packed arrays. If the SCO invkes a SetValue() request where the index (n) prvided is a number that is greater than the current number f bjectives being stred, then the LMS shall set the errr cde t 351 General Set Failure and return false. Refer t Sectin : SCORM Extensin Errr Cnditins. If the SCO tries t set the cmi.bjectives.n.prgress_measure t a value that is a real number but the value is nt in the range f 0 t 1, inclusive, then the LMS shall set the errr cde t Data Mdel Element Value Out Of Range, return false. The LMS shall nt alter the state f the data mdel element based n the request. Since the cmi.bjectives.n.id is required t be set first prir t any ther bjective infrmatin, if the SCO attempts t set cmi.bjectives.n.prgress_measure (prir t setting the identifier) then the LMS shall set the errr cde t 408 Data Mdel Dependency Nt Established and return false. The LMS shall nt alter the state f the data mdel element based n the request. Example: GetValue( cmi.bjectives.0.prgress_measure ) SetValue( cmi.bjectives.0.prgress_measure, 0.75 ) SetValue( cmi.bjectives.0.prgress_measure, 1.0 ) cmi.bjectives.n.descriptin The cmi.bjectives.n.descriptin data mdel element prvides a brief infrmative descriptin f the bjective [1]. Data Mdel Element Implementatin Requirements: Data Type: lcalized_string_type (SPM: 250) Value Space: A characterstring (defined by ISO ) with lcalizatin infrmatin. Frmat Refer t Sectin : Data Types fr mre infrmatin n the requirements fr the frmat f the lcalized_string_type data type. LMS Behavir Requirements: This data mdel element is mandatry and shall be implemented by the LMS as read/write. This value is currently initialized by the SCO. SCORM des nt define any ther way f initializing this value (e.g., thrugh an extensin t the cntent packaging manifest). The LMS shall nt make any assumptin n an initial value fr this data mdel element. If a GetValue() request is made befre the actual bjective descriptin has been set by the SCO, then the LMS shall behave accrding t the API Implementatin Requirements belw. SCO Behavir Requirements: The data mdel element is required t be implemented by an LMS as read/write. The SCO is permitted t retrieve and stre the value f the cmi.bjectives.n.descriptin data mdel element. During a SetValue() request, the SCO shuld be aware that the delimiter is ptinal. If the delimiter is nt prvided as part f RTE SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

181 the characterstring, the LMS will assume that the default language is en. During a GetValue() request, the SCO shuld be aware that the delimiter may be part f the characterstring returned by the LMS (depending n the LMS implementatin). What the SCO des with the characterstring returned by the LMS is dependent n the implementatin f the SCO. API Implementatin Requirements: GetValue(): The LMS shall return the assciated bjective descriptin currently stred by the LMS fr the learner and set the errr cde t 0 N Errr. The characterstring returned shall adhere t the requirements identified in the Data Mdel Element Implementatin Requirements. The data mdel binding fr cllectins is represented as packed arrays. If the SCO invkes a GetValue() request where the index (n) is a number larger than what the LMS is currently maintaining (e.g., the request indicated an n value f 5 when there are nly 3 bjectives in the array), then the LMS shall set the errr cde t 301 General Get Failure and return an empty characterstring ( ). Refer t Sectin : SCORM Extensin Errr Cnditins fr further recmmendatins n prcessing this request. If the SCO attempts t retrieve the cmi.bjectives.n.descriptin and the recrd f data has been created but the descriptin data mdel element has nt been set by the SCO, then the LMS shall set the errr cde t Data Mdel Element Value Nt Initialized and return an empty characterstring ( ). SetValue(): The LMS shall set the cmi.bjectives.n.descriptin t the supplied value in the SetValue() request, set the errr cde t 0 N Errr and return true. If the supplied value f the SetValue() des nt meet the requirements f the Data Mdel Element Implementatin Requirements, then the LMS shall set the errr cde t 406 Data Mdel Element Type Mismatch and return false. The LMS shall nt alter the state f the data mdel element based n the request. The data mdel binding fr cllectins is represented as packed arrays. If the SCO invkes a SetValue() request where the index (n) prvided is a number that is greater than the current number f bjectives being stred, then the LMS shall set the errr cde t 351 General Set Failure and return false. Refer t Sectin : SCORM Extensin Errr Cnditins. Since the cmi.bjectives.n.id is required t be set first prir t any ther bjective infrmatin, if the SCO attempts t set cmi.bjectives.n.success_status (prir t setting the identifier) then the LMS shall set the errr cde t 408 Data Mdel Dependency Nt Established and return false. The LMS shall nt alter the state f the data mdel element based n the request. Example: GetValue( cmi.bjectives.0.descriptin ) SetValue( cmi.bjectives.0.descriptin, Upn cmpletin f SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-4-119

182 this unit, the learner shall be able t distinguish between an apple and an range ) Prgress Measure The cmi.prgress_measure data mdel element is a measure f the prgress the learner has made tward cmpleting the SCO [1]. Table a: Prgress Measure relatinship with Cmpletin Status cmi.prgress_measure cmi.cmpletin_status 0 nt attempted 1 cmpleted 0 > value < 1 incmplete (typically, unless a cmi.cmpletin_threshld is defined and the cmi.prgress_measure is >= the cmi.cmpletin_threshld) Table a describes the mapping f cmi.prgress_measure values t the cmi.cmpletin_status values. The SCO defines the requirements fr determining the prgress measure. This culd be based n the cmpletin f a certain number f bjectives related t the SCO, a set number f pages (in a multi-page SCO) presented t the learner, etc. Table b: Dt-ntatin Binding fr the Prgress Measure Data Mdel Element Dt-Ntatin Binding cmi.prgress_measure Details Data Mdel Element Implementatin Requirements: Data Type: real (10,7) range (0..1) Value Space: A real number with values that is accurate t seven significant decimal figures. The value shall be in the range f 0.0 t 1.0, inclusive. Frmat: Refer t Sectin : Data Types fr mre infrmatin n the requirements fr the frmat f the real (10,7) data type. LMS Behavir Requirements: The data mdel element is mandatry and shall be implemented by the LMS as read/write. The SCO is respnsible fr determining the cmi.prgress_measure. The LMS cannt make any judgments f the cmi.prgress_measure unless reprted frm the SCO. If an LMS receives a retrieve ( GetValue() ) request prir t the value being set, then the LMS shall set the apprpriate errr cde (refer t API Implementatin Requirements). If a cmi.cmpletin_threshld is defined and the SCO reprts a cmi.prgress_measure, the LMS shall verride any value currently being stred in cmi.cmpletin_status, based n the requirements defined in Sectin : Cmpletin Status Evaluatin. Sequencing Impacts: At this time there is n direct mapping f the cmi.prgress_measure t an IMS Simple Sequencing Tracking Mdel element nr is there a direct mapping t a sequencing behavir. RTE SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

183 If a cmi.cmpletin_threshld is defined, and a cmi.prgress_measure is set, the determinatin f the cmi.cmpletin_status data mdel element may be impacted. The cmi.cmpletin_status des impact certain sequencing behavirs. SCO Behavir Requirements: The data mdel element is required t be implemented by an LMS as read/write. The SCO is permitted t retrieve and stre the value f the cmi.prgress_measure data mdel element. API Implementatin Requirements: GetValue(): The LMS shall return the assciated cmi.prgress_measure currently stred by the LMS fr the learner and set the API Implementatin s errr cde t 0 N Errr. The characterstring returned shall adhere t the requirements identified in the Data Mdel Element Implementatin Requirements. If the SCO invkes a request t get the cmi.prgress_measure prir t the value being set, then the LMS shall set the errr cde t 403 Data Mdel Element Value Nt Initialized and return an empty characterstring ( ). SetValue(): The LMS shall set the cmi.prgress_measure data mdel element t the parameter passed as parameter_2 f the SetValue() call, set the errr cde t 0 - N Errr and return true. If the SCO tries t set the cmi.prgress_measure t a value that is nt a real number, then the LMS shall set the errr cde t Data Mdel Element Type Mismatch, return false. The LMS shall nt alter the state f the data mdel element based n the request. If the SCO tries t set the cmi.prgress_measure t a value that is a real number but the value is nt in the range f 0 t 1, inclusive, then the LMS shall set the errr cde t Data Mdel Element Value Out Of Range, return false. The LMS shall nt alter the state f the data mdel element based n the request. Example: GetValue( cmi.prgress_measure ) SetValue( cmi.prgress_measure, 0.75 ) SetValue( cmi.prgress_measure, 1.0 ) SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-4-121

184 Scaled Passing Scre The cmi.scaled_passing_scre data mdel element is the scaled passing scre required t master the SCO. The value f the data mdel element is scaled t fit the range -1 t 1 inclusive [1]. The value indicates the passing scaled scre fr a SCO. Table a: Dt-ntatin Binding fr the Scaled Passing Scre Data Mdel Element Dt-Ntatin Binding cmi.scaled_passing_scre Details Data Mdel Element Implementatin Requirements: Data Type: real(10,7) range (-1.. 1) Value Space: -1.0 <= scaled_passing_scre <= 1.0 Frmat: Refer t Sectin : Data Types fr mre infrmatin n the requirements fr the frmat f the real (10,7) data type. LMS Behavir Requirements: The data mdel element is mandatry and shall be implemented by the LMS as read-nly. The LMS is respnsible fr initializing this data mdel element. If the IMS Simple Sequencing namespace attribute imsss:satisfiedbymeasure assciated with the <imsss:primaryobjective> element fr the <imscp:item> element that references the SCO is equal t true, then the value prvided by the <imsss:minnrmalizedmeasure> element assciated with the <imsss:primaryobjective> element fr the <imscp:item> element that references the SCO resurce shall be used t initialize this data mdel element. If the IMS Simple Sequencing namespace attribute imsss:satisfiedbymeasure assciated with the <imsss:primaryobjective> element fr the <imscp:item> element that references the SCO is equal t true and n value is prvided fr the <imsss:minnrmalizedmeasure> element assciated with the <imsss:primaryobjective> element fr the <imscp:item> element that references the SCO resurce, then the LMS shall initialize this data mdel element t 1.0 (default value). If the IMS Simple Sequencing namespace attribute imsss:satisfiedbymeasure assciated with the <imsss:primaryobjective> element fr the <imscp:item> element that references the SCO is equal t false, then the LMS shall nt make any assumptins f a scaled passing scre. In this case, the value f the cmi.scaled_passing_scre shall nt be initialized t any value. SCO Behavir Requirements: The data mdel element is required t be implemented by an LMS as read-nly. The SCO is nly permitted t retrieve the cmi.scaled_passing_scre data mdel element. API Implementatin Requirements: GetValue(): The LMS shall return the value stred fr the cmi.scaled_passing_scre data mdel element and set the errr cde t 0 N Errr. The characterstring returned shall adhere t the requirements identified in the Data Mdel Element Implementatin Requirements. If there is n scaled passing scre defined in the manifest and the SCO requests the value fr this data RTE SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

185 mdel element, then the LMS shall set the errr cde t 403 Data Mdel Element Value Nt Initialized and return an empty characterstring ( ). SetValue(): If the SCO invkes a SetValue() request t set the cmi.scaled_passing_scre, then the LMS shall set the errr cde t 404 Data Mdel Element Is Read Only and return false. The LMS shall nt alter the state f the data mdel element based n the request. Example: GetValue( cmi.scaled_passing_scre ) SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-4-123

186 Scre The scre data mdel element is the learner s scre fr the SCO [1]. The scre data mdel element is brken int fur sub-elements: cmi.scre.scaled: The scaled data mdel element is a number that reflects the perfrmance f the learner. The value f the data mdel element is scaled t fit the range 1.0 t 1.0 inclusive [1]. cmi.scre.raw: The raw data mdel element is a number that reflects the perfrmance f the learner relative t the range bunded by the values f min and max [1]. cmi.scre.min: The min data mdel element is the minimum value in the range fr the raw scre [1]. cmi.scre.max: The max data mdel element is the maximum value in the range fr the raw scre [1]. Table a: Dt-ntatin Binding fr the Scre Data Mdel Element Dt-Ntatin Binding cmi.scre._children Details The cmi.scre._children data mdel element represents a listing f supprted data mdel elements. This data mdel element is typically used by a SCO t determine which data mdel elements are supprted by the LMS. The characterstring returned may be used by the SCO t dynamically build parameters fr the GetValue() and SetValue() requests. Data Mdel Element Implementatin Requirements: Data Type: characterstring Value Space: ISO [5] Frmat: A cmma-separated list f all f the data mdel elements in the Scre parent data mdel element that are supprted by the LMS. Since all data mdel elements are required t be supprted by the LMS, the characterstring shall represent the fllwing data mdel elements: scaled min max raw LMS Behavir Requirements: This data mdel element is mandatry and shall be implemented by an LMS as read-nly. The LMS is respnsible fr returning a cmma-separated list f all f the data mdel elements (refer t Data Mdel Element Implementatin Requirements abve). SCO Behavir Requirements: This data mdel element is required t be implemented by an LMS as readnly. The SCO is nly permitted t retrieve the cmi.scre._children data mdel element. API Implementatin Requirements: GetValue(): The LMS shall return a cmma-separated list f data mdel elements supprted by the LMS (refer t Data Mdel Element Implementatin Requirements abve) and set the errr cde t 0 N Errr. The rdering f data mdel elements is nt imprtant. The characterstring returned shall adhere t the requirements identified in the Data Mdel Element Implementatin Requirements. SetValue(): If the SCO invkes a SetValue() request t set the RTE SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

187 cmi.scre._children, then the LMS shall set the errr cde t 404 Data Mdel Element Is Read Only and return false. Example: GetValue( cmi.scre._children ) cmi.scre.scaled Data Mdel Element Implementatin Requirements: Data Type: real (10,7) range (-1..1) Value Space: A real number with values that is accurate t seven significant decimal figures. The value shall be in the range f 1.0 t 1.0, inclusive. Frmat: Refer t Sectin : Data Types fr mre infrmatin n the requirements fr the frmat f the real (10,7) data type. LMS Behavir Requirements: The data mdel element is mandatry and shall be implemented by the LMS as read/write. The SCO is respnsible fr determining the scaled scre. The LMS cannt make any judgments f the scaled scre unless reprted frm the SCO. If an LMS receives a retrieve ( GetValue() ) request prir t the value being set by the SCO, then the LMS shall set the apprpriate errr cde (refer t API Implementatin Requirements). Sequencing Impacts: The fllwing ccur after the sequencing impacts frm cmi.bjectives.n.success_status and cmi.bjectives.n.scre.scaled have been cnsidered. If an identifier has been defined fr the primary bjective fr the activity and the SCO des nt set cmi.scre.scaled and the cmi.bjectives.n.scre.scaled element whse ID (cmi.bjectives.n.id) matches the identifier f the primary bjective has nt been set by the SCO, then the Objective Measure Status fr the primary bjective f the learning activity assciated with the SCO shall be false. If the SCO sets cmi.scre.scaled, the Objective Measure Status fr the primary bjective f the learning activity assciated with the SCO shall be true, and the Objective Nrmalized Measure fr the primary bjective f the learning activity assciated with the SCO shall equal the value f scre.scaled. SCO Behavir Requirements: The data mdel element is required t be implemented by an LMS as read/write. The SCO is permitted t retrieve and stre the value f the cmi.scre.scaled data mdel element. If there is sequencing infrmatin applied t the learning activity assciated with the SCO that relies n a measure, the SCO shuld ensure scre infrmatin is accurately sent t the LMS ( SetValue() ) prir t the SCO s learner sessin ending. If the measure is nt reprted by the SCO, then the LMS will use the value unknwn as the bjective measure fr the primary bjective f the learning activity assciated with the SCO when prcessing sequencing infrmatin. API Implementatin Requirements: GetValue(): The LMS shall return the assciated cmi.scre.scaled currently stred by the LMS fr the learner and set the API Implementatin s errr cde t 0 N Errr. The characterstring returned shall adhere t the requirements identified in the Data Mdel Element Implementatin Requirements. If the SCO invkes a request t get the cmi.scre.scaled prir t the value being set by the SCO, then the LMS shall set the errr cde t 403 Data Mdel Element Value Nt Initialized and return an empty characterstring ( ). SetValue(): The LMS shall set the cmi.scre.scaled data mdel element t the parameter passed as parameter_2 f the SetValue() call, set the errr cde t 0 - N Errr and return true. If the SCO tries t set the cmi.scre.scaled t a value that is nt a SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-4-125

188 real number, then the LMS shall set the errr cde t Data Mdel Element Type Mismatch, return false. The LMS shall nt alter the state f the data mdel element based n the request. If the SCO tries t set the cmi.scre.scaled t a value that is a real number but the value is nt in the range f 1 t 1, inclusive, then the LMS shall set the errr cde t Data Mdel Element Value Out Of Range, return false. The LMS shall nt alter the state f the data mdel element based n the request. Example: GetValue( cmi.scre.scaled ) SetValue( cmi.scre.scaled, ) SetValue( cmi.scre.scaled, 0.75 ) cmi.scre.raw cmi.scre.max Data Mdel Element Implementatin Requirements: Data Type: real (10,7) Value Space: A real number with values that is accurate t seven significant decimal figures. Frmat: Refer t Sectin : Data Types fr mre infrmatin n the requirements fr the frmat f the real (10,7) data type. LMS Behavir Requirements: The data mdel element is mandatry and shall be implemented by an LMS as read/write. The SCO is respnsible fr setting this value if apprpriate. The LMS cannt make any judgments f the raw scre unless reprted therwise frm the SCO. If an LMS receives a retrieve ( GetValue() ) request prir t the value being set by the SCO, then the LMS shall set the apprpriate errr cde (refer t API Implementatin Requirements). SCO Behavir Requirements: The data mdel element is required t be implemented by an LMS as read/write. The SCO is permitted t retrieve and stre the value f the cmi.scre.raw data mdel element. The raw scre may be determined and calculated in any manner that makes sense t the SCO. Fr instance, it culd reflect the percentage f bjectives cmplete, it culd be the raw scre n a multiple chice test r it culd indicate the number f crrect first respnses t embedded questins in a SCO. API Implementatin Requirements: GetValue(): The LMS shall return the assciated cmi.scre.raw currently stred by the LMS fr the learner and set the API Implementatin s errr cde t 0 N Errr. The characterstring returned shall adhere t the requirements identified in the Data Mdel Element Implementatin Requirements. If the SCO invkes a request t get the cmi.scre.raw prir t the value being set by the SCO, then the LMS shall set the errr cde t 403 Data Mdel Element Value Nt Initialized and return an empty characterstring ( ). SetValue(): The LMS shall set the cmi.scre.raw data mdel element t the parameter passed as parameter_2 f the SetValue() call, set the errr cde t 0 - N Errr and return true. If the SCO tries t set the cmi.scre.raw t a value that is nt a real number, then the LMS shall set the errr cde t Data Mdel Element Type Mismatch, return false. The LMS shall nt alter the state f the data mdel element based n the request. Example: GetValue( cmi.scre.raw ) SetValue( cmi.scre.raw, ) SetValue( cmi.scre.raw, 0.75 ) Data Mdel Element Implementatin Requirements: RTE SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

189 Data Type: real (10,7) Value Space: A real number with values that is accurate t seven significant decimal figures. Frmat: Refer t Sectin : Data Types fr mre infrmatin n the requirements fr the frmat f the real (10,7) data type. LMS Behavir Requirements: The data mdel element is mandatry and shall be implemented by an LMS as read/write. The SCO is respnsible fr setting this value if apprpriate. The LMS cannt make any judgments f the maximum scre unless reprted therwise frm the SCO. If an LMS receives a GetValue() request prir t the value being set by the SCO, then the LMS shall set the apprpriate errr cde (refer t API Implementatin Requirements). SCO Behavir Requirements: The data mdel element is required t be implemented by an LMS as read/write The SCO is permitted t retrieve and stre the value f the cmi.scre.max data mdel element. The max scre is determined by the SCO. API Implementatin Requirements: GetValue(): The LMS shall return the assciated cmi.scre.max currently stred by the LMS fr the learner and set the API Implementatin s errr cde t 0 N Errr. The characterstring returned shall adhere t the requirements identified in the Data Mdel Element Implementatin Requirements. If the SCO invkes a request t get the cmi.scre.max prir t the value being set by the SCO, then the LMS shall set the errr cde t 403 Data Mdel Element Value Nt Initialized and return an empty characterstring ( ). SetValue(): The LMS shall set the cmi.scre.max data mdel element t the parameter passed as parameter_2 f the SetValue() call, set the errr cde t 0 - N Errr and return true. If the SCO tries t set the cmi.scre.max t a value that is nt a real number, then the LMS shall set the errr cde t Data Mdel Element Type Mismatch, return false. The LMS shall nt alter the state f the data mdel element based n the request. Example: GetValue( cmi.scre.max ) SetValue( cmi.scre.max, 1.0 ) SetValue( cmi.scre.max, 500 ) cmi.scre.min Data Mdel Element Implementatin Requirements: Data Type: real (10,7) Value Space: A real number with values that is accurate t seven significant decimal figures. Frmat: Refer t Sectin : Data Types fr mre infrmatin n the requirements fr the frmat f the real (10,7) data type. LMS Behavir Requirements: The data mdel element is mandatry and shall be implemented by an LMS as read/write. The SCO is respnsible fr setting this value if apprpriate. The LMS cannt make any judgments f the minimum scre unless reprted therwise frm the SCO. If an LMS receives a GetValue() request prir t the value being set by the SCO, then the LMS shall set the apprpriate errr cde (refer t API Implementatin Requirements). SCO Behavir Requirements: The data mdel element is required t be implemented by an LMS as read/write. The SCO is permitted t retrieve and stre the value f the cmi.scre.min data mdel element. The max scre is determined by the SCO. SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-4-127

190 API Implementatin Requirements: GetValue(): The LMS shall return the assciated cmi.scre.min currently stred by the LMS fr the learner and set the API Implementatin s errr cde t 0 N Errr. The characterstring returned shall adhere t the requirements identified in the Data Mdel Element Implementatin Requirements. If the SCO invkes a request t get the cmi.scre.min prir t the value being set by the SCO, then the LMS shall set the errr cde t 403 Data Mdel Element Value Nt Initialized and return an empty characterstring ( ). SetValue(): The LMS shall set the cmi.scre.min data mdel element t the parameter passed as parameter_2 f the SetValue() call, set the errr cde t 0 - N Errr and return true. If the SCO tries t set the cmi.scre.min t a value that is nt a real number, then the LMS shall set the errr cde t Data Mdel Element Type Mismatch, return false. The LMS shall nt alter the state f the data mdel element based n the request. Example: GetValue( cmi.scre.min ) SetValue( cmi.scre.min, 1.0 ) SetValue( cmi.scre.min, 500 ) RTE SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

191 Sessin Time The cmi.sessin_time data mdel element is the amunt f time that the learner has spent in the current learner sessin fr this SCO. If n learner sessin is in prgress, then the sessin time is the time the learner spent in the last learner sessin fr this SCO [1]. If the SCO is ging t track cmi.sessin_time, the SCO determines the value and meaning f cmi.sessin_time. Examples: 1. The SCO may nt start recrding sessin time until after it has initialized a media segment. 2. If the learner takes a break in the learner sessin, then the break time may r may nt be included in the reprted cmi.sessin_time [1]. The SCO shuld be respnsible fr tracking any and all times. This includes implementatins f internal time clcks fr recrding such times. Table a: Dt-ntatin Binding fr the Sessin Time Data Mdel Element Dt-Ntatin Binding cmi.sessin_time Details Data Mdel Element Implementatin Requirements: Data Type: timeinterval (secnd,10,2) - a time interval with reslutin t 0.01 secnds Frmat: Refer t Sectin : Data Types fr mre infrmatin n the requirements fr the frmat f the timeinterval (secnd,10,2) data type. LMS Behavir Requirements: The data mdel element is mandatry and shall be implemented by an LMS as write-nly. Since this data mdel element is implemented by the LMS as write-nly, the LMS is nt respnsible fr initializing this data mdel element. It is the respnsibility f the SCO t manage this value. The LMS is nly respnsible fr accepting a SetValue() call t this data mdel element and perfrm the accumulatin with cmi.ttal_time. Since a SCO is nt required t set a value fr this data mdel element (nt required t keep track f the sessin time), an LMS shall keep track f sessin time frm the time the LMS launches the SCO. If the SCO reprts a different sessin time, then the LMS shall use the sessin time as reprted by the SCO instead f the sessin time as measured by the LMS. If there are additinal learner sessins within a learner attempt, the cmi.sessin_time becmes uninitialized at the beginning f each additinal learner sessin within the learner attempt. SCO Behavir Requirements: The data mdel element is required t be implemented by the LMS as writenly. The SCO is nly permitted t stre the value f the cmi.sessin_time data mdel element. A SCO is permitted, in a single cmmunicatin sessin, t perfrm multiple sets f sessin time (cmi.sessin_time). SCO develpers shuld be aware f the fact that when the SCO issues the Terminate( ) r the user navigates away, the LMS shall take the last cmi.sessin_time that the SCO set (if there was ne set) and accumulate this time t the cmi.ttal_time. API Implementatin Requirements: GetValue(): If the SCO invkes a request t get the cmi.sessin_time, then the LMS shall set the errr cde t 405 Data Mdel Element Is Write SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-4-129

192 Only and return and empty characterstring ( ). SetValue(): This request sets the cmi.sessin_time t the supplied value. The supplied value shall meet the Data Mdel Element Implementatin Requirements defined abve. If the supplied value is crrectly frmulated, then the LMS shall set the value, return true and set the errr cde t 0 - N Errr. If the supplied value des nt meet the Data Mdel Element Implementatin Requirements identified abve, then the LMS shall set the errr cde t Data Mdel Element Type Mismatch and return false. The LMS shall nt alter the state f the data mdel element based n the request. Additinal Behavir Requirements: This value is used t keep track f the time spent in a SCO fr a learner sessin. The LMS shall use this value in determining the cmi.ttal_time. A SCO is able, in a single learner sessin, t perfrm multiple sets (SetValue()) f the cmi.sessin_time. When the SCO issues the Terminate( ) r the user navigates away, the LMS shall take the last cmi.sessin_time that the SCO set (if there was a set) and accumulate this time t the cmi.ttal_time. Upn subsequent launch f the SCO in the same learner attempt, and a GetValue() call fr cmi.ttal_time, the LMS shall return the accumulated time. LMSs shall nt accumulate the multiple sessin times sent via the SetValue() request. If multiple calls t SetValue() fr cmi.sessin_time are made, then the LMS shall internally keep track f the varius sessin times and nly use the last value set when persisting the cmi.sessin_time. Example: SetValue( cmi.sessin_time, PT1H5M ) RTE SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

193 Success Status The cmi.success_status data mdel element indicates whether the learner has mastered the SCO [1]. Hw the SCO determines its cmi.success_status is utside the scpe f SCORM. The SCO culd base this decisin n a certain percentage f interactins being passed, a certain percentage f bjectives being met, a ttal scre fr a test r quiz cmpared against a mastery scre, etc. This value indicates the verall success status fr the SCO as determined by the SCO develper. Table a: Dt-ntatin Binding fr the Success Status Data Mdel Element Dt-Ntatin Binding cmi.success_status Details Data Mdel Element Implementatin Requirements: Data Type: state (passed, failed, unknwn) Value Space: The IEEE defines three state values. SCORM binds these state values t the fllwing restricted vcabulary tkens: passed : The learner has passed the SCO [1]. Indicates that the necessary number f bjectives was mastered r a necessary scre was achieved. failed : The learner has failed the SCO [1]. Indicates that the learner did nt master the necessary number f bjectives r that a required scre was nt achieved. unknwn : N assertin is made [1]. This indicates that n applicable assertin can be made that indicates the success status. Frmat: The frmat f the data mdel value shall be ne f the three restricted values listed abve ( passed, failed, unknwn ). LMS Behavir Requirements: This data mdel element is mandatry and shall be implemented by an LMS as read/write. If a cmi.scaled_passing_scre is nt defined, the determinatin f cmi.success_status is cntrlled and managed by the SCO, the LMS cannt imply any value fr the cmi.success_status in any way. There is n requirement in SCORM that mandates a SCO t set cmi.success_status. If the SCO des nt set the cmi.success_status, the LMS shall use the default value f unknwn as the value fr cmi.success_status. If a cmi.scaled_passing_scre is defined, it is the respnsibility f the LMS t maintain cngruence between the cmi.scaled_passing_scre, cmi.scre.scaled, and the value used by the LMS fr cmi.success_status. The LMS must reprt (when requested via a GetValue() call) cmi.success_status by adhering t the requirements defined in sectin : Success Status Evaluatin. Sequencing Impacts: The fllwing ccur after the sequencing impacts frm cmi.bjectives.n.success_status and cmi.bjectives.n.scre.scaled have been cnsidered. If an identifier has been defined fr the primary bjective fr the activity and the SCO r LMS (thrugh the abve prcess) sets cmi.success_status f the SCO t unknwn and the cmi.bjectives.n.success_status element whse ID (cmi.bjectives.n.id) matches the identifier f the primary bjective has nt been set by the SCO, then the Objective Prgress Status fr the primary bjective f the learning activity assciated with the SCO shall be false. If the SCO r LMS (thrugh the abve prcess) sets cmi.success_status, f the SCO t passed, the Objective Prgress Status fr the primary bjective f the learning activity assciated with the SCO shall be true, and the Objective Satisfied Status fr the primary bjective f the learning SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-4-131

194 activity assciated with the SCO shall be true. If the SCO r LMS (thrugh the abve prcess) sets cmi.success_status, f the SCO t failed, the Objective Prgress Status fr the primary bjective f the learning activity assciated with the SCO shall be true, and the Objective Satisfied Status fr the primary bjective f the learning activity assciated with the SCO shall be false. SCO Behavir Requirements: The data mdel element is required t be implemented by the LMS as read/write. The SCO is permitted t retrieve and stre the value f the cmi.success_status data mdel element. The SCO shuld be aware f the cmi.success_status determinatin rules that shall be adhered t by an LMS. These rules utline hw and when an LMS can verride a cmi.success_status reprted by the SCO. The SCO shuld be aware that setting the cmi.success_status will affect the learning activity assciated with the SCO, therefre pssibly affecting sequencing. If there is sequencing infrmatin applied t the learning activity assciated with the SCO that relies n success status, the SCO must ensure success infrmatin is accurately sent t the LMS ( SetValue() ) prir t the SCO s learner sessin ending. Otherwise, the LMS will use the value unknwn as the bjective status fr the primary bjective f the learning activity assciated with the SCO when prcessing sequencing infrmatin. API Implementatin Requirements: GetValue(): The LMS shall return the assciated cmi.success_status currently managed by the LMS fr the learner and set the errr cde t 0 N Errr. The characterstring returned shall adhere t the requirements identified in the Data Mdel Element Implementatin Requirements. If a cmi.scaled_passing_scre is defined, then the LMS shall reprt (when requested via GetValue() call) cmi.success_status by adhering t the requirements defined in sectin : Success Status Evaluatin. If a cmi.scaled_passing_scre is nt defined, until the SCO reprts a value, the default value f the cmi.success_status is unknwn. SetValue(): If the SCO invkes a request t set the cmi.success_status and the value is nt a member f the restricted vcabulary tkens described abve, then the LMS shall set the errr cde t 406 Data Mdel Element Type Mismatch and return false. The LMS shall nt alter the state f the data mdel element based n the request. Example: GetValue( cmi.success_status ) SetValue( cmi.success_status, passed ) Success Status Evaluatin Typically, the success status f the SCO is determined by the SCO. The success status f the SCO can be designed by the cntent develper in varius ways: Acquiring a certain perfrmance measure n a set f questins. Acquiring a certain perfrmance measure n an bjective r set f bjectives assciated with the SCO. Regardless f hw the determinatin is made by the SCO, this prcess invlves the SCO setting the cmi.success_status. SCORM des nt require the SCO t track (i.e., GetValue() r SetValue() functin calls) any SCORM Run-Time Envirnment Data RTE SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

195 Mdel elements. With this in mind, the LMS may have additinal behavirs that are required in the determinatin f success status. Under certain circumstances, the LMS is required t behave differently. The cmi.success_status data mdel element is impacted by tw ther SCORM Run- Time Envirnment Data Mdel Elements (Scaled Passing Scre cmi.scaled_passing_scre and a Scaled Scre cmi.scre.scaled). The fllwing table defines the pssible states f these values and the defined LMS behavir. The Scaled Passing Scre is defined in the imsmanifest.xml file (refer t Sectin : Scaled Passing Scre fr mre details). Bth the Scaled Scre and Success Status are determined and set by the SCO. Table a defines the LMS behavirs assciated with the cmbinatins f these values being set/defined r nt set/defined. The LMS behavir shall be applied when a GetValue() request t retrieve the value f the cmi.success_status is made by the SCO. Whether r nt the actual value stred by the LMS fr cmi.success_status is verridden and persisted during this evaluatin prcess is utside the scpe f SCORM and is implementatin specific. Table a: GetValue() Evaluatin f Success Status Scaled Passing Scre (*) Scaled Scre Success Status LMS Behavir Nne defined Nne defined N value set by the SCO N value set by the SCO N value set by the SCO One f the defined vcabularies Nne defined 0.5 One f the defined vcabularies One f the defined vcabularies One f the defined vcabularies 0.8 N value set by the SCO N value set by the SCO N value set by the SCO. The cmi.success_status shall be evaluated as unknwn and this value shall be returned t the SCO. N actin, the cmi.success_status currently being maintained by the LMS (i.e., the value set in the last successful call t SetValue() by the SCO) shall be returned t the SCO. N actin, the cmi.success_status currently being maintained by the LMS (i.e., the value set in the last successful call t SetValue() by the SCO) shall be returned t the SCO. The cmi.success_status shall be evaluated t failed and this value shall be returned t the SCO. RATIONALE: 0.5 < 0.8. Refer t the requirements defined by cmi.scaled_passing_scre and cmi.scre.scaled. The cmi.success_status shall be evaluated t passed and this value shall be returned t the SCO. RATIONALE: 0.9 >= 0.8. Refer t the requirements defined by cmi.scaled_passing_scre and cmi.scre.scaled. The cmi.success_status shall be evaluated t unknwn and this value shall be returned t the SCO. The cmi.success_status shall be evaluated t failed and this value shall be returned t the SCO. RATIONALE: 0.5 < 0.8. Refer t the requirements defined by cmi.scaled_passing_scre and SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-4-133

196 cmi.scre.scaled N value set by the SCO. Nne defined 0.5 N value set by the SCO 0.8 N value set by the SCO. One f the defined vcabularies The cmi.success_status shall be evaluated t passed and this value shall be returned t the SCO. RATIONALE: 0.9 >= 0.8. Refer t the requirements defined by cmi.scaled_passing_scre and cmi.scre.scaled. The cmi.success_status shall be evaluated t unknwn and this value shall be returned t the SCO. The cmi.success_status shall be evaluated t unknwn and this value shall be returned t the SCO. (*) ADL Nte: The Scaled Passing Scre is defined by the IMS Simple Sequencing namespaced attribute imsss:satisfiedbymeasure assciated with the <imsss:primaryobjective> element fr the <imscp:item> element that references the SCO Resurce. If the imsss:satisfiedbymeasure attribute is set t true, then the value prvided in the <imsss:minnrmalizedmeasure> element shall be used by the LMS t initialize the cmi.scaled_passing_scre. If the <imsss:minnrmalizedmeasure> element is nt defined the default value f 1.0 shall be used. If the imsss:satisfiedbymeasure attribute is set t false, then there is n defined minimum nrmalized measure and the cmi.scaled_passing_scre is shall nt be initialized t any value by the LMS. RTE SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

197 Suspend Data During a learning experience, the learner r SCO may wish t suspend the learner attempt n the SCO and resume the learner attempt later. If the learner attempt n the SCO is suspended, the state f the SCO s run-time data will persist until the next learner sessin n the SCO (if the cmi.exit is set t suspend ). The cmi.suspend_data data mdel element prvides additinal space t stre and retrieve suspend data between learner sessins; suspend data may be used by the SCO t resume the learner attempt. The cmi.suspend_data data mdel element prvides infrmatin that may be created by a SCO as a result f a learner accessing r interacting with that SCO. The frmat f the cntent f this data mdel element is unspecified [1]. The intent is fr the SCO t stre data fr later use in the current learner sessin r a subsequent learner sessin between the SCO and the same learner. The LMS shall nt interpret r change this data [1]. This data mdel element can typically be used t stre infrmatin that the SCO may need upn resumptin frm a suspended state, fr which the cmi.lcatin cannt be utilized. The data culd als be used later n in the same learner sessin (n suspended state). Table a: Dt-ntatin Binding fr the Suspend Data Data Mdel Element Dt-Ntatin Binding cmi.suspend_data Details Data Mdel Element Implementatin Requirements: Data Type: characterstring (SPM: 64000) Value Space: ISO Frmat: The frmat f this characterstring is left t the discretin f the SCO develper. The LMS simply stres the data, if requested t by the SCO ( SetValue() ) and returns the data, if requested t by the SCO ( GetValue() ). Refer t Sectin : Data Types fr mre infrmatin n the requirements fr the frmat f the characterstring data type. LMS Behavir Requirements: The data mdel element is mandatry and shall be implemented by the LMS as read/write. The LMS is nt respnsible fr the initializatin f this data. The LMS is nly respnsible fr strage and retrieval f the data fr the SCO. If the SCO requests the value befre any cmi.suspend_data has been set, then the LMS shall behave accrding t the API Implementatin Requirement behavirs defined belw. SCO Behavir Requirements: The data mdel element is required t be implemented by the LMS as read/write. The SCO is permitted t retrieve and stre the value f the cmi.suspend_data data mdel element. API Implementatin Requirements: GetValue(): The LMS shall return the assciated cmi.suspend_data and set the errr cde t 0 - N Errr. The characterstring returned shall adhere t the requirements identified in the Data Mdel Element Implementatin Requirements. If the SCO has nt set the value prir t the get request, then the LMS shall set the errr cde t Data Mdel Element Value Nt Initialized and return an empty characterstring ( ). SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-4-135

198 SetValue(): The LMS shall set the cmi.suspend_data t the data supplied, set the errr cde t 0 - N Errr and return true. The value must be a valid characterstring as defined by the Data Mdel Element Implementatin Requirements. Additinal Behavir Requirements: The SCO is respnsible fr the infrmatin t be stred by the LMS. The data sent t the LMS is permitted t be any valid representatin f a characterstring. The LMS shall at least prvide the smallest permitted maximum f characters. A characterstring that is greater than characters is nt guaranteed t be stred in its entirety by an LMS. The intent is fr the SCO t stre data fr later use in the current learner sessin r subsequent learner sessins between the SCO and the same learner. Since the SCO is respnsible fr the frmat f the cmi.suspend_data, the LMS shall nt attempt t interpret r change this data in any way. The LMS shall prvide this data as set in a previus learning sessin nly if the SCO has set the value f cmi.exit t suspend (a suspended learner sessin) in the previus learner sessin. In ther wrds, the LMS shall keep the cmi.suspend_data available during the same learner sessin, regardless f the value f cmi.exit. Hwever, if a SCO calls Terminate( ) withut having set cmi.exit t suspend, the LMS may discard the value f the cmi.suspend_data at its cnvenience and shall nt give this data back t the SCO in a later sessin. This behavir als applies t any ther data that was set during the previus sessin. Example: SetValue( cmi.suspend_data, <data><intid>1001</intid><ans>a</ans></d ata> ) SetValue( cmi.suspend_data, A1;B2;C11-3 ) RTE SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

199 Time Limit Actin The cmi.time_limit_actin data mdel element indicates what the SCO shuld d when cmi.max_time_allwed is exceeded [1]. Table a: Dt-ntatin Binding fr the Time Limit Actin Data Mdel Element Dt-Ntatin Binding cmi.time_limit_actin Details Data Mdel Element Implementatin Requirements: Data Type: state (exit_message, cntinue_message, exit_n_message, cntinue_n_message) Value Space: The IEEE defines fur state values. SCORM binds these state values t the fllwing restricted vcabulary tkens: exit,message : The learner shuld be frced t exit the SCO. The SCO shuld prvide a message t the learner indicating that the maximum time allwed fr the learner attempt was exceeded [1]. cntinue,message : The learner shuld be allwed t cntinue in the SCO. The SCO shuld prvide a message t the learner indicating that the maximum time allwed fr the learner attempt was exceeded [1]. exit,n message : The learner shuld be frced t exit the SCO with n message [1]. cntinue,n message : Althugh the learner has exceeded the maximum time allwed fr the learner attempt, the learner shuld be given n message and shuld nt be frced t exit the SCO [1]. This is the default value fr this data mdel element. LMS Behavir Requirements: The data mdel element is mandatry and shall be implemented by an LMS as read-nly. The LMS is respnsible fr initializing this data mdel element using the ADL Cntent Packaging namespace element <adlcp: timelimitactin>. This element shall nly be placed n an <imscp:item> element that references a SCO resurce, fund in a Cntent Package Manifest. If the <adlcp:timelimitactin> is nt defined n an <imscp:item>, then the LMS shall initialize this value t cntinue,n message (default value). SCO Behavir Requirements: This data mdel element is required t be implemented by the LMS as read-nly. The SCO is nly permitted t retrieve the value f the cmi.time_limit_actin data mdel element. API Implementatin Requirements: GetValue(): The LMS shall return the value stred fr the cmi.time_limit_actin data mdel element and set the errr cde t 0 N Errr. The characterstring returned shall adhere t the requirements identified in the Data Mdel Element Implementatin Requirements. If there is n time limit actin defined in the manifest and the SCO requests the value fr this data mdel element, then the LMS shall return cntinue,n message (default value) and set the errr cde t 0 N Errr. SetValue(): If the SCO invkes a SetValue() request t set the SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-4-137

200 cmi.time_limit_actin, then the LMS shall set the errr cde t 404 Data Mdel Element Is Read Only and return false. The LMS shall nt alter the state f the data mdel element based n the request. Example: GetValue( cmi.time_limit_actin ) RTE SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

201 Ttal Time The value f the cmi.ttal_time data mdel element is the sum f all f the learner s sessin times (cmi.sessin_time) accumulated in the current learner attempt prir t the current learner sessin [1]. This data mdel element is used t track the ttal time spent in all f the learner s sessins fr a given learner attempt (refer t Sectin 2.1.1: Run-Time Envirnment Tempral Mdel fr mre details n learner attempts and learner sessins). Table a: Dt-ntatin Binding fr the Ttal Time Data Mdel Element Dt-Ntatin Binding cmi.ttal_time Details Data Mdel Element Implementatin Requirements: Data Type: timeinterval (secnd,10,2) - a time interval with reslutin t 0.01 secnds Frmat: Refer t Sectin : Data Types fr mre infrmatin n the requirements fr the frmat f the timeinterval (secnd,10,2) data type. LMS Behavir Requirements: This data mdel element is mandatry and shall be implemented by the LMS as read-nly. Since this data mdel element is implemented by the LMS as read-nly, it is the respnsibility f the LMS t manage this data. Since this value is the accumulated sessin times (cmi.sessin_time), the LMS cannt determine this value until the SCO sets sessin times. If the SCO requests the value befre any sessin times have been set, then the LMS shall behave accrding t the API Implementatin Requirements behavirs defined belw. The value f the cmi.ttal_time shall nt be updated by the LMS while a learner sessin is in prgress. The default value fr the cmi.ttal_time shall be any characterstring that evaluates t a duratin f 0. The characterstring frmat shall adhere t the requirements defined fr the timeinterval (secnd,10,2) data type defined in Sectin Data Types (e.g., PT0S is equivalent t PT0H because they bth evaluate t a duratin f 0). SCO Behavir Requirements: The data mdel element is required t be implemented by an LMS as readnly. The SCO is nly permitted t retrieve the value f the cmi.ttal_time data mdel element. API Implementatin Requirements: GetValue(): The LMS shall return the assciated cmi.ttal_time currently being stred by the LMS fr the learner and set the errr cde t 0 - N Errr. The characterstring returned shall adhere t the requirements identified in the Data Mdel Element Implementatin Requirements. If the SCO has nt set any sessin times (cmi.sessin_time), then the LMS cannt determine the cmi.ttal_time value. In these cases, the LMS shall return a characterstring value that evaluates t 0 and set the errr cde t 0 - N Errr. The characterstring frmat shall adhere t the requirements defined fr the timeinterval (secnd,10,2) data type defined in Sectin Data Types. SetValue(): If the SCO invkes a request t set the cmi.ttal_time, then the LMS shall set the API Errr Cde t 404 Data Mdel Element Is Read Only and return false. The LMS shall nt alter the state f the data mdel element based n the request. Additinal Behavir Requirements: SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-4-139

202 A SCO is permitted, in a single cmmunicatin sessin, t perfrm multiple sets f sessin time (cmi.sessin_time). When the SCO issues the Terminate( ) r the user navigates away, the LMS shall take the last cmi.sessin_time that the SCO set (if there was ne set) and accumulate this time t the cmi.ttal_time. Example: GetValue( cmi.ttal_time ) RTE SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

203 APPENDIX A Acrnym Listing SCORM rd Editin Run-Time Envirnment Versin 1.0 RTE-A-1

204 This page intentinally left blank. RTE-A-2 SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

205 Acrnym Listing ADL AICC API ARIADNE CAM CMI DOM HTML HTTP IEEE LMS LTSC RTE RTS SCO SCORM SN SPM SS UI URI URL URN W3C WWW XML Advanced Distributed Learning Aviatin Industry CBT Cmmittee Applicatin Prgramming Interface Alliance f Remte Instructinal Authring & Distributin Netwrks fr Eurpe Cntent Aggregatin Mdel Cmputer Managed Instructins Dcument Object Mdel Hypertext Markup Language Hypertext Transfer Prtcl Institute f Electrical and Electrnics Engineers Learning Management System Learning Technlgy Standards Cmmittee Run-Time Envirnment Run-Time Service Sharable Cntent Object Sharable Cntent Object Reference Mdel Sequencing and Navigatin Smallest Permitted Maximum Simple Sequencing User Interface Universal Resurce Identifier Universal Resurce Lcatr Universal Resurce Name Wrld Wide Web Cnsrtium Wrld Wide Web Extensible Markup Language SCORM rd Editin Run-Time Envirnment Versin 1.0 RTE-A-3

206 This page intentinally left blank. RTE-A-4 SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

207 APPENDIX B References SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-B-1

208 This page intentinally left blank. RTE-B-2 SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

209 References 1. IEEE Standard fr Learning Technlgy Data Mdel fr Cntent Object Cmmunicatin. January 14, Available at: 2. IEEE Standard fr Learning Technlgy ECMAScript Applicatin Prgramming Interface fr Cntent t Runtime Services Cmmunicatin. Nvember 10,2003 Available at: 3. IETF RFC 2141: 1997, URN Syntax. Available at: 4. ISO/IEC 646:1991, Infrmatin technlgy ISO 7-bit cded character set fr infrmatin interchange. 5. ISO/IEC , Infrmatin technlgy Universal Multiple-Octet Cded Character Set (UCS) Part 1: Architecture and Basic Multilingual Plane. 6. IETF RFC 3986:2005, Unifrm Resurce Identifier (URI): Generic Syntax. Available at: 7. Aviatin Industry CBT Cmmittee (AICC) Cmputer Managed Instructin (CMI) Guidelines fr Interperability Versin 3.5. April 2, 2001 Available at: 8. W3C, Dcument Object Mdel (DOM) Level 3 Cre Specificatin, Versin 1.0, W3C Wrking Draft 26 February (See: 9. ISO/IEC 16262:1998, Infrmatin technlgy ECMAScript language specificatin 10. SCORM rd Editin Overview Versin 1.0, Advanced Distributed Learning, Octber 20, 2006 Available at: SCORM rd Editin Sequencing and Navigatin Versin 1.0, Advanced Distributed Learning, Octber 20, 2006 Available at: ISO/IEC 11404:1996, Infrmatin technlgy Prgramming languages, their envirnments and system sftware interfaces Language-independent datatypes 13. The Unicde Cnsrtium. The Unicde Standard, Versin 4.0.0, defined by: The Unicde Standard, Versin 4.0 (Bstn, MA, Addisn-Wesley, ISBN ) 14. ISO 639 1, Cde fr the representatin f names f languages Part 1: Alpha-2 cde. SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-B-3

210 15. ISO 639 2, Cdes fr the representatin f names f languages Part 2: Alpha-3 cde. 16. ISO , Cdes fr the representatin f names f cuntries and their subdivisins Part 1: Cuntry cdes. 17. IMS Simple Sequencing Behavir and Infrmatin Mdel v1.0 Final Specificatin, IMS Glbal Learning Cnsrtium, Inc., March 2003 Available at: SCORM rd Editin Cntent Aggregatin Mdel Versin 1.0, Advanced Distributed Learning, Octber 20, 2006 Available at: RTE-B-4 SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

211 APPENDIX C Dcument Revisin Histry SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-C-1

212 This page intentinally left blank. RTE-C-2 SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

213 Dcument Revisin Histry SCORM Versin 1.3 Wrking Draft 1 RTE Versin 1.3 Release Date 20-Oct Jan-2004 Initial Draft Descriptin f Change Changes due t IEEE P Draft 1/WD 13 Draft Standard fr Learning Technlgy Data Mdel fr Cntent Object Cmmunicatin. Changes due t IEEE P Draft 4 Standard fr Learning Technlgy ECMAScript Applicatin Prgramming Interface fr Cntent t Runtime Services Cmmunicatin. Changes reflecting IMS Simple Sequencing Versin 1.0. Changes reflecting IMS Cntent Packaging Versin Updates based n: Changes due t IEEE P , Draft 3 Draft Standard fr Learning Technlgy Data Mdel fr Cntent Object Cmmunicatin. Changes due t IEEE Standard fr Learning Technlgy ECMAScript Applicatin Prgramming Interface fr Cntent t Runtime Services Cmmunicatin. RTE Versin Jul-2004 Varius grammar crrectins, typgraphic crrectins and style cnsistencies. Added recmmendatin fr handling GetDiagnstic() API methd where the parameter is an empty characterstring. Updated Figure 3.1.6a t add clarificatin n which API methds are permitted t be called during which states. Added Sectin Smallest Permitted Maximum Exceeded errr cnditin t describe recmmended LMS behavir when an SPM is exceeded. Added Sectin Data Mdel Element Des Nt Have Versin errr cnditin t describe recmmended LMS behavir fr when the _versin keywrd is used imprperly with ther SCORM Run-Time Envirnment Data Mdel elements. Updated Sectin API Instance t enhance the descriptin n the prper places in which the API Instance may be placed. Update Figure 3.2.1a t enhance the image t illustrate that there are three different lcatins. Added Sectin Versin Attribute t describe the SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-C-3

214 API Instance versin requirements. Updated Figure 3.3.1a t enhance the image t illustrate the lcatins in which a SCO may search fr and find the API Instance. Updated Figure b. Changed the figure t a cde illustratin and added mre narrative text describing algrithm. Added the missing delimiter, [:], frm Table a Reserved Delimiter. Updated Sectin Data Types t add missing SPM fr the <language_type> indicatr fr the lcalized_string_type. Updated the language_type based n revisin t the IEEE Data Mdel fr Cntent Object Cmmunicatin. Added missing SPM f 4000 characters t the lng_identifier_type. Added missing SPM f 250 characters fr the shrt_identifier_type. Updated time(secnd,10,2) t time(secnd,10,0) based n revisins t the IEEE Data Mdel fr Cntent Object Cmmunicatin. Added mre requirements t the time(secnd,10,0) characterstring binding t ISO Specifically t the handling f the Time Zne Indicatr. Updated cmi.cmments_frm_learner t change the child data mdel element date_time t timestamp t reflect the change t IEEE Data Mdel fr Cntent Object Cmmunicatin. Updated cmi.cmments_frm_lms t change the child data mdel element date_time t timestamp t reflect the change t IEEE Data Mdel fr Cntent Object Cmmunicatin. Updated cmi.entry (LMS Behavir Requirement) t indicate that a cmi.exit value f lgut wuld cause the cmi.entry t be set t resume by the LMS. This value was missing. Deleted handling f an invalid GetValue() call fr the cmi.interactins.n.id, cmi.bjectives.n.id, and cmi.interactins.n.bjectives.m.id data mdel elements. The behavir f handling f calls where a GetValue() request was made t get the identifier value prir t the identifier being set. Updated cmi.interactins.n.timestamp data type frm time(secnd,10,2) t time(secnd,10,0). Changed the title f Sectin t Crrect Respnses Pattern Data Mdel Element Specifics t better describe the sectin. Updated Sectin based n revisins t the IEEE Data Mdel fr Cntent Object Cmmunicatin: Enhancements made t sectin t ease in understanding f the requirements and frmat f the characterstring value. Updated the chice crrect respnse t a set f set f shrt_identifier_values. The type used t be a bag f set f shrt_identifier_values. RTE-C-4 SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

215 SCORM rd Editin: RTE Versin Oct-2006 These changes are based n the revisins t the IEEE Data Mdel fr Cntent Object Cmmunicatin. Identified additinal requirements f the sets being unique and the shrt_identifier_values being unique with each set (based n the definitin f a set). Specified that the rder f the shrt_identifier_values is insignificant. Updated the chice crrect respnse pattern t permit zer r mre chice crrect respnses. If n crrect respnses are indicated, then this implies that there is n crrect respnse t the interactin. Clarified requirements fr each f the interactins type based n revisins t the IEEE Data Mdel Cntent Object Cmmunicatin. Update Sectin Learner Respnse Data Mdel Element Specifics Changed the descriptin f the chice interactin type frm a bag f shrt_identifier_type t a set f shrt_identifier_type. Update requirements t reflect the change t a set (unique shrt_identifier_type values in the characterstring). Updated cmi.interactins.n.result t crrect the incrrect value f wrng. Changed wrng t incrrect ). Updated incrrect reference t <adlcp:datafrmlms> t <adlcp:datafrmlms> in the cmi.launch_data. Updated the Value Space fr the cmi.learner_preference.audi_level t state that the value shuld be greater than r equal t 0. Added the definitin f a default value f 1 fr the cmi.learner_preference.audi_level. Added infrmatin fr cmi.bjectives.n.prgress_measure. This is a new element intrduced by the IEEE Data Mdel fr Cntent Object Cmmunicatin. Updated incrrect reference t <adlcp:timelimitactin> t <adlcp:timelimitactin> in the cmi.time_limit_actin data mdel element. Added the definitin f a default value ( cntinue,n message ) fr the cmi.time_limit_actin. Updates include: Updates t all images used in the dcument. Changes included a mre cmmn lk-n-feel fr the clr and images used. Changed all uses f meta-data t metadata. Remved the hyphen. Remved Sectin Persisting Run-Time Data Acrss Learner Attempt and Activities. Based n an SCORM Technical Wrking Grup SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-C-5

216 meeting, updated Sectin Data Mdel Effects n Sequencing, t include language abut managing the Run-Time Envirnment data when an Abandn r Abandn All Navigatin Request is encuntered. Updated Sectin Handling Cllectins t reflect the change dealing with attempt t create new recrds in cllectins. Updated Sectin Reserved Delimiters, t split the delimiters int types f delimiters: Reserved Prperty Delimiters and Reserved Separatr Delimiters. Updated Sectin Data Types t add clarificatin n the characterstring data type and its use in regards t Unicde and SPM supprt. Updated Sectin Data Types t add language stating the length f the langcde and subcde values. Updated Sectin Data Types t define that the lng_identifier_type and shrt_identifier_type are data types that are nt allwed t be represented as an empty string r a string f all whitespace. Updated Sectin Data Types t fix an errr with the range f the YYYY value fr the time(secnd,10,0). The change was t make it (1970 <= YYYY <= 2038). Als updated language t describe what the default Time Zne Designatr is if nne is prvided. Updated Sectin Data Types fr the timeinterval (secnd, 10,2) t define that zer-padded values shall be supprted. Updated the LMS Behavir Requirements fr handling the determinatin f cmpletin_status. This behavir is based n whether r nt a cmi.cmpletin_threshld is defined and when the cmpletin_status is determined. In relatin t this change, als updated the API Implementatin Requirements. Updated the Sequencing Impacts f the cmi.cmpletin_status data mdel element when the cmi.cmpletin_status is set t nt attempted. Updated Table a: Cmpletin Status Determinatin, t change the > t >=. Updated Sectin Entry t indicate that a resume value shuld be als used when an LMS triggers a Suspend All Navigatin Request. Updated Sectin Exit, t clarify the handling f Run-Time Envirnment data mdel elements between learner attempts. Updated Sectin Exit t add a nte that the value f lgut is being deprecated and shuld nt be used in implementatins. Updated Sectin Interactins (cmi.interactins.n.bjectives.m.id) t add language n RTE-C-6 SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

217 hw LMS shuld handle SetValue() calls where the value t be used is identical t a value that is already being persisted by the LMS in anther array psitin. Updated the Data Mdel Element Implementatin Requirements fr the cmi.learner_preference.language. Added that the Data Type shuld supprt an empty characterstring. Updated Sectin Initializatin f Run-Time Objectives frm Sequencing Infrmatin. Added missing prgress_measure child element frm the list f values t be returned frm cmi.bjectives._children. Updated cmi.bjectives.n.id (API Implementatin Requirements) t define the LMS behavir fr dealing with an identifier that is the same as an identifier that has already been set in an earlier array psitin (i.e., dealing with duplicate identifiers when prcessing SetValue() requests). Updated Sectin Scaled Passing Scre, t describe the LMS initializatin behavir. Updated Sectin Sessin Time t add clarificatin n the initializatin f sessin time and when it shuld ccur. Updated the LMS Behavir Requirements fr handling the determinatin f success_status. This behavir is based n whether r nt a cmi.scaled_passing_scre is defined and when the success_status is determined. In relatin t this change, als updated the API Implementatin Requirements. Updated Table a Success Status Determinatin. Updated the SPM value fr the cmi.suspend_data frm 4000 t characters. Updated Sectin Ttal Time define that the default value shall be equivalent t a duratin f 0. Updated versin f the dcument t define this versin as SCORM rd Editin. Als updated the internal versin f this dcument t Versin 1.0 Updated, where necessary, thrughut this dcument any infrmatin relevant t the change t SCORM rd Editin. Updated cntact infrmatin fr the ADL C-Lab Hub Changed all references t t Editrial updates thrughut the dcument (e.g., applied the SCORM registered trademark cnsistently thrughut). General updates t reflect changes made in ther SCORM dcuments (i.e., Cntent Aggregatin Mdel and Sequencing and Navigatin bks). Added a new SCORM Extensin Errr Cnditin. The SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-C-7

218 Identifier Value Can Only Be Set Once errr cnditin was added t describe thse cnditins where an identifier has been set mre than nce t a different value (cmi.bjectives.n.identifier). Remved Draft frm the name f IEEE Standard fr Learning Technlgy Data Mdel fr Cntent Object Cmmunicatin. This standard is n lnger in draft frmat. Fr clarity, changed n t m in all data mdel elements that have tw array indices in them. Fr example, changed cmi.interactins.n.bjectives.n.id t cmi.interactins.n.bjectives.m.id. Added a bullet under the time(secnd,10,0) t indicate that if the TZD is defined then hh:mm:ss.s shall als be defined, althugh they may be all zers. This is due t a bug in the nrmative expressin defined by the IEEE standard. Updated timeinterval(secnd,10,2) t clarify syntax that is defined by the nrmative expressin and surrunding language. This change dealt with nt using the character literal designatr T if there is n time cmpnent t use. Hwever a zer value may be used with any f the time cmpnents. Updated the cmi.exit element t clarify the behavir if the value is set t suspend. Describing the impact n the tempral mdel (learner attempts and learner sessins) and the impacts n persistence f data was added fr clarity. Infrmatin was als added t describe the impacts if a Suspend All navigatin request is issued. Added a nte t the cmi.exit data mdel element that describes that the lgut keywrd is being deprecated. Added a missing errr cnditin fr the cmi.interactins.n.type data mdel element. Under the SetValue() API Implementatin Requirements, added the errr cnditin f 408 Data Mdel Dependency nt Established. Updated cmi.max_time_allwed data mdel element. The LMS Behavir Requirements indicated that this data mdel element was related t the attemptabsluteduratinlimit element. The attemptabsluteduratinlimit is an attribute f the limitcnditins element. Remved the use f the term cllectin when describing the set f elements defined as children f the cmi.bjectives data mdel element. Updated nrmative language fr initializing the cmi.bjectives data mdel element n subsequent learner sessins. LMS are required t update the relevant cmi.bjectives data mdel elements with the mst recent infrmatin available frm the Tracking Mdel. RTE-C-8 SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

219 Added new behavir requirements t the cmi.bjectives.n.id data mdel element. Once the data mdel element s value has been established with a value, SCOs are nt permitted t change this value. An errr cnditin and additinal behavir has been added fr LMSs t cnfrm t. Updated the language defined fr cmi.bjectives.n.scre.scaled. The use f the nrmative language was nt accurate. Changed the nrmative language t infrmative. SCOs are nt required t set a value at all. The language indicated that the SCOs must set a value. Added the missing behavir fr prcessing a GetValue() request fr cmi.bjectives.n.success_status when the data mdel value has nt been established. In this case the default value f unknwn shall be used. Added the missing behavir fr prcessing a GetValue() request fr cmi.bjectives.n.cmpletin_status when the data mdel value has nt been established. In this case the default value f unknwn shall be used. Added the missing behavir fr prcessing a GetValue() request fr cmi.bjectives.n.prgress_measure when the request is fr a bjective that des nt exist in the array being managed by the LMS. In this case the LMS shall return an empty characterstring and set the errr cde t 301. Fr cnsistency als added the crrespnding behavir fr a SetValue() under the same cnditins. In this the LMS shall return false and set the errr cde t 351. Added missing errr cnditin, 408 Data Mdel Dependency Nt Established, fr cmi.bjectives.n.prgress_measure. Updated the language defined fr cmi.scre.scaled. The use f the nrmative language was nt accurate. Changed the nrmative language t infrmative. SCOs are nt required t set a value at all. The language indicated that the SCOs must set a value. Updated language fund with the Suspend Data data mdel element. Mved language dealing with suspended learner attempts t the Exit data mdel element. Updated the SPM fr suspend data frm 4000 t In the Additinal Behavir Requirements sectin, the SPM was incrrect and did nt match the earlier defined value f Changed the reference t IETF RFC 2396 t IETF RFC 3986 (newer versin). Added language t the Sectin Initializatin f Run-Time Objectives frm Sequencing Infrmatin, t describe that n subsequent learner sessins the SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0 RTE-C-9

220 cmi.bjectives data mdel element values shall be set t the values f the bjectives that are being tracked by the LMSs sequencing implementatins. RTE-C-10 SCORM rd Editin Run-Time Envirnment (RTE) Versin 1.0

INTEGRATION OVERVIEW. Introduction... 1. Authentication methods... 2. Learning management system (LMS) integration methods... 2. AICC standard...

INTEGRATION OVERVIEW. Introduction... 1. Authentication methods... 2. Learning management system (LMS) integration methods... 2. AICC standard... INTEGRATION OVERVIEW Cntents Intrductin... 1 Authenticatin methds... 2 Learning management system (LMS) integratin methds... 2 AICC standard... 2 LTI standard... 3 Applicatin prgramming interface (API)

More information

SaaS Listing CA Cloud Service Management

SaaS Listing CA Cloud Service Management SaaS Listing CA Clud Service Management 1. Intrductin This dcument prvides standards and features that apply t the CA Clud Service Management (CSM) SaaS ffering prvided t the Custmer and defines the parameters

More information

9 ITS Standards Specification Catalog and Testing Framework

9 ITS Standards Specification Catalog and Testing Framework New Yrk State ITS Standards Specificatin Develpment Guide 9 ITS Standards Specificatin Catalg and Testing Framewrk This chapter cvers cncepts related t develpment f an ITS Standards Specificatin Catalg

More information

Systems Support - Extended

Systems Support - Extended 1 General Overview This is a Service Level Agreement ( SLA ) between and the Enterprise Windws Services t dcument: The technlgy services the Enterprise Windws Services prvides t the custmer. The targets

More information

ITIL Service Offerings & Agreement (SOA) Certification Program - 5 Days

ITIL Service Offerings & Agreement (SOA) Certification Program - 5 Days ITIL Service Offerings & Agreement (SOA) Certificatin Prgram - 5 Days Prgram Overview ITIL is a set f best practices guidance that has becme a wrldwide-adpted framewrk fr Infrmatin Technlgy Services Management

More information

ITIL Release Control & Validation (RCV) Certification Program - 5 Days

ITIL Release Control & Validation (RCV) Certification Program - 5 Days ITIL Release Cntrl & Validatin (RCV) Certificatin Prgram - 5 Days Prgram Overview ITIL is a set f best practices guidance that has becme a wrldwide-adpted framewrk fr Infrmatin Technlgy Services Management

More information

IT Help Desk Service Level Expectations Revised: 01/09/2012

IT Help Desk Service Level Expectations Revised: 01/09/2012 IT Help Desk Service Level Expectatins Revised: 01/09/2012 Overview The IT Help Desk team cnsists f six (6) full time emplyees and fifteen (15) part time student emplyees. This team prvides supprt fr 25,000+

More information

UNIVERSITY OF CALIFORNIA MERCED PERFORMANCE MANAGEMENT GUIDELINES

UNIVERSITY OF CALIFORNIA MERCED PERFORMANCE MANAGEMENT GUIDELINES UNIVERSITY OF CALIFORNIA MERCED PERFORMANCE MANAGEMENT GUIDELINES REFERENCES AND RELATED POLICIES A. UC PPSM 2 -Definitin f Terms B. UC PPSM 12 -Nndiscriminatin in Emplyment C. UC PPSM 14 -Affirmative

More information

expertise hp services valupack consulting description security review service for Linux

expertise hp services valupack consulting description security review service for Linux expertise hp services valupack cnsulting descriptin security review service fr Linux Cpyright services prvided, infrmatin is prtected under cpyright by Hewlett-Packard Cmpany Unpublished Wrk -- ALL RIGHTS

More information

Best Practice - Pentaho BA for High Availability

Best Practice - Pentaho BA for High Availability Best Practice - Pentah BA fr High Availability This page intentinally left blank. Cntents Overview... 1 Pentah Server High Availability Intrductin... 2 Prerequisites... 3 Pint Each Server t Same Database

More information

Licensing Windows Server 2012 for use with virtualization technologies

Licensing Windows Server 2012 for use with virtualization technologies Vlume Licensing brief Licensing Windws Server 2012 fr use with virtualizatin technlgies (VMware ESX/ESXi, Micrsft System Center 2012 Virtual Machine Manager, and Parallels Virtuzz) Table f Cntents This

More information

IT Account and Access Procedure

IT Account and Access Procedure IT Accunt and Access Prcedure Revisin Histry Versin Date Editr Nature f Change 1.0 3/23/06 Kelly Matt Initial Release Table f Cntents 1.0 Overview... 1 2.0 Purpse... 1 3.0 Scpe... 1 4.0 Passwrds... 1 4.1

More information

Improved Data Center Power Consumption and Streamlining Management in Windows Server 2008 R2 with SP1

Improved Data Center Power Consumption and Streamlining Management in Windows Server 2008 R2 with SP1 Imprved Data Center Pwer Cnsumptin and Streamlining Management in Windws Server 2008 R2 with SP1 Disclaimer The infrmatin cntained in this dcument represents the current view f Micrsft Crpratin n the issues

More information

BRILL s Editorial Manager (EM) Manual for Authors Table of Contents

BRILL s Editorial Manager (EM) Manual for Authors Table of Contents BRILL s Editrial Manager (EM) Manual fr Authrs Table f Cntents Intrductin... 2 1. Getting Started: Creating an Accunt... 2 2. Lgging int EM... 3 3. Changing Yur Access Cdes and Cntact Infrmatin... 3 3.1

More information

Integrating With incontact dbprovider & Screen Pops

Integrating With incontact dbprovider & Screen Pops Integrating With incntact dbprvider & Screen Pps incntact has tw primary pints f integratin. The first pint is between the incntact IVR (script) platfrm and the custmer s crprate database. The secnd pint

More information

Change Management Process

Change Management Process Change Management Prcess B1.10 Change Management Prcess 1. Intrductin This plicy utlines [Yur Cmpany] s apprach t managing change within the rganisatin. All changes in strategy, activities and prcesses

More information

Licensing Windows Server 2012 R2 for use with virtualization technologies

Licensing Windows Server 2012 R2 for use with virtualization technologies Vlume Licensing brief Licensing Windws Server 2012 R2 fr use with virtualizatin technlgies (VMware ESX/ESXi, Micrsft System Center 2012 R2 Virtual Machine Manager, and Parallels Virtuzz) Table f Cntents

More information

TaskCentre v4.5 Send Message (SMTP) Tool White Paper

TaskCentre v4.5 Send Message (SMTP) Tool White Paper TaskCentre v4.5 Send Message (SMTP) Tl White Paper Dcument Number: PD500-03-17-1_0-WP Orbis Sftware Limited 2010 Table f Cntents COPYRIGHT 1 TRADEMARKS 1 INTRODUCTION 2 Overview 2 FEATURES 2 GLOBAL CONFIGURATION

More information

Business Continuity Management Systems Foundation Training Course

Business Continuity Management Systems Foundation Training Course Certificatin criteria fr Business Cntinuity Management Systems Fundatin Training Curse CONTENTS 1. INTRODUCTION 2. LEARNING OBJECTIVES 3. ENABLING OBJECTIVES KNOWLEDGE & SKILLS 4. TRAINING METHODS 5. COURSE

More information

CorasWorks v11 Essentials Distance Learning

CorasWorks v11 Essentials Distance Learning CrasWrks v11 Essentials Curse Outline CrasWrks distance learning training is designed t help students leverage the CrasWrks platfrm t either build cllabrative applicatins r extend and enhance existing

More information

Data Warehouse Scope Recommendations

Data Warehouse Scope Recommendations Rensselaer Data Warehuse Prject http://www.rpi.edu/datawarehuse Financial Analysis Scpe and Data Audits This dcument describes the scpe f the Financial Analysis data mart scheduled fr delivery in July

More information

COE: Hybrid Course Request for Proposals. The goals of the College of Education Hybrid Course Funding Program are:

COE: Hybrid Course Request for Proposals. The goals of the College of Education Hybrid Course Funding Program are: COE: Hybrid Curse Request fr Prpsals The gals f the Cllege f Educatin Hybrid Curse Funding Prgram are: T supprt the develpment f effective, high-quality instructin that meets the needs and expectatins

More information

Software and Hardware Change Management Policy for CDes Computer Labs

Software and Hardware Change Management Policy for CDes Computer Labs Sftware and Hardware Change Management Plicy fr CDes Cmputer Labs Overview The cmputer labs in the Cllege f Design are clsely integrated with the academic needs f faculty and students. Cmputer lab resurces

More information

HP ExpertOne. HP2-T21: Administering HP Server Solutions. Table of Contents

HP ExpertOne. HP2-T21: Administering HP Server Solutions. Table of Contents HP ExpertOne HP2-T21: Administering HP Server Slutins Industry Standard Servers Exam preparatin guide Table f Cntents Overview 2 Why take the exam? 2 HP ATP Server Administratr V8 certificatin 2 Wh shuld

More information

WinFlex Web Single Sign-On (EbixLife XML Format) Version: 1.5

WinFlex Web Single Sign-On (EbixLife XML Format) Version: 1.5 WinFlex Web Single Sign-On (EbixLife XML Frmat) Versin: 1.5 The gal f this dcument is t specify and explre the basic peratins that are required t facilitate a vendr applicatin requesting access t the WinFlex

More information

Service Level Agreement (SLA) Hosted Products. Netop Business Solutions A/S

Service Level Agreement (SLA) Hosted Products. Netop Business Solutions A/S Service Level Agreement (SLA) Hsted Prducts Netp Business Slutins A/S Cntents 1 Service Level Agreement... 3 2 Supprt Services... 3 3 Incident Management... 3 3.1 Requesting service r submitting incidents...

More information

BLUE RIDGE COMMUNITY AND TECHNICAL COLLEGE BOARD OF GOVERNORS

BLUE RIDGE COMMUNITY AND TECHNICAL COLLEGE BOARD OF GOVERNORS BLUE RIDGE COMMUNITY AND TECHNICAL COLLEGE BOARD OF GOVERNORS SERIES: 1 General Rules RULE: 17.1 Recrd Retentin Scpe: The purpse f this rule is t establish the systematic review, retentin and destructin

More information

Customer Support & Software Enhancements Policy

Customer Support & Software Enhancements Policy Custmer Supprt & Sftware Enhancements Plicy Welcme t Manhattan Assciates Custmer Supprt Organizatin (CSO). Staying current n Custmer Supprt & Sftware Enhancements and n a supprted versin f the licensed

More information

Johnston Public Schools Special Education Procedural Manual. IEP Overview

Johnston Public Schools Special Education Procedural Manual. IEP Overview Jhnstn Public Schls Special Educatin Prcedural Manual IEP Overview Definitin The Individualized Educatin Prgram (IEP) is a written plan fr the apprpriate educatin f students with disabilities. It is a

More information

Using PayPal Website Payments Pro UK with ProductCart

Using PayPal Website Payments Pro UK with ProductCart Using PayPal Website Payments Pr UK with PrductCart Overview... 2 Abut PayPal Website Payments Pr & Express Checkut... 2 What is Website Payments Pr?... 2 Website Payments Pr and Website Payments Standard...

More information

Hybrid Course Design and Instruction Guidelines

Hybrid Course Design and Instruction Guidelines Hybrid Curse Design and Instructin Guidelines Terminlgy There are n standard definitins fr what cnstitutes a hybrid curse, but sme generally accepted descriptins fllw. In nline learning literature (and

More information

ITIL V3 Planning, Protection and Optimization (PPO) Certification Program - 5 Days

ITIL V3 Planning, Protection and Optimization (PPO) Certification Program - 5 Days ITIL V3 Planning, Prtectin and Optimizatin (PPO) Certificatin Prgram - 5 Days Prgram Overview The ITIL Intermediate Qualificatin: Planning, Prtectin and Optimizatin (PPO) Certificate is a free-standing

More information

CDC UNIFIED PROCESS PRACTICES GUIDE

CDC UNIFIED PROCESS PRACTICES GUIDE Dcument Purpse The purpse f this dcument is t prvide guidance n the practice f Risk Management and t describe the practice verview, requirements, best practices, activities, and key terms related t these

More information

Research Findings from the West Virginia Virtual School Spanish Program

Research Findings from the West Virginia Virtual School Spanish Program Research Findings frm the West Virginia Virtual Schl Spanish Prgram Funded by the U.S. Department f Educatin Cnducted by R0cKMAN ETAL San Francisc, CA, Chicag, IL, and Blmingtn, IN Octber 4, 2006 R0cKMAN

More information

SPECIFICATION. Hospital Report Manager Connectivity Requirements. Electronic Medical Records DRAFT. OntarioMD Inc. Date: September 30, 2010

SPECIFICATION. Hospital Report Manager Connectivity Requirements. Electronic Medical Records DRAFT. OntarioMD Inc. Date: September 30, 2010 OntariMD Inc. Electrnic Medical Recrds SPECIFICATION Hspital Reprt Manager Cnnectivity Requirements DRAFT Date: September 30, 2010 Versin: 1.0 2007-2010 OntariMD Inc. All rights reserved HRM EMR Cnnectivity

More information

WITS Implementation Toolkit. For All Substance Use Disorder Network Service Providers

WITS Implementation Toolkit. For All Substance Use Disorder Network Service Providers WITS Implementatin Tlkit Fr All Substance Use Disrder Netwrk Service Prviders February 20, 2013 WITS Implementatin Tlkit 1 Overview Beginning July 1, 2013, all SUD netwrk prviders will be required t utilize

More information

Document Management Versioning Strategy

Document Management Versioning Strategy 1.0 Backgrund and Overview Dcument Management Versining Strategy Versining is an imprtant cmpnent f cntent creatin and management. Versin management is a key cmpnent f enterprise cntent management. The

More information

Guidelines on Data Management in Horizon 2020

Guidelines on Data Management in Horizon 2020 Guidelines n Data Management in Hrizn 2020 Versin 1.0 11 December 2013 Guidelines n Data Management in Hrizn 2020 Versin 16 December 2013 Intrductin In Hrizn 2020 a limited pilt actin n pen access t research

More information

Mobile Device Manager Admin Guide. Reports and Alerts

Mobile Device Manager Admin Guide. Reports and Alerts Mbile Device Manager Admin Guide Reprts and Alerts September, 2013 MDM Admin Guide Reprts and Alerts i Cntents Reprts and Alerts... 1 Reprts... 1 Alerts... 3 Viewing Alerts... 5 Keep in Mind...... 5 Overview

More information

Internet and E-Mail Policy User s Guide

Internet and E-Mail Policy User s Guide Internet and E-Mail Plicy User s Guide Versin 2.2 supprting partnership in mental health Internet and E-Mail Plicy User s Guide Ver. 2.2-1/5 Intrductin Health and Scial Care requires a great deal f cmmunicatin

More information

VCU Payment Card Policy

VCU Payment Card Policy VCU Payment Card Plicy Plicy Type: Administrative Respnsible Office: Treasury Services Initial Plicy Apprved: 12/05/2013 Current Revisin Apprved: 12/05/2013 Plicy Statement and Purpse The purpse f this

More information

Introduction LIVE MAPS UNITY PORTAL / INSTALLATION GUIDE. 2015 Savision B.V. savision.com All rights reserved.

Introduction LIVE MAPS UNITY PORTAL / INSTALLATION GUIDE. 2015 Savision B.V. savision.com All rights reserved. Rev 7.5.0 Intrductin 2 LIVE MAPS UNITY PORTAL / INSTALLATION GUIDE 2015 Savisin B.V. savisin.cm All rights reserved. This manual, as well as the sftware described in it, is furnished under license and

More information

EMR Certification Comprehensive Care Management Billing Support Specification

EMR Certification Comprehensive Care Management Billing Support Specification EMR Certificatin Cmprehensive Care Management Billing Supprt Specificatin Versin 1.0 December 1, 2015 Table f Cntents 1 Intrductin... 3 2 Requirements... 4 2.1 Billing Requirements... 5 2.2 Billing Alert

More information

Change Management Process For [Project Name]

Change Management Process For [Project Name] Management Prcess Fr [Prject Name] i 1 Intrductin The is fllwed during the Executin phase f the Prject Management Life Cycle, nce the prject has been frmally defined and planned. 1.1 What is a Management

More information

Succession Planning & Leadership Development: Your Utility s Bridge to the Future

Succession Planning & Leadership Development: Your Utility s Bridge to the Future Successin Planning & Leadership Develpment: Yur Utility s Bridge t the Future Richard L. Gerstberger, P.E. TAP Resurce Develpment Grup, Inc. 4625 West 32 nd Ave Denver, CO 80212 ABSTRACT A few years ag,

More information

COPIES-F.Y.I., INC. Policies and Procedures Data Security Policy

COPIES-F.Y.I., INC. Policies and Procedures Data Security Policy COPIES-F.Y.I., INC. Plicies and Prcedures Data Security Plicy Page 2 f 7 Preamble Mst f Cpies FYI, Incrprated financial, administrative, research, and clinical systems are accessible thrugh the campus

More information

1 GETTING STARTED. 5/7/2008 Chapter 1

1 GETTING STARTED. 5/7/2008 Chapter 1 5/7/2008 Chapter 1 1 GETTING STARTED This chapter intrduces yu t the web-based UIR menu system. Infrmatin is prvided abut the set up necessary t assign users permissin t enter and transmit data. This first

More information

Leading Edge Online and Blended Teacher Certification Course

Leading Edge Online and Blended Teacher Certification Course Leading Edge Online and Blended Teacher Certificatin Curse COURSE DESCRIPTION Online educatin can prvide the pprtunity fr students and prfessinal learners t cmmunicate and demnstrate mastery in ways that

More information

2. When logging is used, which severity level indicates that a device is unusable?

2. When logging is used, which severity level indicates that a device is unusable? Last updated by Admin at March 3, 2015. 1. What are the mst cmmn syslg messages? thse that ccur when a packet matches a parameter cnditin in an access cntrl list link up and link dwn messages utput messages

More information

Information Services Hosting Arrangements

Information Services Hosting Arrangements Infrmatin Services Hsting Arrangements Purpse The purpse f this service is t prvide secure, supprted, and reasnably accessible cmputing envirnments fr departments at DePaul that are in need f server-based

More information

SECTION J QUALITY ASSURANCE AND IMPROVEMENT PROGRAM

SECTION J QUALITY ASSURANCE AND IMPROVEMENT PROGRAM Audit Manual Sectin J SECTION J QUALITY ASSURANCE AND IMPROVEMENT PROGRAM Ref. Plicy and Practice Requirements IIA Standards and Other references J 1 Plicy: The Head f Internal Audit shall develp and maintain

More information

Loss Share Data Specifications Change Management Plan

Loss Share Data Specifications Change Management Plan Lss Share Data Specificatins Change Management Plan Last Updated: 2/27/2013 Table f Cntents I. Purpse... 3 II. Change Management Apprach... 3 III. Categries f Revisins... 4 IV. Help and Supprt... 6 Lss

More information

NEW YORK STATE DEPARTMENT OF HEALTH BUREAU OF DENTAL HEALTH SCHOOL-BASED HEALTH CENTER DENTAL PROGRAM PERFORMANCE EFFECTIVENESS REVIEW TOOL (PERT)

NEW YORK STATE DEPARTMENT OF HEALTH BUREAU OF DENTAL HEALTH SCHOOL-BASED HEALTH CENTER DENTAL PROGRAM PERFORMANCE EFFECTIVENESS REVIEW TOOL (PERT) NEW YORK STATE DEPARTMENT OF HEALTH BUREAU OF DENTAL HEALTH SCHOOL-BASED HEALTH CENTER DENTAL PROGRAM PERFORMANCE EFFECTIVENESS REVIEW TOOL (PERT) March 1, 2007 TABLE OF CONTENTS SECTION I: INTRODUCTION

More information

Introduction to Mindjet MindManager Server

Introduction to Mindjet MindManager Server Intrductin t Mindjet MindManager Server Mindjet Crpratin Tll Free: 877-Mindjet 1160 Battery Street East San Francisc CA 94111 USA Phne: 415-229-4200 Fax: 415-229-4201 mindjet.cm 2013 Mindjet. All Rights

More information

Copyright 2013, SafeNet, Inc. All rights reserved. http://www.safenet-inc.com/ We have attempted to make these documents complete, accurate, and

Copyright 2013, SafeNet, Inc. All rights reserved. http://www.safenet-inc.com/ We have attempted to make these documents complete, accurate, and ii Cpyright 2013, SafeNet, Inc. All rights reserved. http://www.safenet-inc.cm/ We have attempted t make these dcuments cmplete, accurate, and useful, but we cannt guarantee them t be perfect. When we

More information

In addition to assisting with the disaster planning process, it is hoped this document will also::

In addition to assisting with the disaster planning process, it is hoped this document will also:: First Step f a Disaster Recver Analysis: Knwing What Yu Have and Hw t Get t it Ntes abut using this dcument: This free tl is ffered as a guide and starting pint. It is des nt cver all pssible business

More information

Equal Pay Audit 2014 Summary

Equal Pay Audit 2014 Summary Equal Pay Audit 2014 Summary Abut the dcument The fllwing summary is an abridged versin f Ofcm s equal pay audit 2014. In the full versin f the reprt we set ut ur key findings, cmment n any issues arising

More information

StarterPak: Dynamics CRM On-Premise to Dynamics Online Migration - Option 2. Version 1.0

StarterPak: Dynamics CRM On-Premise to Dynamics Online Migration - Option 2. Version 1.0 StarterPak: Dynamics CRM On-Premise t Dynamics Online Migratin - Optin 2 Versin 1.0 1/7/2016 Imprtant Ntice N part f this publicatin may be reprduced, stred in a retrieval system, r transmitted in any

More information

CERTIFICATION CRITERIA

CERTIFICATION CRITERIA 2014 Editin Test Prcedure fr 170.314(a)(1) Cmputerized prvider rder entry Apprved Test Prcedure Versin 1.3, December 19, 2014 Test Prcedure fr 170.314(a)(1) Cmputerized prvider rder entry This dcument

More information

Mobile Workforce. Improving Productivity, Improving Profitability

Mobile Workforce. Improving Productivity, Improving Profitability Mbile Wrkfrce Imprving Prductivity, Imprving Prfitability White Paper The Business Challenge Between increasing peratinal cst, staff turnver, budget cnstraints and pressure t deliver prducts and services

More information

WEB APPLICATION SECURITY TESTING

WEB APPLICATION SECURITY TESTING WEB APPLICATION SECURITY TESTING Cpyright 2012 ps_testware 1/7 Intrductin Nwadays every rganizatin faces the threat f attacks n web applicatins. Research shws that mre than half f all data breaches are

More information

Online Learning Portal best practices guide

Online Learning Portal best practices guide Online Learning Prtal Best Practices Guide best practices guide This dcument prvides Micrsft Sftware Assurance Benefit Administratrs with best practices fr implementing e-learning thrugh the Micrsft Online

More information

Recognition of Prior Learning (RPL) TAE40110 Certificate IV in Training and Assessment

Recognition of Prior Learning (RPL) TAE40110 Certificate IV in Training and Assessment Recgnitin f Prir Learning (RPL) TAE40110 Certificate IV in Training and Assessment What is RPL? RPL recgnises that yu may already have the skills and knwledge needed t meet natinal cmpetency standards.

More information

FCA US INFORMATION & COMMUNICATION TECHNOLOGY MANAGEMENT

FCA US INFORMATION & COMMUNICATION TECHNOLOGY MANAGEMENT EDI ROADMAP FCA US INFORMATION & COMMUNICATION TECHNOLOGY MANAGEMENT FCA US EDI Radmap Business Requirement All FCA suppliers and carriers are required t establish an Electrnic Data Interchange (EDI) cnnectin.

More information

Credit Report Reissue Recommendation TABLE OF CONTENTS

Credit Report Reissue Recommendation TABLE OF CONTENTS T: Credit Reprting Wrkgrup Frm: Mike Bixby (305) 829-5549 [email protected] Paul Wills (770) 740-7353 [email protected] Date: February 13, 2007 Re: Credit Reprt Reissue Recmmendatin The MISMO Credit

More information

How to put together a Workforce Development Fund (WDF) claim 2015/16

How to put together a Workforce Development Fund (WDF) claim 2015/16 Index Page 2 Hw t put tgether a Wrkfrce Develpment Fund (WDF) claim 2015/16 Intrductin What eligibility criteria d my establishment/s need t meet? Natinal Minimum Data Set fr Scial Care (NMDS-SC) and WDF

More information

Installation Guide Marshal Reporting Console

Installation Guide Marshal Reporting Console INSTALLATION GUIDE Marshal Reprting Cnsle Installatin Guide Marshal Reprting Cnsle March, 2009 Cntents Intrductin 2 Supprted Installatin Types 2 Hardware Prerequisites 3 Sftware Prerequisites 3 Installatin

More information

User Guide. Excel Data Management Pack (EDM-Pack) OnCommand Workflow Automation (WFA) Abstract PROFESSIONAL SERVICES. Date: December 2015

User Guide. Excel Data Management Pack (EDM-Pack) OnCommand Workflow Automation (WFA) Abstract PROFESSIONAL SERVICES. Date: December 2015 PROFESSIONAL SERVICES User Guide OnCmmand Wrkflw Autmatin (WFA) Excel Data Management Pack (EDM-Pack) Date: December 2015 Dcument Versin: 1.0.0 Abstract The EDM-Pack includes a general-purpse Data Surce

More information

URM 11g Implementation Tips, Tricks & Gotchas ALAN MACKENTHUN FISHBOWL SOLUTIONS, INC.

URM 11g Implementation Tips, Tricks & Gotchas ALAN MACKENTHUN FISHBOWL SOLUTIONS, INC. URM 11g Implementatin Tips, Tricks & Gtchas ALAN MACKENTHUN FISHBOWL SOLUTIONS, INC. i Fishbwl Slutins Ntice The infrmatin cntained in this dcument represents the current view f Fishbwl Slutins, Inc. n

More information

HIPAA 5010 Implementation FAQs for Health Care Professionals

HIPAA 5010 Implementation FAQs for Health Care Professionals HIPAA 5010 Implementatin FAQs fr Health Care Prfessinals Updated September 27, 2012 Key Messages In January 2009, the Department f Health and Human Services published the final rule cntaining the requirements

More information

CMS Eligibility Requirements Checklist for MSSP ACO Participation

CMS Eligibility Requirements Checklist for MSSP ACO Participation ATTACHMENT 1 CMS Eligibility Requirements Checklist fr MSSP ACO Participatin 1. General Eligibility Requirements ACO participants wrk tgether t manage and crdinate care fr Medicare fee-fr-service beneficiaries.

More information

Symantec User Authentication Service Level Agreement

Symantec User Authentication Service Level Agreement Symantec User Authenticatin Service Level Agreement Overview and Scpe This Symantec User Authenticatin service level agreement ( SLA ) applies t Symantec User Authenticatin prducts/services, such as Managed

More information

MaaS360 Cloud Extender

MaaS360 Cloud Extender MaaS360 Clud Extender Installatin Guide Cpyright 2012 Fiberlink Cmmunicatins Crpratin. All rights reserved. Infrmatin in this dcument is subject t change withut ntice. The sftware described in this dcument

More information

This document provides instructions on how to complete the Cheque Requisition Form.

This document provides instructions on how to complete the Cheque Requisition Form. Office f the Cmptrller Accunts Payable Divisin f Finance and Administratin Standard Operating Prcedure Cheque Requisitin Effective Date: July 19, 2010 Descriptin: This dcument prvides instructins n hw

More information

Create a Non-Catalog Requisition

Create a Non-Catalog Requisition Create a Nn-Catalg Requisitin Jb Aid This jb aid describes hw t create a standard nn-catalg (i.e., nn-ibuynu) purchase request. REFER TO ADDITIONAL TRAINING GUIDES If yu need t create a special requisitin

More information

Audit Committee Charter

Audit Committee Charter Audit Cmmittee Charter Membership The Audit Cmmittee (the "Cmmittee") f the Bard f Directrs (the "Bard") f Philip Mrris Internatinal Inc. (the "Cmpany") shall cnsist f at least three directrs all f whm

More information

Software Quality Assurance Plan

Software Quality Assurance Plan Sftware Quality Assurance Plan fr AnthrpdEST pipeline System Versin 1.0 Submitted in partial fulfillment f the requirements f the degree f Master f Sftware Engineering Prepared by Luis Fernand Carranc

More information

Frequently Asked Questions: CMMI Data Collection

Frequently Asked Questions: CMMI Data Collection Frequently Asked Questins: CMMI Data Cllectin 1. What are the minimum requirements fr a care manager s cmputer? 2. What data are cllected frm the practices as part f the CMMI grant? 3. What is the PAM?

More information

POLICY 1390 Information Technology Continuity of Business Planning Issued: June 4, 2009 Revised: June 12, 2014

POLICY 1390 Information Technology Continuity of Business Planning Issued: June 4, 2009 Revised: June 12, 2014 State f Michigan POLICY 1390 Infrmatin Technlgy Cntinuity f Business Planning Issued: June 4, 2009 Revised: June 12, 2014 SUBJECT: APPLICATION: PURPOSE: CONTACT AGENCY: Plicy fr Infrmatin Technlgy (IT)

More information

LogMeIn Rescue Web SSO via SAML 2.0 Configuration Guide

LogMeIn Rescue Web SSO via SAML 2.0 Configuration Guide LgMeIn Rescue Web SSO via SAML 2.0 LgMeIn Rescue Web SSO via SAML 2.0 Cnfiguratin Guide 02-19-2014 Cpyright 2015 LgMeIn, Inc. 1 LgMeIn Rescue Web SSO via SAML 2.0 Cntents 1 Intrductin... 3 1.1 Dcument

More information

Welcome to Microsoft Access Basics Tutorial

Welcome to Microsoft Access Basics Tutorial Welcme t Micrsft Access Basics Tutrial After studying this tutrial yu will learn what Micrsft Access is and why yu might use it, sme imprtant Access terminlgy, and hw t create and manage tables within

More information

Licensing the Core Client Access License (CAL) Suite and Enterprise CAL Suite

Licensing the Core Client Access License (CAL) Suite and Enterprise CAL Suite Vlume Licensing brief Licensing the Cre Client Access License (CAL) Suite and Enterprise CAL Suite Table f Cntents This brief applies t all Micrsft Vlume Licensing prgrams. Summary... 1 What s New in This

More information

Interworks Cloud Platform Citrix CPSM Integration Specification

Interworks Cloud Platform Citrix CPSM Integration Specification Citrix CPSM Integratin Specificatin Cntents 1. Intrductin... 2 2. Activatin f the Integratin Layer... 3 3. Getting the Services Definitin... 4 3.1 Creating a Prduct Type per Lcatin... 5 3.2 Create Instance

More information

ROSS RepliWeb Operations Suite for SharePoint. SSL User Guide

ROSS RepliWeb Operations Suite for SharePoint. SSL User Guide ROSS RepliWeb Operatins Suite fr SharePint SSL User Guide Sftware Versin 2.5 March 18, 2010 RepliWeb, Inc., 6441 Lyns Rad, Ccnut Creek, FL 33073 Tel: (954) 946-2274, Fax: (954) 337-6424 E-mail: [email protected],

More information

Access to the Ashworth College Online Library service is free and provided upon enrollment. To access ProQuest:

Access to the Ashworth College Online Library service is free and provided upon enrollment. To access ProQuest: PrQuest Accessing PrQuest Access t the Ashwrth Cllege Online Library service is free and prvided upn enrllment. T access PrQuest: 1. G t http://www.ashwrthcllege.edu/student/resurces/enterlibrary.html

More information

GUIDELINE INFORMATION MANAGEMENT (IM) PROGRAM PLAN

GUIDELINE INFORMATION MANAGEMENT (IM) PROGRAM PLAN Gvernment f Newfundland and Labradr Office f the Chief Infrmatin Officer Infrmatin Management Branch GUIDELINE INFORMATION MANAGEMENT (IM) PROGRAM PLAN Guideline (Definitin): OCIO Guidelines derive frm

More information

Firewall/Proxy Server Settings to Access Hosted Environment. For Access Control Method (also known as access lists and usually used on routers)

Firewall/Proxy Server Settings to Access Hosted Environment. For Access Control Method (also known as access lists and usually used on routers) Firewall/Prxy Server Settings t Access Hsted Envirnment Client firewall settings in mst cases depend n whether the firewall slutin uses a Stateful Inspectin prcess r ne that is cmmnly referred t as an

More information

Process of Setting up a New Merchant Account

Process of Setting up a New Merchant Account Prcess f Setting up a New Merchant Accunt Table f Cntents PCI DSS... 3 Wh t cntact?... 3 Bakcgrund n PCI... 3 Why cmply?... 3 Hw t cmply?... 3 PCI DSS Scpe... 4 Des PCI DSS Apply t Me?... 4 What if I am

More information