HOME ➔ SUPPORT ➔ Community ➔ General CourseLab issues ... LMS suspend_data issue
LMS suspend_data issue
  View type:
Hi Folks,

I'm having an issue using courselab. I have a test with 24 questions in it, after about 16 I start getting an alert which lists the contents of the data being sent to the LMS suspend_data field.

the data I'm sending is growing beyond the 4K limit allowed for data in this field. Is there any way to control this other than having smaller tests?


Hi Dave,

I am having a similar problem as you described. Nick provided some suggestions which you may be able to use.

Unfortunately, the LMS I am using does not support SCORM 2004, nor is it possible for me to use the modular approach of breaking up the course (due interaction dependencies).

In order to prevent the alert message that you mentioned, I am working on finding a solution that either customizes which SCORM data gets recorded into suspend_data or a solution that records only the specific SCORM interaction data that I need (i.e., bypassing suspend_data and using only cmi.interactions).

Much of the data that is recorded by default into suspend_data is not useful for my purposes. In fact, I only need the interaction ID and LearnerResponse.

I currently have two posts in the CourseLab forum asking about this issue, but if you think such a solution will be useful to you, then I will make a note to share it here as well.

Possibly the answer will be in the API that the module uses. It should be possible to have it not send the resume data. Possibly it's just a matter of switching a part of the API off.
?? Barend any thoughts on this one??
Switching off parts of the API that send certain SCORM data to the LMS sounds ideal, I only wish I knew how to do this.

Through some experimentation, I have been able to prevent ALL cmi.suspend_data from being recorded in the LMS, by:

1. Opening the file: lms.js

2. Finding the section: // SCORM_Save

3. Removing (for case 1.2): SCORM_SetValue("cmi.suspend_data", sTmp);

This seems to remove ALL data for the element: cmi.suspend_data, which prevents the alert message that David mentioned earlier. Unfortunately, this also prevents any data from being recorded, i.e., no tracking.

On the discussion boards of the LMS (Moodle) that I’m using, I’ve seen other people posting their SCORM output/tracking data using the cmi.interactions data element (e.g., cmi.interactions.x.id and cmi.interactions.x.student_response). I was thinking there should be a way to this for a CourseLab course as well.

It seems that each authoring tool is different in how it writes the code that will make the API calls. So I’ve been trying to better understand the code that CourseLab uses in order to customize the SCORM output that results.

I’m open to suggestions … thanks!
Hi Nick, Dan, David,
I had a short look this morning but then had some work to do [;)]
Besides, last week I had a severe computer crash and I still am installing software on my new [:cool:] i7 win7. Which means I don't have software at the moment to test things.

Sure lms.js is the file to go. Take notice that the package you make is unique and may give trouble in other LMSses.

Some wild guesses:
- it seems the data is stored on leaving each page and restored on entering the next page. See line 795 - 796. How about not restoring the data but setting g_sLmsCmiSuspendData tot an empty string?
I would do some experiments with a javascript alert to have a look what is restored and what is stored.

I would also check if your lms doesn't use AICC parameters, I know at least one does. It seems in function, AICC_PrepareData, all data is gathered before sending it. The way the function is build it seems quite easy to skip parts of the data.

Last, in courselab.js in the function LMSSaveState (line 4719) the suspend data, contents of g_oSCO.xml, is copied into variable g_sLmsCmiSuspendData. Maybe this is a suitable place to skip parts of the suspend data. I'm curious what results an alert(g_sLmsCmiSuspendData); would give.

I would like to test myself but the admin tool of the mysql server has changed and I haven't find out how use the new one.[:confused:]
So it is a SCORM 1.2 system, the limit is as pointed out 4096 bits, 2004 improved this upping it to 64KB.
The suspend data is the bookmarking component
There is a limitation this imposes on the number of slides you can use which is 370 simple pages. As you add content this will change, an mpg file will add a few characters. It wouldn't be unusual to see 26 pages with 8 question blocks getting near to the limit.
As SCORM is a fairly loose standard in some ways many of the LMS's allow the size of cmi_suspend to be increased on the 1.2 modela, is this a possibility on yours? BTW if it's Articulate then forget it and just cut the module into chunks.
Even better migrate to a 2004 platform, 1.2 is over 8 years old now and 2004 is actively being devoloped and refined. There were some nice ideas from work last year on 2.0 but it isn't going to be here for a few years.
Best advice is simplify or use the modular sco idea and chop the module into more discrete components.
Message options
No additional options