VA-1542 Add 'reset' xAPI event#283
Conversation
|
@wwalmnes-d2l Are content types supposed to trigger the |
|
@otacke, it is not completely landed yet, but we will discuss this during our meeting today. Just to give you some background information, since you probably don't have access to this issue on JIRA. In e.g. QuestionSet we want to be able to update the navigation status (the dots) immediately when a user has answered/reset. On production today, this is updated only when moving to the next/previous question. Before this issue/PR on redesign only when the user answered did the navigation status update and not when doing reset, giving an inconsistent behavior. Since you are much more familiar with H5P than me, do you see any problems or concerns with this? |
|
@wwalmnes-d2l Yes, can't access anything but the HFP tickets on JIRA. In general, I think xAPI is underused, so no problem with that change :-D Just wanted to know if I have to touch 30+ content types to support it.
You can't intercept calls to You could use a custom event, H5P core already triggers some events such as The |
|
@wwalmnes-d2l One more thing ... Coming up after my next appointment. |
|
@wwalmnes-d2l "And now the continuation ..." TL;DR
I don't know how familiar you are with xAPI, so I'll elaborate a little further on that topic (see e.g. https://github.com/adlnet/xAPI-Spec/blob/master/xAPI-Data.md#part-two-experience-api-data for quite a good technical overview). xAPI is an extendable framework. Boiled down a lot, it can be used to transfer information about an "experience" following the schema "actor verb object" - someone did somehing to something. That actor could be a student, the verb could be "completed", the object could be some specific exercise. There's a lot more detail, but that is the essence. A learning record store would keep track of these statements and thus keep track of what the actor did - his or her "experience". Now about those verbs. AThere is no predefined set of allowed verbs anywhere. xAPI is not a standard, but as mentioned, an extendable framework. Learning designers could come up with all sorts of verbs that could be useful in some context to document the users' experience. It could be "clicked" if you wanted to register mouse clicks, it could be "paused" if you wanted document that a video was paused, it could be "registered" if a participant registered for a seminar, etc. That's the reason why that BThere is more to verbs. As mentioned, there is no fixed valid set of them in xAPI. It's a learning designer's (or software developer's) job to come up with a use case and a reasonable verb. Now, in different contexts, a verb may be ambiguous. Using it may mean x in context a or y in context b. The difference might be a nuance, but it could also be more complex. That is why transmitting a verb in xAPI does not merely consist of a string such as That IRI is supposed to clearly identify who coined that verb in order to allow distinguishing between different meanings that different creator may associate with the verb. "completed" in Moodle might mean something different that in H5P, for instance. Now, that IRI usually is not a UUID or something similar, but a URL. On the one hand, they allow to clearly convey who coined the verb (e.g. "h5p.org" vs. "moodle.org" in the domain). More importantly, they allow to follow that URL to a resource that can explain in more detail what the verb is supposed to mean, how it should be used, etc. And now to the important bit for H5P core. The (https://github.com/h5p/h5p-php-library/blob/master/js/h5p-x-api-event.js#L74C7-L74C54) In other words, if you are not careful, H5P core hallucinates IRIs for verbs that do not exist. That may in fact have been the original purpose of the My point is that H5P core should not knowingly create bogus IRIs for xAPI statements as it now does, but either build IRIs that belong to an existing xAPI definition (for verbs) that fits, see e.g. https://registry.tincanapi.com/#home/verbs or https://xapi.elearn.rwth-aachen.de/) or to use one that specifically relates to h5p, e.g. Same goes for extensions by the way (cmp. e.g. https://h5p.org/x-api/h5p-reporting-version or https://snordian.de/xapi/extension/time-left). |
|
I'm not sure on the history here, but it could have been to be compatible with another system at the time, or it might just have been to control or prevents devs from adding new verbs without properly defining them somewhere. |
|
@icc Great to see you joining here. Yes, there are those verbs for action bar events (https://github.com/h5p/h5p-php-library/blob/master/js/h5p-x-api-event.js#L325-L330). Those have been labeled as custom, but they lead to building IRIs that are not specified. The original definition of |
|
@otacke Thank you for taking the time to explain xAPI a bit to me. I'll check out the resources you shared :). I know we would like to know about how the user interacts with the content, so like you said, having reset under xAPI would make sense. I agree it would be better if we did this correctly and would provide (real) IRIs for new verbs we're introducing or reference existing ones. We decided in our meeting that we did not want to introduce this |
No description provided.