Pulling first name from LMS

Hi all - I'm wondering if anyone might be able to put together a step-by-step guide as to how to set up a variable / javascript function for this? (i.e. pulling a user's first name from the LMS).

I've read through this discussion (https://community.articulate.com/discussions/articulate-storyline/retrieve-lms-user-name-as-variable) but I'm very green and have had no experience with javascript functions (and only basic variables).

Any help for dummies would be amazing.

Thanks,

Sal

58 Replies
Kevin Brake

This may work, untested... let me know:

// Capture first initial from a variable
full_name = full_name.str.charAt(0);
first_name = first_name.str.charAt(0);

or maybe this one:

// Capture first initial from first and last name
var last_name = array[2];

first_name = first_name.substring(0, 1);
last_name = last_name.substring(0, 1);

 

Joseph Francis

This works with LMS' which adhere to AICC/SCORM standards, and are populating the field where the user's name is expected (retrieved using cmi.core.student_name) with the user's full name. The prescribed format is Last Name, First Name, Middle Initial, with the last name and the first name separated by a comma. Spaces in the name must be honored.

Glenda DeHoff

I am struggling with using JavaScript to capture the user's first and last names from the LMS (Vector Solutions). They store the user name as "Firstname, Lastname, Middle". This is the code I am using but it is not working. I was able to insert the date using JavaScript.

var lmsAPI = parent;
var name = lmsAPI.GetStudentName();
var nameArray = name.split(",");
var lastName = nameArray[1];
var firstName = nameArray[0];
var player = GetPlayer();
player.SetVar('first_name',firstName);
player.SetVar('last_name',lastName);

Lucio P

Hi Glenda,

From what I see in your code, you must declare the "player" variable before making the API call.

Try this:

var player = GetPlayer();
var StudentNameIn = lmsAPI.GetStudentName();
var array = StudentNameIn.split(',');
var StudentName = array[1] + ' ' + array[0];
player.SetVar("StudentName", StudentName);

If you wish to split the name in two variables, you may use your approach instead of "StudentName".