GetPlayer script does not work in CITRIX environment

Greetings,

Recently I created SL end of course certificates using multiple methods. Although all methods worked as designed, I found that all would not work when the published SL file is accessed via IE 11 on a CITRIX environment.

I think I've narrowed the cause of the conflict to the "var player = GetPlayer()" script. I've created a test SL file, which is attached with this post. The demo published file is located at https://s3.amazonaws.com/getplayer-demo/GetPlayer+Test+-+Storyline+output/story.html

I also have a screen capture of the published SL file playing in IE from my home internet, and in Chrome and IE from the CITRIX environment. The video is available at https://youtu.be/rDo6Dg2cl0s.

The video shows that javascript used in SL will work, even in a CITRIX environment. It is only when the GetPlayer function is called that it does not work when playing the published file using IE in the CITRIX environment.

At this point, I'm not sure if the problem is with the CITRIX environment configuration because the published file works just fine when using Chrome on CITRIX. The problem might well be IE configuration in the CITRIX environment.

I am aware that Articulate does not support javascript and only provides some best practices examples. I am hoping that there are web and  CITRIX administrators or others with this experience and knowledge within the articulate community who can help me solve this issue.

Thank you,

Dan

5 Replies
Daniel Bolia

Hi Christie,

I did additional testing to verify why my certificate in SL does not work when using IE within the citrix server environment.

This particular course certificate is based on Owen Holts post; https://community.articulate.com/discussions/building-better-courses/create-a-course-certificate-in-storyline-with-java-and-html, which uses javascripts to write the html codes and create an html certificate. The javascript from the SL file is shown below.

In this example I have commented out all instances of "var username=player.GetVar()" as well as the codes that call the variables defined by the player.GetVar functions (e.g. //contents+='<h3>'+username+'</h3>';). Doing this will generate a certificate without the username, course name, and date fields. This will work just fine in the citrix environment using IE or other browsers.

If I implement or uncomment out any of the player.GetVar function in the javascript then IE will only display a blank html page when I use IE in citrix. It should be noted that chrome browser does not exhibit any problem with the Player.GetVar functions.

My conclusion is that the player.GetVar function is causing the problem with IE in the citrix environment. The problem does not exists when the chrome browser is used to access the course. I wonder if this situation merits submitting a trouble ticket to Articulate or will I get the standard response "We don't support javascript."

Thank you,

Java Scripts from SL course follows:

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

 myWindow = window.open("","Print","width=1008,height=768,scrollbars=0,resizable=0");

var player=GetPlayer();
//var username=player.GetVar("NewName");
//var course=player.GetVar("CourseName");
//var date=player.GetVar("SystemDate");
//var score=player.GetVar("ScorePercent");

var contents ='<!doctype html><html><head><style type="text/css">';

contents+='.certificate {border: 1px #000000 solid; height: 768px; width: 1008px; text-align: center; margin-left: auto; margin-right: auto;}';

contents+='h1 {margin-top: 25px; margin-bottom:15px; letter-spacing:8px; text-align:center; font-family:Georgia, "Times New Roman", Times, serif; font-size:50px; font-weight:bold;}'

contents+='h2 {margin-top:3px; margin-bottom:3px; letter-spacing:4px; text-align:center; font-family:Arial, Helvetica, sans-serif; font-size:25px;}';

contents+='h3 {margin-top:3px; margin-bottom:3px; letter-spacing:4px; text-align:center; font-family:Arial, Helvetica, sans-serif; font-size:30px; font-weight:bold;}';

contents+='h4 {text-align: center; margin-top:50px;}';

contents+='</style><body>';

contents+='<DIV class="certificate">';

contents+='<h4><img height="100" width="auto" alt="Organization Logo" src="story_content/WebObjects/67OQ8AsQvF8/EHSS_Logo.png"/></h4>';

contents+='<h1>Certificate of Completion</h1>';

contents+='<h2>The Training Institute Certifies That</h2>';

//contents+='<h3>'+username+'</h3>';

contents+='<h2>Sucessfully Completed The</h2>';

//contents+='<h3>'+course+'</h3>';

//contents+='<h2>'+date+'</h2>';

contents+='<h4><img height="75" width="auto" src="story_content/WebObjects/67OQ8AsQvF8/E-nergy.png"></h4>';

contents+='</DIV>';

contents+='</body></html>';

myWindow.document.write(contents);
myWindow.document.close();
myWindow.focus();
myWindow.print();

Ashley Terwilliger

HI Daniel,

We also can't offer support for server environments such as Citrix and the certificates are a modification of the published output (with or without Javascript included). If you are still running into issues just in IE alone with how it behaves, our team can try to take a look but it may be outside the scope of our abilities and support. You're welcome to reach out here for confirmation of that - and otherwise the community is generally good at assisting with these types of things. 

Daniel Bolia

Hi Ashley,

Thank you for your response. I understand that Articulate doesn't provide support for javascript, as stated many times previously.

Regarding your link on citrix support, I believe this information is about installing articulate software on a citrix environment and there's nothing about providing support for it SL courses playing in a citrix environment.

Also, I don't think the issue I outlined is about javascript. Rather it's about the articulate Player.GetVa() function. Perhaps this is also outside the scope of articulate's ability to support as well so I hope community members will be able to contribute, as they usually do.

Thank you,

Ashley Terwilliger

Hi Daniel, 

Where are you hosting the course to play it within the citrix environment? 

Also, as for the Player.GetVar(), Storyline doesn't currently allow for accessing system variables, so using Javascript connected to them may cause issues with playback and as such falls into the unsupported realm. As I said, our team is always happy to take a look and confirm, and you can reach out to them here and I would mention the work you've already done here.