1

我是 SCORM 本身的新手,我在通过 Moodle 的 LMS API 跟踪进度时遇到问题

SCORM 版本是 1.2

我有这样的结构:

第1课

  • 模块1.1

  • 模块1.2

...

第2课

  • 模块 2.1

ETC

每节课都有一组两种类型的模块:

HTML 模块 - 用户刚刚查看的模块

游戏模块 - 由于模块完整性而获得奖牌(无、铜牌、银牌、金牌)的一些游戏

进度跟踪问题如下:

我需要根据子模块的进度(排序?)来跟踪不同课程的进度。

毕竟:在课程的所有游戏模块完成后,我需要在课程中添加一个开始。星号表示课程级别的某种进展

我想要做的是将模块的进度数据(奖牌)存储在 cmi.suspended_data 变量中作为字符串:

“module1.1,gold|module1.2|silver ...”

之后,我想在每次加载页面时处理该内容,并确定我是否获得了一门课程的 STAR。例如:当我在第 1 课的最后一场比赛中获得奖牌时,现在所有比赛都有奖牌 - 之后我转到第 2 课 - 我应该在第 1 课中加星...

问题是从一个模块到另一个模块,从一个课到另一个模块等等——RESETSsuspended_data 变量。

问题1:挂起的数据是否链接到SCO对象?(这意味着每个模块/课程都有自己的suspended_data var)

问题2:在这种情况下跟踪测序进度的正确方法是什么(正如我所见,scorm 2004 有一些可以在清单中描述的测序机制。这是 1.2 版本中的正确方法)

4

1 回答 1

1

问题 1:cmi.suspend_data 对每个 SCO 都是唯一的,只能从 SCO 内部读取/设置。在您的情况下,SCO2 无法读取 SCO1 的suspend_data,反之亦然。

问题2:你最好在这里坚持单一的SCO方法。您的所有模块和课程都将成为单个 SCO 的一部分,这意味着您将能够无任何问题地跟踪奖牌和用户进度。

于 2012-12-07T20:27:13.463 回答