Custom completion using JavaScript (HTML5 publishing)

Hi,

Has anyone successfully set complete/incomplete completion status using JavaScript in an HTML5 published course? I can do it fine in a Flash version using:

SetStatus("incomplete"); or SetStatus("complete");

However this achieves nothing in HTML5. I've also tried:

lmsAPI.SetStatus("incomplete");

but it's the same story unfortunately.  

Any ideas?

Thanks

Steve

 

13 Replies
Steve  Galway

Turns out that 'SetStatus("incomplete"); or SetStatus("complete")' works just fine - the error was elsewhere in my JavaScript! The hidden debug feature in Storyline (which shouldn't be hidden if the devs are listening - please add a switch in the publish settings) was a great resource for tracking the LMS communications and helping me track down the problem. 

Steve  Galway

Yeah - once you publish your course look in the output folder. Go to the 'lms' folder and then open the 'Configuration.js' file. 

Look for the line 'var SHOW_DEBUG_ON_LAUNCH = false;' and change it to 'true'. 

When you run the course on an LMS a pop up will appear with a log of all the LMS communications. I've found it very useful for trouble shooting stuff. 

Steve

Andrew Hanley

Steve G = legend! :)

Thanks very much Steve, that could be hugely helpful.

 

Im currently battling why SetStatus("incomplete"); isnt working on Scorm Cloud in HTML5

Ive read some posts about it being a known SL issue (great) but Im trying other ways to code a work around. This debug mode might come in handy.

Ashley Terwilliger-Pollard

Hi Adam,

I see that you sent an email back to Miker about this as well - it looks like you had originally connected with him through the Priority live chat support. I also found another case you had with Vevette about a different issue - so it does appear that our emails are going through. Are you receiving emails from Support@articulate.com?

We don't have a ticket tracking system for customers as you said, but we're always happy to check in on your case and provide a status via email. 

The Javascript code that folks used in Storyline 2 to access those hidden player variables doesn't work the same in Storyline 3 or 360, as we completely rewrote the publishing engine based on our increased focus on HTML5 support. Our team is looking at ways to allow access to these variables or build the functionality that folks were using them for - but that's a bit further out on our roadmap and as such there isn't a timeline to offer. We'll share here in ELH once we have more info. 

Let me know if I can help with anything else! 

Max Ricketts

Hi Ashley,

We are currently considering upgrading from SL2 to 360 but we do utilize JS in our courses.  Is this still an issue we'd have to factor into our decision?  And can you confirm that SetStatus in particular is not working in 360, as this one is probably a go/no-go for us.

Thanks,
Max

Max Ricketts

Hmm...I found a lot more info here, which probably would have been useful to the participants of this discussion:

https://community.articulate.com/discussions/articulate-storyline/lmsapi-functionality-in-html5-output?page=2#reply-451483

I've only had a brief read but it does seem there are ways to work around this, but possibly a bit complex for those put off by code and used to being able to insert a single setstatus command into a trigger.

Any more info that can be provided though would be much appreciated.

Ashley Terwilliger-Pollard

Hi Max, 

Yes, SetStatus is still one of the Javascript issues our team was taking a look at. It does look like there has been some movement on this one recently, so a fix for it may be coming in an update - I'll definitely keep you posted on that here.

In the meantime, there is another Community shared workaround here. So a few different options to take a look at and see what works for you.