Modify LMS communication

Hello, I am looking for help. My client wants to have specific order when SCORM package communicates with their LMS. They want:
1. When course starts:
LMSInitialize
and all needed LMSGetValue

2. Whew course ends (user presses exit button):
all LMSSetValue
LMSCommit('')
LMSFinish('')

Now after each slide, there is fired set of functions:
LMSSetValue cmi.core.session_time
LMSSetValue cmi.core.lesson_status
LMSSetValue cmi.suspend_data

Course made in Storyline 2

Is there any way to achieve that?

3 Replies
Dave Cox

Hi Przemyslaw

Wow, that's a pretty tall order!

I'd say that the best way for you to see what communications happen between Storyline 2 and your LMS is to use the debug mode. You can find out about how to use the debug mode here. The debug mode will open another window when you launch the course, and display a ton of information about the course/LMS communication. You should be able to see when values are sent and received, and if they meet your requirements.

onEnterFrame (James Kingsley)

I am pretty sure that most of that works out of the box. LMSSetValue cmi.core.lesson_status and LMSSetValue cmi.suspend_data should be getting fired when the slide changes. I guess technically that is when the the new slides loads... but effectively the same.

I am not sure if LMSSetValue cmi.core.session_time is updated then... I might suggest you load a sample course into SCORM Cloud and click through it. Then you in the SC admin you see a log of all the data that requested/posted and in what order. 

If it turns out you need to add functionality then you can reuse Articulate's JavaScript to fire off those functions. Just add them to a JavaScript trigger on the slide or button etc.