SCORM API Discovery?

Oct 18, 2020

How do courses built in Rise360 discover the Scorm API? Is it the standard approach looking in window.parent and window.opener? Because I'm trialling it and it doesn't seem to find our API in window.opener (we write our own LMS basically), nothing happens. Tried publishing to both 1.2 and 2004 versions.

Also how do I debug what's happening? I don't seem to get any debug output at all in the console to tell me what's going wrong with the API discovery.

6 Replies
Jeremy Bradshaw

Ah right in that case I need more info on how to bundle the exported course for deployment (when we write the API consumer), as thus far I've only been deploying the scormcontent folder, I'll need to pull in the required files from the scormdriver folder as well presumably. Shouldn't there be an index.html file in the root that does all the necessary?

Jeremy Bradshaw

What I found that works is deploying both scormcontent and scormdriver folders and adding these script tags to the scormcontent index.html:

<script type="text/javascript" src="../scormdriver/scormdriver.js"></script>

Then adding window.Start(); in a new <script> tag before the body <script> is loaded, to initiate the Scorm API discovery. However this was by trial & error rather than by following any official approach, so would be good to get it confirmed whether that's fine or another approach is recommended.

Alvaro Gamez
Crystal Horn

Hi Jeremy! The index.html file is in the scormcontent folder. If your custom LMS setup needs it in the root folder, you should be able to move it up one level and rezip that package.

This suggestion the cause of the problem! It is the scormdriver/indexAPI.html that must be loaded by the LMS and not the file that you mentioned. Doing this solved all the problems.

Doing what Jeremy suggest only solved half of the problem because it bought about many bugs. There is no need to change anything in the SCORM package itself if the right file is loaded. It was Jeremy's suggestion that lead me to finding the solution. I tried to discover where window.start() was called by the SCOM package and it showed the indexAPI.html file. Also you will notice that the manifest XML file has this stated as the sco.

This discussion is closed. You can start a new discussion or contact Articulate Support.