How can I use Storyline 360 variables in custom xAPI statements as Number (not as String)
Jun 30, 2022
Pinned Reply
Hi Everyone,
I have some exciting news to share! We just released another update for Storyline 360. In Update 82, we’ve included important fixes and new features.
One of the fixes we’ve included is:
You no longer need to add quotes to variable values in custom xAPI statements.
To take advantage of this update, launch the Articulate 360 desktop app on your computer and click the Update button next to Storyline 360. You'll find our step-by-step instructions here.
Please let me know if you need additional help!
17 Replies
Hi Remo! I asked the same question with no response, so I'll file a ticket with support. This is a bug (or by design but than the design is flawed). Raw HAS to be a number. We can't send it as a string, it's non-conformant.
What I'm doing now is after publishing I run a Python script on the published .js files to remove the /" part for the /"variable/" when I DO want this to be a number. They are page-based .js files in html5\data\js\.
Hi Zsolt,
Even though it is a possibility for sure, I want to avoid changing files or doing extra steps because I am not the one creating courses and I am afraid this might be 'forgotten' to run. Especially since the content goes not into systems I control but into any system of our customers.
I also added this to support and was in contact with them in back and forth to explain.
In the end, Cleo (support engineer) mentioned the following:
The xAPI specs say all that data should be numerical: https://github.com/adlnet/xAPI-Spec/blob/master/xAPI-Data.md#Score
This looks like it’s an issue on our end. I’ve logged it as a possible software bug.
So indeed, non-conformant and a 'bug' in Storyline. I am waiting for follow-ups from their side... please create a support ticket as well. More tickets might speed up the process a bit :-)
This is worrying... and should be fixed indeed.
They are still investigating and will give me an update as soon as they are done. I'll report here after I got the update.
Thanks
1) No not necessarily, but I need to write my own code when I want a custom web object interacting with the score of a course
2) yes, it won't do anything with my web object/player variables if I can't map them to the xAPI output or any number variable for that matter)
3) I was planning to use the default 'score' node in xAPI statements and expect the LMS to handle them as any other course that advertises a score
xApi data basically goes to a LRS ( Learning Record Store ) and inthere mostly there is some sort of dashboard to see all your recorded data and get analytics on it. Some offer data to be sent back into the LMS so your users/admins can check any xApi data directly on the LMS without knowing anything about the LRS. At Twente University they succesfully created courses that sent data to Veracity LRS and then teachers could check it out on dashboard in Instructure Canvas LMS. They experimented with Storyline as tool to create xApi compliant courses, but due to things as mentioned in this post Storyline failed.
Main issue now is still how to ensure xApi data is easily sent to the LRS. Storyline still fails at an easy workflow for that. Tools that out-of-the-box create easy xApi generation are for example H5P and Xerte. Both tools create xApi data without any extra coding. But those tools then lack custom interactivity. You can create your own H5P components, but its a lot of coding too.
We are also having this issue. Following and asking for a fix from Articulate.
Hi Shawn,
Sorry to hear that you ran into a similar issue.
We are currently tracking a known bug that causes Storyline to only accept values of variables if they are inside a String (quoted), instead of a number for courses published in xAPI. We've identified that manually removing the quotation marks (") (and related escape characters) in the published export (html5/data/js/xxxxxx.js) resolves the issue. If you have any questions or clarifications regarding the status of the bug or its workaround, you can open a case with our support team here.
Hi, is there any update on this issue? I need to send scores via xAPI
Manually removing quotation marks in published content ? I am very sorry, but thats not what users expect ! So Storyline doesnot publish xApi thats the conclusion.
Hi Ben and Math,
Thanks so much for checking in on this. Currently, I don't have an update on this bug, but we'll be sure to update this discussion once we have news to share!
Any joy with a resolution to this? If not, is there any chance of a more detailed explanation of what exactly to remove as a workaround (with reference to "and related escape characters")?
Hi Tom,
Thanks for reaching out! We don't have any news to share at this time, but as Kelly mentioned earlier in this thread, we'll be happy to update this discussion when we have any news for you all in the future!
I'm curious to hear of any workarounds from our talented community members. Have a great start to your week!
Hi Tom,
I see no indication that Articulate will ever fix this bug. It's not on their roadmap, from what I can see.
I attached a video with instructions. Hope that helps
Hi Everyone,
I have some exciting news to share! We just released another update for Storyline 360. In Update 82, we’ve included important fixes and new features.
One of the fixes we’ve included is:
You no longer need to add quotes to variable values in custom xAPI statements.
To take advantage of this update, launch the Articulate 360 desktop app on your computer and click the Update button next to Storyline 360. You'll find our step-by-step instructions here.
Please let me know if you need additional help!
Thats great! thanks for the reply.
For the initial project (the fix took circa 18 months) it's too late, but this sure will be useful for new endeavors.
Can't wait to see if/when a full API becomes available to enhance/automate Storyline even more from embedded objects...