Version 0.4 Build 20030419x
Copyright 2000-2003 Click2learn, Inc. -- All rights reserved.
This wrapper can be "wrapped" around a SCO to monitor and log the SCORM API calls from the SCO. The wrapper provides the runtime environment for the SCO, including an API object. It is pure ECMAScript and does not use Java. It does not require any plug-in or ActiveX control. It has been tested with IE 5.5, IE 6 and Mozilla 1.2. It may not work as expected with older browsers.
The wrapper can be used standalone, but it is itself launchable like a SCO, so if you "wrap" it around the SCO to test, it can be launched by a LMS and you can monitor the API calls from that SCO to the LMS. See an example below.
You do not need a LMS to use this wrapper. You can also launch it directly in a browser window, and then launch a SCO inside it.
There are two ways to specify the SCO to launch. One is to just launch the wrapper, and specify the URL of the SCO to load. The other way is to launch the wrapper using a URL with a parameter named "SCO" that specifies the URL of the SCO to launch. For example:
SCO12TestWrapSCO.htm?SCO=mySCO.htm
Due to browser security constraints, the SCO must be launched from the same server as the SCO wrapper.
If you launch the wrapper without a SCO parameter, it displays a URL pane in which you can specify the URL of the SCO to launch. Depending on your browser and browser window size, you may have to resize the pane to see all of it. If you launch the wrapper with a SCO parameter, the URL pane is not displayed.
The standalone mode is when the wrapper is launched without a back end runtime service or LMS. Suspend data, location, status and objectives are tracked by the test wrapper in standalone mode, and are available from one session to the next unless you clear them or refresh the wrapper itself. Initial status the first time the SCO is launched in standalone mode is "not attempted". You can clear the stored data and status by clicking a button in the control panel. Interaction data are also recorded but attempting to get back detail information about interactions with LMS_GetValue will not work because SCORM 1.2 does not allow you to read back interaction data anyway.
Launched without a SCO parameter
You must specify a SCO in the URL pane. You you can unload or reload the SCO as many times as you want; each time a new communication session is initialized.
Launched with a SCO parameter
The SCO is launched as soon as the wrapper is initialized, and gets closed when you close the wrapper.
The pass-through mode is when the wrapper is launched as a SCO by a runtime service or LMS. The SCO that is being "wrapped" is then launched inside that SCO. This mode is activated only if the wrapper detects that it is run in a context where it can find an API object. If no API object can be detected, the wrapper runs in "standalone" mode.
In passthrough mode, the wrapper does not store or generate any data. It just forwards all API calls to the other API object, and passes the response back to the SCO.
Launched with a SCO parameter
The SCO is launched as soon as the wrapper is initialized, and gets closed when you close the wrapper.
Launched without a SCO parameter
You must specify a SCO in the URL pane. You you can unload or reload the SCO as many times as you want. However, since to the runtime service the wrapper is the SCO, and a SCORM compliant runtime service does not allow a new new communication session to be initiated without reloading the SCO, this is of limited usefulness.
To capture the log, you must select it in the browser, copy it and paste it into your favorite text editor. In Windows environments, you do this by clicking the log text, then Ctrl-A to select all of it, then Ctrl-C to copy it to the clipboard. The log is easier to read if you pop it up in a separate window and resize it. If you are using this wrapper as the actual launch SCO to debug a SCO launched by a LMS, the log window will of course disappear as soon as the LMS unloads the SCO.
You can insert bookmarks into the log. Just type the identifier for the bookmark and click OK. If you don't type in identifiers for bookmarks, generic, sequentially numbered identifiers are generated.
If you launched the wrapper without a SCO parameter, you can choose the type of stage window before launching the SCO. This can be useful to test the behavior of a SCO in both kinds of window.
However, if you launched the wrapper with a SCO parameter, this option is not available. You can however still specify the window type with a STAGE parameter that can have one of two values "popup" or "frame". If not specified, the default is "frame". For example:
SCO12TestWrapSCO.htm?SCO=mySCO.htm&STAGE=popup
Due to a problem IE has with managing default paths for multiple windows with local files, it is recommended that you put the wrapper, the SCO and all other required files in the same directory. You do not need to do this if you are launching the wrapper through a HTTP server.
If are looking for cheap entertainment, you can try to launch this wrapper with no SCO parameter, then launch another instance of it within itself, and then a SCO in the "inner" instance. The "inner" instance will find the API object in the "outer" instance and you will be able to watch the communication between the SCO and the "outer" instance in the log pane of the "inner" window.
For example:
<resource identifier="SCO1"
type="webcontent" adlcp:scormtype="sco"
href="SCO1.htm">
<file href="SCO1.htm"/>
<file href="SCO1.gif"/>
<file href="SCO1.js"/>
</resource>
<resource identifier="SCO1"
type="webcontent" adlcp:scormtype="sco"
href="SCO12TestWrapSCO.htm?SCO=SCO1%2Ehtm">
<file href="SCO1.htm"/>
<file href="SCO1.gif"/>
<file href="SCO1.js"/>
<dependency identifierref="SCOR12_TEST_WRAP1"/>
</resource>
<resource identifier="SCOR12_TEST_WRAP1"
type="webcontent" adlcp:scormtype="asset">
<file href="SCO12TestWrapSCO.htm"/>
<file href="SCO12TestWrapCPL.htm"/>
<file href="SCO12TestWrapBLNK.htm"/>
<file href="SCO12TestWrapSCOLOC.htm"/>
<file href="SCO12TestWrapReadMe.htm"/>
</resource>
Note that the launch parameter needs to be URL and XML escaped. The ADL SCORM conformance test suite version 1.2.3 does not handle parameters correctly if there is more than one parameter. This is a limitation of the test suite due to an ambiguity in the IMS content packaging specification, which has led to different interpretations of the XML encoding requirements for the parameters. This will be resolved only after implementations get in sync with maintenance updates of the specifications.
Note also that the resource that describes the test wrapper files does not have a href attribute because it is included as a reusable asset. This same resource can be used to test any number of SCOs in the package by referencing it through a <dependency> element in the resource that defines each SCO.
This application is a Click2Learn Standards Demonstration Project, subject to change. Permission is hereby granted for Click2Learn customers and contractors, and for participants in industry standard initiatives, to use and distribute this application and its documentation for the purpose of standardization services, including balloting and coordination. If any part of this application or documentation is to be submitted to any standards body, notification shall be given to the Click2Learn Copyrights Administrator. Other entities seeking permission to use or reproduce portions of this application or documentation for any purpose must contact the Click2Learn Copyrights and Permissions Department for the appropriate license. The publication of this application and document does not imply that Click2Learn, Inc. intends to implement or maintain any of the functionality demonstrated in this application or document. Click2Learn, Inc. reserves the right to modify without notice this application, this document, and any related specifications and any other product or offering specification. Use of this application or use of the information contained in this document is entirely at your own risk. No technical support is available for this application. By using this application you signify your agreement with these terms and restrictions.
Click2learn Copyrights and Permissions
110 - 110th Ave NE, Suite 700
Bellevue WA 98004
USA
Point of contact for questions and comments:
Claude Ostyn
Claude.Ostyn@click2learn.com