Step 1 – Getting Started … The RTE Frameset

The ‘Run Time Environment’ (or RTE) is the part of SCORM that specifies how the course will talk to the learning management system (LMS). The other part – the Content Aggregation Model (or CAM) – specifies how the course should be packaged up for import into the LMS. We’ll start with the RTE and worry about the CAM later.

Work your way through the SCORM 1.2 RTE specification, and you’ll discover that the course communicates with the LMS through a set of JavaScript functions which are located in a window or frame called ‘API’ located somewhere above the course in the frame/window hierarchy. These JavaScript functions then invoke appropriate code on the LMS server to save data into and read data from the LMS database.

So where in the frame/window hierarchy do you have to put it? It would appear from the SCORM RTE documentation that it can be anywhere above the course, or in a child frame/window of a frame/window above the course. Confused? Well, don’t worry about it – SCORM makes the course (not the LMS) do the hard work by requiring it to include code to locate the API frame window.

What are the functions that we have to provide within the API frame/window? Actually, it turns out that it’s a relatively simple set of 8 functions:

  • LMSInitialize()
  • LMSFinish()
  • LMSGetValue()
  • LMSSetValue()
  • LMSCommit()
  • LMSGetLastError()
  • LMSGetErrorString()
  • LMSGetDiagnostic()

with most of the work being done by the LMSGetValue() and LMSSetValue() functions.

So, let’s start. I’m going to create a simple frameset to house the API frame, and the course itself like this:

<html>
<head>
    <title>VS SCORM - RTE Frameset</title>
    <!-- Rev 1.0 - Sunday, May 31, 2009 -->
</head>
<frameset 
  frameborder="0" framespacing="0" 
  border="0" rows="0,*" cols="*" >
    <frame src="api.html" name="API" noresize>
    <frame src="../course/index.html" name="course">
</frameset>
</html>

I’ll call this file ‘rte.html’. Next step … setting up the API JavaScript calls.

This entry was posted in Run Time Environment. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *