<adlcp:data> & <adlcp:map>元素无法理解
<adlcp:data> & <adlcp:map>element not understandable
我正在研究基于 LMS 的 SCORM 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 GetValue 和 SetValue 请求和数据模型元素adl.data.n.store。
另外请注意,由于不一定要维护 id 顺序,因此您需要遍历 SCO 中的 adl.data 存储并确定哪个索引指向哪个 ID。
Tom Creightons 的回答很好地解释了共享存储桶的实现。
我只是添加一些我们在实施过程中发现的建议。
- 保存的数据适用于 "learner",可以跨不同的 SCO 或分配给学习者的课程进行访问和设置。但请注意,如果您使用的是 SCORM Cloud,则清除 GLobals 按钮将清除分配给用户的所有课程的数据。
- 虽然 Tom 提到 adlcp:sharedDataGlobalToSystem 是特定于尝试的,但 SCORM 云支持表示它仅限于 course/SCO。我还没有弄清楚这一点。
- 保存的桶数可能有限制。我还没有确认这一点,很快就会更新这个回复。
对于那些寻找更多实施信息的人:
将此添加到清单中的项目(组织 > 项目):
<adlcp:data>
<adlcp:map targetID="mybucketname" readSharedData="true" writeSharedData="true"/>
</adlcp:data>
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
}
}
我不得不为此进行大量搜索,并尝试多次失败,直到我们做对为止。所以我在这里添加了这个,所以将来它可能会对某人有所帮助。
我正在研究基于 LMS 的 SCORM 2004 第 4th 版,其中我我在起步阶段。
因此,我正在阅读基于 SCORM 的文档。 容器,用于定义与
activity.
在SCORM 2004第4th版CAM文档中,卡在了CAM-3-37[=55=页面],
其中元素 adlcp:data 定义为
元素是用来描述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 GetValue 和 SetValue 请求和数据模型元素adl.data.n.store。
另外请注意,由于不一定要维护 id 顺序,因此您需要遍历 SCO 中的 adl.data 存储并确定哪个索引指向哪个 ID。
Tom Creightons 的回答很好地解释了共享存储桶的实现。
我只是添加一些我们在实施过程中发现的建议。
- 保存的数据适用于 "learner",可以跨不同的 SCO 或分配给学习者的课程进行访问和设置。但请注意,如果您使用的是 SCORM Cloud,则清除 GLobals 按钮将清除分配给用户的所有课程的数据。
- 虽然 Tom 提到 adlcp:sharedDataGlobalToSystem 是特定于尝试的,但 SCORM 云支持表示它仅限于 course/SCO。我还没有弄清楚这一点。
- 保存的桶数可能有限制。我还没有确认这一点,很快就会更新这个回复。
对于那些寻找更多实施信息的人:
将此添加到清单中的项目(组织 > 项目):
<adlcp:data> <adlcp:map targetID="mybucketname" readSharedData="true" writeSharedData="true"/> </adlcp:data>
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 } }
我不得不为此进行大量搜索,并尝试多次失败,直到我们做对为止。所以我在这里添加了这个,所以将来它可能会对某人有所帮助。