我对Scorm 2004第4版有疑问。我真的不明白如何暂停所有工作然后恢复所有工作。通过阅读有关Scorm的文档书籍,我得出结论,当我设置“Suspend All”的导航请求时,我应该记住(在数据库中)来自所有SCO的所有ScoData,我也应该记住一个请求“Suspend all”的活动。据我所知,当我再次运行该课程时,我应该从数据库中恢复所有SCO的ScoData并运行发出“Suspend All”请求的SCO。当我针对Scorm Test Suite进行测试时,我发现了一个问题,这使我确信我的理解并不完整。我一直在文档中搜索答案,但找不到答案。这就是我寻求帮助的原因。
例如,我将展示Scorm Test CM-09ba和CM09-ca
CM-09ba的宣言
<organizations default="CM-09ba">
<organization identifier="CM-09ba">
<title>LMS Test Content Package CM-09ba </title>
<item identifier="activity_1" parameters="?tc=CM-09ba&act=1" identifierref="SEQ01">
<title>Activity 1</title>
</item>
<item identifier="activity_2" parameters="?tc=CM-09ba&act=2" identifierref="SEQ01">
<title>Activity 2</title>
</item>
<item identifier="activity_3" parameters="?tc=CM-09ba&act=3" identifierref="SEQ01">
<title>Activity 3</title>
</item>
<item identifier="activity_4" parameters="?tc=CM-09ba&act=4" identifierref="SEQ01">
<title>Activity 4</title>
</item>
<imsss:sequencing>
<imsss:controlMode flow="true"/>
</imsss:sequencing>
</organization>
</organizations>
显示CM-09ca
<organizations default="CM-09ca">
<organization identifier="CM-09ca">
<title>LMS Test Content Package CM-09ca </title>
<item identifier="activity_1" parameters="?tc=CM-09ca&act=1" identifierref="SEQ01">
<title>Activity 1</title>
</item>
<item identifier="activity_2" parameters="?tc=CM-09ca&act=2" identifierref="SEQ01">
<title>Activity 2</title>
</item>
<item identifier="activity_3" parameters="?tc=CM-09ca&act=3" identifierref="SEQ01">
<title>Activity 3</title>
<imsss:sequencing>
<imsss:sequencingRules>
<imsss:postConditionRule>
<imsss:ruleConditions>
<imsss:ruleCondition condition="always"/>
</imsss:ruleConditions>
<imsss:ruleAction action="continue"/>
</imsss:postConditionRule>
</imsss:sequencingRules>
</imsss:sequencing>
</item>
<item identifier="activity_4" parameters="?tc=CM-09ca&act=4" identifierref="SEQ01">
<title>Activity 4</title>
</item>
<imsss:sequencing>
<imsss:controlMode flow="true"/>
</imsss:sequencing>
</organization>
</organizations>
测试CM-09ba的结果
Start ADL LMS Test Content Package CM-09ba
Testing Activity 1
Activity 1 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("adl.nav.request", "previous") - Expected: "true" - LMS Returned: "true"
Evaluating GetLastError("") - Expected: "0" - LMS Returned: "0"
Testing Activity 3
Activity 3 was launched as expected
Evaluating Initialize("") - Expected: "true" - LMS Returned: "true"
Evaluating GetLastError("") - Expected: "0" - LMS Returned: "0"
Evaluating SetValue("adl.nav.request", "suspendAll") - Expected: "true" - LMS Returned: "true"
Evaluating GetLastError("") - Expected: "0" - LMS Returned: "0"
Testing Activity 1
ERROR: Expected Activity 1 - LMS Launched Activity 3
测试CM-09ca的结果 启动ADL LMS测试内容包CM-09ca
Testing Activity 1
Activity 1 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 3
Activity 3 was launched as expected
Evaluating Initialize("") - Expected: "true" - LMS Returned: "true"
Evaluating GetLastError("") - Expected: "0" - LMS Returned: "0"
Evaluating SetValue("adl.nav.request", "previous") - Expected: "true" - LMS Returned: "true"
Evaluating GetLastError("") - Expected: "0" - LMS Returned: "0"
Testing Activity 4
Activity 4 was launched as expected
Evaluating Initialize("") - Expected: "true" - LMS Returned: "true"
Evaluating GetLastError("") - Expected: "0" - LMS Returned: "0"
Evaluating SetValue("adl.nav.request", "previous") - Expected: "true" - LMS Returned: "true"
Evaluating GetLastError("") - Expected: "0" - LMS Returned: "0"
Testing Activity 4
Activity 4 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"
ADL LMS Test Content Package CM-09ca passed all tests
在测试CM-09ca中,我们开始测试,然后要求我们从树中定位“活动3”,然后定位“活动1”。在“活动4”上,我们被要求触发“全部暂停”按钮。
我不知道为什么在测试CM-09ba中我应该恢复活动1.我是否应该找到第一个没有以cmi.exit结尾的活动设置为“正常”然后终止它?在CM-09ba中,第一个是活动2,并且由于终止,我将检查先前的adl.nav.request,以便恢复活动1。在CM-09ca中,没有以cmi.exit设置为“正常”的第一个活动将是活动3,并且由于终止它将触发后续行动?它是否正确?
提前感谢您的任何答案。
答案 0 :(得分:3)
它与第二次输入内容的过程有关。 CM-09ba发出一个开始导航请求,开始对内容进行新的尝试(擦除所有数据,cmi.entry是ab-initio)。 CM-09ca发出一个恢复所有导航请求,该请求应该从最后一次尝试中断后继续。
这在附录A下的一致性(测试)要求文档中列出。以下是第3版一致性要求的链接:http://www.adlnet.gov/wp-content/uploads/2011/07/scorm.2004.3ed.confreq.v1.0.pdf
仅供记录,步骤如下:
CM-09ba
CM-09ca