PHPackages                             sandstorm/neosh5p - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. sandstorm/neosh5p

ActiveNeos-plugin

sandstorm/neosh5p
=================

H5P Platform Integration Plugin for Neos CMS

2.1.10(6y ago)91.4k7[2 issues](https://github.com/sandstorm/NeosH5P/issues)[19 PRs](https://github.com/sandstorm/NeosH5P/pulls)MITPHP

Since Aug 13Pushed 2y ago9 watchersCompare

[ Source](https://github.com/sandstorm/NeosH5P)[ Packagist](https://packagist.org/packages/sandstorm/neosh5p)[ Docs](https://github.com/sandstorm/NeosH5P)[ RSS](/packages/sandstorm-neosh5p/feed)WikiDiscussions master Synced yesterday

READMEChangelog (10)Dependencies (5)Versions (61)Used By (0)

THIS PACKAGE IS NO LONGER MAINTANED

H5P Platform Integration Plugin for Neos CMS
============================================

[](#h5p-platform-integration-plugin-for-neos-cms)

[Watch this video for an introduction to H5P in Neos!](https://www.youtube.com/watch?v=eslFaQ3oj7E)

What is H5P?
============

[](#what-is-h5p)

H5P is an open standard for rich content in browsers, mainly - but certainly not limited to - for learning use cases and environments. It provides a variety of reusable content types, such as Memory Games, Fill in the Blanks, Multiple Choice Questions and many more. Too get an overview about H5P and its content types, visit .

What does this plugin do?
=========================

[](#what-does-this-plugin-do)

This plugin provides a platform integration for H5P into the [Neos Content Application Platform](https://neos.io), allowing you to use H5P content types seamlessly within Neos.

Maintenance and Compatibility
=============================

[](#maintenance-and-compatibility)

Sandstorm.NeosH5P is currently being maintained for the following versions:

Neos VersionSandstorm.NeosH5PBranchMaintained3.31.1.x1.xInactive4.x2.xmasterActiveInstallation
============

[](#installation)

Installation is simple and consists of these steps:

1. Run `composer require sandstorm/neosh5p`
2. Install the database model via `./flow doctrine:migrate`
3. Create a default set of configuration via `./flow h5p:generateconfig`
4. Make sure the H5P core assets (JS and CSS files) are published by running `./flow resource:publish`

That's it - you're good to use H5P content on your site. You new have a new plugin node type "H5P Content" that you can use to integrate with H5P. You also have a set of backend modules to create and manage H5P content, libraries, results and settings.

**Make sure to read and follow the integration guide below to really make the best use of the H5P package.**

Usage
=====

[](#usage)

Refer to this video explaining how to use the H5P plugin:

Integration Guide
=================

[](#integration-guide)

1. Adjust Settings to your needs
--------------------------------

[](#1-adjust-settings-to-your-needs)

Check the `Configuration/Settings.yaml` file and adjust the config settings to your needs. You should not need to change anything under the `h5pPublicFolder` key, as this controls the publishing mechanism of the H5P plugin - this should work out of the box. You can adjust anything under `configSettings` and `xAPI` the way you want it. The individual config settings are described in the `Configuration/Settings.yaml` directly.

**Important:** After you changed anything under the `configSettings` key, you need to re-run the `./flow h5p:generateconfig`command to bring it into the database and make it accessible to H5P. This is by design, as H5P is designed for these config settings to be changed by an admin (which we haven't implemented yet, and likely never will).

2. Configure saving of Content Results and Content State
--------------------------------------------------------

[](#2-configure-saving-of-content-results-and-content-state)

H5P supports persisting content state (e.g. the currently selected answers to multiple choice questions) and content results (e.g. answers given by a user to a multiple choice question). In order for this to work in Neos, we need to add a few settings.

In your site package's `Policy.yaml`, provide the permission to use the controller actions to the role which you want to be able to use them. If you're using a frontend login package like [Sandstorm.UserManagement](https://github.com/sandstorm/UserManagement), your config could look like below. Replace the role `Sandstorm.UserManagement:User` with the one your frontend users actually have. If you want to save content results and user data even for non-logged-in users, set this to `Neos.Flow:Everybody`. Mind the GDPR implications of this, as you're then persisting data of every user that interacts with H5P content on your site.

```
roles:
  Sandstorm.UserManagement:User:
    privileges:
      -
        privilegeTarget: 'Sandstorm.NeosH5P:FrontendControllerActions'
        permission: GRANT
```

3. Integrate xAPI
-----------------

[](#3-integrate-xapi)

You can control which username and email address is sent in xAPI statements by implementing your own implementation of the `FrontendUserServiceInterface`. Check the default `Sandstorm\NeosH5P\Domain\Service\FrontendUserService` for an example. You need to configure Neos to use your implementation in your site package's `Objects.yaml`. This will give you the opportunity to interact with your own frontend user model and extract name and email address.

To send xAPI statements to a LRS or other external endpoint, you need to provide a JavaScript that handles the sending process. This way, you have control over the sending process and can handle any login/routing/statement manipulation requirements in your own package. The script is injected automatically - all you need to do is provide a path to a script file under the configuration setting `Sandstorm.NeosH5P.xAPI.integrationScript`. Refer to this package's `Settings.yaml` for a detailed explanation (see the comments at the "xAPI" section of the config).

4. Set up a cronjob to remove temporary H5P editor files
--------------------------------------------------------

[](#4-set-up-a-cronjob-to-remove-temporary-h5p-editor-files)

Plan a cronjob to remove all EditorTempfiles and associated resources. EditorTempfiles are created e.g. when a user starts creating an H5P content element and has already uploaded assets (such as pictures), then cancels the process. We provide a CLI command for this: `./flow h5p:cleareditortempfiles`. Depending on how many users you have that are creating H5P content, this should be run about once a week.

Known issues / remaining TODOs
==============================

[](#known-issues--remaining-todos)

- Internationalization is not implemented yet.
- Form validation in the H5P editor is not taken into account.
- Flash messages do not work in the fullscreen content editor.
- Methods for usage statistics are not implemented yet.
- Config settings can not be changed in the GUI, only via CLI command (which is probably fine).

License
=======

[](#license)

License: MIT.

Sponsor
=======

[](#sponsor)

Thanks to our valued customer [Deutsches Institut für Erwachsenenbildung Bonn](https://die-bonn.de) for sponsorship of this package!

###  Health Score

37

—

LowBetter than 83% of packages

Maintenance16

Infrequent updates — may be unmaintained

Popularity24

Limited adoption so far

Community18

Small or concentrated contributor base

Maturity76

Established project with proven stability

 Bus Factor1

Top contributor holds 53.2% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~7 days

Recently: every ~0 days

Total

39

Last Release

2539d ago

Major Versions

1.1.10 → 2.1.62019-05-22

1.1.11 → 2.1.72019-05-23

1.1.12 → 2.1.82019-05-24

1.1.13 → 2.1.92019-05-29

1.1.14 → 2.1.102019-05-31

### Community

Maintainers

![](https://www.gravatar.com/avatar/2ced0d63cfdae881c32128c7f66451a013d3e24d9eed210d6a846b6d8e95fa3b?d=identicon)[sandstorm](/maintainers/sandstorm)

---

Top Contributors

[![klfman](https://avatars.githubusercontent.com/u/9661367?v=4)](https://github.com/klfman "klfman (25 commits)")[![skurfuerst](https://avatars.githubusercontent.com/u/190777?v=4)](https://github.com/skurfuerst "skurfuerst (13 commits)")[![beheist](https://avatars.githubusercontent.com/u/10347669?v=4)](https://github.com/beheist "beheist (8 commits)")[![on3iro](https://avatars.githubusercontent.com/u/8681413?v=4)](https://github.com/on3iro "on3iro (1 commits)")

---

Tags

h5ph5p-pluginhacktoberfestneos-cmsneos-pluginneoscmsxapiNeosh5plrslmsneos-pluginrich content

### Embed Badge

![Health badge](/badges/sandstorm-neosh5p/health.svg)

```
[![Health](https://phpackages.com/badges/sandstorm-neosh5p/health.svg)](https://phpackages.com/packages/sandstorm-neosh5p)
```

###  Alternatives

[shel/neos-colorpicker

A plugin for Neos CMS which provides a colorpicker editor

1494.4k6](/packages/shel-neos-colorpicker)[shel/neos-hyphens

A plugin for Neos CMS which provides hyphens for the inline editor

20200.7k1](/packages/shel-neos-hyphens)[techdivision/ckstyles

Neos package which enables you adding your custom style classes for the CkEditor with a simple Yaml configuration

21166.3k](/packages/techdivision-ckstyles)[jorisdugue/h5p-bundle

H5P Bundle for Symfony 5, 6 and Symfony 7

1131.7k](/packages/jorisdugue-h5p-bundle)[shel/neos-terminal

Neos CMS Ui terminal for running Eel expressions and other commands

1441.3k](/packages/shel-neos-terminal)[shel/neos-commandbar

A commandbar (CMD+K) for Neos CMS

1614.6k1](/packages/shel-neos-commandbar)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
