将 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/
我目前正在 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/