Reputation: 1410
I have a Scorm 2004 3rd Edition Multi-SCO course that is comprised of two SCOs. The first SCO is a simple Captivate course without any assessment/quiz. The 2nd SCO is an HTML/JS based assessment. The issue I am having is that upon passing the assessment, the score (cmi.score.raw) is not being written to the database. I know that it's not an issue with my SCORM wrapper (pipwerks). If I take the 2nd SCO and convert it to a single SCO and then pass the assessment, the score gets written. So, I am guessing that it's an issue with my manifest file? Here is the manifest:
<metadata>
<schema>ADL SCORM</schema>
<schemaversion>2004 3rd Edition</schemaversion>
</metadata>
<organizations default="com.learning-technologies">
<organization identifier="com.learning-technologies" structure="hierarchical" adlseq:objectivesGlobalToSystem="false">
<title>Business Writing</title>
<item identifier="sco1_item" identifierref="sco1_resource" isvisible="true">
<title>Business Writing</title>
<imsss:sequencing IDRef="common_seq_rules">
<imsss:objectives>
<imsss:primaryObjective objectiveID="sco1_satisified">
<imsss:mapInfo readSatisfiedStatus="true" targetObjectiveID="com.learning-technologies.sco1_satisfied" writeSatisfiedStatus="true"/>
</imsss:primaryObjective>
</imsss:objectives>
</imsss:sequencing>
<adlnav:presentation>
<adlnav:navigationInterface>
<adlnav:hideLMSUI>previous</adlnav:hideLMSUI>
<adlnav:hideLMSUI>continue</adlnav:hideLMSUI>
</adlnav:navigationInterface>
</adlnav:presentation>
</item>
<item identifier="sco2_item" identifierref="sco2_resource" isvisible="true">
<title>Business Writing - Assessment</title>
<imsss:sequencing IDRef="common_seq_rules">
<imsss:sequencingRules>
<imsss:preConditionRule>
<imsss:ruleConditions conditionCombination="any">
<imsss:ruleCondition condition="satisfied" operator="not" referencedObjective="previous_sco_satisfied"/>
<imsss:ruleCondition condition="objectiveStatusKnown" operator="not" referencedObjective="previous_sco_satisfied"/>
</imsss:ruleConditions>
<imsss:ruleAction action="disabled"/>
</imsss:preConditionRule>
</imsss:sequencingRules>
<imsss:objectives>
<imsss:primaryObjective objectiveID="sco2_satisfied">
<imsss:mapInfo readSatisfiedStatus="true" targetObjectiveID="com.learning-technologies.sco2_satisfied" writeSatisfiedStatus="true"/>
</imsss:primaryObjective>
<imsss:objective objectiveID="previous_sco_satisfied">
<imsss:mapInfo readSatisfiedStatus="true" targetObjectiveID="com.learning-technologies.sco1_satisfied" writeSatisfiedStatus="false"/>
</imsss:objective>
</imsss:objectives>
</imsss:sequencing>
</item>
<imsss:sequencing>
<imsss:controlMode choice="true" flow="true"/>
</imsss:sequencing>
</organization>
</organizations>
<resources>
<resource identifier="sco1_resource" type="webcontent" adlcp:scormType="sco" href="Business Writing v19a.htm">
<file href="Business Writing v19a.htm"/>
</resource>
<resource identifier="sco2_resource" type="webcontent" adlcp:scormType="sco" href="Assessment\index.html">
<file href="Assessment\index.html"/>
</resource>
Thanks!
Upvotes: 0
Views: 899
Reputation: 2549
Sorry it took awhile for someone to answer. I just went thru this for someone on LinkedIn. "cmi.score.scaled" is the main one you'd want to make sure is getting set.
I have a Gist up in a similar fashion with an example of the prereq and ability to rollup the score properly. https://gist.github.com/cybercussion/11192402
Also a sample CAM with QUnit Test. https://dl.dropboxusercontent.com/u/47351904/samplecourse.zip
Edit: Adding a Test to match the use case: https://dl.dropboxusercontent.com/u/47351904/samplemultisco-intro-test.zip
First QUnit SCO test will only set cmi.completion_status, and cmi.success_status (completed/passed). Second Qunit SCO will run 10 objectives/interactions and set a score of 0.75 (75%). imsmanifest.xml updated to match the needs of a pre-test SCO followed by a quiz/test.
Thanks, Mark
Upvotes: 1