Skip to content

embed 1.3.1

Choose a tag to compare

@alekswebnet alekswebnet released this 30 Oct 12:27

@missing-elements/h5p-embed 1.3.1, with two fixes to --scorm. Nothing else changes: the player stays at 1.2.0, and the runtime and the libraries at 1.0.0.

SCORM Cloud imports the zips again (#92)

Every zip --scorm wrote from 1.2.0 to 1.3.0 failed to import in SCORM Cloud, with "IO Error processing zip". The package, the fonts and the library pack's parts are stored in the zip uncompressed, and the writer put their sizes after their data. Java's zip reader refuses that for an uncompressed entry, and SCORM Cloud reads uploads with it. 1.3.1 writes those sizes in front of the data, and still never holds the package in memory. Moodle and Frappe LMS read the zip's index instead, so they imported the older zips as they were. Other LMSs that read uploads with Java likely refused them too.

Checked in SCORM Cloud with zips from 1.3.1: the score, pass or fail, the time and the learner's place are recorded, and an export without its libraries plays from the parts in the zip.

ILIAS records the time of a session closed with the tab (#94)

The launch page saved the session's time, and that the session was left unfinished, as the page went away (pagehide). ILIAS sends what a closing page saves only during beforeunload, so a session the learner ended by closing the tab kept no time there. The score, the result and the learner's place were saved earlier, and were kept.

1.3.1 saves the time on beforeunload as well, and still ends the session as the page goes. So the content's own last save lands as before, and a learner who chooses to stay on the page keeps an open session. Moodle and SCORM Cloud record the same as before, and neither counts time twice.

Checked in more LMSs

The README now says what each LMS checked records:

  • Moodle 4.5: the score as the grade, pass or fail, the time and the learner's place.
  • Frappe LMS: the learner's place. It marks a lesson done only on a pass, keeps no score, and downloads the package whole rather than in ranges.
  • SCORM Cloud: the score, pass or fail, the time and the learner's place.
  • ILIAS 11: the same, once Learning Progress is on, which a fresh ILIAS has off. Turn it on in Administration, then choose "Collection of SCORM Items" in the module's Learning Progress settings and tick the item. Without it, ILIAS keeps the learner's place and drops every score and status.

Upgrading

  • A SCORM package: write it again with npx @missing-elements/h5p-embed@latest --scorm course.h5p and replace it in the LMS. It needs Node 22 or later. Written from the same .h5p, it is the same build to the launch page, so learners' saved places still apply.
  • An embed site: nothing changes.

Full Changelog: v1.2.0...embed-v1.3.1