How to force the LMS to call index_lms_html5.html?

Sep 22, 2015

We want ONLY the HTML5 version of a particular course to load in the LMS (Cornerstone OnDemand). We are all good on how to output to HTML5 and we have tested the file locally. When we publish from Storyline 2 update 7 we get both the SWF and the HTML5 files in the output. I am guessing there are dependencies.

It seems, however, that we're going to have to do some manual editing of the manifest file and possibly some other files in the output in order to get the LMS to launch ONLY the HTML5. Before I try brutal hacks like removing the index_lms.html file or manual trial and error edits—does anyone know how to do this already?

UPDATE: One of my IDs has figured out how to work around the LMS and browser hiccups and force HTML5 to load in any compatible browser.
Not sure if this link will take you directly to his post (with screenshots) but if not, it's on page 3 of this thread. Thanks a million @BrettBerish.

https://community.articulate.com/discussions/articulate-storyline/how-to-force-the-lms-to-call-index_lms_html5-html?page=3#

Thanks to Phil, Steve, Mike and Ashley.

87 Replies
Deb Bowden

My IT department just presented me with a long list of Storyline courses that will cease to work with an interim LMS due to .swf files. I've forwarded this thread about forcing the LMS to call the .html file, which they've been able to do. The problem is that, they say, all interactions and videos still exist as .swf files inside the published course. They're recommending I move all embedded course videos to Brightcove and use links instead AND, remove all interactions that require Flash.

Any ideas that will spare me having to rebuild everything?

Brian Allen

Deb, if your content has been published for LMS with the HTML5 checkbox selected then your courses should still function even if .swf files aren't supported by the interim LMS.

I would recommend testing with a browser like Chrome with the flash plugin disabled to find out for sure. If you test with the plugin disabled and your course still functions then you can be assured that your content will work in the interim LMS.

Here are some steps that might help you disable the plugin for testing - http://www.androidcentral.com/chrome-disable-flash

Sam Carter
Matthew Bibby

In some environments, yes.

But on the other hand, I have a couple of large clients who won't be moving away from Flash anytime soon for a variety of reasons. So options are good! 

 

Right. As do all of us. But as of now, there is no option for an HTML5-only client although Storyline does support a Flash-only client.

 

 

Brian Allen
Matthew Bibby

There are no security issues that I am aware of that come from .swf's simply existing on a network and without Flash players installed, these files will never run.

This is my understanding as well, and beyond the statement above, server admins should be able to simply remove the Flash mime type from servers. 

Over the past couple of weeks I've just sat back and marveled a little at the almost frenzied hype around this whole issue, discussions of going thru and removing .swf files from published output on servers, etc. 

It's a little crazy...

Brian Allen
Matthew Bibby
The more I think about it, the more I realise that the right call for Articulate at this stage may be to not provide a HTML5 only option.

The only reason I disagree with this is because I believe there are going to be some organizations that will want to eliminate the flash files stored on their servers and this is going to cause headaches for some developers. I would like to see it provided as a use at your own risk option.

Steve Flowers
Brian Allen
Matthew Bibby
The more I think about it, the more I realise that the right call for Articulate at this stage may be to not provide a HTML5 only option.

The only reason I disagree with this is because I believe there are going to be some organizations that will want to eliminate the flash files stored on their servers and this is going to cause headaches for some developers. I would like to see it provided as a use at your own risk option.

I'm thinking the eventual direction will likely be HTML5 primary with option for Flash-based publish. It's the way things are headed. As for server admins wanting to remove SWF's, on one hand I get it. On the other... it illustrates a misunderstanding of the threat vector. The risk is entirely on the client-side. Remove the Flash player and the vulnerability goes away. Remove clean SWF's from your server and you've done nothing to improve the situation. Maybe the line of thinking is that a hacked server could setup a vulnerability through SWF's.

The best solution is for Adobe to update the Flash player and remove all system access. Insulate FP as a media player and the problem goes away permanently.

Dave Cox

I believe that you can accomplish this with one code update in the story.html file. Line 23 in the file checks for the existence of the flash player:

if (navigator.plugins["Shockwave Flash"])
{
var arrDescription = navigator.plugins["Shockwave Flash"].description.split(" ");
var nVersion = Number(arrDescription[arrDescription.length - 2]);

g_bMinFlash = (nVersion >= 10) || isNaN(nVersion);
}
else
{
try
{
var oActiveX = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.10");
if (oActiveX)
{
g_bMinFlash = true;

}

I deleted everything in the brackets and replaced it with this:

if (navigator.plugins["Shockwave Flash"])
{
g_bMinFlash = false;
}

This will cause the player to default to anything but flash.

Dave Cox

I believe that you can accomplish this with one code update in the story.html file. Line 23 in the file checks for the existence of the flash player:

if (navigator.plugins["Shockwave Flash"])
{
var arrDescription = navigator.plugins["Shockwave Flash"].description.split(" ");
var nVersion = Number(arrDescription[arrDescription.length - 2]);

g_bMinFlash = (nVersion >= 10) || isNaN(nVersion);
}
else
{
try 
{
var oActiveX = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.10");
if (oActiveX)
{
g_bMinFlash = true;

}

I deleted everything in the brackets and replaced it with this:

if (navigator.plugins["Shockwave Flash"])
{
g_bMinFlash = false;
}

This will cause the player to default to anything but flash.

This discussion is closed. You can start a new discussion or contact Articulate Support.