OK – I’ve got the basic frameset in place, so I now need to create the HTML page that will hold the SCORM RTE API calls. Just to remind you, there are 8 JavaScript functions that the LMS must provide so that the course can communicate with it.
This is pretty easy – I’ll create the HTML file called api.html as I’ve defined it in the RTE frameset. Then I’ll add the following code:
<html> <head> <title>VS SCORM - RTE API</title> <script language="javascript"> /* VS SCORM - RTE API FOR SCORM 1.2 Rev 1.0 - Sunday, May 31, 2009 Copyright (C) 2009, Addison Robson LLC This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ var debug = true; // ------------------------------------------ // SCORM RTE Functions - Initialization // ------------------------------------------ function LMSInitialize(dummyString) { if (debug) { alert('*** LMSInitialize ***'); } return "true"; } // ------------------------------------------ // SCORM RTE Functions - Getting and Setting Values // ------------------------------------------ function LMSGetValue(varname) { if (debug) { alert('*** LMSGetValue varname='+varname +' varvalue=value ***'); } return "value"; } function LMSSetValue(varname,varvalue) { if (debug) { alert('*** LMSSetValue varname='+varname +' varvalue='+varvalue+' ***'); } return "true"; } function LMSCommit(dummyString) { if (debug) { alert('*** LMSCommit ***'); } return "true"; } // ------------------------------------------ // SCORM RTE Functions - Closing The Session // ------------------------------------------ function LMSFinish(dummyString) { if (debug) { alert('*** LMSFinish ***'); } return "true"; } // ------------------------------------------ // SCORM RTE Functions - Error Handling // ------------------------------------------ function LMSGetLastError() { if (debug) { alert('*** LMSGetLastError ***'); } return 0; } function LMSGetDiagnostic(errorCode) { if (debug) { alert('*** LMSGetDiagnostic errorCode='+errorCode+' ***'); } return "diagnostic string"; } function LMSGetErrorString(errorCode) { if (debug) { alert('*** LMSGetErrorString errorCode='+errorCode+' ***'); } return "error string"; } </script> </head> <body> <p> </body> </html>
In this file, I’m defining 8 (almost) empty JavaScript functions that can be called by the course. The only things that are included in the functions are a debugging/monitoring statement that will create a JavaScript alert each time the course calls that particular function, and a statement that returns a value that’s consistent with the SCORM 1.2 RTE specification.
Now that I’ve got my API calls in place, I’m going to look for a sample SCORM course, and run some initial tests.
Hello,
LMSFinish() is not getting called. We are calling some web-services in this function in later steps.
What is the issue?
LMSCommit() is the last function which is calling.
Thanks for this excellent post!
Waiting for response…
Abhi