We’ve exported this in HTML5, with the xAPI external LRS setup
We’re launching courses from within our system using the URL of a particular lesson
How can we launch that URL with requiring the user to login? We’d like to pass in user identification (such as a token or ID/e-mail) that already exists to be passed with the users results to the external LRS.
Evolve courses support xAPI launch using the URL. Basically the user info is available as part of the query params in the course window’s url. This article explains launching xAPi content in detail https://www.ht2labs.com/blog/launch-elearning-using-xapi/
You could also check out how Scorm Cloud are doing this by loading up your course on there and looking at the url of the displayed course.
So it looks like this is actually a really un-secure solution and could be a deal breaker for us. This allows anyone to begin a course using any email address as they just edit the URL.
Is there a better way to launch that does not use URL params?
This is more of a question for xAPI rather than Evolve as we’ve just implemented it as per spec - If we did it any other way, it wouldn’t be xAPI.
The email address is just one parameter you can choose to pass, I believe ScormCloud uses IDs.
Without an LMS or LRS integration as part of the launch process, email address (or some other obvious identifier) is recommended. I guess it’s a convenience VS security decision you’ll have to make.
I guess your other (less friendly) option is to pass in an ID which is unique to each user. Once the data is in the LRS, you could create some sort of mapping there for your ID so you can identify which user did what.
If you have a launcher in mind you’d like us to use, let us know. Currently, the ADL one mentioned in that post isn’t working (as far as we’ve tried).
Ideally the ADL launcher as recommended would be preferred. It at least allows us to launch the course using an authenticated token, ensuring that the course cannot be accessed by random users, or by entering any users email in the URL.
Currently we’re investigating if its possible to proxy the connection to the LRS in order to authenticate a token here and pass user details to the LRS, but its not an ideal way of solving the problem.
I found a solution via the xAPI-launch from Watershed. While this doesn’t have the security that I think @robcap was looking for, this might be helpful for some else looking at exploring Evolve and xAPI output without an LMS.
Thanks @Bjorn_Pederson! I was able to use the xAPI launcher to build a POC for hosting xAPI course on AWS connected to Watershed’s free LRS.
I’ve been able to get the learner’s interactions to be logged in the LRS, e.g. opening the course and answering MCQs but I’ve noticed that with MCQs their answers are not being logged. Does anyone here have experience with this and know how I could get MCQ responses to be logged?
There is a plugin for Chrome by Riptide call the “Elements xAPI inspector” which captures the xAPI enroute and analyzes them. Along those lines, I think that something could be built out that listens for submission events within an MCQ and grabs and modifies the statement right before the TinCan.js gets ready to send it. I mean in theory that is how it would/could work.
But I do totally agree that the current state of the xAPI statements, while meeting the standard, are rather lacking in detail.
Thanks @Bjorn_Pederson that’s useful for testing. I’ve just spotted your product idea to add tracking of answers and have told @appitierre I’d find it very useful too.