docs.lumi.education Open in urlscan Pro
2606:4700:4400::ac40:93d1  Public Scan

Submitted URL: http://docs.lumi.education/
Effective URL: https://docs.lumi.education/
Submission: On October 22 via api from US — Scanned from DE

Form analysis 0 forms found in the DOM

Text Content

H
H
H5P-Nodejs-Library
GithubTwitterHomepage
Search
⌃K

Links
README
Basic usage

Advanced usage

NPM packages

Development

Powered By GitBook


README



This library provides everything needed to create custom H5P servers running on
NodeJS. It is written in TypeScript and fully typed, which makes it much easier
to work with than the official PHP server. Of course, it's also possible to use
this library in projects with JavaScript (ES5) and you will still profit from
the typings by getting code completion in your IDE.
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.
Check out the GitBook documentation for details on how to use this library.
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.
PACKAGES

The main Git repository is a monorepo that contains several packages, which can
be installed through NPM. The packages are meant to be combined
Package name
Functionality
used in
@lumieducation/h5p-server
the core package to run H5P in NodeJS
backend
@lumieducation/h5p-express
routes and controllers for Express
backend
@lumieducation/h5p-webcomponents
native web components to display the H5P player and editor in the browser
frontend
@lumieducation/h5p-react
React components with the same functionality as the native web components
frontend
@lumieducation/h5p-mongos3
storage classes for MongoDB and S3
backend
@lumieducation/h5p-redis-lock
storage class for locks with Redis
backend
@lumieducation/h5p-html-exporter
an optional component that can create bundled HTML files for exporting
backend

EXAMPLES

There are two example implementations that illustrate how the packages can be
used:
Example type
Tech stack
Location
server-side-rendering
server: Express with JS template rendering client: static HTML, some React for
library management
/packages/h5p-examples
Single Page Application
server: Express with REST endpoints client: React
/packages/h5p-rest-example-server /packages/h5p-rest-example-client

TRYING OUT THE DEMO

Make sure you have git, node ≥ 10.16 , and npm installed. 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
2.
npm install
3.
npm start

You can then open the URL http://localhost:8080 in any browser.
CONTRIBUTING

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.
GET IN TOUCH

Slack or c@Lumi.education.
VERSIONING

We use SemVer for versioning. For the versions available, see the tags on this
repository.
LICENSE

This project is licensed under the GNU GENERAL PUBLIC LICENSE v3 License - see
the LICENSE file for details
SUPPORT

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:
CARO - https://blogs.uni-bremen.de/caroprojekt/
University of Bremen - https://www.uni-bremen.de/en.html
BMBF - https://www.bmbf.de/en/index.html

Next
Basic usage

Last modified 1yr ago
Was this page helpful?

On this page
Packages
Examples
Trying out the demo
Contributing
Get in touch
Versioning
License
Support
To pick up a draggable item, press the space bar. While dragging, use the arrow
keys to move the item. Press space again to drop the item in its new position,
or press escape to cancel.

README
Basic usage

Advanced usage

NPM packages

Development

Powered By GitBook