Even though the repository includes a sample demo project that demonstrates its functionality, it's still your job to integrate this library into your own NodeJS server. This is called an "implementation" or "plugin" in H5P terminology. The implementation is responsible for exposing HTTP endpoints, persisting data and calling maintenance functions. This library is not an out-of-the-box solution to get a standalone H5P server.
Please note that even if most functionality of H5P works, there are parts which haven't been implemented yet or which might be faulty. This is particularly true for security concerns. For a more comprehensive list of what works and what doesn't, check out the documentation page on the current status of the project. The interfaces have reached some level of stability, but might still change in future major releases.
The main Git repository is a monorepo that contains several packages, which can be installed through NPM. The packages are meant to be combined
the core package to run H5P in NodeJS
routes and controllers for Express
native web components to display the H5P player and editor in the browser
React components with the same functionality as the native web components
storage classes for MongoDB and S3
storage class for locks with Redis
an optional component that can create bundled HTML files for exporting
There are two example implementations that illustrate how the packages can be used:
server: Express with JS template rendering client: static HTML, some React for library management
server: Express with REST endpoints client: React
Make sure you have
node ≥ 10.16, and
npminstalled. If you use Windows, you must use bash (comes with Git for windows) as a command shell (otherwise scripts won't run).
- 1.Clone the repository with git
Lumi tries to improve education wherever it is possible by providing a software that connects teachers with their students. Every help is appreciated and welcome. Feel free to create pull requests. Check out the documentation pages for developers to get started.
This project has adopted the code of conduct defined by the Contributor Covenant. It can be read in full here.
This project is licensed under the GNU GENERAL PUBLIC LICENSE v3 License - see the LICENSE file for details
This work obtained financial support for development from the German BMBF-sponsored research project "CARO - Care Reflection Online" (FKN: 01PD15012).
Read more about them at the following websites: