Support for Drupal 7 is ending on 5 January 2025—it’s time to migrate to Drupal 10! Learn about the many benefits of Drupal 10 and find migration tools in our resource center.
Is it possible to configure the SCORM player to save a user's place in the package? For a user who plays a few slides, then leaves the page, then returns and plays the package again, I want the package to resume playing where the user left off. Is that possible?
Comment | File | Size | Author |
---|---|---|---|
#5 | Goal Setting 2.4.3pmtres.zip | 21.01 MB | RyanLes |
Comments
Comment #1
arnoldbird CreditAttribution: arnoldbird commentedI suspect this needs to be configured in the package itself, prior to outputting the package, and thus is not something that can be done through the Drupal UI. If that's the case, please close this ticket.
Comment #2
arnoldbird CreditAttribution: arnoldbird commentedI have now tested on a package that resumes successfully when I upload it outside of Drupal, but within a Drupal node, it always starts at the first slide even if the user has previously navigated through some of the slides. So I think this is not an issue with the package itself, but with the opigno SCORM player.
Comment #3
axelmHi
Could you please share with us your SCORM package, so that we can reproduce the problem?
You can contact us through opigno.org website if you don't want to publicly post the package on drupal.org website.
Best regards,
Comment #4
RyanLes CreditAttribution: RyanLes commentedHi axelm.
I am having this problem with opigno 7.18 the scorm sits in a lesson but always starts at the beginning and does not resume from where the student left off. Was there resolution on this and where can i find that information..
Thanks in advance
Comment #5
RyanLes CreditAttribution: RyanLes commentedComment #6
axelmComment #7
arnoldbird CreditAttribution: arnoldbird commentedIn case it's of use to anyone, I ended up using the sco_node module, which was a better fit for my particular project. In sco_node, the resume function works for my packages.
Comment #8
ebren CreditAttribution: ebren as a volunteer commentedThis is a must have feature for me. We have some SCORM packages with 50+ slides and need a logged in user to be able to resume where they left off an any device. Can an Opigno developer please let us know if this is a planned feature and when when we might expect it.
Comment #9
kishork CreditAttribution: kishork commentedHi
I had a workaround and was able to resume at the last viewed slide , with SCORM player.
Steps to get it working as follow
1) open file opigno_scorm_quiz.module
2) In function "opigno_scorm_quiz_opigno_scorm_ui_register_cmi_paths"
add 'cmi.suspend_data'=> array(), in return array.
3) In function "opigno_scorm_quiz_opigno_scorm_ui_register_cmi_data"
copy and paste following lines .
You need to overwrite existing lines.
// Add suspend data By Kishor
$data = array(
'cmi.score.raw' => opigno_scorm_ui_scorm_cmi_get($user->uid, $scorm->id, 'cmi.score.raw', ''),
'cmi.score.min' => opigno_scorm_ui_scorm_cmi_get($user->uid, $scorm->id, 'cmi.score.min', ''),
'cmi.score.max' => opigno_scorm_ui_scorm_cmi_get($user->uid, $scorm->id, 'cmi.score.max', ''),
'cmi.score.scaled' => opigno_scorm_ui_scorm_cmi_get($user->uid, $scorm->id, 'cmi.score.scaled', ''),
'cmi.success_status' => opigno_scorm_ui_scorm_cmi_get($user->uid, $scorm->id, 'cmi.success_status', ''),
'cmi.suspend_data' => opigno_scorm_ui_scorm_cmi_get($user->uid, $scorm->id, 'cmi.suspend_data', ''),
'cmi.objectives' => array(),
);
// Fetch the objectives.
foreach ($scos as $sco) {
if (!empty($sco->attributes['objectives'])) {
foreach ($sco->attributes['objectives'] as $objective) {
$stored_objective = opigno_scorm_quiz_load_objective($user->uid, $scorm->id, $objective['id']);
$defaults = array(
'id' => $objective['id'],
'score' => array(
'scaled' => 0,
'raw' => 0,
'min' => 0,
'max' => 0,
),
'success_status' => '',
'suspend_data' => '',
'completion_status' => '',
'progress_measure' => '',
'description' => '',
);
if (!empty($stored_objective)) {
$stored_objective = (array) $stored_objective;
$stored_objective += $defaults;
}
else {
$stored_objective = $defaults;
}
$data['cmi.objectives'][] = $stored_objective;
}
}
}
return $data;
4) In function "opigno_scorm_quiz_opigno_scorm_ui_add_assets"
add the following line
opigno_scorm_scorm_cmi_set($user->uid, $scorm->id, 'cmi.suspend_data', $data->cmi->suspend_data);
That's it.
Please let me if any query.
Comment #10
markusd1984 CreditAttribution: markusd1984 commentedThis seems to have been fixed, it's working for me out of the box in 1.28. Closing for now.