1
votes

I have a bit of a strange problem and am struggling to find any relevant info about it in the docs or elsewhere.

We have implemented SCORM 1.2 and 2004 in the past and I'm currently trying to fix an issue we have with our 2004 version and have hit a bit of a brick wall. We store data about our learners progress through the course, i.e which pages they have visited in 'cmi.suspend_data' we then retrieve this at the start of their next session to provide visual feedback in the UI.

In 2004 2nd Edition, we are unable to retrieve that data from the LMS.

To take it right back to basics, I have uploaded a blank SCORM course to SCORM Cloud (empty index.html) and am launching the course and finding the API_1484_11 and calling the following functions on it.

API.Initialize('');
API.SetValue('cmi.suspend_data', 'Test');
API.Commit('');
API.Terminate('');

Then exiting the course. At this point I can see the suspend data in the 'Sandbox Registration State'.

I then go back into the course and call:

API.Initialize('');
API.GetValue('cmi.suspend_data');

And am returned a blank string. At that point if you do API.GetLastError() it is a 403.

Am I missing something vital here, or some difference between 1.2 and 2004? Is this expected behaviour?

1

1 Answers

2
votes

I think the issue you are running into is that you are not setting cmi.exit to "suspend". I believe that the specification says that the LMS is to retrieve the suspend_data from a previous learning experience only if the exit is suspended...