H5P → LessonKit capability map¶
For H5P authors
Use this page as a lookup table: H5P display name and machine name → LessonKit component. Narrative guide: Coming from H5P?.
Traceability matrix for adopting H5P interaction patterns as native LessonKit blocks.
Not in scope: H5P Hub, .h5p import/merge, H5P semantics.json transport, H5P Core, or iframe runtimes. Rebuild activities in React using this map.
Roadmap: ROADMAP.md — H5P-aligned backlog
Runtime catalog (today): Block catalog (blockCatalogV3Version = 3 — default since framework 1.2; 1.5 adds BranchingScenario, Embed, Chart; 1.6.x adds content-wave blocks including Table, Timeline, Crossword, GameMap; 1.7.x adds Tier B P1 assessments including SortParagraphs, GuessTheAnswer, MultimediaChoice, SingleChoiceSet, and Quiz multi-select variants)
Live demos: Component pages — embedded React demos with when-to-use guidance (generated index below).
Catalog expansion (shipped 1.1.0): framework 1.1.x (blockCatalogV2Version = 2)
Status legend¶
Symbol |
Meaning |
|---|---|
✅ |
Shipped in framework |
🟡 |
Partial (subset of H5P behavior) |
⬜ |
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) |
— |
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.
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 |
|---|---|---|---|---|---|---|
|
Multiple Choice |
|
B |
— |
✅ |
1.7.0 (multi-select, shuffle, feedback) |
|
True/False |
|
B |
P0 |
✅ |
1.1.x |
|
Fill in the Blanks |
|
B |
P0 |
✅ |
1.1.x |
|
Drag and Drop |
|
B |
P0 |
✅ |
1.1.x |
|
Drag the Words |
|
B |
P0 |
✅ |
1.1.x |
|
Mark the Words |
|
B |
P0 |
✅ |
1.1.x |
|
Single Choice Set |
|
B |
P1 |
✅ |
1.7.0 |
|
Summary |
|
B |
P1 |
✅ |
1.4.0 |
|
Sort the Paragraphs |
|
B |
P1 |
✅ |
1.7.0 |
|
Guess the Answer |
|
B |
P1 |
✅ |
1.7.0 |
|
Multimedia Choice |
|
B |
P1 |
✅ |
1.7.0 |
|
Speak the Words |
|
B |
P2 |
⬜ |
1.2.x |
|
Speak the Words Set |
|
B |
P2 |
⬜ |
1.2.x |
|
Dictation |
|
B |
P2 |
⬜ |
1.2.x |
|
Complex Fill in the Blanks |
|
B |
P2 |
⬜ |
1.3.x |
|
Arithmetic Quiz |
|
B |
P3 |
✅ |
1.4.0 |
|
Essay |
|
B |
P3 |
✅ |
1.4.0 |
|
Questionnaire |
|
B |
P3 |
✅ |
1.4.0 |
|
Question Set (Quiz) |
|
A |
P1 |
✅ |
1.1.x |
— |
Scenario (narrative) |
|
— |
— |
✅ |
1.0 |
— |
Reflection (open text) |
|
— |
— |
✅ |
1.0 |
|
Interactive Book |
|
A |
P0 |
✅ |
1.2.x |
|
Course Presentation |
|
A |
P0 |
✅ |
1.3.x |
|
Interactive Video |
|
A |
P0 |
✅ |
1.4.0 |
|
Branching Scenario |
|
A |
P0 |
✅ |
1.5.0 |
|
Column / Page |
|
A |
P1 |
✅ |
1.2.x |
|
Game Map |
|
A |
P2 |
✅ |
1.6.x |
|
Virtual Tour (360) |
|
A |
P2 |
⬜ |
1.8.x |
|
Documentation Tool |
|
A |
P3 |
⬜ |
2.x |
|
Interactive Structure Strip |
|
A |
P3 |
⬜ |
2.x |
|
Image Hotspots |
|
C |
P1 |
✅ |
1.2.x |
|
Find the Hotspot |
|
C |
P1 |
✅ |
1.2.x |
|
Find Multiple Hotspots |
|
C |
P1 |
✅ |
1.2.x |
|
Image Slider |
|
C |
P1 |
✅ |
1.2.x |
|
Image Juxtaposition |
|
C |
P2 |
✅ |
1.6.0 |
|
Agamotto (Image Blender) |
|
C |
P2 |
✅ |
1.6.0 |
|
Collage |
|
C |
P2 |
✅ |
1.6.0 |
|
Image Pairing |
|
C |
P2 |
✅ |
1.4.0 |
|
Image Sequencing |
|
C |
P2 |
✅ |
1.4.0 |
|
Memory Game |
|
C |
P2 |
✅ |
1.4.0 |
|
Iframe Embedder |
|
C |
P3 |
✅ |
1.5.0 |
|
Chart |
|
C |
P3 |
✅ |
1.5.0 |
|
Accordion |
|
D |
P1 |
✅ |
1.2.x |
|
Dialog Cards |
|
D |
P1 |
✅ |
1.2.x |
|
Flashcards |
|
D |
P1 |
✅ |
1.2.x |
|
Timeline |
|
D |
P2 |
✅ |
1.6.0 |
|
Table |
|
D |
P2 |
✅ |
1.6.0 |
|
Information Wall |
|
D |
P2 |
✅ |
1.4.0 |
|
Audio Recorder |
|
D |
P1 |
✅ |
1.6.0 |
|
Slideshow (parallax) |
|
D |
P2 |
✅ |
1.4.0 |
|
Exportable Text Area |
|
D |
P3 |
⬜ |
2.x |
|
Personality Quiz |
|
D |
P3 |
⬜ |
2.x |
|
Crossword |
|
E |
P3 |
✅ |
1.6.0 |
|
Find the Words |
|
E |
P3 |
✅ |
1.6.0 |
|
Combination Lock |
|
E |
P3 |
✅ |
1.6.0 |
|
KewAr Code |
|
E |
P3 |
✅ |
1.6.0 |
|
Advent Calendar |
|
E |
P3 |
✅ |
1.6.0 |
|
Agora World |
|
E |
P4 |
⬜ |
research |
— |
Course / lesson shell |
|
— |
— |
✅ |
1.0 |
— |
Progress UI |
|
— |
— |
✅ |
1.0 |
|
Twitter User Feed |
— |
— |
— |
🚫 |
— |
|
appear.in |
— |
— |
— |
🚫 |
— |
Platform capabilities (LessonKit-native; H5P analogues for reference)¶
H5P analogue (not integrated) |
LessonKit approach |
Status |
Milestone |
|---|---|---|---|
Content Type Hub |
Block registry + |
✅ |
CLI 1.6.0 |
|
|
✅ |
1.6.0 |
|
— |
🚫 |
Out of scope |
H5P |
— |
🚫 |
Out of scope (future inspector uses LessonKit block catalog only) |
Question type contract |
|
✅ |
1.1.x |
Compound allowlists |
|
✅ |
1.2.x |
Resume state |
|
✅ |
1.2.x |
OER Hub reuse |
Template gallery |
⬜ |
1.x |
Per-library CSS |
Global |
✅ |
0.4.x / themes |
Component pages (live demos)¶
Shipped blocks below have a Read the Docs page with an embedded demo, usage guidance, and examples. Full index: Component pages.
LessonKit |
H5P-style name |
Demo & guide |
|---|---|---|
Quiz |
Multiple Choice |
|
KnowledgeCheck |
Multiple Choice (alias) |
|
TrueFalse |
True/False |
|
FillInTheBlanks |
Fill in the Blanks |
|
DragAndDrop |
Drag and Drop |
|
DragTheWords |
Drag the Words |
|
MarkTheWords |
Mark the Words |
|
Summary |
Summary |
|
ArithmeticQuiz |
Arithmetic Quiz |
|
Essay |
Essay |
|
Questionnaire |
Questionnaire |
|
AssessmentSequence |
Question Set |
|
Scenario |
Scenario (narrative) |
|
Reflection |
Reflection |
|
InteractiveBook |
Interactive Book |
|
Page |
Column / Page |
|
SlideDeck |
Course Presentation |
|
Slide |
Course Presentation (slide) |
|
InteractiveVideo |
Interactive Video |
|
TimedCue |
Interactive Video (cue) |
|
BranchingScenario |
Branching Scenario |
|
BranchNode |
Branching Scenario (node) |
|
BranchChoice |
Branching Scenario (choice) |
|
GameMap |
Game Map |
|
MapStage |
Game Map (stage) |
|
MapExit |
Game Map (exit) |
|
ImageHotspots |
Image Hotspots |
|
FindHotspot |
Find the Hotspot |
|
FindMultipleHotspots |
Find Multiple Hotspots |
|
ImageSlider |
Image Slider |
|
ImageJuxtaposition |
Image Juxtaposition |
|
ImageSequence |
Agamotto (frames) |
|
Collage |
Collage |
|
ImagePairing |
Image Pairing |
|
ImageSequencing |
Image Sequencing |
|
MemoryGame |
Memory Game |
|
Embed |
Iframe Embedder |
|
Chart |
Chart |
|
Accordion |
Accordion |
|
DialogCards |
Dialog Cards |
|
Flashcards |
Flashcards |
|
Timeline |
Timeline |
|
Table |
Table |
|
InformationWall |
Information Wall |
|
AudioRecorder |
Audio Recorder |
|
ParallaxSlideshow |
Slideshow (parallax) |
|
Crossword |
Crossword |
|
WordSearch |
Find the Words |
|
CombinationLock |
Combination Lock |
|
QrContent |
KewAr Code |
|
AdventCalendar |
Advent Calendar |
|
Video |
Self-hosted video |
|
Image |
Image |
|
Text |
Text / Heading |
Compound nesting (allowlists)¶
Mirrors H5P maintainer curation (why sub-content differs). Exact lists ship with each compound in 1.2.x+.
Parent (LessonKit) |
Child blocks (shipped) |
|---|---|
|
Text, Heading, Image, Video, assessments, Tier C/D content blocks, … |
|
|
|
Per-slide: text, image, |
|
|
|
Single child from |
|
Scored nodes + |
|
All Assessment contract blocks |
Shipped in 1.4.0: Video, TimedCue, InteractiveVideo, Summary, ImagePairing, ImageSequencing, MemoryGame, InformationWall, ParallaxSlideshow, Questionnaire, Essay, ArithmeticQuiz. See ROADMAP — 1.4.x.
Excluded from nesting (initial policy): WordSearch (keyboard), nested Accordion, unrestricted Embed, unmaintained H5P third-party types.
Migration from H5P (rebuild only)¶
LessonKit does not import, merge, or sync with H5P Hub, .h5p packages, or H5P semantics.json. Use this map to rebuild each activity as a native @lessonkit/react block and wire IDs in lessonkit.json. Guide: Coming from H5P?.
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 column in the master table.
Bump block catalog version section when
block-catalog.v2.jsonlands.Keep ROADMAP.md tiers in sync with this table.