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?
Where is the data coming from, if the survey has an API you might be able to do it, you would need to be able to sort the data in the survey and have a way of querying the database in storyline via javascript.
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?
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.
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.
8 Replies
Where is the data coming from, if the survey has an API you might be able to do it, you would need to be able to sort the data in the survey and have a way of querying the database in storyline via javascript.
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?
Can you access the database for the survey?
Yes
Can you query the database, my main concern would be if you can find a unique identifier to pull the specific users query out.
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
To retrieve specific user data from an LMS, Storyline communicates via a JavaScript trigger. In Storyline, first create the following text variables:
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.
Good afternoon Joseph
Thanks for the speedy response. I will try this out.
Kind regards
Estelle