Skip to content

v0.7.0

Release Date: 2026-10-19

This release adds Likert questions. H5P has no Likert content type, so h5pkit writes a Likert item as a standard H5P.MultiChoice question that plays ungraded in any H5P player, and records how to score it in a new scoring field on the h5pkit block. It also fixes MultiChoice behaviour fields that could not be set to false. That fix changes their Go type; see the upgrade notes.

Highlights

  • Likert questions. QuestionSetBuilder.AddLikertQuestion writes an ordered, ungraded scale: every answer marked correct, single choice, answers in order, and checking, solutions, retry, and score points turned off. See Likert questions.
  • Scoring metadata. Extension.Scoring records the likert method, the scale, and whether an item is reverse-keyed. Extension.Validate checks it.
  • Likert validation. QuestionSet.Validate rejects a Likert question that randomizes its answers, is not single choice, shows the check button, or has an answer not marked correct. These are the settings that silently change what a respondent sees or what an answer position means.
  • Scoring by skill. QuestionSet.ScoreLikert turns chosen answers into a count, a mean, and a 0-to-1 normalized score for each skill, honoring reverse keying.
  • Behaviour fields that default to true. randomAnswers: false, enableCheckButton: false, and the other fields H5P turns on by default are now written to JSON. They were dropped, so players used their defaults.

Upgrade notes

  1. Behaviour fields are pointers. In schemas.Behaviour, EnableRetry, EnableSolutionsButton, EnableCheckButton, RandomAnswers, and ShowScorePoints are *bool. Replace RandomAnswers: true with RandomAnswers: schemas.Bool(true), and leave a field nil to use the player's default. Code that set one of these to false gets the value it asked for for the first time; check that content which relied on the old behaviour still plays as intended.
  2. Ignore H5P's score for Likert questions. Every answer is marked correct so that H5P.MultiChoice accepts the question, so the score a player or LMS reports for it is meaningless. Score with QuestionSet.ScoreLikert.

Known limits

  • likert is the only scoring method.
  • The TypeScript editor does not show or edit scoring yet.
  • Likert questions have not been checked inside H5P's Question Set player with the check button turned off.
  • The new content types (true/false, blanks, single choice set, essay, drag text, drag question) and the editor's metadata fields come in a later release.