Storyline 3 JSON output missing parent and grouping IDs
Dec 05, 2017
We have been using Storyline 2 packages in our LMS for about a year with no problems (published with the TinCanAPI). We've recently upgraded to Storyline 3 but the JSON it's outputting from the Storyline 3 packages doesn't contain the parent ID or grouping IDs. According to the JSON example here https://articulate.com/support/article/Implementing-Tin-Can-API-to-Support-Articulate-Content#sample-metadata that data should still be there.
This is the context -> context Activities section of the statement JSON we are seeing:
{"parent":[{"id":"http:\/\/\/6kjG8IdDLBa","objectType":"Activity"}],"grouping":[{"id":"http:\/\/","objectType":"Activity"}]}
{"registration":"dcf5810c-a8f1-4faa-ab19-17b5865564ae","contextActivities":{"parent":[{"id":"http:\/\/\/6kjG8IdDLBa","objectType":"Activity"}],"grouping":[{"id":"http:\/\/","objectType":"Activity"}]}}
The IDs are empty. Is there something that needs to be configured differently in Storyline 3?
11 Replies
FYI I uploaded the .story file to support case number 01181972
I'm working with Bryan on this project, Bryan is handling content, whilst I am developing functionality to go along with it, and we're tag teaming this issue together. What we are expecting is the overall course id Identifer, in the "grouping" parameter of the context -> contextActivities part of the statement....at least that's what is documented on your instructions we linked to, and what SL2 provided.
I can see the raw JSON that the package sends to the LRS, both in the browser console, and in the LRS, so there is no questions that the JSON being sent to the LRS is just different.
We have built functionality to have a tab where users can see their answers that came into the LRS, but since there is nowhere in the answered statement having the value of the activity id of the course activity type, we cannot fetch the answers and display them in the list, as we could in SL2.
In SL2 that value for the grouping property was the course activity id, in SL2 and SL3 we are this value came from the 'Identifier' field value when you publish the learning content into a Tin Can API compatible .zip file
Now the XML file manifest, tincan.xml, that is contained in the published zip file, shows this value, and the ids for all the objectives, modules, and cmi.interactions, exactly the same as in SL2.....So we know that same data is getting in the same places, at least in the manifest xml...
When I look at the tincan.xml manifest file, the Identifier is clearly there for the activity of type http://adlnet.gove/expapi/activities/course
Thanks for letting us know that you've opened up a support case Bryan. This conversation thread has been linked so that all of the information can be referenced by your support engineer.
I'd just like to update the rest of the community on this issue.
Support has confirmed that they are still experiencing some issues with Tin Can reporting for the new HTML5 player (which has been completely rebuilt in Storyline 3).
Thank you Bryan for updating us. I will link this thread to the report as well as we continue tracking user impact and it will allow us to update you here when we can.
My company is also experiencing non-reporting of HTML5 content to our TinCan LMS after switching to Storyline 3. If any solution or work around has been discovered, please let me know a.s.a.p.!
So far, our workaround has been to continue using Storyline 2 or use H5P.org.
Are there any updates on this issue? Is Storyline 3 still having Tin Can reporting issues for the new HTML5 player?
Is it still recommended that we all just stay on Storyline 2, if we have to use Tin Can and HTML5 ?
Hi Bryan,
Thanks for reaching out, I was looking into this again, and in my initial testing, it seems to work in Storyline 3 Update 5.
I did look at the original file you shared with our Support team and noted that it didn't have a results slide included. The results slide will be what is tracked to the LMS to send along question data and scores. Let me know if I'm misunderstanding your setup, and I'll continue testing too!
We are experiencing this in Storyline 360. I narrowed it down to the generated JS file bootstrapper.min.js, by finding this line of code:
and replacing it with this:
where "y" was the placeholder "http://" and "t" was the course ID.
Doing a find and replace every time we generate HTML5 output is obviously not an ideal solution. Hopefully this helps your engineers fix the problem.
Hello Chris and welcome to E-Learning Heroes. 😊
I appreciate you popping in to share what you are experiencing as well. The issue in this conversation was specific to SL3, so I'd like one of our support engineers to take a closer look.
I've opened up a support case on your behalf so that you can work with our team directly and privately. You should be hearing from someone soon via email.