-
Improvement
-
Resolution: Fixed
-
Major
-
3.9
-
MOODLE_39_STABLE
-
MOODLE_39_STABLE
-
MDL-67734-andrewapocalipse -
A basic xAPI LRS support is needed In order to get statements from H5P content.
This first issue will cover the following needs:
- Have a "lib/xAPI" library for the main LRS access point
- A generic Moodle webservice layer which wraps a xAPI statement processing
- xAPI handler base classes which every plugin can extend to use xAPI on their code
- xAPI statement class to generate xAPI statements with all related classes for handling actors (user, group), objects and verbs (the rest of xAPI properties would be compatible but validations will be responsibility of every plugin for now).
- PHPUnit test
- Null privacy provider
The web service for processing a xAPI statement will delegate part of the process to specific plugins like the future mod_h5p.
xAPI generic webservice (component, statement)
The web service receive a frankenstyle component responsible to handle part of the statement and a xAPI statement structure.
xAPI Statement generic processing method will:
- xAPI checks the statement structure, if any check fails, it returns an error. That means:
- Check that only supported xAPI attributes are used
- Check all users and groups are created in the LMS
- xAPI checks if the component has a xAPI handling class implementation. Otherwise it returns an error.
- For every statement:
- xAPI asks again the plugin to you convert into a standard event. In case the plugin could not convert some statement into an event, this statement will be marked as “rejected” and xAPI continue to the next statement.
- xAPI handler will trigger all the generated events
- Once all statements are processed:
- If ALL statements are marked as “not processed” it returns an error.
- If some statement could be processed, returns an array containing “true” if the statement is processed and “false" otherwise.
- has been marked as being related by
-
MDL-58476 Accept xAPI and Caliper statements into Moodle
- Closed
- has to be done before
-
MDL-67785 Add generic state API support for xAPI library
- Closed
-
MDL-68379 Add support for result, attachments, context to core_xapi library
- Closed
- is parent of
-
MDL-67784 Add generic statement support for xAPI library
- Closed
-
MDL-67788 Add xAPI statement support to mod_h5p
- Closed
- will help resolve
-
MDL-35433 Implement Experience API (Tin Can)
- Closed