How to force the LMS to call index_lms_html5.html?
Sep 22, 2015
By
Dave Howard
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.
Thanks to Phil, Steve, Mike and Ashley.
87 Replies
Hi All,
Is part of the problem in IE due to the incomplete lack of HTML5 support?
Sam
That's odd with the mixing of slide layers. The edit of index.html shouldn't cause that problem.
Steve, he has another thread going on here: https://community.articulate.com/discussions/articulate-storyline/can-storyline-only-publish-as-html5#reply-344011
Does it look like my reply should solve the problem? It worked in testing here.
It should. There are a few different ways to handle the load redirect. The problem with scrambling layers is likely being caused by something else. The only time I've seen this problem is when a module had previously been loaded and run and attempted to run again. Clearing local cache fixes this problem.
I find Chrome is awful at handling courses that are updated a frequently for testing, using incognito mode can sort that out.
I agree. IE 11 seems to be pretty bad about caching old versions of storyline courses, sometimes seemingly caching PART of the course. Other browsers behave much better.
Good to know, Phil!
Caching in some LMSs can be a really bad issue, when I worked for the Health Service over here they used some sort of local caching that meant if I updated a course anytime in the day and viewed it, and then updated it would never show the new version until the next day really made my life difficult.
So... what is Articulate's position on SL2 playing in HTML5 mode in Chrome, IE, and Firefox?
Sam
Chrome is supported, IE and firefox are not.
I rarely get issues with IE 11 and HTML5 and edge works great, Firefox is something I rarely have a need to test.
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?
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
I came across this thread after I found a solution that worked for me. So I pass this on in case it helps someone else.
I edited the index_lms.html file and on line 9 changed
if ((g_biOS || g_bAndroid) && true)
to
if (true)
Thus it is always true and always runs html5.
This seems to work fine.
Drew
Flash is being removed from all desktops of a few of my customers for security purposes.
It is inevitable that eventually HTML5 will become the preferred playback mechanism.
Sam
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.
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...
That, and as some have suggested having an HTML5-only option would be good as well. I honestly can't think of any reason it wouldn't be doable on Articulate's side of things...
This post was removed by the author
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.
Thanks so much to everyone for your help with this situation. I believe my IT group now has the info they need to fix this without my having to rebuild everything. You are true e-learning heroes! :)
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.
Deb, they really are! So glad the community is a place where you can get some solid help! :)
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.
Hi Dave, take a look at this post for what appears to be a solution to this question - https://community.articulate.com/discussions/articulate-storyline/how-to-force-the-lms-to-call-index_lms_html5-html?page=3#reply-341710
Thanks Brian,
That's actually where I had intended to place my last post. This accomplishes the same thing as what was posted there, but with one simple change.
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.