I've got a question about Scorm 2004 4th edition CM-04b test. I don't understand why in Activity 15 the previous button should be disabled. There is a flow set to true on the parent of Activity 15, so the buttons continue and previous should be enabled. Could someone explain to me why it should be disabled ?
This is the manifest of Scorm 2004 4th Edition Test Suit - Test LMS Test Content Package CM-04b.
<?xml version="1.0"?>
-<manifest 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.imsglobal.org/xsd/imsss imsss_v1p0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:imsss="http://www.imsglobal.org/xsd/imsss" xmlns:adlseq="http://www.adlnet.org/xsd/adlseq_v1p3" xmlns:adlcp="http://www.adlnet.org/xsd/adlcp_v1p3" xmlns="http://www.imsglobal.org/xsd/imscp_v1p1" version="1.1.1" identifier="LMSTestPackage_CM-04b">
-<metadata>
<schema>ADL SCORM</schema>
<schemaversion>2004 4th Edition</schemaversion>
</metadata>
-<organizations default="CM-04b">
-<organization identifier="CM-04b">
<title>LMS Test Content Package CM-04b </title>
-<item identifier="activity_1">
<title>Activity 1</title>
-<item identifier="activity_2" parameters="?tc=CM-04b&act=2" identifierref="SEQ01">
<title>Activity 2</title>
</item>
-<item identifier="activity_3" parameters="?tc=CM-04b&act=3" identifierref="SEQ01">
<title>Activity 3</title>
</item>
-<imsss:sequencing>
<imsss:controlMode flow="true"/>
</imsss:sequencing>
</item>
-<item identifier="activity_4">
<title>Activity 4</title>
-<item identifier="activity_5" parameters="?tc=CM-04b&act=5" identifierref="SEQ01">
<title>Activity 5</title>
</item>
-<item identifier="activity_6" parameters="?tc=CM-04b&act=6" identifierref="SEQ01">
<title>Activity 6</title>
</item>
-<item identifier="activity_7" parameters="?tc=CM-04b&act=7" identifierref="SEQ01">
<title>Activity 7</title>
</item>
</item>
-<item identifier="activity_8">
<title>Activity 8</title>
-<item identifier="activity_9" parameters="?tc=CM-04b&act=9" identifierref="SEQ01">
<title>Activity 9</title>
</item>
-<item identifier="activity_10">
<title>Activity 10</title>
-<item identifier="activity_11">
<title>Activity 11</title>
-<item identifier="activity_12" parameters="?tc=CM-04b&act=12" identifierref="SEQ01">
<title>Activity 12</title>
</item>
-<item identifier="activity_13" parameters="?tc=CM-04b&act=13" identifierref="SEQ01">
<title>Activity 13</title>
</item>
-<imsss:sequencing>
<imsss:controlMode flow="true"/>
-<imsss:sequencingRules>
-<imsss:preConditionRule>
-<imsss:ruleConditions>
<imsss:ruleCondition condition="attempted"/>
</imsss:ruleConditions>
<imsss:ruleAction action="skip"/>
</imsss:preConditionRule>
</imsss:sequencingRules>
</imsss:sequencing>
</item>
-<item identifier="activity_14" parameters="?tc=CM-04b&act=14" identifierref="SEQ01">
<title>Activity 14</title>
</item>
-<imsss:sequencing>
<imsss:controlMode flow="true"/>
</imsss:sequencing>
</item>
</item>
-<item identifier="activity_15" parameters="?tc=CM-04b&act=15" identifierref="SEQ01">
<title>Activity 15</title>
</item>
-<imsss:sequencing>
<imsss:controlMode flow="true"/>
</imsss:sequencing>
</organization>
</organizations>
-<resources>
-<resource identifier="SEQ01" xml:base="resources/" href="SequencingTest.htm" adlcp:scormType="sco" type="webcontent">
<file href="SequencingTest.htm"/>
<dependency identifierref="LMSFNCTS01"/>
<dependency identifierref="JAR01"/>
<dependency identifierref="ABOUT01"/>
<dependency identifierref="EMULATION01"/>
<dependency identifierref="LMSINCLUDE"/>
</resource>
-<resource identifier="LMSFNCTS01" adlcp:scormType="asset" type="webcontent">
<file href="common/lmsrtefunctions.js"/>
</resource>
-<resource identifier="JAR01" xml:base="common/" adlcp:scormType="asset" type="webcontent">
<file href="LMSTest.jar"/>
</resource>
-<resource identifier="ABOUT01" adlcp:scormType="asset" type="webcontent">
<file href="common/About.js"/>
</resource>
-<resource identifier="EMULATION01" adlcp:scormType="asset" type="webcontent">
<file href="common/EmulationCode.js"/>
<dependency identifierref="BROWSERDETECT01"/>
</resource>
-<resource identifier="BROWSERDETECT01" adlcp:scormType="asset" type="webcontent">
<file href="common/BrowserDetect.js"/>
</resource>
-<resource identifier="LMSINCLUDE" adlcp:scormType="asset" type="webcontent">
<file href="includes/LMSTestContentPackages_style.css"/>
</resource>
</resources>
</manifest>
Activity 15 is a leaf, so we look at it's parent which is the root of tree. The root has controlMode flow="true" and controlChoice is not definied so we take default value which is true. So I don't get it why the previous button should be disabled.
And the log.
Start ADL LMS Test Content Package CM-04b
Testing Activity 2
Activity 2 was launched as expected
All User Interface inspection questions were answered as expected
Evaluating Initialize("") - Expected: "true" - LMS Returned: "true"
Evaluating GetLastError("") - Expected: "0" - LMS Returned: "0"
Evaluating GetValue("adl.nav.request_valid.continue") - Expected: "true" - LMS Returned: "true"
Evaluating GetLastError("") - Expected: "0" - LMS Returned: "0"
Evaluating GetValue("adl.nav.request_valid.previous") - Expected: "true" - LMS Returned: "true"
Evaluating GetLastError("") - Expected: "0" - LMS Returned: "0"
Evaluating GetValue("adl.nav.request_valid.choice.{target=activity_2}") - Expected: "true" - LMS Returned: "true"
Evaluating GetValue("adl.nav.request_valid.choice.{target=activity_3}") - Expected: "true" - LMS Returned: "true"
Evaluating GetValue("adl.nav.request_valid.choice.{target=activity_6}") - Expected: "true" - LMS Returned: "true"
Evaluating GetValue("adl.nav.request_valid.choice.{target=activity_9}") - Expected: "true" - LMS Returned: "true"
Evaluating GetValue("adl.nav.request_valid.choice.{target=activity_12}") - Expected: "true" - LMS Returned: "true"
Evaluating GetValue("adl.nav.request_valid.choice.{target=activity_15}") - Expected: "true" - LMS Returned: "true"
Evaluating SetValue("cmi.exit", "normal") - Expected: "true" - LMS Returned: "true"
Evaluating GetLastError("") - Expected: "0" - LMS Returned: "0"
Testing Activity 12
Activity 12 was launched as expected
Evaluating Initialize("") - Expected: "true" - LMS Returned: "true"
Evaluating GetLastError("") - Expected: "0" - LMS Returned: "0"
Evaluating GetValue("adl.nav.request_valid.continue") - Expected: "true" - LMS Returned: "true"
Evaluating GetLastError("") - Expected: "0" - LMS Returned: "0"
Evaluating GetValue("adl.nav.request_valid.previous") - Expected: "true" - LMS Returned: "true"
Evaluating GetLastError("") - Expected: "0" - LMS Returned: "0"
Evaluating GetValue("adl.nav.request_valid.choice.{target=activity_2}") - Expected: "true" - LMS Returned: "true"
Evaluating GetValue("adl.nav.request_valid.choice.{target=activity_3}") - Expected: "true" - LMS Returned: "true"
Evaluating GetValue("adl.nav.request_valid.choice.{target=activity_6}") - Expected: "true" - LMS Returned: "true"
Evaluating GetValue("adl.nav.request_valid.choice.{target=activity_9}") - Expected: "true" - LMS Returned: "true"
Evaluating GetValue("adl.nav.request_valid.choice.{target=activity_12}") - Expected: "true" - LMS Returned: "true"
Evaluating GetValue("adl.nav.request_valid.choice.{target=activity_15}") - Expected: "true" - LMS Returned: "true"
Evaluating SetValue("cmi.exit", "normal") - Expected: "true" - LMS Returned: "true"
Evaluating GetLastError("") - Expected: "0" - LMS Returned: "0"
Testing Activity 14
Activity 14 was launched as expected
Evaluating Initialize("") - Expected: "true" - LMS Returned: "true"
Evaluating GetLastError("") - Expected: "0" - LMS Returned: "0"
Evaluating SetValue("cmi.exit", "normal") - Expected: "true" - LMS Returned: "true"
Evaluating GetLastError("") - Expected: "0" - LMS Returned: "0"
Testing Activity 2
Activity 2 was launched as expected
Evaluating Initialize("") - Expected: "true" - LMS Returned: "true"
Evaluating GetLastError("") - Expected: "0" - LMS Returned: "0"
Evaluating SetValue("cmi.exit", "normal") - Expected: "true" - LMS Returned: "true"
Evaluating GetLastError("") - Expected: "0" - LMS Returned: "0"
Testing Activity 15
Activity 15 was launched as expected
ERROR: Did the LMS provide an enabled UI device that corresponds to the Previous Navigation Event? - Expected: No - Answered: Yes
Evaluating Initialize("") - Expected: "true" - LMS Returned: "true"
Evaluating GetLastError("") - Expected: "0" - LMS Returned: "0"
Evaluating SetValue("cmi.exit", "normal") - Expected: "true" - LMS Returned: "true"
Evaluating GetLastError("") - Expected: "0" - LMS Returned: "0"