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?

CommentFileSizeAuthor
#5 Goal Setting 2.4.3pmtres.zip21.01 MBRyanLes
Support from Acquia helps fund testing for Drupal Acquia logo

Comments

arnoldbird’s picture

I 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.

arnoldbird’s picture

Category: Support request » Bug report

I 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.

axelm’s picture

Hi
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,

RyanLes’s picture

Hi 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

RyanLes’s picture

FileSize
21.01 MB
axelm’s picture

Title: Configure SCORM player to resume at the last viewed slide » [1.20] Configure SCORM player to resume at the last viewed slide
Version: 7.x-1.15 » 7.x-1.19
Assigned: Unassigned » Jamesap
arnoldbird’s picture

In 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.

ebren’s picture

This 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.

kishork’s picture

Hi

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.

markusd1984’s picture

Status: Active » Fixed

This seems to have been fixed, it's working for me out of the box in 1.28. Closing for now.

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.