Hello,
I have a SCORM 1.2 package running on Moodle 2.5.2.
Previously the package has worked fine - it has no force new attempt or compatibility settings enabled. However, Moodle seems to have decided that it now wants to set the status as failed, no matter what happens in the module, when it is exited.
I have opened attempts and sent statuses back and checked them and it is changing between passed/failed/complete/incomplete no problem as the package runs. This is fine until I exit, then the status changes to failed but the package isn't setting this value. It is setting incomplete.
Here is an outline of the API log, where you can see the statuses I am sending and the final closing logs (sent by closing the module in the right way). I don't see failed here anywhere so it's very strange that this is how Moodle is recording it in the DB.
I should note that the time in the module is updating so info is being pushed back in to the DB.
SCORM API Activity Log
Tue, 08 Oct 2013 08:42:14 GMT: Moodle SCORM 1.2 API Loaded, Activity: Principle 1, SCO: jCloud_417
Tue, 08 Oct 2013 08:42:19 GMT: LMSInitialize("", "") => 0
Tue, 08 Oct 2013 08:42:19 GMT: LMSGetValue("cmi.core.student_id") - admin => 0
Tue, 08 Oct 2013 08:42:19 GMT: LMSGetValue("cmi.core.student_name") - Ross, Ian => 0
Tue, 08 Oct 2013 08:42:19 GMT: LMSGetValue("cmi.core.lesson_location") - => 0
Tue, 08 Oct 2013 08:42:19 GMT: LMSGetValue("cmi.core.credit") - credit => 0
Tue, 08 Oct 2013 08:42:19 GMT: LMSGetValue("cmi.core.lesson_status") - not attempted => 0
Tue, 08 Oct 2013 08:42:19 GMT: LMSGetValue("cmi.core.entry") - ab-initio => 0
Tue, 08 Oct 2013 08:42:19 GMT: LMSGetValue("cmi.core.score.raw") - => 0
Tue, 08 Oct 2013 08:42:19 GMT: LMSGetValue("cmi.core.score.min") - => 0
Tue, 08 Oct 2013 08:42:19 GMT: LMSGetValue("cmi.core.score.max") - => 0
Tue, 08 Oct 2013 08:42:19 GMT: LMSGetValue("cmi.core.total_time") - 00:00:00 => 0
Tue, 08 Oct 2013 08:42:19 GMT: LMSGetValue("cmi.core.lesson_mode") - normal => 0
Tue, 08 Oct 2013 08:42:19 GMT: LMSGetValue("cmi.suspend_data") - => 0
Tue, 08 Oct 2013 08:42:19 GMT: LMSGetValue("cmi.launch_data") - => 0
Tue, 08 Oct 2013 08:42:19 GMT: LMSGetValue("cmi.comments") - => 0
Tue, 08 Oct 2013 08:42:19 GMT: LMSGetValue("cmi.comments_from_lms") - => 0
Tue, 08 Oct 2013 08:42:19 GMT: LMSGetValue("cmi.student_data.mastery_score") - 70 => 0
Tue, 08 Oct 2013 08:42:19 GMT: LMSGetValue("cmi.student_data.max_time_allowed") - => 0
Tue, 08 Oct 2013 08:42:19 GMT: LMSGetValue("cmi.student_data.time_limit_action") - => 0
Tue, 08 Oct 2013 08:42:19 GMT: LMSGetValue("cmi.student_preference.audio") - 0 => 0
Tue, 08 Oct 2013 08:42:19 GMT: LMSGetValue("cmi.student_preference.language") - => 0
Tue, 08 Oct 2013 08:42:19 GMT: LMSGetValue("cmi.student_preference.speed") - 0 => 0
Tue, 08 Oct 2013 08:42:19 GMT: LMSGetValue("cmi.student_preference.text") - 0 => 0
Tue, 08 Oct 2013 08:42:19 GMT: LMSGetValue("cmi.objectives._count") - 0 => 0
Tue, 08 Oct 2013 08:42:19 GMT: LMSGetValue("cmi.interactions._count") - 0 => 0
Tue, 08 Oct 2013 08:42:33 GMT: LMSSetValue("cmi.core.lesson_status", "incomplete") => 0
Tue, 08 Oct 2013 08:42:33 GMT: LMSGetErrorString("0", "No error") => 0
Tue, 08 Oct 2013 08:42:37 GMT: Commit("", "") => 0
Tue, 08 Oct 2013 08:42:37 GMT: LMSCommit("AJAXResult", "true") => 0
Tue, 08 Oct 2013 08:42:37 GMT: LMSCommit("result", "true") => 0
Tue, 08 Oct 2013 08:42:37 GMT: LMSCommit("errorCode", "0") => 0
Tue, 08 Oct 2013 08:43:46 GMT: LMSSetValue("cmi.core.lesson_status", "failes") => 405
Tue, 08 Oct 2013 08:43:46 GMT: LMSGetErrorString("405", "Incorrect data type") => 0
Tue, 08 Oct 2013 08:43:51 GMT: LMSSetValue("cmi.core.lesson_status", "failed") => 0
Tue, 08 Oct 2013 08:43:51 GMT: LMSGetErrorString("0", "No error") => 0
Tue, 08 Oct 2013 08:43:55 GMT: Commit("", "") => 0
Tue, 08 Oct 2013 08:43:55 GMT: LMSCommit("AJAXResult", "true") => 0
Tue, 08 Oct 2013 08:43:55 GMT: LMSCommit("result", "true") => 0
Tue, 08 Oct 2013 08:43:55 GMT: LMSCommit("errorCode", "0") => 0
Tue, 08 Oct 2013 08:44:09 GMT: LMSSetValue("cmi.core.lesson_status", "incomplete") => 0
Tue, 08 Oct 2013 08:44:09 GMT: LMSGetErrorString("0", "No error") => 0
Tue, 08 Oct 2013 08:44:13 GMT: Commit("", "") => 0
Tue, 08 Oct 2013 08:44:13 GMT: LMSCommit("AJAXResult", "true") => 0
Tue, 08 Oct 2013 08:44:13 GMT: LMSCommit("result", "true") => 0
Tue, 08 Oct 2013 08:44:13 GMT: LMSCommit("errorCode", "0") => 0
Tue, 08 Oct 2013 08:47:27 GMT: LMSSetValue("cmi.core.lesson_location", "0") => 0
Tue, 08 Oct 2013 08:47:27 GMT: LMSSetValue("cmi.core.lesson_status", "incomplete") => 0
Tue, 08 Oct 2013 08:47:27 GMT: LMSSetValue("cmi.core.score.raw", "0") => 0
Tue, 08 Oct 2013 08:47:27 GMT: LMSSetValue("cmi.core.score.min", "0") => 0
Tue, 08 Oct 2013 08:47:27 GMT: LMSSetValue("cmi.core.score.max", "0") => 0
Tue, 08 Oct 2013 08:47:27 GMT: LMSSetValue("cmi.core.exit", "") => 0
Tue, 08 Oct 2013 08:47:27 GMT: LMSSetValue("cmi.core.session_time", "00:05:05") => 0
Tue, 08 Oct 2013 08:47:27 GMT: LMSSetValue("cmi.suspend_data", "0^1^2^3^4^5^6^7^8^9^10^11^12^13^14^15^16^17^18~15,0^16,0~~0~1^0^0^0^0^0^0^0^0^0^0^0^0^0^0^0^0^0^0~0~0~") => 0
Tue, 08 Oct 2013 08:47:27 GMT: LMSSetValue("cmi.comments", "") => 0
Tue, 08 Oct 2013 08:47:27 GMT: LMSSetValue("cmi.student_preference.audio", "0") => 0
Tue, 08 Oct 2013 08:47:27 GMT: LMSSetValue("cmi.student_preference.language", "") => 0
Tue, 08 Oct 2013 08:47:27 GMT: LMSSetValue("cmi.student_preference.speed", "0") => 0
Tue, 08 Oct 2013 08:47:27 GMT: LMSSetValue("cmi.student_preference.text", "0") => 0
Tue, 08 Oct 2013 08:47:28 GMT: Commit("", "") => 0
Tue, 08 Oct 2013 08:47:28 GMT: LMSCommit("AJAXResult", "true") => 0
Tue, 08 Oct 2013 08:47:28 GMT: LMSCommit("result", "true") => 0
Tue, 08 Oct 2013 08:47:28 GMT: LMSCommit("errorCode", "0") => 0
Tue, 08 Oct 2013 08:47:28 GMT: LMSFinish("AJAXResult", "true") => 0
Tue, 08 Oct 2013 08:47:28 GMT: LMSFinish("result", "true") => 0
Tue, 08 Oct 2013 08:47:28 GMT: LMSFinish("", "") => 0