Retaining answers & SCORM
April 4, 2005 12:00 AM
HiUsing a combination of Saba Learning Enterprise 3.4 (Saba) and Saba Publisher 4.0 (SP), we're a handful of people developing SCORM compliant e-learning.We're experiencing problems with the e-learning in the way that user's answers are not retrieved correctly in new sessions of the same content object.From the Saba's SCORM API (in debug mode) it seems that the variables corresponding to the tests are set correctly, but it seems that there might be problems with variable prefixing when retrieving...I will try to give an example.The first time a user accesses page "1A" SP tries to retrieve the contents of the variable named "1A", which relates to the test om page "1A" (all the tests mentioned in this example are of the type matching pair).No contents for variable 1A are found (which is correct) and thus no fields automatically get filled out with data. The user sees a page with blank input fields and starts filling out the fields on the page. Afterwards the user progresses to the next page which is also a test page.On test page "1B" a test with variable "1B" exists.One should expect SP to look for a variable named "1B" in the LMS with no or an empty result as the user has not visited this page before, but instead SP returns the variable and contents "temp=Var1A=1-1,2-2" which is actually the variable belonging to page "1A".So we made a test and filled out all tests in a content object (and made sure that each test referenced a unique variable to store its contents), shut down the object and started it again. We observed that no matter what page is accessed, and thus no matter what test is accessed, the SP request returns the same.Then I made the observation that it seems that what SP asks for is not the contents of eg. "Var1A" but the contents of "temp"... Looking at the content returned: "temp=Var1A=1-1,2-2" it seems that either SP og the SCORM API prefixes all variables saved using the SCORM "cmi.suspend_data" data object with "temp".The variable saved should be "Var1A" and thus the string which is set should be "Var1A=1-1,2-2" and not "temp=Var1A=1-1,2-2", right?Do you know about a bug in SP 4.0 (Lectora 2003) which produces the error mentioned above? Or should I look into debugging the SCORM API?The following is an excerpt from the communications recorded using the Saba SCORM API in debug mode. Shown is the user accessing page "1a" where SP tries to retrieve what it thinks is the corresponding variable. In a previous session the user answered all quesions on the pages.Just take a look - the variable and contents retrieved are all ape:Java(TM) Plug-in: Version 1.4.2Using JRE version 1.4.2 Java HotSpot(TM) Client VMUser home directory = C:Documents and Settingstbelokal
c: clear console windowf: finalize objects on finalization queueg: garbage collecth: display this help messagel: dump classloader listm: print memory usageo: trigger loggingp: reload proxy configurationq: hide consoler: reload policy configurations: dump system propertiest: dump thread listv: dump thread stackx: clear classloader cache0-5: set trace level to
|-->start API::LMSSetValue element=cmi.core.lesson_location value=a001_exercises_text_1.htmlRequest being processed: LMSSetValue(cmi.core.lesson_location,a001_exercises_text_1.h tml)Set Value: [a001_exercises_text_1.html]in CMICategory. doSetValidating data type of the set valueCheck method: checkString256Element: lesson_locationValue: a001_exercises_text_1.htmlElement: lesson_location was set to [a001_exercises_text_1.html]|-->done API::LMSSetValue|-->start API::LMSSetValue element=cmi.core.lesson_location value=a001_exercise1_sentences_1a.htmlRequest being processed: LMSSetValue(cmi.core.lesson_location,a001_exercise1_sentence s_1a.html)Set Value: [a001_exercise1_sentences_1a.html]in CMICategory. doSetValidating data type of the set valueCheck method: checkString256Element: lesson_locationValue: a001_exercise1_sentences_1a.htmlElement: lesson_location was set to [a001_exercise1_sentences_1a.html]|-->done API::LMSSetValue|-->start API::LMSGetValue element=cmi.suspend_dataLooking for the element cmi.suspend_dataLMSGetValue() found! Returning: temp=temp=temp=temp=temp=temp=temp=temp=Var1B=1-1,2-2,3-3,4- 4,5-5;|-->done API::LMSGetValue value= temp=temp=temp=temp=temp=temp=temp=temp=Var1B=1-1,2-2,3-3,4- 4,5-5;You see what I mean? I hope you can help me with this issue. Replies will be very appreciated.Edited By: berntsen on 38446.2699189815
Discussions have been disabled for this post