Standards Compliance¶
This page covers two kinds of standards: the learning standards a question can be aligned to, and the H5P specification points h5pkit follows so its content works in any H5P player.
Learning standards¶
A question's h5pkit block can name the learning standards it addresses,
each as a StandardRef:
ext := h5p.NewExtension("Fractions", 1).
WithStandards(h5p.StandardRef{Framework: "CCSS.MATH", Code: "3.NF.A.1"})
| Field | Meaning |
|---|---|
Framework |
The standards framework, such as CCSS.MATH or NGSS |
Code |
The standard's code within that framework |
h5pkit does not ship a catalog of frameworks or codes and does not check that a code exists: it stores and compares the pair. Validation only requires both fields to be non-empty. Use the framework's own published identifiers, so banks from different authors align on the same values.
When a bank version is published, the registry computes the sorted,
de-duplicated union of its questions' standards, and ListFilter.Standard
finds banks whose latest published version covers one. Skills
(SkillRef{Taxonomy, ID}) work the same way. See
Extensions and
Question Banks.
H5P specification points¶
h5pkit keeps its content readable by standard H5P tools:
- Library versions are pinned. A question names its library with a
version, such as
H5P.MultiChoice 1.16, and a question set exports asH5P.QuestionSet 1.21. - Metadata stays out of
params. Theh5pkitblock is a sibling oflibraryandparams, which H5P players ignore, so it never reaches a player's parameters. - Packages use the standard layout. An exported
.h5pholdsh5p.json, with the main library and every question library as preloaded dependencies, andcontent/content.json. - Library code is not bundled. The H5P platform that opens a package supplies the libraries.
See H5P Specification and File Structure for the details.