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

SCORM 2004(第4版)Available Children选择与随机化执行时机问询

关于SCORM 2004(第4版)Available Children 选择与随机化时机的解答

你的理解核心逻辑符合规范设计,但存在两处容易引发实现异常的规则遗漏,结合正式规范条文拆解如下:

两类核心流程的明确触发规则

  • Select Children Process [SR.1] 仅在两个固定场景触发:
    • 活动树首次初始化阶段,所有 sequencing/navigation 请求处理之前执行
    • 若活动的selectionTiming属性配置为onEachNewAttempt,则在该活动的新尝试正式启动前、子活动路径遍历开始前执行
      规范未明确定义该场景的实现细节,本质是因为该配置和随机化流程存在原生逻辑冲突,可能导致选中活动从可用列表消失,目前主流LMS几乎都不开放该配置的支持。
  • Randomize Children Process [SR.2] 的触发时机由活动的randomizeTiming属性决定:
    • 属性值为once时,仅在活动树初始化阶段和SR.1配对执行一次即可,无需重复运行
    • 属性值为onEachNewAttempt时,在该活动的每一次新尝试启动前重新执行一次

DB.2流程的冲突问题澄清

你担心的Content Delivery Environment Process [DB.2]遍历路径时执行随机化导致目标活动位置偏移的问题,规范有明确的隐含约束:

所有SR.1、SR.2的执行必须全部完成后,才会启动DB.2的活动路径遍历逻辑。即使新尝试需要重新运行选择、随机化流程,也要先从父层级自上而下完成所有子列表的过滤、排序后,再开始路径匹配,不会出现已确定的目标活动位置偏移的异常。

对你现有理解的修正补充

  1. 不需要对DB.2路径上的所有活动都重新执行SR.2,仅需要对randomizeTiming = onEachNewAttempt的活动重跑流程即可,其余活动沿用初始化阶段的排序结果
  2. Available Children的处理顺序必须固定:先初始化为全量子活动列表,再依次执行SR.1(过滤可选活动)、SR.2(随机排序),顺序不能颠倒
  3. 选择、随机化流程仅对开启了对应配置的活动执行,无对应配置的活动无需运行相关流程

内容的提问来源于stack exchange,提问作者Alan Plum

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 02:36:03