How to Send xAPI Statements from Storyline

Using xAPI in your Storyline 360 eLearning projects can help you track exactly how users engage with the content and activities on your slides. Now, thanks to new updates, users can send custom xAPI statements from their eLearning experiences without using any code!
In this video, we apply this new functionality to a real project and answer your questions on xAPI data tracking and how Storyline 360 has made this experience even easier.
Download project files here: drive.google.c...
Would you like to attend these sessions live and engage with the community more deeply? Join us live at devlinpeck.community for future events.
Still have questions? Leave a comment below and we’ll try our best to help.
What is the Experience API (xAPI)? • What is the Experience...
What is a Learning Record Store (LRS)? • What is a Learning Rec...
How to Write an xAPI Statement from Scratch • How to Write an xAPI S...
How to Send Custom xAPI Statements: www.devlinpeck...
Still learning Storyline? Dive deeper in the project lab: www.devlinpeck...
Using the affiliate links below will help support me and the content on this channel:
**Book Recommendations**
The Non-Designer's Design Book: amzn.to/3kP0reO
Map It: amzn.to/3f137mR
eLearning and the Science of Instruction: amzn.to/3kNuBiF
Design For How People Learn: amzn.to/3CLtrNM
Michael Allen's Guide to eLearning: amzn.to/31ZUbJB
**My Gear Setup**
Camera: amzn.to/3gulMr0
Lens: amzn.to/2EgrkZb
Mic: amzn.to/34DcBCp
Full writeup: www.devlinpeck...
0:00 Intro
1:20 What is xAPI?
7:25 Opening the xAPI Statement Editor
10:42 Reporting and Tracking Options
16:04 Setting up the LRS
23:48 Adding Custom Code
30:24 Including Results Tracking
43:26 Collecting Text Responses

Пікірлер: 26

  • @jamesericmartin
    @jamesericmartin Жыл бұрын

    This was the most helpful thing I've found so far concerning using xAPI in Storyline.

  • @DevlinPeckYT

    @DevlinPeckYT

    Жыл бұрын

    Glad to hear it! Thanks for the support.

  • @jackielaroga5408
    @jackielaroga54082 жыл бұрын

    Thank you for these replays. Very useful for those outside US timezones like me and also I get a chance to write notes and watch it over and over. Thanks, Devlin!

  • @DevlinPeckYT

    @DevlinPeckYT

    2 жыл бұрын

    You're welcome! Thanks for catching the replay :D

  • @norishahine6342
    @norishahine63422 жыл бұрын

    Thank you Devlin for all those wonderful resources.

  • @DevlinPeckYT

    @DevlinPeckYT

    2 жыл бұрын

    You’re welcome! Thanks for watching 😃

  • @jamesericmartin
    @jamesericmartin Жыл бұрын

    I can confirm for the benefit of the group that, at least in Blackboard, the "Actor supplied via launch URL" option captures the Blackboard username as the Actor in Veracity Learning LRS.

  • @DevlinPeckYT

    @DevlinPeckYT

    Жыл бұрын

    Thanks so much for confirming, James!

  • @sharonlearningdesign
    @sharonlearningdesign Жыл бұрын

    Hi Devlin, thank you so much for your sharing! I do have one question about the LRS setup. In your video 'Send an xAPI Statement from Articulate Storyline' uploaded 2 years ago, you disabled 'Read permission' when configuring the LRS (14:06 timestamp in that video). I followed that tutorial and I got an error message in the Storyline publish page that it 'Could not connect to your LRS endpoint'. I then found this more updated video and followed the instructions here. I noticed that the 'Read permission' is set as 'true' and I was successful in getting statements from Storyline in my LRS (Veracity Learning). May I know is there a reason for that change? Thank you so much for your time and sharing!

  • @DevlinPeckYT

    @DevlinPeckYT

    Жыл бұрын

    Hi, yes! If you include the LRS credentials in the JavaScript file (like with our custom approach in prev tutorials), then anyone who "inspects" the page could acquire those credentials. With read permission turned on in the LRS endpoint, they'd be able to query all of that data with those credentials...so it would essentially expose all of the LRS data to someone with basic web dev know-how. If you're managing the credentials on the LMS back-end then you should be secure + good to go :D

  • @sharonlearningdesign

    @sharonlearningdesign

    Жыл бұрын

    @@DevlinPeckYT Thank you so much for your clarification! I really like your tutorials!

  • @sireeshapenumadu7898
    @sireeshapenumadu78989 ай бұрын

    I just want to put all these xapi statements into a s3 bucket, is it possible without needing to implement an LRS?

  • @sarayari3495
    @sarayari34952 жыл бұрын

    hello, please explain more about "Jason"! that you said we should first learn it? Since I am confusing about using xAPI... is it possible to you to provide short video to teach whole process of using xAPI statement in eLearning -FROM FIRST TO FINAL PROJECT- thanks so much Devlin!

  • @DevlinPeckYT

    @DevlinPeckYT

    2 жыл бұрын

    Good question! It is spelled JSON (that should help you find resources on it), and I have an xAPI tutorial series on the channel that dives much deeper into it :D

  • @mmaha90108
    @mmaha901085 ай бұрын

    I was able to follow and duplicate the steps here -- great job of describing the process ! Now I'd like to publish the resulting course via Storyline to create a .zip file in xAPI format and then upload that .zip file to an LMS (say, SCORM Cloud) for testing. If I use Storyline to generate the .zip, it doesn't look like the .zip file includes the two external .js files (xapiwrapper.min and the file constructed in this video). So, if I upload to an LMS, the .js-related functions don't work. I tried to generate the .zip, unzip it, add the two .js files, re-zip it, and import to SCORM Cloud, but it throws an error ("file contained no courses"). I'm probably missing something blindingly obvious, but what's the method for importing this video's resulting content to an LMS that includes the two external .js files and the references to them in the story.html file? (Hope this question makes sense!)

  • @DevlinPeckYT

    @DevlinPeckYT

    5 ай бұрын

    This article and video might be helpful for connecting some of the missing pieces! Thanks for watching :) www.devlinpeck.com/content/how-to-use-lms

  • @maxdziku
    @maxdziku Жыл бұрын

    Thanks for this. Do you have any training on building custom dashboards and working with the data? I want to see more data display options besides the basic ones provided by the default dashboard.

  • @nerdypeachmango
    @nerdypeachmango2 ай бұрын

    Thank you for posting this. Is this all still pretty revelant and accurate for Storyline today (2024)?

  • @DevlinPeckYT

    @DevlinPeckYT

    2 ай бұрын

    Yes! this should still work, but you can check out Articulate's article on the topic if you get stuck: access.articulate.com/support/article/Storyline-360-Custom-xAPI-Statements

  • @craigagnew2886
    @craigagnew28862 жыл бұрын

    Hi Devlin. Fantastic video! I followed along with adding the result score variable around the 42 min mark. I have checked that my code is exactly the same as yours, but my LRS (ScormCloud) won't accept the score object (the statement doesn't even show in the activity stream) . If I delete the score object, the result works fine. I can pass a number instead of the variable as the raw score. Everything else is working as you demonstrated. Any other ideas?

  • @DevlinPeckYT

    @DevlinPeckYT

    2 жыл бұрын

    Hmmm...does it work with any other LRSs? Did you use a built-in variable by any chance?

  • @craigagnew2886

    @craigagnew2886

    2 жыл бұрын

    @@DevlinPeckYT Thanks for the reply. It was a custom variable (exactly the same as yours). I'll check using another LRS to see if that was the problem. Thanks again!

  • @jimmygalaxy1917

    @jimmygalaxy1917

    2 жыл бұрын

    I have the same issue. I've tried two different LRS's and neither will accept the custom variable. I've moved the "result" verb to different locations within the statement, tried a built-in variable, same result. Remove the "raw" attribute or hard code a number and it works fine. Bug in Articulate? The LRS? no clue. I'm already invested in the initial LRS so my options are limited.

  • @jimmygalaxy1917

    @jimmygalaxy1917

    2 жыл бұрын

    Figured it out, use the Number() function. ie: "raw": Number(myVariable)

  • @flagshipbuilds
    @flagshipbuilds2 жыл бұрын

    Send the static mailbox lack of uniqueness for the variables to Storyline's dev team. That's a miss on their part. Tell them to make dynamic accounts.

  • @DevlinPeckYT

    @DevlinPeckYT

    2 жыл бұрын

    Yeah, we will see how they progress with this! Hopefully it gets more useful :D