Tech Team Twitter Feed

Wednesday, January 4, 2012

Teaching an old dog new Lectora tricks


I recently completed a SCORM 1.2 based e-Learning project using Lectora Enterprise and a Saba LMS. The client wanted bookmarking and stipulated that cookies could not be used. Since we were loading this into an LMS the bookmarking was not an issue, we simply checked the "The published course will prompt to restore the last viewed location within the LMS." checkbox in the SCORM Options tab. Inside the SCO itself we tracked individual pages visited with variables. We then used these to place check marks next to internal Topics and Lessons completed within the SCO. The problem was when a student would complete a SCO and come back none of the internal topics and lessons would be marked as completed.

I knew that if I checked the "Retain variable value between sessions" check box for each variable I could track this using cookies. Since we could not do that, however, I was at an impasse. The Help Section states "Select this to retain the variable's value through subsequent launches of the published title. With this selected, if the variable value has changed, the next time the user launches the published title, the variable will load with the previously modified value." but it does not specify how this will be done except by the use of cookies.

I first looked at using SCORM 2004 and using objectives to track topic and lesson completion. While that would have worked it also created an environment where I needed to write a lot of JavaScript code. Knowing that this would entail a lot of testing and could not be truly re-usable with my other developers I re-visited my initial assumptions. None of my clients ever allow cookies so the "Retain variable value between sessions" check box for each variable has been strictly forbidden. I knew there had to be another use for the checkbox since I know I'm not the first developer to come across this.

I went ahead and checked the box, published as SCORM 1.2, loaded onto the SCORM Cloud. It worked as advertised with no cookies. Hmmmmmmm - how did it do that? Time to read the Debug logs. Evidently when you check the "Retain variable value between sessions" check box for each variable and publish to SCORM Lectora's SCORM code writes these variables to the cmi.susped_data object. This gets loaded back to the SCO from the LMS each time you open the SCO. Presto!! the variables retain their values.
I went to the Lectora Forum numerous times during this process to no avail. Unfortunately, I had my mind set on tracking objective not tracking simple variables. After I figured it out I went back to the Forum and searched on suspend_data there it was.

Moral of the story - don't get caught looking at a problem in only one way. Once I stepped back and re-visited options I had earlier thrown out, I found the answer.

No comments:

Post a Comment