Sharable Content Object Reference Model (SCORM ®) Version 1.2 |
|||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Sample Run-Time Environment Version 1.2.2 | |||||||||||||||
Please direct all questions regarding the following to the ADL Help & Info Center, located at www.adlnet.org |
|||||||||||||||
Table of Contents | |||||||||||||||
|
|||||||||||||||
I. Revisions | |||||||||||||||
Changes from Sample RTE Version 1.2.1 to Version 1.2.2
Changes from Sample RTE Version 1.2 to Version 1.2.1
Changes from Sample RTE Version 1.1
|
|||||||||||||||
II. Introduction | |||||||||||||||
Welcome to the Advanced Distributed Learning (ADL) SCORM Version 1.2 Sample Run-Time Environment (RTE) Version 1.2.2. This Sample RTE is intended to provide an example implementation of the concepts described in the SCORM. Specifically, this sample was developed in order to provide an illustration of Content Packaging and the SCORM Run-Time Environment. The main focus is on the Run-Time Environment communication between the RTE and Sharable Content Objects (SCOs) using the API mechanism described in the SCORM. Robust exception and error handling has not been included in this sample code. There are a number of possible Web-enabled implementations. This version of the Sample RTE was implemented as a Web-based client/server application using HTML, JavaScript, JavaServer Pages (JSP), Java Applets, Java Servlets, and Java Applications (See Section III of this readme for details). Specifically, this sample code consists of the following components:
Sample Run-Time Environment Server Component The Run-Time Environment server component is implemented using Java Servlets and HTML. The Servlets respond to requests from the Run-Time Environment client component and are responsible for data model persistence as well as serving the student course menu, the course lesson menu and launching the selected lesson. The server components are described below:
LMSManifestHandler.java
LMSPackageHandler.java
LMSCMIServlet.java Sample Run-Time Environment Client Component (Java Files) The Run-Time Environment client side component consists of a sample user interface implemented in HTML and JavaScript and the Run-Time Environment API Adapter implemented as a Java Applet. The Applet is downloaded to the client when the user accesses the Run-Time Environment main start page through a Web browser. The API Adapter Applet provides the communication to the Run-Time Environment server component for data model element persistence. The SCOs make calls to the API functions from JavaScript. (See the description of the sample course below for a description of how the RTE API function calls are made from the SCOs). The SCOs do not need to know about any of the RTE implementation details. The Java client components are described below:
APIAdapterApplet.java
LMSErrorManager.java
ServletProxy.java
ServletWriter.java Sample Run-Time Environment Client Component (Web Files) is divided into the following main conceptual modules:
User Interfaces
Administration
Functional
SCORM Run-Time Environment Data Model The SCORM Run-Time Environment Data Model is derived from the AICC CMI Data Model and is the only data model that is currently used to communicate from the SCOs to the Run-Time Environment. At this time all of the data elements are implemented in this Sample RTE. Several classes are included to represent the data elements of the data model. These classes are used by both the Servlets and the API Adapter Applet. The source for these classes is as follows:
CMICore.java
CMISuspendData.java
CMILaunchData.java
CMIComments.java
CMICommentsFromLms.java
CMIObjectives.java / CMIObjectiveData.java
CMIInteractions.java / CMIInteractionData.java
CMIStudentData.java
CMIPreferences.java Supporting Classes - used by the SCORM Run-Time Environment Data Model Classes:
CMIScore.java
Element.java
CMICategory.java
CMIRequest.java
CMITime.java
DataModelValidator.java
DataModelInterface.java
SCODataManager.java
DMErrorManager.java Sample Run-Time Environment Debug Indicator The DebugIndicator.java is a class that contains a static attribute that is used to indicate to other Java classes if Debug is turned on. If debug is turned on, then debug statements will be displayed. Debug information from the Run-Time Environment server side will be displayed in the Web server console window. Debug information from the Run-Time Environment client side API Adapter will be printed to the Java Runtime Environment (JRE 1.4.2_02 recommended) Java Console if running in Microsoft Internet Explorer, or to the Netscape Java Console if running in Netscape Navigator. The DebugIndicator can be set to on to present debug information in the consoles (this may slow down the Sample Run-Time Environment). However, this requires recompilation of the source code. RTE Sample Maritime Navigation Course The course provided with the Sample Run-Time Environment contains one lesson. It is designed as a simple "page turner" lesson consisting of seven SCOs. The course is not meant to serve as an example of instructionally sound learning content, but rather as an example of how to communicate data between the Run-Time Environment and the SCOs using the API. The lesson implementation makes use of two JavaScript "include" files called APIWrapper.js and SCOFunctions.js. The APIWrapper.js file contains a set of "API wrapper" functions that encapsulate the functionality that a SCO might use to find and communicate with the LMS Run-Time Environment via the API. The SCOFunctions.js file contains JavaScript navigation functions used by all of the SCO HTML pages. It is included at run-time in each of the SCO HTML pages. The API wrapper does not implement the API functions, but rather encapsulates the logic needed to:
The SCOs that comprise the HTML implementation of Lesson 01 consist of the following files:
Note: The naming of the above files has adopted the following style: SCO stands for Sharable Content Object and XX stands for a number corresponding to the order in which the items making the lesson are ordered. This number ranges from 01 through 07. Each SCO that is launched in the course either has an assessment or a review question at the end. In order to get a cmi.core.lesson_status set to a completed state (completed or passed), you must experience the review questions. If the SCO is unloaded before completion the status will remain incomplete. The example Maritime Navigation course PIF file is located in the Sample RTE installation directory and is called "ADL_Maritime_Navigation.zip". To run this course it must be imported into the Sample RTE and the user must register for it. |
|||||||||||||||
III. Installation Instructions | |||||||||||||||
It is recommended that you read through all of the installation instructions prior to beginning installation. Prerequisites
Sun Java 2 SDK Standard Edition 1.4.2_02
Notes:
The Sun Java 2 SDK Standard Edition is freely available at http://java.sun.com/j2se/1.4.2/download.html. It must be downloaded and installed prior to running the SCORM 2004 Sample RTE Version 1.2.2. After installing the Java 2 SDK Standard Edition 1.4.2_02, you must do the following:
Constraints The Sample Run-Time Environment has been tested on Microsoft Windows 2000 Professional and Windows XP Professional, both on the Intel Pentium PC platform with Internet Explorer 5.5 and 6.0. It was not tested with any other browsers on any other platforms. Installation Installation of the Sample RTE is to be done only after installing the Sun Java 2 SDK Standard Edition 1.4.2_02. TO INSTALL: Click on the Sample RTE self extracting executable file and follow the installation instructions on the screen. NOTE: The jakarta-tomcat-5.0.16 Servlet Engine and Web server is pre-configured to run on port 8080. This completes the installation of the Sample RTE. |
|||||||||||||||
IV. Running the Sample RTE | |||||||||||||||
The instructions provided are for running the Sample RTE on a Windows platform. This is the only platform that the software has been tested on and is the only platform that instructions are provided for at this time. To Run the RTE: First you need to start the jakarta-tomcat-5.0.16 that is provided with this installation. To do this:
Online help pages are available once the Sample RTE is started. "Help" links appear at the bottom of each page. To stop the jakarta-tomcat-5.0.16 server click on the Start Menu -> Programs -> ADL -> SampleRTE1.2.2 -> shutdown or click on the shutdown shortcut on your desktop. |
|||||||||||||||
V. Additional Information | |||||||||||||||
Sequencing and Navigation Navigation controls are included in the Sample RTE to allow navigation through content. At this time the available controls are:
On first launch of a course, the "cmi.core.lesson_status" of each SCO is checked for completion. Completion is determined by a value of "completed", "passed", or "failed". The first sequential item that is not completed is launched. (NOTE: To reset a learners status in a course, unregister for the course, and then re-register. See the online RTE help for details.) When all items are completed, the course becomes unavailable. NOTE: The control type for a course is determined on import by the user. See the online RTE Help for details. Known Issues
Third Party Components The Sample RTE uses the following third party tools:
|
|||||||||||||||
The Advanced Distributed Learning Co-Laboratory (ADL Co-Lab) grants you ("Licensee") a non-exclusive, royalty free, license to use, modify and redistribute this software in source and binary code form, provided that i) this copyright notice and license appear on all copies of the software; and ii) Licensee does not utilize the software in a manner which is disparaging to ADL Co-Lab. This software is provided "AS IS," without a warranty of any kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. ADL Co-Lab AND ITS LICENSORS SHALL NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THE SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL ADL Co-Lab OR ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR INABILITY TO USE SOFTWARE, EVEN IF ADL Co-Lab HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. |