- How do I install escolalms/headless-h5p in a Laravel application?
- Install it with Composer using composer require escolalms/headless-h5p, then publish the package config and migrations and run php artisan migrate. You will need to configure storage disks for H5P libraries and content files, wire up authentication middleware on the package routes, and expose the API endpoints your frontend will call. Because this is a headless package, installation is only half the job: you must also integrate a compatible H5P player and editor in your client application.
- Which Laravel and PHP versions does this headless H5P package support?
- Always check the composer.json constraints and the release history in the repository before committing, rather than assuming compatibility from the package name. This package has low ecosystem adoption, so Laravel and PHP version support may lag behind current framework releases. Pin both the package version and your Laravel/PHP versions in staging, then validate upgrade paths before rolling into production.
- Does this package include an H5P player or editor frontend?
- No. The package is a backend REST API only and deliberately ships without a bundled frontend, so you are responsible for integrating an H5P player and editor in your client app. That means handling iframe embedding, asset loading, and CSP headers on your side. Plan for frontend contract alignment as a real part of the integration effort, not an afterthought.
- How are authentication, roles, and multi-tenancy handled in the API?
- Authentication is left to your Laravel application, so you typically wrap the package routes with Sanctum or Passport middleware and your own authorization policies. Multi-tenancy is not solved for you out of the box, and the package is known to have multi-tenancy gaps that you must enforce yourself. If you serve multiple tenants, scope content, libraries, and storage paths per tenant and test that isolation explicitly.
- Where are H5P content files and libraries stored and served from?
- Storage is configured through Laravel filesystem disks, so you can use local storage or an S3-compatible bucket and front it with a CDN. H5P requires serving library assets and content files, not just JSON, so make sure your asset routes, caching, and CSP rules are set up correctly. Large-file handling and upload validation also need attention because H5P packages can be sizable.
- Is escolalms/headless-h5p MIT licensed, and can I use it commercially?
- The wrapper package itself is MIT licensed, but H5P core and individual H5P content types may carry GPL or other copyleft obligations. A permissive wrapper does not remove license requirements from the components it depends on. Review the licenses of every H5P library you ship and confirm obligations with your legal team before a commercial launch.
- Does the package support xAPI, LRS reporting, scoring, and content state?
- H5P itself supports content state and scoring inside the player, but this package is an API layer and does not guarantee an xAPI or LRS integration. If you need detailed reporting, verify what the API actually exposes and plan to capture statements yourself from the player or a companion service. Treat xAPI support as something to prove in a proof of concept rather than assume.
- Is this package production ready given its low adoption?
- It has very few stars and no known dependents, which means limited peer validation and unclear production usage. Expect to own maintenance, including upstream H5P library updates, Laravel and PHP upgrades, and security patches, and be prepared to fork or vendor the package if needed. Run a time-boxed proof of concept with one content type behind a feature flag before committing to it.
- How do I migrate existing H5P content into this headless setup?
- Plan to migrate both the content files and the H5P libraries they depend on, keeping library versions pinned and consistent with what the original content expects. Do a read-only content endpoint first, validate playback of one content type end to end, and only then move authoring endpoints and bulk content migration. Avoid a big-bang LMS cutover and keep a rollback path while you validate.
- What are the alternatives to escolalms/headless-h5p for H5P in Laravel?
- Alternatives include integrating the upstream H5P PHP core directly, using a standalone H5P player package in the frontend against your own Laravel storage and endpoints, or offloading H5P to a hosted service. If your platform is not Laravel, this package's leverage drops sharply and an H5P service is usually the better fit. Compare on library management, licensing, xAPI support, and who owns long-term maintenance before choosing.