Version 0.4 Build 20030502x
Copyright 2000-2003 Click2learn, Inc. -- All rights reserved.
Please review the terms of use at the bottom of this page before using this software.
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.
CLICK2LEARN, INC.
SOFTWARE LICENSE AGREEMENT
SCORM Demonstration Application
THIS IS A LEGAL AGREEMENT BETWEEN YOU AND CLICK2LEARN, INC. ("CLICK2LEARN") WHICH GOVERNS YOUR USE OF THIS SOFTWARE. CLICK2LEARN IS WILLING TO LICENSE THE SOFTWARE TO YOU ONLY ON THE CONDITION THAT YOU AGREE TO ALL OF THE TERMS OF THIS AGREEMENT. CAREFULLY READ THIS AGREEMENT BEFORE DOWNLOADING, USING OR DISTRIBUTING THE SOFTWARE. BY DOWNLOADING, USING OR DISTRIBUTING THE SOFTWARE, YOU AGREE TO THE TERMS OF THIS AGREEMENT.
License and Copyright. This license applies to any version of the Sharable Content Object Reference Model ("SCORM") Demonstration Applications. Under this license you may download, install and use the SCORM Demonstration Application (which is referred to as the "Software") on as many computers as you like. You may also permit the Software to be downloaded from your world wide web page or network file server and you may duplicate and redistribute the Software for use pursuant to this license; provided that in either case the Software may not be modified in any way. You may not: (i) modify, translate, or merge the Software; (ii) reverse-engineer, disassemble, or decompile the Software (except to the extent expressly permitted by the application of local copyright law whose exclusion is precluded); or (iii) transfer, sublicense or lease the Software except as provided in this agreement. The Software is protected by copyright laws and must be treated like any other copyrighted material.
DISCLAIMER OF WARRANTY. THIS SOFTWARE IS PROVIDED FREE OF CHARGE. THEREFORE, CLICK2LEARN AND ITS SUPPLIERS EXPRESSLY DISCLAIM ANY AND ALL WARRANTIES (OR CONDITIONS), EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NONINFRINGEMENT. THE SOFTWARE IS PROVIDED "AS IS" AND YOU BEAR ALL OF THE RISK RELATED TO THE USE, DUPLICATION AND DISTRIBUTION OF THE SOFTWARE.
LIMITATIONS OF LIABILITY. CLICK2LEARN AND ITS SUPPLIERS ARE NOT LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, SPECIAL OR EXEMPLARY DAMAGES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES, WHETHER SUCH DAMAGES ARISE FROM CLAIMS BASED UPON CONTRACT, WARRANTY, TORT OR OTHERWISE. Some jurisdictions do not allow limitation or exclusion of incidental or consequential damages, so the above limitation or exclusion may not apply to you to the extent that liability is by law incapable of exclusion or restriction.
General. You agree not to directly or indirectly export or re-export the Software or the direct product thereof except as authorized by the laws and regulations of the United States and any other applicable jurisdiction. This license and your right to use the Software terminate automatically if you violate any part of this agreement. In the event of termination, you must immediately destroy all copies of the Software or return them to Click2learn. This agreement constitutes the entire agreement between you and Click2learn. It shall not be modified except by written agreement dated subsequent to the date of this agreement signed by an authorized Click2learn representative. Click2learn is not bound by any provision of any purchase order, confirmation, correspondence or otherwise, unless Click2learn specifically agrees to the provision in writing. This agreement is governed by the internal laws of the State of Washington, U.S.A., and specifically excludes the United Nations Convention on Contracts for the International Sale of Goods.
[Rev.4-28-03]