My SCO is very basic, with an empty html page. I am utilizing the pipwerks scorm api wrapper in Chrome dev tools to establish a connection to the LMS, set cmi.completion_status to "completed", and cmi.success_status to "failed" (as outlined in the scorm runtime reference ). However, upon saving and exiting, when I return to the LMS webpage, my attempt is not marked as "completed". If I change the success status to "passed", everything works correctly, marking the SCO as completed and allowing me to close it. I suspect there may be an option within imsmanifest.xml that I am overlooking.
This is the content of my imsmanifest.xml file:
<?xml version="1.0" standalone="no" ?>
<manifest identifier="com.scorm.golfsamples.contentpackaging.singlesco.20043rd" version="1"
xmlns="http://www.imsglobal.org/xsd/imscp_v1p1"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:adlcp="http://www.adlnet.org/xsd/adlcp_v1p3"
xmlns:adlseq="http://www.adlnet.org/xsd/adlseq_v1p3"
xmlns:adlnav="http://www.adlnet.org/xsd/adlnav_v1p3"
xmlns:imsss="http://www.imsglobal.org/xsd/imsss"
xsi:schemaLocation="http://www.imsglobal.org/xsd/imscp_v1p1 imscp_v1p1.xsd
http://www.adlnet.org/xsd/adlcp_v1p3 adlcp_v1p3.xsd
http://www.adlnet.org/xsd/adlseq_v1p3 adlseq_v1p3.xsd
http://www.adlnet.org/xsd/adlnav_v1p3 adlnav_v1p3.xsd
http://www.imsglobal.org/xsd/imsss imsss_v1p0.xsd">
<metadata>
<schema>ADL SCORM</schema>
<schemaversion>2004 3rd Edition</schemaversion>
</metadata>
<organizations default="golf_sample_default_org">
<organization identifier="golf_sample_default_org">
<title>Single SCO</title>
<item identifier="item_1" identifierref="resource_1">
<title>Single SCO</title>
</item>
</organization>
</organizations>
<resources>
<resource identifier="resource_1" type="webcontent" adlcp:scormType="sco" href="index.html">
<file href = "index.html"/>
<file href = "SCORM_API_WRAPPER.js"/>
</resource>
</resources>
</manifest>
The HTML page I am using:
<!DOCTYPE html>
<html lang="en">
<head>
<title>Single SCO</title>
<script src="SCORM_API_wrapper.js"></script>
<script>
function loadPage() {
pipwerks.SCORM.init();
pipwerks.SCORM.set("cmi.completion_status", "completed");
pipwerks.SCORM.set("cmi.success_status", "failed");
pipwerks.SCORM.set("cmi.score.raw", "50");
pipwerks.SCORM.set("cmi.score.min", "0");
pipwerks.SCORM.set("cmi.score.max", "100");
pipwerks.SCORM.save();
}
</script>
</head>
<body onload="loadPage()">
</body>
</html>
UPDATE: I have adjusted the HTML page to automatically execute these calls.