I have created a small course for a tester on our Blackboard(2010). I am using the pipwerks wrapper (we use 2004) and though my success and completion statuses are being successfully sent through to our blackboard, the score is not getting communicated (have tested on ScormCloud). I will post relevant code below. Any assistance would be greatly appreciated!
$(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();
}
}
});
}
When recording a score for SCORM 2004, you typically will include four data points: the min, max, raw score, and the scaled score (calculated by raw / (max - min)). Based on your code above, you'd want to make calls like the following:
pipwerks.SCORM.data.set('cmi.score.min', '0');
pipwerks.SCORM.data.set('cmi.score.max', '100');
pipwerks.SCORM.data.set("cmi.score.raw", '' + yourScore + '');
pipwerks.SCORM.data.set("cmi.score.scaled", '' + finalScore + '');
In your Debug logs we saw that the raw score was actually being reported to the LMS, but it's possible it was rounding the value down to zero due to the fact you were using the scaled score (0.2) for the raw score value (should have been 20).