Scorm 2004 4-е издание CM-04b тест

У меня есть вопрос о тесте Scorm 2004 4th edition CM-04b. Я не понимаю, почему в действии 15 предыдущая кнопка должна быть отключена. Для родительского элемента Activity 15 установлен поток, равный true, поэтому кнопки «Продолжить» и «Предыдущий» должны быть включены. Может кто-нибудь объяснить мне, почему это должно быть отключено?

Это манифест тестового костюма Scorm 2004 4th Edition — 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>

Активность 15 — это лист, поэтому мы смотрим на его родителя, который является корнем дерева. Корень имеет controlMode flow="true" и controlChoice не определен, поэтому мы берем значение по умолчанию, которое равно true. Поэтому я не понимаю, почему предыдущая кнопка должна быть отключена.

И журнал.

 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" 

person user2470967    schedule 27.11.2013    source источник


Ответы (1)


поток «true» должен позволять упорядочивать запросы, как вы указали. Однако, если выбор неверен, кнопки навигации будут скрыты на уровне LMS.

Я взял ваш пример здесь и изменил его, чтобы узнать, что происходит. При добавлении...

<imsss:sequencing>
    <imsss:controlMode flow="true"/>
</imsss:sequencing>

... чтобы это позволяло вам продвигаться в каждом разделе, вам нужно поместить его в корень этого действия. Это позволило следующему/предыдущему продолжить действия, которые есть в вашем дереве.

Мой измененный XML с комментариями

<?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&amp;act=2" identifierref="SEQ01">
                <title>Activity 2</title>
            </item>
            <item identifier="activity_3" parameters="?tc=CM-04b&amp;act=3" identifierref="SEQ01">
                <title>Activity 3</title>
            </item>
            <!-- This enabled the flow thru activity 1 (2,3) -->
            <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&amp;act=5" identifierref="SEQ01">
                <title>Activity 5</title>
            </item>
            <item identifier="activity_6" parameters="?tc=CM-04b&amp;act=6" identifierref="SEQ01">
                <title>Activity 6</title>
            </item>
            <item identifier="activity_7" parameters="?tc=CM-04b&amp;act=7" identifierref="SEQ01">
                <title>Activity 7</title>
            </item>
            <!-- This enabled the flow thru activity 4 (5,6,7) -->
            <imsss:sequencing>
                <imsss:controlMode flow="true"/>
            </imsss:sequencing>
        </item>
        <item identifier="activity_8">
            <title>Activity 8</title>
            <item identifier="activity_9" parameters="?tc=CM-04b&amp;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&amp;act=12"
                        identifierref="SEQ01">
                        <title>Activity 12</title>
                    </item>
                    <item identifier="activity_13" parameters="?tc=CM-04b&amp;act=13"
                        identifierref="SEQ01">
                        <title>Activity 13</title>
                    </item>
                    <imsss:sequencing>
                        <!-- This enabled the flow thru activity 10 (11,12,13) -->
                        <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&amp;act=14" identifierref="SEQ01">
                    <title>Activity 14</title>
                </item>
                <!-- This enabled the flow thru activity 10,14 -->
                <imsss:sequencing>
                    <imsss:controlMode flow="true"/>
                </imsss:sequencing>
            </item>
            <!-- This enabled the flow thru activity 8, (9, 10) -->
            <imsss:sequencing>
                <imsss:controlMode flow="true"/>
            </imsss:sequencing>
        </item>
        <item identifier="activity_15" parameters="?tc=CM-04b&amp;act=15" identifierref="SEQ01">
            <title>Activity 15</title>
        </item>
        <!-- This enabled the flow thru activity 1, 4, 8, 15 -->
        <imsss:sequencing>
            <imsss:controlMode flow="true"/>
        </imsss:sequencing>
    </organization>
</organizations>
<resources>
    <resource identifier="SEQ01" type="webcontent" adlcp:scormType="sco" xml:base="QUnit-Tests/" href="qunit_SCOBot_prod.html">
        <metadata />
        <!--****** FILES ******-->
        <file href="qunit_SCOBot_prod.html" />
        <file href="js/scorm.bot.pack.js" />
        <file href="js/test/scobot.js" />
        <dependency identifierref="common_files" />
    </resource>
    <!-- Shared Assets (optional deployment capability) -->
    <resource identifier="common_files" type="webcontent" xml:base="QUnit-Tests/" adlcp:scormType="asset">
        <file href="css/qunit-1.12.0.css" />
        <file href="js/util/json2.js" />
        <file href="js/jquery/jquery-1.10.2.js"/>
        <file href="js/jquery/jquery-1.10.2.min.js"/>
        <file href="js/jquery/plugins/qunit-1.12.0.js" />
    </resource>
</resources>

person Mark    schedule 07.12.2013
comment
Ну, выбор имеет значение по умолчанию, которое верно - person user2470967; 11.12.2013
comment
Привет, в действии 1 есть правила для следующего/предыдущего. Действие 4 — нет, поэтому оно самоуправляемое. Упражнение 8 является самоуправляемым, но подупражнение 11 позволяет переходить к следующему/предыдущему. 14 разрешено перейти к 15, но поскольку предыдущий уровень 8 не имеет управления потоком, он не может вернуться назад. Я думаю, это связано с тем, что действия 4 и 8 являются контейнерными действиями. - person Mark; 17.01.2014