Skip to content

ROADMAP — h5pkit Question Bank Registry and Documented Extensions

Initiative: INIT-H5PKIT-001 Repository: github.com/grokify/h5pkit

Stay inside H5P where H5P has an answer; extend only where it does not, and document each extension so other tools can use it. The extensions and the registry release first, as v0.6.0, and Likert scoring as v0.7.0; the content types and the editor follow in a later release. Phase 4 is independent of Phases 1 to 3. Commits implementing an item carry Refs: RMI-H5PKIT-<NNN>.

Phase 1 — Extensions

Theme: A documented, namespaced metadata block

  • [x] RMI-H5PKIT-001 Rename the extension namespace from h5pGo to h5pkit
  • [x] RMI-H5PKIT-002 Add difficultyScore, skills (SkillRef{Taxonomy, ID}), and standards (StandardRef{Framework, Code}) with validation wired into QuestionSet.Validate
  • Depends on: RMI-H5PKIT-001
  • [x] RMI-H5PKIT-003 Extensions guide: every field, the relative-difficulty rule, the rename, and guidance for other tools
  • Depends on: RMI-H5PKIT-002

Phase 2 — Registry

Theme: Banks, immutable versions, lineage, and a store boundary

  • [x] RMI-H5PKIT-004 registry types: Bank, BankVersion, License, Lineage, Status, Relation, ListFilter
  • Depends on: RMI-H5PKIT-002
  • [x] RMI-H5PKIT-005 Store interface, MemoryStore, and the registrytest conformance suite
  • Depends on: RMI-H5PKIT-004
  • [x] RMI-H5PKIT-006 Versioning rules: draft editing, publish freezes and computes skill and standards unions, ErrImmutable, new version from existing, fork with lineage and descendants lookup
  • Depends on: RMI-H5PKIT-005
  • [x] RMI-H5PKIT-007 Interop: export a version to QuestionSet and .h5p; import an .h5p question set to a draft version preserving extensions
  • Depends on: RMI-H5PKIT-006

Phase 3 — Documentation and First Release

Theme: Ship the extensions and the registry

  • [x] RMI-H5PKIT-012 Question-banks guide, standards reference, published roadmap update, Go directive bump, changelog, tag v0.6.0, record the release
  • Depends on: RMI-H5PKIT-003
  • Depends on: RMI-H5PKIT-007

Phase 4 — Content Types

Theme: Native H5P types instead of invented formats

  • [ ] RMI-H5PKIT-008 H5P.TrueFalse and H5P.Blanks: typed params, semantics, validation, builder methods
  • [ ] RMI-H5PKIT-009 H5P.SingleChoiceSet and H5P.Essay: typed params, semantics, validation, builder methods
  • Depends on: RMI-H5PKIT-008
  • [ ] RMI-H5PKIT-010 H5P.DragText and H5P.DragQuestion for ordering and matching: typed params, semantics, validation, builder methods
  • Depends on: RMI-H5PKIT-008

Phase 5 — Editor and Next Release

Theme: The metadata in the editor, and the content types shipped

  • [ ] RMI-H5PKIT-011 TypeScript editor metadata section for difficulty score, skills, and standards on the h5pkit block
  • Depends on: RMI-H5PKIT-002
  • [ ] RMI-H5PKIT-013 Content-types and editor guides, changelog, tag the next minor release, record the release
  • Depends on: RMI-H5PKIT-009
  • Depends on: RMI-H5PKIT-010
  • Depends on: RMI-H5PKIT-011
  • Depends on: RMI-H5PKIT-012

Phase 6 — Likert Scoring

Theme: Scored scales on standard H5P.MultiChoice

  • [x] RMI-H5PKIT-014 Make the MultiChoice behaviour fields that default to true *bool, so an explicit false is written
  • [x] RMI-H5PKIT-015 scoring on the h5pkit block: likert method, scale, and reverse flag, with validation
  • Depends on: RMI-H5PKIT-002
  • [x] RMI-H5PKIT-016 Likert overlay on H5P.MultiChoice: params builder, AddLikertQuestion, Likert validation in QuestionSet.Validate, and ScoreLikert
  • Depends on: RMI-H5PKIT-014
  • Depends on: RMI-H5PKIT-015
  • [x] RMI-H5PKIT-017 Likert section in the extensions guide
  • Depends on: RMI-H5PKIT-016
  • [x] RMI-H5PKIT-018 Changelog and release notes, tag v0.7.0 with Likert scoring, record the release
  • Depends on: RMI-H5PKIT-017