Storyline 3.18.28642.0 publishing breaks tincan tracking -- forbidden
Sep 15, 2022
By
fbs 419
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
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
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!
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.
I meant "I need a version that will fix the Firefox issue but not break our tracking."
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
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
Hi Frank!
You can install a previous version of Storyline 360 by opening your Articulate 360 desktop app.
I see that you're working with my teammate, Luiza, in a support case, so we'll continue the conversation there!
Hi Kelly. I'm running Storyline 3. With the desktop app I'm running, I don't really see any way to get another version. I looked on the website didn't seen the interim versions. I guess I'll just wait for the support case to be resolved, unless you have another way to get this. Thanks
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.
where is "track_completion" defined
- in a separate javascript script file?
- in the start html file?
- in a trigger "on timeline starts"?
- ...
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.
are there error message in the browser console?
is the html and the iframe in the same domain?
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.
add some debug code "console.log(...)"
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
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
i need the COMPLETE console output with the "console.log" commands in chrome and the same version in firefox, then maybe i can see what happens
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.
One other note -- I did see an Articulate article that says: Don't include
<script type="text/javascript">
in your codeOur 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.
if "$" is not recognized, jQuery is not loaded
since storyline 3.36.21213.0 jQuery is not integrated anymore
why are you use "http" and not "https" for import your files?
https://developer.mozilla.org/en-US/docs/Web/Security/Mixed_content
try change all "http" to "https"
Where are you seeing http?
That's just a test server I was running on. Running on secure servers makes no difference. I think there's either a bug in Articulate or Firefox here. Probably Firefox.
then you have to look in the server logs of your real web server
if you mean that is an firefox error - send it to
https://support.mozilla.org/en-US/kb/file-bug-report-or-feature-request-mozilla
errors are often corrected within a few days - i have experienced this myself