SCORM 2004无法向ScormCloud或Blackboard报告分数

时间:2018-11-07 16:35:49

标签: javascript scorm scorm2004 blackboard

我在Blackboard(2010)上为测试人员创建了一门小课程。我使用的是pipwerks包装器(我们使用2004),尽管我的成功和完成状态已成功发送到黑板上,但是分数并未得到传达(已在ScormCloud上进行了测试)。我将在下面发布相关代码。任何帮助将不胜感激!

$(document).ready(function () {
        pipwerks.SCORM.data.set('cmi.score.min', '0');
        pipwerks.SCORM.data.set('cmi.score.max', '100');
    });

// Loads questions if there are any remaining
        if (questionNumber < shuffledQuestions.length) {
            generateAssessmentSlides();
        } else {
            var finalScore = yourScore / 100;
            nextSlide();
            $(".score").html(yourScore);

            // Sets assessment score
            pipwerks.SCORM.data.set("cmi.score.raw", '' + finalScore + '');

            // Sets assessment as completed
            pipwerks.SCORM.data.set("cmi.completion_status", "completed");

            // Saves status before results
            pipwerks.SCORM.data.save();

            // Shows pass/fail screen depending on the score and shares that data with the LMS

            if (finalScore >= passingScore) {
                pipwerks.SCORM.data.set("cmi.success_status", "passed");
                pipwerks.SCORM.data.save();

            } else {
                pipwerks.SCORM.data.set("cmi.success_status", "failed");
                pipwerks.SCORM.data.save();

            }
        }
    });
}

1 个答案:

答案 0 :(得分:0)

记录SCORM 2004的分数时,通常将包括四个数据点:最小,最大,原始分数和缩放分数(通过原始/(最大-最小)计算)。根据上面的代码,您希望进行如下调用:

pipwerks.SCORM.data.set('cmi.score.min', '0');
pipwerks.SCORM.data.set('cmi.score.max', '100');
pipwerks.SCORM.data.set("cmi.score.scaled", '' + yourScore + '');
pipwerks.SCORM.data.set("cmi.score.scaled", '' + finalScore + '');

在Debug日志中,我们看到原始分数实际上已报告给LMS,但是由于您使用的是原始分数值(0.2),因此可能会将值四舍五入为零。 (应该是20)。