您发现第 12 张幻灯片上有个错别字,或某项政策发生了变化,又或者某道测验题的正确答案标错了。课程已经上线,有些学员正学到一半。替换 SCORM zip 感觉像是两分钟的事,但如果草率处理,可能把人送回起点,让他们落在错误的界面上,或使他们的结果与其实际操作不符。下面介绍如何安全地更新 SCORM 课程、如何判断更改的大小,以及如何决定已在学习的人会怎样。
为什么更新已上线的 SCORM 课程有风险
SCORM 课程包是一组在学员浏览器中运行的网页内容,通过一个小型 JavaScript API 与 LMS 通信。学员学习时,课程包会把数据发送给 LMS,由 LMS 按该学员的学习记录存储。主要部分有:
- 完成状态与成功状态:他们是否学完,以及是否通过。
- 分数:通常来自课程包内的测验。
- 位置:指向其所在位置的书签(SCORM 1.2 中为
cmi.core.lesson_location,SCORM 2004 中为cmi.location)。 - 挂起数据(Suspend data):课程为自己写入的一段文本(
cmi.suspend_data),以便恢复其状态,例如访问过哪些幻灯片、变量值以及迄今为止给出的答案。
重要的是,LMS 并不解读挂起数据。它存储数据,并在学员继续学习时原样交还。其格式由创作工具决定,而且通常与已发布课程的结构绑定:幻灯片的顺序、变量的名称、题库中的题目。关于这两个版本有何不同,请参阅 SCORM 1.2 与 SCORM 2004。
结构改变时可能出什么问题
如果把旧课程包保存的数据交给一个结构不同的新课程包,新课程会试图恢复一个已不存在的状态。具体后果取决于创作工具,但常见的症状包括:
- 书签指向已移动或已删除的幻灯片,学员因此落到错误的位置或回到开头。
- 菜单和进度指示器把错误的章节显示为已访问。
- 保存在旧题目下的答案被套用到新题目上,或被丢弃。
- 课程忽略已保存的状态并从头开始,或者无法正常加载。
- 在旧测验上获得的分数与新版本上的完成状态并存。
切换 SCORM 版本,例如从 SCORM 1.2 换成 SCORM 2004,会改变数据模型本身,因此已保存的数据无法顺利沿用。
并非每项更改的风险都相同
在上传任何东西之前,先弄清您要做的是哪种更改。关键在于结构和含义改变了多少,而不是编辑花了多长时间。
| 更改类型 | 示例 | 对学到一半的人的风险 | 常用做法 |
|---|---|---|---|
| 外观修正 | 错别字、错误的颜色、替换一张图片 | 低:结构未变 | 让他们学完;新学员获得修正 |
| 内容更新 | 改写一段文字、更新视频、在末尾新增一张幻灯片 | 中:取决于幻灯片是否被增加、删除或重新排序 | 通常让他们学完 |
| 重构 | 章节被重新排序或拆分、新的分支逻辑、新的菜单 | 高:已保存的进度可能对不上 | 重新开始,除非人们能在旧课程包上学完 |
| 新增或更改考核 | 新题目、不同的及格分、新的题库 | 高:结果不可比 | 重新开始 |
| 纠正性更改 | 旧内容有误、不安全或不合规 | 高,无论结构如何 | 重新开始,并决定如何处理已完成的人 |
一个有用的检验:如果今天有人完成了旧版本,您能接受吗?如果不能,就必须停止使用旧版本。
让学员学完,还是让他们重新开始?
当您的平台可以让旧课程包继续为已开始学习的人运行时,您就有了真正的选择。请依次回答这些问题。
- 旧版本是否仍然正确? 如果它讲授的内容有误或不安全,无论学员学到哪里,都要让他们重新开始。
- 考核是否发生了变化? 如果每个人都应以同样的方式接受考核,就重新开始。
- 旧课程包能否为现有学员保留在原位? 如果您的平台会覆盖文件,“让他们学完”实际上就成了“把旧进度喂给新课程包”。除外观修正之外,重新开始更安全。
- 课程有多长? 重新开始一个十分钟的模块代价很小。重新开始一个两小时的课程则会损耗好感。
- 截止日期是否临近? 临近到期日的重新开始可能把人们推过期限。请延长期限,或在较为清闲的时期更新。
简而言之:如果旧版本仍然正确,就让学员学完它;如果它有误,就让他们重新开始,并告诉他们原因。
已经完成课程的人是另一项独立的决定。外观修正或内容更新很少值得要求他们重修任何内容。纠正性更改则可能需要,尤其是合规培训。若如此,请将其视为带有独立期限的新一轮培训,而不是悄悄更改任何人的记录。
告知人们将发生什么变化
没有人解释的重新开始,感觉就像故障。事先发一条简短的消息,就能让它变成一次例行更新。
- 需要重新开始的学员:更改了什么、为什么需要重新开始该模块、大约需要多长时间,以及其截止期限是否已变动。
- 已经学完的学员:他们是否需要做任何事。如果不需要,就明确说明。
- 经理和讲师:更新何时生效,以及如何回复前来询问的人。
还要为每门课程保留一份简单的变更日志:版本号、日期、更改内容、批准人,以及您为学到一半的人做出的选择。最后一张幻灯片上的版本号会让支持问题更容易回答。如果您接受审计,这份日志可以解释为何两个人看到的内容略有不同;请参阅审计人员希望在您的培训记录中看到什么。
上传之前:检查清单
- 除非您有意更改,否则保持相同的 SCORM 版本。
- 检查发布设置与上一版本一致,尤其是完成情况和分数的报告方式。
- 先单独测试新课程包。如何测试 SCORM 课程包会逐步介绍。
- 保留上一个 zip 和源项目,以备需要回退。
- 预先决定学到一半的人会怎样,并起草您的通知。
Acadenix 如何处理 SCORM 更新
在 Acadenix 中,每个 SCORM 课程包都是 Units Library(单元库)中的一个单元,一个单元可用于多门课程。选中某个单元后,会显示使用它的 Courses(课程)、它的 Versions(版本)和它的 Users(用户),这样您就能看到更新会落在哪里。
- 新文件会生成新版本。 新文本或新的单元类型也一样。更改名称或描述则不会。
- 由您决定如何处理学到一半的人。 如果有人正在学习,您可以选择 Restart them on the new version(让他们在新版本上重新开始)或 Let them finish the version they started(让他们完成已开始的版本)。之后开始学习的人则使用新版本。
- 学完的学员保留其结果。 完成记录是最终的,已颁发的证书永不更改。学完的人会看到该单元标有 Updated(已更新)标记,因此若愿意,他们可以查看新版本,而他们此后所做的一切都不会改变其结果。
- 您可以回滚。 在单元的 Versions 中使用 Activate(激活),即可恢复较早的版本。
- 重修是新的报名。 如果学完的人确实需要重修课程,课程的 Re-enrolment while a completion is valid(完成记录有效期内重新报名)设置会让他们以全新的进度再次报名。其此前的完成记录和证书仍保留在档案中。
若要在替换正式版本之前检查某个课程包,请将其作为单独的单元上传,并使用 Preview(预览),它会按学员所见的样子显示,而不会记录任何内容。关于版本管理和跟踪的更多内容,请见我们的 SCORM LMS 页面。
要点回顾
- SCORM 进度是按学员开始学习的课程包保存的,而挂起数据只对写入它的课程有意义。
- 先评估更改的规模:外观修正风险低,而重构和新增考核则不然。
- 如果旧版本仍然正确,让学员学完它。如果有误,让他们重新开始。
- 告知学员和经理正在发生什么,并为每门课程保留变更日志。
- 在 Acadenix 中,每次上传都是一个新版本,由您决定如何处理学到一半的人,完成记录始终是最终的。
想看看更新在您自己的内容上表现如何?申请试用,试着上传一门真实课程的新版本。


