2

我目前正在用 PHP 制作 lms。在 lms 中,管理员可以上传一个 SCORM (1.2) 文件,用户将回答该文件,结果将保存在数据库中。(想到了一个表格形式:userID、scormID、grade)

我查看了其他选项,例如 Moodle,但它们没有我需要的功能(即使经过修改)。

如果无法处理 SCORM,我可以使用从故事情节 2 导出的另一种格式吗?

4

1 回答 1

1

实现 SCORM1.2 所需的服务器部分的基本版本很容易,这里有一个安静的长指南解释细节:http ://www.vsscorm.net/ - 也许这回答了你的问题。我明确地说“基本版本”是因为如果您想支持 SCORM 的所有功能,或者如果您想处理任何类型的 SCORM1.2 内容,则需要处理许多怪癖和困难。

编辑

我对storyline2不太了解,但是如果实施SCORM对您来说是一个可行的解决方案,那么您需要做一个简短的摘要:

首先,您需要实现 SCORM 包的导入。这是简单的部分:

  • 将 ZIP 文件解压缩到公共可用文件夹中
  • 解析 imsmanifest.xml。重要的东西是项目和相关的资源。您可以创建一个包含项目标题和关联资源 (SCO) 的条目 url 的表。对于一个简单的实现,这应该足够了

其次,需要实现运行时环境:

  • 您需要一个 html 包装器,其中包含一个 (i) 框架,用于加载 SCO 的入口 url 和提供 SCORM 功能的 javascript 对象“API”:
    • LMSInitialize:设置 SCORM 环境。期望一个空字符串作为参数
    • LMSFinish:终止会话。期望一个空字符串作为参数
    • LMSGetValue:从 cmi 数据模型中检索一个值,例如“cmi.core.score.raw”。注意:返回值始终为字符串!
    • LMSSetValue:从 cmi 数据模型中设置一个值
    • LMSCommit:告诉 LMS 永久存储 cmi 数据模型。如果您实现 LMSSetValue 以将值直接写入数据库,则可以进行存根实现
    • LMSGetLastError:检索最后一个错误代码
    • LMSGetErrorString:对于一个简单的实现,只需返回提供的错误代码
    • LMSGetDiagnostic:对于一个简单的实现,只需返回提供的错误代码
  • API 包含“cmi”数据模型,其中包含例如用户名、分数、课程状态等。

正如我所说,这只是一个摘要,但有很多关于这个主题的文献。这是另一个来源:http ://scorm.com/scorm-explained/

于 2015-11-06T16:16:50.440 回答