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
Out of the box in Studio you cannot do this, if the user chooses not to resume the course is loaded as if they had not attempted it
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
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
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
Yes Dave that is what we are doing, we are using a combination of the quiz score and the tracking in the gradebook to allow the certificate to be released. We have all of the questions in our sections and then pool them in the final assessment
This discussion is closed. You can start a new discussion or contact Articulate Support.