1

我正在从头开始开发 LMS,并且一直在对其进行研究,但仍然坚持这些悬而未决的问题,希望您能帮助我。

  1. LMS 的哪些功能使其符合 SCORM?
  2. 我选择使用 mongoDB,但我仍然对如何实现实时课程跟踪器感到困惑,该跟踪器将显示特定课程的进度。(我认为它与自动备份/更新功能有关)
  3. 考虑到我将拥有三个用户,最好的设计架构是什么。即学生,老师和管理员......

一般来说,我需要有人指导我如何最好地使用 MERN 堆栈来实施这个项目,因为我是一个新手,但我面临实施这一挑战,我想试一试。更重要的是,后端仍在混淆我。

提前致谢

4

1 回答 1

0

SCORM 无疑是一个挑战。我无法为您提供具体的实施细节,因为即使是scorm.com的行业领导者和发行商 Rustici Software 也估计

[...t] 符合 SCORM 的时间通常以“开发者年数”来衡量。

那么,为了让您入门,我将尝试回答您的第一个问题。对于实现细节,有比 StackOverflow 更好的资源。我在帖子底部链接了一些。

LMS 的哪些功能使其符合 SCORM?

“SCORM 合规性”是一个误称,通俗地用于表示 LMS 支持创建、播放或跟踪 SCORM 内容。实际上,每个 LMS 可能会发现其目标人群可以接受的实施级别。

官方的合规性衡量标准是通过ADL Initiative的SCORM 认证,该计划是负责 SCORM 标准的政府计划。通常提供三种可测试级别的测试(请注意,在发布时测试不可用):

SCORM® 一致性——声称 SCORM® 一致性(特定版本的 SCORM®,即 SCORM® 1.2 版)的唯一标准是通过相应 SCORM® 版本的 ADL 一致性测试套件中的相应测试。一致性测试套件可从 ADLnet.gov 免费下载。该测试是在荣誉系统上完成的,不需要 ADL 倡议参与。

SCORM® 采用者– SCORM® 一致性的下一个层次是产品成为 SCORM® 采用者。产品必须符合 SCORM® 才能被视为 SCORM® 采用者。在 ADL 一致性测试套件中通过测试产生的日志将提交给 ADL Initiative(有关更多信息,请参阅 SCORM® 采用者页面),如果发现正确,该产品将在 SCORM® 中标记为 SCORM® 采用者采用者产品列表(针对特定版本的 SCORM®)。

SCORM® 认证– SCORM® 符合性的最终级别是 SCORM® 认证。认证产品是由独立的 ADL 认证测试中心测试以满足相应版本的 SCORM® 符合性要求文档所述的要求并通过一致性测试套件验证的产品(有关更多信息,请参阅 SCORM® 认证页面) . 完成此过程后,该产品将通过 SCORM® 认证并添加到 SCORM® 认证产品列表中。该产品还符合 SCORM® 认证。

更随意地,声称“符合 SCORM”的 LMS 可能符合以下标准:

1.支持SCORM JavaScript API

SCORM 包将尝试在启动时通过遵循完善的发现算法来定位 LMS 提供的 API 。本质上,它会从其父对象开始查找名为API(SCORM 1.1, SCORM 1.2) 或(SCORM 2004) 的对象并向上搜索,直到找到匹配项或超出允许的导航次数。API_1484_11window

这个 API 对象应该实现八个标准函数和数据模型对象。有关更多信息,请参阅完整的运行时参考

SCORM 1.1、1.2 SCORM 2004 参数) 退货 描述
LMS初始化 初始化 空字符串 布尔值 初始化运行时并从 LMS 取得控制权
LMS提交 犯罪 空字符串 布尔值 请求 LMS 持久化当前数据模型
LMSGetValue 获取值 CMI元素 细绳 从当前数据模型中获取指定元素的值
LMSSetValue 设定值 CMIElement,任何 细绳 设置当前数据模型中指定元素的值
LMSGetLastError 获取最后一个错误 CMI错误代码 获取最后一次调用这些方法之一的结果
LMSGetErrorString 获取错误字符串 CMI错误代码 细绳 获取与指定错误代码等效的字符串
LMSGetDiagnostic 得到诊断 CMI错误代码 细绳 获取有关导致指定错误代码的特定错误的附加信息
LMS完成 终止 空字符串 布尔 退出运行时并将控制权返回给 LMS

2. 跨会话保存运行时数据

SCORM 包通常是无状态的,但如果提供了先前提交的数据模型,则可以将其返回到状态。在 SCORM 包中实现状态的方法有多种,但常见的运行时方法包括:

  • 在退出之前存储令牌、路径或状态cmi.suspend_data,然后在重新进入包时使用该信息恢复到特定位置
  • cmi.interactions在会话之间存储已回答的问题/用户操作

此外,某些包可能会与外部资源通信,或者可能使用浏览器功能(如 cookie 或Web Storage API)来保存数据。从 LMS 的角度来看,这是不太理想的,因为在 LMS 中聚合和持久化数据时更难解释。

通常,当一个包调用 时LMSCommit,存储当前学习者/学生的当前数据模型就足够了。这可以通过任何常见的持久层(Redis、Web Storage API、SQL 等)来完成,只要当学习者/学生希望继续与 SCORM 包交互时可以检索并提供信息。

3. 提供有关会话的报告和跟踪信息

LMS 的目标是促进和加强学习,LMS 实现这一目标的方法之一是允许报告其用户采取的行动、他们获得的分数以及他们遵循的趋势。

报告目标将根据 SCORM 包中内容的性质以及 LMS 旨在为用户提供的特定学习目标而有所不同。

那么接下来在哪里?

于 2021-02-10T06:14:34.980 回答