SCORM 1.2 API调用以设置成绩簿中的成绩

时间:2013-05-16 08:33:29

标签: scorm desire2learn

完成活动后需要哪些javascript API调用来设置成绩?现在我有三个电话:

LMSSetValue("cmi.core.score.min", 0);
LMSSetValue("cmi.core.score.max", 100);
LMSSetValue("cmi.core.score.raw", score);

我还将状态设置为已完成:

LMSSetValue("cmi.core.lesson_status", "completed");

当我以学生的身份完成活动时,有时我会看到告诉它的图标 活动完成(“1次尝试”),有时不是。获得的分数永远不会出现。

Desire2Learn的版本为10.1

2 个答案:

答案 0 :(得分:1)

不是任何SCORM专家,但是在这里比我更了解它的人会提出以下观点:

  • 您还需要致电CommitTerminate和/或LMSFinish;你可以找到一些很好的技术资源help developers at the SCORM website,如果你还不知道它们的话。

  • 要验证进入学习环境的分数和状态,您可以在Web UI(内容>目录>查看报告)中查看SCORM报告,这是查看SCORM结果的标准位置。

  • 如果在那里设置了分数,您可以通过两种方式将它们纳入成绩簿:

    1. 您可以作为教师预览内容主题:在主题视图下方,您将找到一个将成绩项目与主题相关联的位置。

    2. 如果课程的DOME配置变量d2l.Tools.Content.AllowAutoSCORMGradeItem已启用,则应自动为该SCORM内容对象创建成绩项目。

答案 1 :(得分:0)

正如Viktor所说,您必须在使用LMSCommit后调用LMSSetValue,否则数据将不会在LMS中保留(“保存”)。

LMSSetValue("cmi.core.score.min", 0);
LMSSetValue("cmi.core.score.max", 100);
LMSSetValue("cmi.core.score.raw", score);
LMSSetValue("cmi.core.lesson_status", "completed");
LMSCommit(); //save in database
LMSFinish(); //exit course

请注意,“LMSSetValue”不是正式的SCORM调用,这意味着您正在使用某种SCORM包装器。因此,在我说LMSCommitLMSFinish的地方,您实际上可能需要使用不同的语法 - 我只是猜测函数名称。检查SCORM包装器的文档。关键是你需要提交(保存)和终止(完成)。