H5P → LessonKit capability map¶
For H5P authors
Use this page as a lookup table: H5P display name and machine name → LessonKit component or Studio block. Narrative guide: Coming from H5P?.
Traceability matrix for adopting H5P interaction patterns as native LessonKit blocks—not as embedded H5P runtimes.
Roadmap: ROADMAP.md — H5P-aligned backlog
Runtime catalog (today): Block catalog (blockCatalogVersion = 1)
Catalog expansion (shipped 1.1.0): framework 1.1.x (blockCatalogVersion = 2)
Status legend¶
Symbol |
Meaning |
|---|---|
✅ |
Shipped in framework and/or Studio |
🟡 |
Partial (subset of H5P behavior or Studio-only) |
⬜ |
Planned (see milestone columns) |
🚫 |
Out of scope (discontinued, unmaintained, or explicit non-goal) |
Assessment contract (framework 1.1.x)¶
H5P question types implement the question type contract (getScore, getMaxScore, getAnswerGiven, resetTask, showSolutions, getXAPIData, behaviour flags). LessonKit 1.1.x defines an equivalent Assessment runtime contract on scored blocks:
Method / surface |
Purpose |
|---|---|
|
Parent compounds ( |
|
Gate “Check answer” and completion |
|
Retry and solution modes ( |
|
Canonical xAPI via |
|
Resume inside compounds (1.2.x compounds) |
|
Required on all scored blocks; sync with |
Quiz / KnowledgeCheck (v1) are the baseline implementation; 1.1.x P0 blocks must implement the same contract.
Framework 1.1.x — P0 checklist¶
# |
LessonKit block |
H5P analog |
Deliverable |
|---|---|---|---|
1 |
|
|
Shared types in |
2 |
|
True/False |
Component + catalog entry + Storybook + unit tests |
3 |
|
Fill in the Blanks |
xAPI |
4 |
|
Drag and Drop |
Keyboard alternative to drag; image + text modes |
5 |
|
Drag the Words |
Extends drag model for inline text |
6 |
|
Mark the Words |
Token select via keyboard + pointer |
7 |
|
Multiple Choice variants |
Document v1 as MCQ subset; optional shuffle / multi-select in 1.1.1 |
8 |
Telemetry catalog v2 |
— |
Events for new interaction types (e.g. |
9 |
|
— |
Machine-readable entries for all above; semver bump |
10 |
Export parity |
— |
Golden example + e2e: each P0 block scores in standalone + SCORM |
11 |
H5P docs (each block) |
— |
Studio 0.8.x (paired): schema types + renderer + palette for 1.1.x P0 blocks; H5P-familiar palette labels per checklist.
H5P documentation checklist (per block)¶
Required when a row moves to ✅ — full gate in ROADMAP:
Update Status (and milestone columns) in the master table below.
Add or extend block catalog entry with H5P display + machine name.
Refresh Coming from H5P? tables (shipped vs planned).
Storybook subtitle references H5P display name.
Studio palette label matches H5P display name where the block is authored visually.
Set
h5pMachineName/h5pAliason catalog JSON when 1.1.x catalog fields ship.
Master traceability table¶
H5P machine names follow common library ids (e.g. H5P.MultiChoice). Display names match h5p.org/content-types-and-applications.
H5P machine name |
H5P display name |
LessonKit id |
Tier |
Priority |
Status |
Framework |
Studio |
|---|---|---|---|---|---|---|---|
|
Multiple Choice |
|
B |
— |
✅ |
1.0 |
0.1+ |
|
True/False |
|
B |
P0 |
✅ |
1.1.x |
0.8.x |
|
Fill in the Blanks |
|
B |
P0 |
✅ |
1.1.x |
0.8.x |
|
Drag and Drop |
|
B |
P0 |
✅ |
1.1.x |
0.8.x |
|
Drag the Words |
|
B |
P0 |
✅ |
1.1.x |
0.8.x |
|
Mark the Words |
|
B |
P0 |
✅ |
1.1.x |
0.8.x |
|
Single Choice Set |
|
B |
P1 |
⬜ |
1.1.1+ |
0.8.x |
|
Summary |
|
B |
P1 |
⬜ |
1.1.1+ |
0.8.x |
|
Sort the Paragraphs |
|
B |
P1 |
⬜ |
1.1.1+ |
0.8.x |
|
Guess the Answer |
|
B |
P1 |
⬜ |
1.1.1+ |
0.9.x |
|
Multimedia Choice |
|
B |
P1 |
⬜ |
1.1.1+ |
0.9.x |
|
Speak the Words |
|
B |
P2 |
⬜ |
1.2.x |
0.10.x |
|
Speak the Words Set |
|
B |
P2 |
⬜ |
1.2.x |
0.10.x |
|
Dictation |
|
B |
P2 |
⬜ |
1.2.x |
0.10.x |
|
Complex Fill in the Blanks |
|
B |
P2 |
⬜ |
1.3.x |
0.10.x |
|
Arithmetic Quiz |
|
B |
P3 |
⬜ |
1.4.x |
— |
|
Essay |
|
B |
P3 |
⬜ |
1.4.x |
0.11.x |
|
Questionnaire |
|
B |
P3 |
⬜ |
1.4.x |
— |
|
Question Set (Quiz) |
|
A |
P1 |
✅ |
1.1.x |
0.8.x |
— |
Scenario (narrative) |
|
— |
— |
✅ |
1.0 |
0.1+ |
— |
Reflection (open text) |
|
— |
— |
✅ |
1.0 |
— |
|
Interactive Book |
|
A |
P0 |
✅ |
1.2.x |
0.3.2 |
|
Course Presentation |
|
A |
P0 |
⬜ |
1.3.x |
0.9.x |
|
Interactive Video |
|
A |
P0 |
⬜ |
1.4.x |
0.10.x |
|
Branching Scenario |
|
A |
P0 |
⬜ |
1.5.x |
0.11.x |
|
Column / Page |
|
A |
P1 |
✅ |
1.2.x |
0.8.x ( |
|
Game Map |
|
A |
P2 |
⬜ |
1.7.x |
— |
|
Virtual Tour (360) |
|
A |
P2 |
⬜ |
1.9.x |
— |
|
Documentation Tool |
|
A |
P3 |
⬜ |
2.x |
— |
|
Interactive Structure Strip |
|
A |
P3 |
⬜ |
2.x |
— |
|
Image Hotspots |
|
C |
P1 |
✅ |
1.2.x |
0.8.x |
|
Find the Hotspot |
|
C |
P1 |
✅ |
1.2.x |
0.8.x |
|
Find Multiple Hotspots |
|
C |
P1 |
✅ |
1.2.x |
0.8.x |
|
Image Slider |
|
C |
P1 |
✅ |
1.2.x |
0.8.x |
|
Image Juxtaposition |
|
C |
P2 |
⬜ |
1.3.x |
— |
|
Agamotto (Image Blender) |
|
C |
P2 |
⬜ |
1.3.x |
— |
|
Collage |
|
C |
P2 |
⬜ |
1.3.x |
0.9.x |
|
Image Pairing |
|
C |
P2 |
⬜ |
1.4.x |
— |
|
Image Sequencing |
|
C |
P2 |
⬜ |
1.4.x |
— |
|
Memory Game |
|
C |
P2 |
⬜ |
1.4.x |
— |
|
Iframe Embedder |
|
C |
P3 |
⬜ |
1.5.x |
— |
|
Chart |
|
C |
P3 |
⬜ |
1.5.x |
— |
|
Accordion |
|
D |
P1 |
✅ |
1.2.x |
0.8.x |
|
Dialog Cards |
|
D |
P1 |
✅ |
1.2.x |
0.8.x |
|
Flashcards |
|
D |
P1 |
✅ |
1.2.x |
0.8.x |
|
Timeline |
|
D |
P2 |
⬜ |
1.3.x |
— |
|
Table |
|
D |
P2 |
⬜ |
1.2.x |
0.8.x |
|
Information Wall |
|
D |
P2 |
⬜ |
1.4.x |
— |
|
Audio Recorder |
|
D |
P1 |
⬜ |
1.2.x |
0.9.x |
|
Slideshow (parallax) |
|
D |
P2 |
⬜ |
1.4.x |
— |
|
Exportable Text Area |
|
D |
P3 |
⬜ |
2.x |
— |
|
Personality Quiz |
|
D |
P3 |
⬜ |
2.x |
— |
|
Crossword |
|
E |
P3 |
⬜ |
1.6.x |
— |
|
Find the Words |
|
E |
P3 |
⬜ |
1.6.x |
— |
|
Combination Lock |
|
E |
P3 |
⬜ |
1.6.x |
— |
|
KewAr Code |
|
E |
P3 |
⬜ |
1.6.x |
— |
|
Advent Calendar |
|
E |
P3 |
⬜ |
1.7.x |
— |
|
Agora World |
|
E |
P4 |
⬜ |
research |
— |
— |
Course / lesson shell |
|
— |
— |
✅ |
1.0 |
— |
— |
Progress UI |
|
— |
— |
✅ |
1.0 |
— |
— |
Text |
|
D |
— |
🟡 |
— |
0.1+ |
— |
Heading |
|
D |
— |
🟡 |
— |
0.1+ |
— |
Image |
|
D |
— |
🟡 |
— |
0.1+ |
— |
Video |
|
D |
— |
🟡 |
— |
0.2+ |
— |
Audio / Link |
|
D |
P1 |
⬜ |
1.2.x |
0.8.x |
|
Twitter User Feed |
— |
— |
— |
🚫 |
— |
Discontinued |
|
appear.in |
— |
— |
— |
🚫 |
— |
Discontinued |
Platform capabilities (not content types)¶
H5P capability |
LessonKit target |
Status |
Milestone |
|---|---|---|---|
Content Type Hub |
Block registry + |
⬜ |
Studio 0.8.x, CLI 1.6.x |
|
|
⬜ |
1.6.x |
|
JSON Schema–driven Studio inspector |
⬜ |
Studio 0.9.x |
Question type contract |
|
✅ |
1.1.x |
Compound allowlists |
|
✅ |
1.2.x |
Resume state |
|
✅ |
1.2.x |
OER Hub reuse |
Template gallery |
⬜ |
Studio 0.6.x+ |
Per-library CSS |
Global |
✅ |
0.4.x / themes |
Compound nesting (planned allowlists)¶
Mirrors H5P maintainer curation (why sub-content differs). Exact lists ship with each compound in 1.2.x+.
Parent (LessonKit) |
Planned child blocks (initial) |
|---|---|
|
text, heading, image, video, audio, link, accordion, |
|
|
|
Per-slide: text, image, video, assessments, |
|
Timed: |
|
Scored nodes + |
|
All Assessment contract blocks |
Excluded from nesting (initial policy): WordSearch (keyboard), nested Accordion, unrestricted Embed, unmaintained H5P third-party types.
H5P import adapter (research, 1.6.x)¶
Read-only mapping for a subset of .h5p content into StudioProjectV1 / React codegen—not runtime embedding.
H5P type |
Import priority |
Notes |
|---|---|---|
|
P0 |
Maps to |
|
P0 |
Maps to |
|
P0 |
Text normalization |
|
P1 |
Chapter → pages |
|
P2 |
Slide → |
|
P2 |
Timeline complexity |
Branching / games |
P3+ |
Manual rewrite likely |
Maintenance¶
When a block ships: complete the H5P documentation checklist in the same release (do not merge implementation-only PRs without doc updates).
Update Status and Framework / Studio columns in the master table.
Bump block catalog version section when
block-catalog.v2.jsonlands.Keep ROADMAP.md tiers in sync with this table.