在 SCORM 1.2 包中需要一个唯一的 user/course ID 变量

Need a unique user/course ID variable in SCORM 1.2 package

我正在开展一个项目,该项目需要 SCORM 包内文件中的唯一 "enrollment" ID。像这样工作的东西:

<script src="...?enrollmentid=1234567890"></script>

我发现我应该能够获得一个 student_id,但是这个标识符对于这种用途来说太宽泛了。我使用的 ID 必须唯一地描述单个 student/course 注册,因为一个学生可以注册多个课程,而一个课程可以注册多个学生。

ID 可以是其他字段的组合,例如 student_id + 课程 ID + 注册日期,但我也看不到任何从 LMS 获取此类详细信息的方法。

我想做的事情可行吗?

SCORM 1.2 甚至 2004 没有不幸地包含注册日期、课程 ID 或 SCO title/structure 之类的内容,除非是通过作者 imsmanifest.xml 的启动数据输入的时间。这些是您需要提供的东西。

cmi.core.student_id 是您可以直接从 SCORM 获得的唯一唯一值。 LMS 没有提供一种方法来包含它在导入课程时使用的任何层 ID 或内部构件。并且除非他们(不可靠地)将它们放在启动参数中,或者您有办法使用 javascript(同样不可靠)进行一些探测,否则您需要考虑其他一些选项。

启动数据 cmi.launch_data 可能是访问您想要传递给 SCO 的任何值的最简单方法,但这在很大程度上依赖于 SCO 及其 imsmanifest.xml 的创作过程.存在 LCMS 设置或创作工具的某种机制的情况可以启用这些功能。

我将其添加到 imsmanifest.xml 中的 <title/> 标签下方:

<!-- Launch Data Example uses Querystring format name=value&name=value -->
<adlcp:dataFromLMS><![CDATA[name=value]]></adlcp:dataFromLMS>

当我说不可靠时 - 我的意思是暗示除非你能明确地说你知道这个内容在哪里 运行,并且 LMS 永远不会改变,否则你将无法获得你的信息想要任何可靠的方式。