-
Improvement
-
Resolution: Fixed
-
Minor
-
3.9, 3.11.9, 4.1, 4.2
-
MOODLE_311_STABLE, MOODLE_39_STABLE, MOODLE_401_STABLE, MOODLE_402_STABLE
-
MOODLE_402_STABLE
-
MDL-67789-master -
-
5
-
HQ 2023 Sprint i1.2 Moppies
Add an option to save the current H5P content state (to recover it later) for the H5P activities.
This implementation requires:
- Add support to xAPI State in core_xapi, in order to save the content state.
- Implement/override the required classes/functions to use xAPI state get/post/delete inside mod_h5p.
- Add support for state saving and restoration from the H5P player.
- Behat tests for saving and restoring states inside an H5P activity
Things to consider:
- Backup/restore
- Reset the state when the H5P activity content is changed
- Implement methods from the framework related to the save content feature. That is:
- resetContentUserData (called from saveContent)
- deleteContentData (called from deletePackage)
- Setting to let admins define the frequency to save the user content (saveFreq). The saveFreq H5P setting is also used to trigger the methods required to save the content state.
- A mechanism to clean old entries in the xapi_states table (based on an admin setting to let them define how long should these entries be stored).
More information:
- General information about xAPI state: https://learningpool.com/xapi-state-api/ and https://xapi.com/blog/deep-dive-state-activity/
- xAPI specification: https://github.com/adlnet/xAPI-Spec/blob/master/xAPI-Communication.md#23-state-resource
- Query example xAPI state: https://www.xapijs.dev/xapi-wrapper-library/state-resource
- Information about statements: https://xapi.com/statements-101/
- H5P doesn't support State API: https://h5p.org/node/468797
- blocks
-
MDL-77254 Backup and restore options for core_xapi
- Closed
- caused a regression
-
MDL-77789 Finishing an H5P attempt deletes the states for all users, not just current user
- Closed
-
MDL-78355 Incorrect @covers notation on XAPI delete_state_test
- Closed
- has a non-specific relationship to
-
MDL-78861 Cannot find session record in logs (h5p/embed.php) since Moodle 4.2
- Open
-
MDL-76691 Upgrade h5p-editor-php-library and h5p-php-library to moodle-1.23
- Closed
-
MDL-77624 Add a new PARAM_JSON param type
- Open
- has to be done after
-
MDL-67707 Create a new H5P activity
- Closed
-
MDL-67788 Add xAPI statement support to mod_h5p
- Closed
- has to be done before
-
MOBILE-4269 Support to "Save content state" in mod_h5pactivity
- Closed
- is blocked by
-
MDL-67785 Add generic state API support for xAPI library
- Closed
- Testing discovered
-
MDL-77224 Attempts should be removed when H5P activity is deleted from a course
- Closed
- will help resolve
-
MDL-35433 Implement Experience API (Tin Can)
- Closed
- links to