Storyline 3.18.28642.0 publishing breaks tincan tracking -- forbidden

Sep 15, 2022

I was told to get this new version because of these threads: https://community.articulate.com/discussions/articulate-storyline/firefox-is-it-compatible-or-not

SL360 content running in latest Firefox browser shows several JavaScript errors and not in other browsers - Articulate Storyline Discussions - E-Learning Heroes

Now when I publish for tincan, my tracking doesn't work.  Going through fiddler I see that my tincan tracking statements are getting 403 forbidden errors, so my tracking methods are not getting called.  Using published files from my older version - 3.15.26826.0 -- works fine.  They return 204, my methods get called and all is good.  What changed? 

A couple of notes:

  • The tincan.xml files produced by each version are identical
  • I notice that when publishing in the new version, the dropdown says xAPI instead of tincan.  Does this mean there are other differences?

Thanks

 

24 Replies
Jose Tansengco

Hello Frank,

Sorry to hear that you ran into this snag! 

Looks like you've already tested the issue quite a bit on your end. I went ahead and opened a support case on your behalf so our support engineers can do further testing to see why your courses are not working properly when published using the most recent versions of Storyline 3. One of the troubleshooting steps that will be recommended is to test the behavior in SCORM Cloud. Here's how to test this behavior if you want to do this ahead.

Your case is in good hands, and someone from our team will be in touch with you shortly!

fbs 419

Thanks a lot.  Just wondering, in the meantime, is there a version between 3.15.26826.0 and 3.18.28642.0 that might be available that I could test with?  I couldn't really find any other versions on the website except for the latest.  I need a version that will fix the Firefox version but not break our tracking.

Jürgen Schoenemeyer

can you downgrade to 3.15?

if yes, create a small course with some xapi tracking and upload here the zip of the published folder

then I can to try to patch the firefox problem for version 3.15 (there should be only two quotation marks too many)

 UPDATE: add an audio file on the first slide

fbs 419

Thanks Jurgen.  For now, I think I'll wait for the support case to play out.  Maybe that can fix anything and you won't  have to patch.  What I was wondering about in the meantime though, was that I know there is a version 3.16.27367.0  out there.  I was going to try to test things out on that, but I don't know how to get that version.  Thanks

Kelly Auner

Hi Frank!

You can install a previous version of Storyline 360 by opening your Articulate 360 desktop app.

  • Select the arrow next to Storyline 360, then select Other Versions.
  • Select Install on the version you would like. It's important to note that this list will include all the versions released in the past six months.

I see that you're working with my teammate, Luiza, in a support case, so we'll continue the conversation there!

fbs 419

It looks like 3.19.29010.0 has fixed my tracking issue.  Also, when I run a course in Firefox, it starts up and runs.  However, on the Results slide, I have a trigger that executes a javascript function called track_completion.  However, in Firefox, it doesn't run.  When I look in the console, I get this:  actionator::exeJavaScript - track_completion is not defined

Other browsers run completely.  I'm sure this is a Firefox issue.  Has anyone in the Articulate community seen this error when running javascript?  Thanks a lot.

fbs 419

It's a trigger when you hit Next on the results slide.  It is in a separate javascript file in our system.  That script is found because of these statements in our aspx module that runs our training:

<script type="text/javascript" src="/js/track.js"></script>

function injecttracking() {
var head = this.contentDocument.getElementsByTagName("head")[0];
var scr = this.contentDocument.createElement('script');
scr.type = 'text/javascript';
scr.src = '/js/track.js';
head.appendChild(scr);
}
window.onunload = reloadParent;
$(function () {
$('iframe').on('load', injecttracking).on('unload', reloadParent);
});

Other browsers find it just fine.  Only firefox has the issue.

 

fbs 419

The only console error I get is the one I mentioned before:

actionator::exeJavaScript - track_completion is not defined

It says it comes from bootstrapper.min.js:2:149179

Not sure what you mean by "is the html and the iframe in the same domain".  I imagine they are -- I don't do anything fancy here -- just call a javascript module that works in every other browser.

Jürgen Schoenemeyer

add some debug code "console.log(...)"

function injecttracking() {
console.log( "injecttracking" );

var head = this.contentDocument.getElementsByTagName("head")[0];
var scr = this.contentDocument.createElement('script');
scr.type = 'text/javascript';
scr.src = '/js/track.js';

head.appendChild(scr);

console.log( "head", head );
console.log( "scr", scr );
}

add in the track.js before the first line and after the last line also a console.log("...") command

first try it with chrome, if it's ok then try it with firefox

make screenshots from the browser console with all log messages

fbs 419

It's all very strange.  When I use Chrome, it works fine.  My initial injecttracking console statements show up at the beginning.  When it's time to call track_completion, I see a quick ... and then the console messages disappear.

When I do this in firefox, I never see any debug statements.  There are some errors, as shown in the attachment, but the module starts up and runs fine.  It just doesn't put out debug statements, and it always gets the same error -- actionator::exeJavaScript - track_completion is not defined

fbs 419

When I run firefox, I never see the debug statements, which seems to indicate that injecttracking is not even being called.  I never see track_completion being called -- just that error message -- actionator::exeJavaScript - track_completion is not defined.  When I get to my NEXT screen to continue, it just hangs.  However, if I come back in to our training, it looks like it actually worked -- it shows that the module was completed.

As for Chrome, I do see the injecttracking debug statements, and have attached those.  However, when it gets to track_completion, it works, but the debug just shows 3 quick dots and goes away.  I would also notice a console error on this line (the function after track_completion) -- 

$(function () {
// disable caching of GET requests in IE
$.ajaxSetup({ cache: false });
});

where it said it didn't recognize $.  However, when I took that out, the behavior didn't change for either browser.

I don't know why Firefox is different -- Edge and Chrome work fine.

fbs 419

One other note -- I did see an Articulate article that says:  Don't include <script type="text/javascript"> in your code

Our injecttracking does have <script type="text/javascript"> and </script> around it, but taking that out just causes our source to show up in a window behind the training.  This happens in all browsers and doesn't make any difference as far as behavior is concerned.