Articulate Storyline 360 Receiving Data

Sep 09, 2019

I am creating a module to help individuals to make choices on what competencies they should develop. They will take a survey (that is not in the Storyline 360), and from that survey, I would like to import the data for the top three competencies that need to develop the most into a 360 module. Is this even possible?

8 Replies
Richard Batts

The survey is on a platform of its own. It generate a list of things the person needs to develop and puts it in a PDF report. I want to take that data the is being put in the report and put in the storyline. 

I figured you would have to use javascript. Do you know of any examples that I could start on to write this script? 

Estelle Drysdale

Good afternoon Phil

I have a similar enquiry as Richard.

We are using SAP Learning Management System (LMS) and would like the users to login on the LMS and then pass the login details (e.g. unique id, name, language) to articulate which will then display the correct language version to the users. After completing the quiz, the quiz data has to be sent back to the LMS so that the trainer will be able to run reports on the users results.

Is there a way for SAP to talk to Articulate?

Kind regards

Estelle

Joseph Francis

To retrieve specific user data from an LMS, Storyline communicates via a JavaScript trigger. In Storyline, first create the following text variables:

  • lmsStudent_Name
  • strFirstName
  • strLastName
  • lmsStudent_ID

Now, create an new JavaScript trigger on on the first slide, executed when the timeline starts.

//get the Storyline Player
var player = GetPlayer();

//get the handle of the window
function findLMSAPI(win) {
     if (win.hasOwnProperty("GetStudentID")) return win;
     else if (win.parent == win) return null;
     else return findLMSAPI(win.parent);
     }
var lmsAPI = findLMSAPI(this);

//function to Capitalize The First Letter In A String
function toTitleCase(str) {
     return str.replace(/\w\S*/g, function(txt){return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();});
}

//retrieve the student's name from the LMS, split it into an array, and populate corresponding Storyline variables
var lmsStudent_Name = lmsAPI.GetStudentName();
var arrName = lmsStudent_Name.split(", ")
var strName = arrName[1] +" "+ arrName[0];
strName = toTitleCase(strName)
player.SetVar("lmsStudent_Name", strName);
player.SetVar("strFirstName", toTitleCase(arrName[1]));
player.SetVar("strLastName", toTitleCase(arrName[0]));

//retrieve the Student's Logon ID from the LMS; populate corresponding Storyline variable
var lmsStudent_ID = lmsAPI.GetStudentID();
player.SetVar("lmsStudent_ID", lmsStudent_ID);

In Storyline, you would display the variables on-screen in a Text Box using Insert > Reference and selecting the variables from the list.