You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SCORM 2004第4版:完成前置项后如何让First Attempt可选?

SCORM 2004第4版:完成前置SCO后显示考试项的配置方案

问题背景

现有SCORM 2004第4版的imsmanifest部分配置,已实现前置目标preexam_lesson状态未知(未启动)时隐藏First Attempt项,但需要实现:学员完成preexam_lesson后,First Attempt自动变为可选择状态。查阅ADL的CAM和SN手册后,未找到action='enable'的ruleAction,需解决该配置问题。

原配置代码

<item identifier="preexam_lesson" identifierref="lessonItem_resource">
      <title>Pre-Exam Information</title>
          <imsss:sequencing>
              <imsss:objectives>
                  <imsss:primaryObjective objectiveID="preexam_info">
                     <imsss:mapInfo targetObjectiveID="preexamItem_status"/>
                  </imsss:primaryObjective>
             </imsss:objectives>
             <adlseq:objectives>
                 <adlseq:objective objectiveID="preexam_info" writeCompletionStatus='true' />
             </adlseq:objectives>
             <imsss:deliveryControls completionSetByContent="true" objectiveSetByContent='true' />
         </imsss:sequencing>
     </item>

     <item identifier="exam_attempt_1" identifierref="graded_exam_resource">
        <title>First Attempt</title>
            <imsss:sequencing>
                <imsss:sequencingRules>
                   <imsss:preConditionRule>
                       <imsss:ruleConditions conditionCombination="any">
                          <!-- <imsss:ruleCondition referencedObjective="previous_sco_completed" operator="not" condition="completed"/> -->
                      <imsss:ruleCondition referencedObjective="previous_sco_completed" operator="not" condition="objectiveStatusKnown"/>
                    </imsss:ruleConditions>
                    <imsss:ruleAction action="hiddenFromChoice"/>
               </imsss:preConditionRule>
          </imsss:sequencingRules>

          <imsss:objectives>
              <imsss:primaryObjective objectiveID="examAttempt1OBJ">
                                <imsss:minNormalizedMeasure>0.75</imsss:minNormalizedMeasure>
              </imsss:primaryObjective>
              <imsss:objective objectiveID="previous_sco_completed" />
          </imsss:objectives>
          <adlseq:objectives>
              <adlseq:objective objectiveID="examAttempt1OBJ"/>
                 <adlseq:objective objectiveID="previous_sco_completed">
                     <adlseq:mapInfo targetObjectiveID="preexamItem_status" readCompletionStatus="true"/>
                 </adlseq:objective>
         </adlseq:objectives>
                         
    </imsss:sequencing>

   <imsss:limitConditions attemptLimit="1" />
</item>

解决方案

SCORM 2004的预条件规则逻辑是满足设定条件时执行对应动作,没有直接的"enable"动作,但可以通过调整规则触发条件实现需求:

  • 修改exam_attempt_1的预条件规则,让hiddenFromChoice动作仅在前置目标未完成时触发。当学员完成preexam_lesson后,前置目标状态变为已完成,规则条件不再满足,隐藏动作自动失效,First Attempt项即可选。

修改后的核心配置代码

<imsss:sequencingRules>
    <imsss:preConditionRule>
        <imsss:ruleConditions conditionCombination="any">
            <!-- 替换原规则条件,仅当前置目标未完成时隐藏 -->
            <imsss:ruleCondition referencedObjective="previous_sco_completed" operator="not" condition="completed"/>
        </imsss:ruleConditions>
        <imsss:ruleAction action="hiddenFromChoice"/>
    </imsss:preConditionRule>
</imsss:sequencingRules>

关键验证点

  1. 确认preexam_lesson的completionSetByContent="true"配置正确,确保SCO内容能正确上报完成状态。
  2. 检查previous_sco_completed目标的mapInfo映射,确保它能正确读取preexamItem_status的完成状态。

效果验证截图

SCORM Cloud状态(完成Preexam Info后)

内容的提问来源于stack exchange,提问作者Energetic Pixels

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 09:23:13