Group: http://groups.google.com/group/elearning-technology-and-development/topics
- SCORM 2004 - [3 Updates]
MOLOKO <mlea...@gmail.com> Nov 08 09:42AM -0800
After many years experience with SCORM 1.2 this is my first time coming to
SCORM 2004 and unsurprisingly have encountered an issue or two!
The first time I run the course, I'm getting a 403 errors when trying to
get cmi.suspend_data and cmi.location... is that as expected?
Looking through the (somewhat impenetrable) documentation this does seem to
be implied for cmi.suspend_data ("If the SCO has not set the value prior to
the get request, then the LMS shall set the error code to 403") but I'm not
so sure about cmi.location and why that's returning 403.
Any thoughts? The relevant bit debug output from Moodle is below... Am
using the pipwerks SCORM JS BTW.
Tue, 08 Nov 2011 16:43:47 GMT: Moodle SCORM 1.3 API Loaded, Activity: Test
v7, SCO: item_1
Tue, 08 Nov 2011 16:43:48 GMT: Initialize("", "") => 0
Tue, 08 Nov 2011 16:43:48 GMT: GetValue("cmi.completion_status") - unknown
=> 0
Tue, 08 Nov 2011 16:43:48 GMT: SetValue("cmi.completion_status",
"incomplete") => 0
Tue, 08 Nov 2011 16:43:48 GMT: GetValue("cmi.completion_status") -
incomplete => 0
Tue, 08 Nov 2011 16:43:51 GMT: GetValue("cmi.completion_status") -
incomplete => 0
Tue, 08 Nov 2011 16:43:51 GMT: GetValue("cmi.suspend_data") - => 403
Tue, 08 Nov 2011 16:43:51 GMT: GetErrorString("403", "Data Model Element
Value Not Initialized") => 0
Tue, 08 Nov 2011 16:43:51 GMT: GetErrorString("403", "Data Model Element
Value Not Initialized") => 0
Tue, 08 Nov 2011 16:43:51 GMT: GetDiagnostic("403", "403") => 0
Tue, 08 Nov 2011 16:44:02 GMT: GetValue("cmi.location") - => 403
Tue, 08 Nov 2011 16:44:02 GMT: GetErrorString("403", "Data Model Element
Value Not Initialized") => 0
Tue, 08 Nov 2011 16:44:02 GMT: GetErrorString("403", "Data Model Element
Value Not Initialized") => 0
Tue, 08 Nov 2011 16:44:02 GMT: GetDiagnostic("403", "403") => 0
Philip Hutchison <plate...@gmail.com> Nov 08 09:50AM -0800
The logs look fine to me.
Both cmi.location and cmi.suspend_data get their data from the SCO; if
you've never performed a setvalue on those fields, whenever you do a
getvalue you will get a 'not initialized' error, which is what you see in
the logs. As you said, you see the errors "the first time [you] run the
course".
MOLOKO <mlea...@gmail.com> Nov 09 02:33AM -0800
Ah OK cool, thanks for that.
At the moment I have the code set to pop up an error and go into "WTF
happened?!" mode whenever any kind of error is received, clearly I will
need to tune that down a notch for SCORM 2004... or perhaps amend it so
that it doesn't bother get()ing cmi.location or cmi.suspend_data when
lesson status is 'not started'.
Are there any other fields that would behave like this?
You received this message because you are subscribed to the Google Group elearning-technology-and-development.
--
You can post via email.
To unsubscribe from this group, send an empty message.
For more options, visit this group.
You received this message because you are subscribed to the Google Groups "eLearning Technology and Development" group.
To post to this group, send email to elearning-technolo...@googlegroups.com.
To unsubscribe from this group, send email to elearning-technology-and...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/elearning-technology-and-development?hl=en.
and then initialised the connection via:var scorm:SCORM = new SCORM();
scorm.connect();Then you would send a score of 90 and mark the course as passed using:
scorm.set("cmi.core.score.raw", "90");At that point, I'd also recommend doing:
scorm.set("cmi.core.lesson_status", "passed");
scorm.save()And obviously when the course is about to close, you'll need to do:
scorm.disconnect()Although I think it's best to handle the whole LMSFinish/Terminate thing using JavaScript functions attached to the containing page's onunload event just in case the user decides to just close the browser window.