Everything we know about Cornerstone on Demand and Storyline!

Sep 04, 2013

I thought I would start a thread about Cornerstone on Demand so there's a central place for people to read and add to. There seems to be a dearth of information about how CSOD and Storyline interact with each other as well as the unresolved issues surrounding it. I've spent many hours scouring the web and speaking with Cornerstone trying to find a solution. Hopefully this thread will serve as a resource for others going forward.

On a side note, I love Articulate Storyline. I started with Adobe Captivate with limited success. It was a very steep learning curve, but I was able to get some basic functionality out of it. I tested out Storyline with it's 30 day trial, and I will say that time-to-effectiveness was drastically reduced. It really IS like using powerpoint. Granted there is less complex functionality and interactions available than Captivate, but so far it's given me everything I've needed to use. The benefit is that the learning curve is much less steep too. Think of it as the difference between iMovie and Final Cut Pro. The latter can do some crazy effects, but the former gives you 90% of what you need and can get you comfortable in 1/4 of the time.

It's nice to have a properly-working content creation tool when you're in an LMS like Cornerstone. I have enough trouble in CSOD as it is.

So some of the nuggets of wisdom that I've found are :

  • Cornerstone does not track SCORM 1.2 content properly. You cannot pull a lot of the reports if they are not in SCORM 2004 format. You don't have the option to select that course in the reports.
  • If you export into SCORM 2004, there will be an extra section on the left with text links to the module. This takes up 30% of the screen, and on smaller laptop screens may crowd out the module window. Cornerstone says this is a Storyline exporting settings issue. I couldn't find any settings that shows/hides that section. The workaround is to resize the module to the screen, which doesn't get rid of the section, but at least fits the module.
  • When reporting, you can get the completion status for a course based on quiz result or last slide viewed. You can also get a final grade for course. Storyline passes the results information for each question (including short answer) but you cannot pull a list of the answers for an individual. Therefore, it may not be advisable to administer any testing where you'll need to review individual answers
  • You can get a list of aggregate answers for a module. e.g. I can see how 100 employees answered this multiple choice question. This is helpful to determine if learners are absorbing the course information correctly.
  • Web objects (such as websites, or links to sharepoint documents) work in modules if your IT has added csod.com to the trusted sites
  • Popup windows that open up the articulate module in CSOD will work if you add csod.com to the allowed list for popup blockers. Your IT dept can also add this to everyone's computer. Otherwise when learners click the "launch" button, the module does not show up.

I'll post more as I think or find them, but feel free to add to this list!

894 Replies
Chris Undery

The company I work for want to implement use fo video either directly using CSOD video functionality or video inside a SACORM package created by Storyline 2. We've never used it before because of bandwidth issues but have got IT to agree to some actual testing and wa wondering if anyone could help explain a slightly odd result.

The same video file (mp4 & SCORM - the SCORM file is smaller) were loaded into CSOD and run to see the pull on broadband. The odd thing is that the SCORM file seemed to pull a lot more broadband than the mp4 file (7MB/sec compared to 3.5MB/sec).

Does anyone have any ideas why this might be happening as I assumed that the SCORM package would create less drain than an actual video?

Barry Hinks

Hi Chris, I'm not sure what the explanation is for the bandwidth.

One thing I'd share with you, is whilst you can launch videos directly from CSOD, once it's been watched a learner will have to 'mark as complete' to record this in their learning records. If the video was part of a SCORM file this would automatically show as completed, based on your publishing settings.

Will Findlay

I'd guess the difference in bandwidth during playback is because when you upload a video to CSOD it is being ingested into several different file sizes. When it plays back (streams) it is probably playing back a version of the file that is more compressed than what was uploaded, because it is trying to find the file size that will work best with the bandwidth that is available. This is an advantage of using a media service such as Brightcove, Akamai, or even YouTube. 

Steve Flowers

Akamai is serving up video at a lower bitrate. If you played the video from a different device / connection, you'd likely see a lower bitrate coming from Akamai's servers. Storyline's bitrate is fixed based on how it's compressed in publish settings. You can adjust the bitrate settings a bit in Storyline's published output. 7MB/s is high. 

There are also ways to control bitrate by compressing your video to the rate you want it before import into SL and setting the properties of the video to not recompress on publish.

Will Findlay

Another option is to upload your video to a streaming service, and then insert it into your Storyline course as a web object. 

Why do this? Well, a downside of inserting a video directly into Storyline, versus embedding a video from a streaming service (like Akamai) is that you really need to compress your video for the weakest potential internet bandwidth of your users, or expect that some users with poor connections are going to encounter video buffering because, as Steve said, Storyline's bitrate is fixed, while a streaming service tries to adapt the bitrate for the user's situation. Having said that, it seems there will always be someone who has problem playing an internet-based video no matter what you do.

On the other hand, if, instead of inserting your video directly into Storyline, you embed video from Youtube/Brightcove/Akamai/Vimeo etc..., and your company decides to stop using one of those services, you will have a lot of revisions to make. 

Also, be prepared to be frustrated that Youtube/Brightcove/Akamai/Vimeo's players full screen button won't function when viewing in CSOD's Online Course player.

Scott Morrisette


I just wanted to provide a helpful tip that I just discovered. If you are publishing to CSOD and your Articulate course content is not showing, or showing as a blank screen a solution I found was to uncheck the selection box that states "When running in LMS, ignore Flash cookie" this box is found in the "Player Properties" window.   This box, once unchecked will allow your course to play on mobile devices in the CSOD application.

Gina Ruether

Hello together,

I have a question regarding a published training. I prepared a training for a client and at first it worked quite well. But now after a month or two, it behaves funny. Participants have to click buttons ceveral times and sometimes it works and sometimes it just stops working at all. I also checked the source files and they looked ok. Is there anything what I can do about it? They use an internal Learning Management System to upload the files. Its name is Cornerstone. 

Thank you in advanced for your help!


Will Findlay

My bet is that you can just Replace rather than Reversion in this case, but I tend to live on the wild side on this issue, - I figure that what can break a course is based around changes to the SCORM completion criteria (e.g. number of slides when the completion is based on number of slides, quiz score changes, number of quiz questions, etc..). If there aren't changes to what signifies completing a course, I assume Replace is ok. (Probably in part out of wishful thinking, but also it seems my experience bears this out).

I always delete out all the old course files before replacing. (I don't trust CSOD's file comparison tool to sift through the files and only upload the one's that have changed - it seems good in theory, but unreliable in practice - maybe this is to blame because when you repackage a course in Storyline, changed in structure are inevitable).

Will Findlay

Or just break the video into segments and out each segment in a different slide where each segment ends when they are supposed to switch to email. 

But maybe you are asking because you are trying to prevent them from trying to multitask by switching away from the learning module and working on email while it runs in the background? The only solution to that in my opinion is to make them answer good quiz questions on the content. 

Steve Flowers

There's a possible way to get this done using a bit of Javascript, a variable in Storyline, and a trigger to pause the timeline. If you're not comfortable with Javascript, it could be daunting to implement.

The script is described in this stackoverflow post:


You'd want to trigger something that incremented a number value in a storyline variable then use a "when variable changes, pause timeline" trigger.  This would let the browser window detect when focus is lost or the window goes into the background.  In a Javascript trigger that fires when the slide loads that you want to have the video pause:

var hidden = "hidden";

var player=GetPlayer();

// Standards:
if (hidden in document)
document.addEventListener("visibilitychange", onchange);
else if ((hidden = "mozHidden") in document)
document.addEventListener("mozvisibilitychange", onchange);
else if ((hidden = "webkitHidden") in document)
document.addEventListener("webkitvisibilitychange", onchange);
else if ((hidden = "msHidden") in document)
document.addEventListener("msvisibilitychange", onchange);
// IE 9 and lower:
else if ("onfocusin" in document)
document.onfocusin = document.onfocusout = onchange;
// All others:
window.onpageshow = window.onpagehide
= window.onfocus = window.onblur = onchange;

function onchange (evt) {
var v = "visible", h = "hidden",
evtMap = {
focus:v, focusin:v, pageshow:v, blur:h, focusout:h, pagehide:h

evt = evt || window.event;
if (evt.type in evtMap){



// set the initial state (but only if browser supports the Page Visibility API)
if( document[hidden] !== undefined )
onchange({type: document[hidden] ? "blur" : "focus"});


Steve Flowers

It should. I believe the event listens for any focus event. So if the popup loses focus to another application, it should still fire the event. Haven't tested in awhile but I believe this is the way it worked with the blur:focus event. I'd expect the page visibility API to be an improvement since blur:focus is only used as a fallback.

Sasha Rubeis

Hello All,

I'm trying to figure out the properties for an exam. I want the user to launch the exam once. I want to capture the completion and score. If the user fails the exam, I do not want them to have the capability to re-launch that exam. I basically want to lock the exam after 1st attempt. Any help would be greatly appreciated. Thank you