Free nav possible on resuming a restricted nav course?

Dec 29, 2011

Running SCORM 1.2 in an LMS.  here is the situation:

Your course uses "restricted" nav and a user completes the course

The user then re-enters the course and chooses NOT to resume (all is good if they choose to return to where they left off).

The user, even though they have viewed every page already and have a completed status now has all that turned off and the status is again set to "incomplete" and they are stuck with restricted nav again.

What is happening is the course is setting the status to "incomplete" (see logs below for a restart of a completed course) and the stored suspend_data is getting overwritten with a different set of data. What is odd is that the "slides viewed" seems to be in tact still but all the 7's after the ## are changed to 1s.

Here is the suspend_data at the end of a complete (or restart of a complete):

Called LMSGetValue(cmi.suspend_data) - returned: "viewed=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45|lastviewedslide=45|44#1##,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,11###-1"

Here is what it immediately changes it to:

Called LMSSetValue(cmi.suspend_data, "viewed=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45|lastviewedslide=1|0#1##,11,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1###-1") - returned: true

generally similar but all the 1's are now 7's.

I have hacked  the scorm code up before to fix this problem on a restart but I was hoping there was a better work around here.

Any thoughts?

SCO Launched
Called LMSInitialize() - returned: true
Called LMSGetValue(cmi.core.lesson_mode) - returned: "normal"
Called LMSGetLastError() - returned: 0
Called LMSGetValue(cmi.core.lesson_mode) - returned: "normal"
Called LMSGetLastError() - returned: 0
Called LMSGetValue(cmi.core.lesson_status) - returned: "completed"
Called LMSGetLastError() - returned: 0
Called LMSSetValue(cmi.core.exit, "suspend") - returned: true
Called LMSSetValue(cmi.core.lesson_status, "incomplete") - returned: true
Called LMSGetValue(cmi.suspend_data) - returned: "viewed=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45|lastviewedslide=45|44#1##,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,11###-1"
Called LMSGetLastError() - returned: 0
Called LMSGetValue(cmi.core.lesson_status) - returned: "incomplete"
Called LMSGetLastError() - returned: 0
Called LMSSetValue(cmi.suspend_data, "viewed=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45|lastviewedslide=1|0#1##,11,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1###-1") - returned: true
Called LMSSetValue(cmi.suspend_data, "viewed=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45|lastviewedslide=1|0#1##,11,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1###-1") - returned: true
Called LMSSetValue(cmi.core.session_time, "0000:00:05.6") - returned: true
Called LMSCommit() - returned: true

5 Replies
Rickard Robbins

Does this seem reasonable to you? Should this be something that should be addressed?  Many of our clients want their students to not only take a course but use it as a support tool after.  If they make a misclick or forget (assuming now we must instruct them on how to re-enter the course) what they were told about now to review the course after completion they have to view all the content again.  This also make the search feature useless as they wont be able to jump to any pages they are looking for.

If anyone is interested I can find my work-around and post it but I dislike messing with the code as I have to do it every time I publish.

peace,

   Rickard

Phil Mayor

You can put in a feature request, the nextr version of Studio is currently in development. 

We dont restrict our courses becuase of this, so users if they resume or not can freely navigate the course.  We track 100% completion and have a quiz , I do not need to ensure they have viewed every single thing on my slides

Dave Newgass

Phil Mayor said:

We dont restrict our courses becuase of this, so users if they resume or not can freely navigate the course.  We track 100% completion and have a quiz , I do not need to ensure they have viewed every single thing on my slides


Hey Phil,

If memory serves me right.....what you are doing is tracking by number of slides viewed, then have totally separate quiz outside of your course?  Is that right?

Cheers mate,

Dave