I have been playing with the scripting functions of Opus Pro 7 for quite some time now and had an idea, but do not have the scripting prowess to accomplish the task at the moment.
I am asking if there is possibly a way to create a line of script that will enable me to set all LMS Values at once and retrieve "Get" all LMS Values at once as well. This would help me accomplish a means of storing progress on a non-linear training publication, where the learner can leave the course and come back at a later time with a choice to return to the exact place in the course where he or she left off.
I believe, the way Opus is set up, I will only be able to "set" and get" each variable independently with a line of script for each corresponding variable. The reason for this is to establish a quick and efficient method of storing and retrieving values in an LMS from a publication that has multiple variables used. This would shorten the time of scripting possibly hundreds of variables in a large publication.
I thank you all for your time and consideration.
This is a very small sample of how it is set up at the moment.
Code:
function PublicationStart()
{
// run LMS initialisation functions - see Private SCORM Functions
LMSInit();
// add below any actions required by the publication when the LMS starts
// example - get Learner Name, ID and Lesson Location from SCORM v1.2 LMS
GetLMSValue("cmi.core.student_id","LMS_LEARNER_ID");
GetLMSValue("cmi.core.student_name","LMS_LEARNER_NAME");
GetLMSValue("cmi.core.lesson_location","LMS_LESSON_LOCATION");
GetLMSValue("cmi.suspend_data", "test");
GetLMSValue("cmi.suspend_data", "test4")
// example - get Learner Name from SCORM 2004 LMS
// GetLMSValue("cmi.learner_id","LMS_LEARNER_ID");
// GetLMSValue("cmi.learner_name","LMS_LEARNER_NAME");
// GetLMSValue("cmi.location","LMS_LESSON_LOCATION");
}
GetPublication().PublicationStart = PublicationStart;
function PublicationEnd()
{
// Send information back to the LMS.
// Add your own SetValue commands for information you want saved
// SCORM 1.2
SetLMSValue("cmi.core.session_time",PublicationTime());
SetLMSValue("cmi.core.lesson_status",LMS_LESSON_STATUS);
SetLMSValue("cmi.core.score.raw",LMS_SCORE_RAW)
SetLMSValue("cmi.suspend_data", test);
SetLMSValue("cmi.suspend_data", test4)
// SCORM 2004
// SetLMSValue("cmi.session_time",PublicationTime2004());
// SetLMSValue("cmi.completion_status",LMS_LESSON_STATUS);
// SetLMSValue("cmi.score.raw",LMS_SCORE_RAW)