我是SCORM本身的新手,我在通过Moodle的LMS API跟踪进度时遇到问题
SCORM版本为1.2
我的结构如下:
2014/07/23
Module1.1
Module1.2
...
Lesson2
等
每节课都有一组2种类型的模块:
HTML模块 - 用户刚查看的模块
游戏模块 - 一些拥有奖章(无,bronez,银色,金色)的游戏 - 由于模块完整性而
进度跟踪问题如下:
我需要根据子模块的进度(排序?)跟踪不同课程的进度。
毕竟:在课程的所有游戏模块完成后,我需要在课程中添加一个START。 Star表示课程级别的某种进度
我要做的是将cmi.suspended_data变量中的模块进度数据(奖牌)存储为字符串:
“module1.1,gold | module1.2 | silver ...”
之后我想在每次加载页面时处理该事情并弄清楚我是否获得了一个STAR课程。例如:当我在第一课中用奖牌完成最后一场比赛以便所有比赛现在都有奖牌 - 之后我转到第二课 - 我应该在第一课中添加明星......
问题在于从模块到模块以及从课程到模块等 - RESETS suspended_data变量。
问题1:暂停的数据是否链接到SCO对象? (这意味着每个模块/课程都有自己的suspended_data var)
问题2:在这种情况下纠正测序进展的CORRECT方法是什么(正如我所见,scorm 2004有一些可以在Manifest中描述的测序机制。这是1.2版本中的正确方法)答案 0 :(得分:1)
问题1:cmi.suspend_data对每个SCO都是唯一的,只能在SCO中读取/设置。在您的情况下,SCO2无法读取SCO1的suspend_data,反之亦然。
问题2:你最好坚持使用单一的SCO方法。您的所有模块和课程都将成为单个SCO的一部分,这意味着您无需任何问题即可跟踪奖牌和用户进度。