Re: [elearning tech & dev] Custom xapi statements in Storyline 360 not working in LMS/LRS system

40 views
Skip to first unread message

Philip Hutchison

unread,
Nov 9, 2021, 6:06:34 PM11/9/21
to elearning-technolo...@googlegroups.com
Hi Samantha

I don't use Storyline but my 2 cents:

Many LMSs do not have a proper LRS component, and do not support custom xAPI statements or external calls. I would check with the LMS vendor to verify the platform supports whatever you're trying to do with xAPI. If they say yes, send them your course and ask them to verify.

Articulate, Captivate, and other rapid e-learning dev tools that claim to support xAPI are really only using a subset of xAPI in a way that mimics SCORM, and only allow specific xAPI calls that are typically mapped to existing SCORM fields. The LMS vendor likely has a custom code base (or 3rd party integration like Rustici SCORM Driver) to enable these SCORM-like xAPI statements. They probably don't offer full xAPI support or a full LRS-like solution. In my (admittedly limited) experience testing these 'xAPI' courses, the statements can only be submitted by the course while the learner is logged in to the LMS and has the course window open in their browser, just like SCORM. Deviating from expected behavior will likely lead to the kind of errors you're seeing.

As for it working properly in SCORM Cloud, SCORM Cloud is not an LMS, it's a custom environment designed to be flexible and fully support SCORM, xAPI, CMI5, AICC, etc. It's a wonderful platform for testing, but not a realistic benchmark for what to expect from your LMS, unless your LMS uses SCORM Cloud under the hood.

As for the 'synchronous' warning, synchronous xmlhttprequest calls instruct the browser to cease working on anything else until it receives a response from the xmlhttprequest, which typically makes the browser appear like it's hanging or frozen. Synchronous requests are considered bad form these days, which is why you get the warning. Not sure where it originated in your code, but it would be good to change it if possible.

Good luck
- philip




On Tue, Nov 9, 2021 at 7:54 AM samanth...@gmail.com <samanth...@gmail.com> wrote:
Hello,
We acquired a 3rd party template in which they had made some custom xapi statements. Testing the template in scorm cloud, the custom statements show up no problem.
Testing in our LMS with LRS support. I get a 403 error code when I press a button and two warnings. The people who created it said I should be able to just publish and not need t do anything else. I don't know how they are tapping into the 'handshake' that talks to the LMS. all the articulate canned statements work no problem.

Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience.

resolver::resolvePath - Path did not resolve at: xItemSelected

The 403 error points to the scormdriver.js file with a code that says xhr.send(data);

Do you know where I should start looking?
Thanks,
Sam

--
You received this message because you are subscribed to the Google Groups "eLearning Technology and Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elearning-technology-and...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/elearning-technology-and-development/65606dcc-ec33-4e0f-8c91-462dd4794dedn%40googlegroups.com.

Sammykins777

unread,
Nov 9, 2021, 6:42:58 PM11/9/21
to elearning-technolo...@googlegroups.com
Thanks Phil.
It was an oversight on my part. The LMS does have limited supported statements and when changing to the supported verb I didn't realize I had to change the verb ID as well. It worked after that.
Sincerely,
Samantha

Ryan Meyer

unread,
Nov 9, 2021, 8:07:30 PM11/9/21
to elearning-technolo...@googlegroups.com
A 403 means that access is forbidden. It very well could be that the xAPI setup isn’t properly grabbing the user’s credentials when trying to make the calls.

Can you use the debugger / network log to tell what URL is being accessed on the failed XmlHttpRequest?

Are you deploying the course to your LMS as a SCORM course or an xAPI / TinCan course? I don’t know how far along LMSs have come in better launch support for xAPI content, but this old TinCan spec seemed to gain some wider adoption. It launches the course in a different way than SCORM, because it passes along user information as part of the launch URL for the course to grab. https://github.com/RusticiSoftware/launch/blob/master/lms_lrs.md

Does that spark anything helpful?

-Ryan

On Nov 9, 2021, at 6:06 PM, Philip Hutchison <phi...@pipwerks.com> wrote:


Reply all
Reply to author
Forward
0 new messages