将 SCORM(从故事情节 2 导出)成绩保存到数据库

Saving SCORM (exported from storyline 2) grades to database

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

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

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

实现 SCORM1.2 所需的服务器部分的基本版本很容易,这里有一个详细的详细指南:http://www.vsscorm.net/ - 也许这可以回答您的问题。我明确地说 "basic version" 是因为如果您想支持 SCORM 的所有功能,要处理许多怪癖和困难,如果您想处理任何类型的 SCORM1.2 内容,则更是如此。

编辑

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

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

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

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

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

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