# Eight real H5P activities: review course

`h5p-eight-type-sample-scorm.zip` is a self-contained SCORM 1.2 course, not a simulated H5P demo. It contains eight real pinned libraries across four slides, with inline, button, dialog and side-panel presentations. `sample-course.json` is the exported configuration for inspection. The independent `h5p_prototype/` was not modified or imported.

## Run the offline review

From this folder run `python review-server.py`, then open <http://127.0.0.1:4179/harness.html>. Python extracts the ZIP into a temporary review directory. The test SCORM API displays status and suspend data and preserves progress in the browser tab. Reset learner clears only harness progress. External network requests are blocked by CSP. This harness is outside the delivered SCORM ZIP and is not a substitute for target LMS testing.

1. Slide 1: submit Multiple Choice and True/False. Wrong answers still complete each task; feedback stays visible. Next waits for both required tasks.
2. Slide 2: complete inline Fill in the Blanks and Drag and Drop. Keyboard users can grab a draggable with Enter and activate its destination with Enter, then submit.
3. Slide 3: submit inline Drag the Words, then turn both Dialog Cards to their backs. Viewing only one card does not complete it.
4. Slide 4: open both Accordion sections in its side panel and visit both Image Hotspots. Loading an activity does not complete it. The API should eventually show `cmi.core.lesson_status: completed`, with no H5P course-score points.
5. Refresh before/after completion to review resume. Unfinished detailed answers can restart; completed tasks remain completed. Changing an exported test activity's content revision invalidates only its completion and blocks progression at that activity's slide.

The source sample exists locally as project `01a134ce-68a5-70ec-9172-613d513f03c2` under the existing administrator owner. An isolated QA sample was used for destructive-to-fixture interactions. Create another fresh local course with `php artisan h5p:sample --owner=<existing-user-id> --language=en` (or `ar`) after setup. This command is restricted to local/testing and creates a new project.

See [setup, migration, rollback and validation details](../H5P_INTEGRATION.md). Moodle import/resume/completion, actual 200% browser zoom and physical touch testing remain target-environment checks. No production deployment or database reset was performed.
