<adlcp:data> & <adlcp:map>元素无法理解

<adlcp:data> & <adlcp:map>element not understandable

我正在研究基于 LMSSCORM 2004 第 4th,其中我我在起步阶段。 因此,我正在阅读基于 SCORM 的文档。
SCORM 2004第4th版CAM文档中,卡在了CAM-3-37[=55=页面],
其中元素 adlcp:data 定义为

容器,用于定义与 activity.

adlcp:data 的子元素,即; map 定义为

元素是用来描述activity如何利用特定的容器 一组共享数据。

我想,我可能会理解它,因为我会继续阅读所说的书。 但是,我完成了 CAM 书,但我无法理解这两个标签是如何工作的。
另外,我们举个例子来考虑,如下:

    <adlcp:data>
      <adlcp:map targetID="com.scorm.golfsamples.sequencing.forcedsequential.notesStorage" readSharedData="true" writeSharedData="true"/>
    </adlcp:data>

其中,readSharedData 属性表示 当前可用的共享数据将在 activity 处于活动状态时使用。
writeSharedData 属性表示 共享数据应在终止时保留(真或假)( Terminate(“”) ) 在 activity.
上的尝试 在这种情况下,

我不明白这个 targetID= com.scorm.golfsamples.sequencing.forcedsequential.notesStorage 表示什么。

我不明白这是什么共享数据?它位于哪里?它究竟是什么?
谁能帮助我理解上述要素?

adlcp:data 是一种在 LMS 上定义 space 的方法,用于存储不适合 CMI 数据模型的信息,或者您想要跨 SCO 访问。

有 3 个部分来定义这个 space。
1. 元素上的 adlcp:sharedDataGlobalToSystem 属性,表示共享数据是否可用于一次尝试或每次尝试(也就是每次学习者参加课程时它都会被清除)。参见 CAM-3-27
2. adlcp:data & adlcp:map 元素列出了您希望为该 SCO 提供的 space(s)。您为每个存储定义一个 ID space,然后添加访问控制,表示 SCO 是否可以读取或写入存储 space。 (参见 CAM-3-37)

这两个为内容包中的每个 SCO 设置 LMS 存储和行为。

RTE 书的第 4.3 节中描述了最后一块。要访问数据存储 spaces,您使用 SCORM API GetValueSetValue 请求和数据模型元素adl.data.n.store

另外请注意,由于不一定要维护 id 顺序,因此您需要遍历 SCO 中的 adl.data 存储并确定哪个索引指向哪个 ID。

Tom Creightons 的回答很好地解释了共享存储桶的实现。

我只是添加一些我们在实施过程中发现的建议。

  1. 保存的数据适用于 "learner",可以跨不同的 SCO 或分配给学习者的课程进行访问和设置。但请注意,如果您使用的是 SCORM Cloud,则清除 GLobals 按钮将清除分配给用户的所有课程的数据。
  2. 虽然 Tom 提到 adlcp:sharedDataGlobalToSystem 是特定于尝试的,但 SCORM 云支持表示它仅限于 course/SCO。我还没有弄清楚这一点。
  3. 保存的桶数可能有限制。我还没有确认这一点,很快就会更新这个回复。

对于那些寻找更多实施信息的人:

  1. 将此添加到清单中的项目(组织 > 项目):
    <adlcp:data> <adlcp:map targetID="mybucketname" readSharedData="true" writeSharedData="true"/> </adlcp:data>

    1. JS 部分(使用您的 API 调用代替 LMSGetValue 和 LMSSetValue)

      var dataBucketsCount = LMSGetValue("adl.data._count"); dataBucketsCount = parseInt(dataBucketsCount); for (var i=0; i < dataBucketsCount; i++){ if (LMSGetValue("adl.data." + i + ".id") == "mybucketname"){ //do your processing with the data } }

我不得不为此进行大量搜索,并尝试多次失败,直到我们做对为止。所以我在这里添加了这个,所以将来它可能会对某人有所帮助。