我正在从头开始开发 LMS,并且一直在对其进行研究,但仍然遇到这些未解决的问题,希望您能帮助我。
一般来说,我需要有人指导我如何最好地实施这个项目 使用 MERN 堆栈可能,因为我是一个新手,但我被赋予了实施这个挑战,我想试一试。更何况后端仍然让我感到困惑。
提前致谢
答案 0 :(得分:0)
SCORM 无疑是一个挑战。我无法帮助您了解实施细节,因为即使是 scorm.com 的行业领导者和发行商 Rustici Software 估计
<块引用>[...t]符合 SCORM 标准所需的时间通常以“开发人员年数”来衡量。
为了让您开始,我将尝试回答您的第一个问题。对于实现细节,有比 StackOverflow 更好的资源。我在帖子底部链接了一些。
“SCORM 合规性”是一个误称,通常用于表示 LMS 支持创建、播放或跟踪 SCORM 内容。实际上,每个 LMS 可能会发现其目标人群可以接受的实施级别。
合规性的官方衡量标准是 SCORM Certification 到 the ADL Initiative,这是负责 SCORM 标准的政府计划。通常提供三个可测试的测试级别(请注意,发布时不提供测试):
<块引用>SCORM® 一致性 – 声明 SCORM® 一致性(针对特定版本的 SCORM®,即 SCORM® 1.2 版)的唯一标准是通过 ADL 一致性测试套件中的相应测试相应的 SCORM® 版本。一致性测试套件可从 ADLnet.gov 免费下载。此测试是在荣誉系统上完成的,不需要 ADL Initiative 参与。
<块引用>SCORM® 采用者 – SCORM® 一致性的下一个层次是产品成为 SCORM® 的采用者。产品必须符合 SCORM® 标准,才能被视为 SCORM® 采用者。通过 ADL 一致性测试套件中的测试产生的日志将提交给 ADL Initiative(有关更多信息,请参阅 SCORM® 采纳者页面),如果发现正确,则产品在 SCORM® 中被标记为 SCORM® 采纳者采用者产品列表(针对特定版本的 SCORM®)。
<块引用>SCORM® 认证 – SCORM® 一致性的最终级别是 SCORM® 认证。认证产品是指那些已经由独立的 ADL 认证测试中心测试以满足相应版本的 SCORM® 一致性要求文档中描述的要求并通过一致性测试套件验证的产品(有关更多信息,请参阅 SCORM® 认证页面) .完成此过程后,产品即获得 SCORM® 认证并添加到 SCORM® 认证产品列表中。该产品也符合 SCORM® 认证。
更简单地说,声称“符合 SCORM”的 LMS 可能满足以下条件:
SCORM 程序包将尝试在启动时按照 a well-established discovery algorithm 定位 LMS 提供的 API。本质上,它会从其父对象 API
开始查找名为 API_1484_11
(SCORM 1.1, SCORM 1.2) 或 window
(SCORM 2004) 的对象,并向上搜索直到找到匹配项或超出允许的导航次数。
这个 API 对象应该实现八个标准函数和数据模型对象。有关详细信息,请参阅 full runtime reference。
SCORM 1.1、1.2 | SCORM 2004 | 参数 | 退货 | 说明 |
---|---|---|---|---|
LMS初始化 | 初始化 | 空字符串 | 布尔值 | 初始化运行时并从 LMS 获得控制 |
LMSCommit | 提交 | 空字符串 | 布尔值 | 请求 LMS 持久化当前数据模型 |
LMSGetValue | 获取价值 | CMIElement | 字符串 | 从当前数据模型中获取指定元素的值 |
LMSSetValue | 设置值 | CMIElement,任何 | 字符串 | 设置当前数据模型中指定元素的值 |
LMSGetLastError | 获取上一个错误 | CMI 错误代码 | 获取上次调用这些方法之一的结果 | |
LMSGetErrorString | 获取错误字符串 | CMI 错误代码 | 字符串 | 获取与指定错误代码等效的字符串 |
LMSGetDiagnostic | 获取诊断 | CMI 错误代码 | 字符串 | 获取有关导致指定错误代码的特定错误的附加信息 |
LMSFinish | 终止 | 空字符串 | 布尔 | 退出运行时并将控制权交还给 LMS |
SCORM 包通常是 stateless,但如果提供了先前提交的数据模型,则可以返回到某个状态。在 SCORM 包中有多种实现状态的方法,但常见的运行时方法包括:
cmi.suspend_data
中存储令牌、路径或状态,然后在重新进入包时使用该信息恢复到特定位置cmi.interactions
中存储已回答的问题/用户操作此外,某些包可能会与外部资源通信,或者可能会使用 cookie 或 Web Storage API 等浏览器功能来保存数据。从 LMS 的角度来看,这是不太可取的,因为在 LMS 中聚合和保存数据时更难解释。
一般来说,当一个包调用LMSCommit
时,存储当前学习者/学生的当前数据模型就足够了。这可以通过任何常见的持久层(Redis、Web Storage API、SQL 等)来完成,只要在学习者/学生希望继续与 SCORM 包交互时可以检索和提供信息即可。< /p>
LMS 的目标是facilitate and enhance learning,LMS 实现这一目标的方式之一是允许报告用户采取的行动、他们取得的分数以及他们遵循的趋势。< /p>
报告目标将根据 SCORM 包中内容的性质以及 LMS 旨在为用户提供的具体学习目标而有所不同。