SCORM – How to Debug Your LMS

There are a lot of tools that create SCORM content(like QW) and a lot of LMS(Learning Management Systems, like Moodle and Blackboard) that run SCORM content. Now if there are 100 tools and 100 LMS’s – that’s 100×100, or 10,000 possible combinations, so incompatibilities do arise.

This guide is here to help you debug issues when your Question Writer content isn’t working in your LMS.

Step 1. Tweak the Javascript files.

You’ll find a folder in your Question Writer directory with the SCORM files. It will be something like,
C:\Program Files (x86)\Question Writer 4\Publishing\SCORM
or
C:\Program Files\Question Writer 4\Publishing\SCORM

It will have a file scormfs.js

Edit that file, and find a line (around line 32) –

//alert(“FSCommand “+command+”,”+theArgs);

Remove the slashes so that it is

alert(“FSCommand “+command+”,”+theArgs);

Additionally, there will be a file APIWrapper.js

Edit that file, find a line (around line 58)

var _Debug = false ;

Change the false to true so that it is

var _Debug = true ;

Step 2. Restart Question Writer and Create a Small Quiz.

Usually you’ll want to debug a short quiz. Just create one question in your quiz and choose the ‘Publish as SCORM 1.2’ option.

Step 3. Load your SCORM package into your LMS.

Load the SCORM package into your LMS as normal. When you run it, as your progress through the quiz, it will display details of the calls it makes to the LMS and errors that occur. You can report these errors to the LMS manufacturer, or to Question Writer Support, or if you’re a programmer, you can try editing the Javascript files yourself to resolve the problems.

Issue with ‘Completed’ Status

One error we’re seeing with some LMS’s – is when a quiz doesn’t show as having been completed in the LMS. This can occur because QW reports four different possible states (incomplete, failed, passed, completed) but where the LMS is used to dealing only with content and so recognizes only two – (incomplete, completed)

To resolve this problem, you can edit the scormfs.js file – simply remove the lines (around line 39)

if(theArgs[1]!=null && theArgs[1].indexOf(“passfail”)>=0){
if(theArgs[2]==”PASS”){
doLMSSetValue(“cmi.core.lesson_status”, “passed”);
}else if(theArgs[2]==”FAIL”){
doLMSSetValue(“cmi.core.lesson_status”, “failed”);
}
}

Note: Quizzes won’t set the ‘Passed’ or ‘Failed’ status until the end of the quiz. So quizzes will retain an ‘incomplete’ status until the end of the quiz.

This entry was posted in Technical Tips and tagged , , . Bookmark the permalink.

Comments are closed.