Everything we know about Cornerstone on Demand and Storyline!

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!

836 Replies
Will Findlay

It would be interesting to see what the javascript code is that accomplishes this. Would you mind posting it?

To answer your question though, no, it isn't needed. The method we use to accomplish essentially the same thing is outlined in the help article:

https://articulate.com/support/article/Storyline-3-How-to-Submit-Course-Completion-to-an-LMS-on-a-Specific-Slide

Using javascript might be less work though. (But then the trade-off is that it isn't supported by Articulate) 

Steve Flowers

The JS is pretty straightforward. We've been using similar to the below for awhile. HTML5 references the lmsAPI differently than the Flash output. A conditional check to see if a function exists typically helps send the calls in the right direction. 

var player=GetPlayer();

//status is pretty simple.
SetStatus("completed");

//if you also want to set the score.
lmsAPI=parent;
var tPercent=player.GetVar("SLSCORE"); //grab a score variable from storyline

if(lmsAPI.hasOwnProperty("SetScore")){
lmsAPI.SetScore(tPercent,100,0);
}else{
SetScore(tPercent,100,0);
}


Will Findlay

Ah, ok. I see it now at the if statement at the end: if(lmsAPI.hasOwnProperty("SetScore")...

That's great! I can't really think of any drawbacks to using this method over the "Specific Slide" method. I'd imagine that something like this javascript code might be what is going on behind the scenes anyway.

yoampi yoampi

Issue with rise: videos don't go full screen mode in Cornerstone

Hi community,

I have an issue with rise that is driving me mad and I need your support.

We created a Rise course with some blocks that are videos. When using the shared link, videos can play on full screen mode.

We exported the video in scorm 1.2 and tested in scorm cloud. It was able to play videos in full screen mode.

However, when I upload the same scorm in Cornerstone, videos can't go full screen. The button to enlarge is there, but when you click nothing happens. Video doesn't go full screen

Have you faced a similar issue? Any clue on how to overcome it? 

 

Thanks a lot!!!

Will Findlay
Parcours Learning

Dear all,

Anybody here any experience with pulling participants name and date of completion from Cornerstone? I could use a little help.

I made a certificate slide on which the first and last name of the participant and also the date of completion should appear. I used a trigger to execute JavaScript when timeline starts, this is the JS:

var lmsAPI = parent;

var name = lmsAPI.GetStudentName();

var nameArray = name.split(", ");

var firstName = nameArray[1];

var lastName = nameArray[0];

var currentTime = new Date()

var month = currentTime.getMonth() + 1

var day = currentTime.getDate()

var year = currentTime.getFullYear()

var dateString=day + "/" + month + "/" + year

var player = GetPlayer();

player.SetVar('first_name',firstName);

player.SetVar('last_name',lastName);

player.SetVar("date_completion",dateString);

It works fine for me when I test it in ScormCloud. But my client tells me it doesn't work for him. They use Cornerstone. It instantly got me wondering about the difference between ScormCloud and Cornerstone.

My first question is: is the JavaScript I used correct for Cornerstone?

My second question is: could the configuration of Cornerstone or safety measures on my clients side be a problem?

Thanks in advance!

Andrea GrandPre

Hello all,

 

Is anyone else having email hyperlink issues with CSOD? We publish SCORM 2004 3rd edition and recently some of our courses (not all) crash when a user clicks an email hyperlink. Compatibility mode is turned off in CSOD and on IE11.

 

Has anyone else had this problem? Any solutions? 

 

Thanks!

Chris Undery

I'm trying to set up a course so that it sends question level data to CSOD for reporting on. I can do this fine (mainly thanks to this thread) but have a couple of issues I wondered if anyone could help on.

PS. Course is output as SCORM 2004 3rd edition Complete/Incomplete

  • Pass / Fail reporting: I've read various threads on this and understand that CSOD suggest using Complete/Incomplete when publishing. This is fine but the Pass/Fail column in the CSOD Reports always show Failed. Does anyone know of a way of getting the pass/fail to work properly?
  • 'Hotspot' exercise question stem: I've been using the 'quiz question description' field to identify each question and this normally pulls directly from the question stem in SL3. However, I've got a few hotspot questions and if you look in the form view there is no question stem as such. From a bit of testing I've worked out that SL3 is sending the yellow highlighted text box (see screen shot) as the 'quiz question description' field (no idea why it picks this one to use). This might be fine but that field happens to be a static text box with the same content in every slide - This means I cannot differentiate between the various hotspot questions as they all come through with the same stem.  I've managed to get it working by typing question specific text into the text field and then hiding the extra text from the learner (change colour to same as background). This pulls thorough to the report in CSOD OK but isn't the neatest solution - Does anyone know of a different / better way of doing this?

Any help greatly appreciated.

Kristin Doll

I can only answer the first part.  The reason it's suggested to use Complete/Incomplete is that "failed" is considered a completion and therefore does not easily allow for more than one attempt.  However, "incomplete" keeps it in progress for multiple attempts until the user actually passes. 

Regarding reporting, I'm assuming you're looking in custom reports, then I believe the pass/fail field you refer to is "Quiz Success Status."  This actually is pulling the status of the quiz, not the status of the course on a user's transcript.  The "Transcript Status" field should return registered, in progress, or completed. 

I hope this helps!

Chris Undery

Thanks for the reply Kristin. The Pass/Fail column I refer to is from the standard 'SCORM 2004 course progress chart' report. However I've also checked in the custom report I was playing with and added the 'Quiz Success Status' field but all of the results show as 'unknown'. Screen grabs of both in attached Word doc.

I've also run it with debugger and think this line might explain why its showing as unknown:  strSuccessStatus=unknown

Any ideas?

Agne Ramanauskaite

Hi all,

I have read most of the comments but haven't found a proper answer about this issue. 

When I am testing the courses, I have saved them on a different tracking option as Passed/ Failed, Passed/Incomplete and etc. However, every option on the Cornerstone gave me same outcome. If the course was completed but failed it still shows as completed and the completion certificate is issued to the user. 

To overcome this issue, maybe not allowing the person to view the last slide if the passing score is less than 70%, would work? Can somebody assist me, how to create this variable?

Thank you, 

Agne