Uploaded image for project: 'Moodle'
  1. Moodle
  2. MDL-67789

Add support to "Save content state" in mod_h5pactivity

    XMLWordPrintable

Details

    • MOODLE_311_STABLE, MOODLE_39_STABLE, MOODLE_401_STABLE, MOODLE_402_STABLE
    • MOODLE_402_STABLE
    • MDL-67789-master
    • Hide

      Covered by behat and PHPUnit tests.

       

      Some smoke tests can be done to confirm all the content types supporting state are saved as expected:

      1. Restore the attached course backup-moodle-course-savestate-20230214-1831-nu.mbz.
      2. Enrol a student on the course.
      3. Login as the student.
      4. Answer the H5P activities in the course (without completing them).
      5. Access again to the activities and check the answers given have been saved.
      Show
      Covered by behat and PHPUnit tests.   Some smoke tests can be done to confirm all the content types supporting state are saved as expected: Restore the attached course backup-moodle-course-savestate-20230214-1831-nu.mbz . Enrol a student on the course. Login as the student. Answer the H5P activities in the course (without completing them). Access again to the activities and check the answers given have been saved.
    • 5
    • HQ 2023 Sprint i1.2 Moppies

    Description

      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:

      Attachments

        Issue Links

          Activity

            People

              sarjona Sara Arjona (@sarjona)
              tusefomal Ferran Recio
              Ferran Recio Ferran Recio
              Andrew Lyons Andrew Lyons
              CiBoT CiBoT
              Votes:
              81 Vote for this issue
              Watchers:
              53 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - 0 minutes
                  0m
                  Remaining:
                  Remaining Estimate - 0 minutes
                  0m
                  Logged:
                  Time Spent - 3 weeks, 1 day, 7 hours, 15 minutes
                  3w 1d 7h 15m

                  Clockify

                    Error rendering 'clockify-timesheets-time-tracking-reports:timer-sidebar'. Please contact your Jira administrators.