javascriptscormscorm2004canvas-lms

How to resume scorm 2004 where we left previously?


Hi,

I'm developing scorm based project, I've to play the scorm 2004 packages. courses are playing
and capturing the data working properly with the using of LMS functions(LMSFinish(), commit()..etc).
Now I've to implement one more function i.e RESUME the package where user left last time.

Sample cmi data

scoid:"1234"

data[cmi.completion_status]:"incomplete"

data[cmi.exit]:"suspend"

data[cmi.location]:"page3"

Hope you help.


Solution

  • Commonly 'cmi.suspend_data' is used so you can store a string (JSON, or other delimiter format if you want or need structure) to resume answers.
    'cmi.location' has 1000 characters for you to also store a string and it can be as simple as "3" or "page3" as you have it.

    Your navigation in your content presentation/player would need to be able to respond to having a location to go to. And you can use the suspend_data to put student answers back the way they were when they left.

    How you decide if you are 'resuming' is a little tricky since anything except 'cmi.entry' = 'ab-initio' is a resume. Some LMS systems return blank or 'resume' so then you know to fetch your 'cmi.location' and 'cmi.suspend_data' if you use it.

    This is all code you have to write, or you can read up a bit on my Wiki. https://github.com/cybercussion/SCOBot/wiki.