H5P Moodle xAPI and Grassblade

Has anyone driven H5p data for a Question Set, from moodle to the demonstration grassblade LRS?

at https://demo.nextsoftwaresolutions.com/grassblade-lrs/xAPI/

I have h5p running in my moodle.
I have tincanlaunchlink plugin installed in the moodle and am using the grassblade demo credentials.

When logged in as moodle user and completing the h5p interactions I was then expecting to see the record of the interaction stored in grassblade.

I didn't see them. So I used a snippet found in this forum to watch for the xAPI

When I run an xAPIvalidator snippet in my browser console this is the report I see.

Object {readyState: 1, getResponseHeader: function, getAllResponseHeaders: function, setRequestHeader: function, overrideMimeType: function…}
xapi validator:7 xapiValidator loaded undefined
xapi validator:14 H5P.XAPIEvent {type: "xAPI", data: Object, preventBubbling: function, getBubbles: function, scheduleForExternal: function}
xapi validator:43 Valid xAPI statement: attempted
xapi validator:14 H5P.XAPIEvent {type: "xAPI", data: Object, preventBubbling: function, getBubbles: function, scheduleForExternal: function}
xapi validator:43 Valid xAPI statement: interacted
xapi validator:14 H5P.XAPIEvent {type: "xAPI", data: Object, preventBubbling: function, getBubbles: function, scheduleForExternal: function}
xapi validator:43 Valid xAPI statement: attempted
xapi validator:14 H5P.XAPIEvent {type: "xAPI", data: Object, preventBubbling: function, getBubbles: function, scheduleForExternal: function}
xapi validator:43 Valid xAPI statement: interacted
xapi validator:14 H5P.XAPIEvent {type: "xAPI", data: Object, preventBubbling: function, getBubbles: function, scheduleForExternal: function}data: ObjectgetBubbles: function ()preventBubbling: function ()scheduleForExternal: function ()type: "xAPI"__proto__: H5P.Event
xapi validator:43 Valid xAPI statement: attempted
xapi validator:14 H5P.XAPIEvent {type: "xAPI", data: Object, preventBubbling: function, getBubbles: function, scheduleForExternal: function}data: ObjectgetBubbles: function ()preventBubbling: function ()scheduleForExternal: function ()arguments: nullcaller: nulllength: 0name: ""prototype: Object__proto__: function ()[[FunctionLocation]]: h5p-event-dispatcher.js?ver=2017060600:57[[Scopes]]: Scopes[2]type: "xAPI"__proto__: H5P.Eventconstructor: function ()getContentXAPIId: function (instance)getMaxScore: function ()getScore: function ()getVerb: function (full)getVerifiedStatementValue: function (keys)isFromChild: function ()setActor: function ()setContext: function (instance)setObject: function (instance)setScoredResult: function (score, maxScore, instance, completion, success)setVerb: function (verb)__proto__: Object
xapi validator:43 Valid xAPI statement: interacted
xapi validator:14 H5P.XAPIEvent {type: "xAPI", data: Object, preventBubbling: function, getBubbles: function, scheduleForExternal: function}
xapi validator:43 Valid xAPI statement: attempted
xapi validator:14 H5P.XAPIEvent {type: "xAPI", data: Object, preventBubbling: function, getBubbles: function, scheduleForExternal: function}
xapi validator:43 Valid xAPI statement: interacted
xapi validator:14 H5P.XAPIEvent {type: "xAPI", data: Object, preventBubbling: function, getBubbles: function, scheduleForExternal: function}
xapi validator:43 Valid xAPI statement: completed
xapi validator:52 Score: 3

 

So to clarify here are my questions:

1. Does H5P send xAPI data from moodle, through the tincanlaunchlink moodle plugin, to the grassblade lrs demo site?

Thanks in advance.

Peter.

tomaj's picture

Hi,

  1. No, H5P relies on other plugins to consume the xAPI statements it produces.

But if you find an error in the xAPI statements producted by H5P, please report them on this forum, and we will look into fixing it. :)

- Tom

Thanks Tomaj,

So the tincanlaunchlink moodle plugin https://moodle.org/plugins/mod_tincanlaunch can send xAPI statements to grassblade. (as is confirmed on the plugin page)

But H5P xAPI statements cannot be sent through the tincanlaunch plugin? That seems odd as it suggests that any component i.e. a tincan package developed in captivate / articulate / H5P all require their own moodle plugin to consume the xAPI statements.

Is that correct?

Cheers.

tomaj's picture

This was before my time working with H5P, but from what I can understand there is no canonical way of doing the "glue" in Moodle, so H5P only focuses on the content part of the puzzle, and lets other plugins integrate with it using xAPI.

- Tom

I want to know if anyone managed to view and analyse results from h5p activities in moodle in any lrs. I've tested it in watershed but in the free account i couldn't do anything, and in Learning Locker didn't manage to see anything. I am thinking to try grassblade but i am not sure. I don't know what i am doing wrong and i don't have much experience on the subject. I am lost in documentation and i have a deadline. I am using Logstore plugin in moodle. Can anyone give me any advice what to do? I have to alter the code in the files? I have to add events to my moodle activities? I really don't know!!

Thank you.

BV52's picture

Hi annie,

I highly recommend looking through these documentation:

 

https://h5p.org/documentation/x-api

 

https://h5p.org/documentation/for-authors/analyzing-results-and-answers

 

-BV52

Many thanks for this great post!

Regarding Moodle, there is a new plugin that catches the H5P xAPI events and send them to an LRS. It's called "TRAX Logs" and it's available here: https://github.com/trax-project/moodle-trax-logs

There is a page dedicated to H5P in the documentation : https://github.com/trax-project/moodle-trax-logs/blob/master/doc/h5p.md

The project page (currently in French): http://traxproject.fr

I would love to hear your feedback!

Sébastien