H5P NodeJS Library
    Preparing search index...

    Module @lumieducation/h5p-server

    @lumieducation/h5p-server

    Coverage Status

    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.

    The library is not an out-of-the-box solution to get a standalone H5P application. 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.

    @lumieducation/h5p-server is one of several packages by Lumi Education that work in conjunction to simplify creating H5P applications. They are all managed in the h5p-nodejs-library monorepo on GitHub and are available on NPM.

    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

    We use SemVer for versioning. The versions of all packages of the monorepo are all increased at the same time, so you should always update all packages at once. For the versions available, see the tags on this repository.

    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:

    Modules

    <internal>

    Namespaces

    utils

    Enumerations

    ContentPermission
    FileSanitizerResult
    GeneralPermission
    MalwareScanResult
    TemporaryFilePermission
    UserDataPermission

    Classes

    AggregateH5pError
    AjaxErrorResponse
    AjaxSuccessResponse
    ContentFileScanner
    ContentStorer
    ContentTypeCache
    ContentUserDataManager
    H5PAjaxEndpoint
    H5PConfig
    H5PEditor
    H5pError
    H5PPlayer
    InstalledLibrary
    LaissezFairePermissionSystem
    LibraryAdministration
    LibraryManager
    LibraryName
    Logger
    PackageExporter
    SimpleLockProvider
    TemporaryFileManager
    UrlGenerator

    Interfaces

    IAdditionalLibraryMetadata
    IAjaxResponse
    IContentMetadata
    IContentStorage
    IContentUserData
    IContentUserDataStorage
    IEditorModel
    IFileMalwareScanner
    IFileSanitizer
    IFileStats
    IFinishedUserData
    IGetContentUserData
    IH5PConfig
    IInstalledLibrary
    IIntegration
    IKeyValueStorage
    ILibraryAdministrationOverviewItem
    ILibraryInstallResult
    ILibraryMetadata
    ILibraryName
    ILibraryStorage
    ILicenseData
    ILockProvider
    IPermissionSystem
    IPlayerModel
    IPostContentUserData
    IPostUserFinishedData
    ITemporaryFile
    ITemporaryFileStorage
    IUrlGenerator
    IUser

    Type Aliases

    ContentId
    ContentParameters
    ILibraryFileUrlResolver
    ITranslationFunction

    Variables

    cacheImplementations
    fsImplementations

    Functions

    fs
    streamToString