0
votes

A SCORM Question regarding how I invoke Rollup (macro?) in Saba.

I have a SCORM manifest which contains two SCOs. The second is only available when the first is completed by having a preConditionRule (similar to the SCORM/Rustici Golf Examples).

When a Delegate is successful with the first SCO I set 'cmi.completion_status' to 'completed' and 'cmi.success_status' to 'passed'. The second SCO is a test so I set 'cmi.score.raw', 'cmi.score.scaled' and 'cmi.completion_status' to 'completed'.

As I have a 0.8 in the second SCO's primaryObjective the Saba LMS is able to evaluate a test status of 'passed' or 'failed' on exit of the test.

When I exit this Learning, Saba displays that both SCORM Items have been passed and completed. However, the 'Content Attempt Status' is always 'Suspended'. This initially pointed to some of my JS interactions as I was using 'cmi.suspend_data' to store some info on a SCO. Even though this is disabled and even when I have a single unrelated SCO, the 'Suspended' Status is still set.

So, I still don't seem to get a Rollup (never seen one) and it is somehow to do with this 'Suspended' State I am somehow setting or not resolving.

One question is whether I should be setting 'cmi' 'completion_status' and 'success_status' in my interactions with the SCORM API at 'Object' Level (cmi.objective.n.success_status') rather than 'cmi.success_status' or both? I've tried both but am not certain which is right. I think it may depend on the Manifest.

Has anyone managed to get Saba to Rollup (Set Learning Assignments' 'Completion Status' so it no longer displays 'Not Evaluated') in this way?

My Manifest file seems ok, the Saba Player's Table of Contents shows the green light for each completed SCO in the Package but until I resolve the Status of 'Suspended', I am a little stuck.

I 'cmi.exit' both SCOs in the 'normal' way.

I am using Pipwerks Wrapper on this too but it seems to be ok.

Does this all point to the API, to the Manifest or to something I'm not setting up on Saba?

Thanks.

1
I've got an update on this one. I stripped the SCORM Package to a single SCO and configured Saba to nolonger 'Hide Exit Options'. This means when the SCO Learning is complete, the delegate exits the Player (TOC pop-up) and an exit pop-up appears where they can select 'Exit and Finish'. This invokes the Rollup. So now I have to decifer how Saba's exit differs from my API call exit. Question: Should I be exiting and finishing both SCOs or exit both and just finish the last one? Thanks.JPC
Ok, another update. After combining both SCOs in my SCORM Package I'm able to get the Rollup working. After the first SCO's Learning was complete, the delegate exits the TOC pop-up and when the exit pop-up appears they select 'Exit and Resume Later'. Launching again and completing the second SCO, when the delegate exits the TOC pop-up and when the exit pop-up appears they select 'Exit and Finish'. Although it is now invoking the Rollup, in order to provide a better UX I now plan to work out if I can implement this behaviour via the API rather than the Saba 'Hide Exit Options' config.JPC
Hi @JPC, did you manage to get this working? I also could not get the rollup working if I hide the exit option. I tried issuing a 'adl.nav.request' of 'exit' and then 'exitAll' (even though it is a bad idea), but that didn't work (which is a good thing because I didn't want to do it anyway). So I could not hide the exit option.Frank Fajardo

1 Answers

0
votes

You're right that setting cmi.exit to 'normal' should not reflect suspended. Unless another call is being made on unload of the SCO, typically a window.unload or otherwise. I've got a bookmarklet up on http://goo.gl/MXJVNM, but it sounds like with those events happening so fast you won't be able to trap the status without having another logging mechanism.

You could always offload the test to the cloud.scorm.com to see if it performs the same way, and you'll get a rich set of logs to review.

Mark