{"id":18885290,"url":"https://github.com/sandstorm/neosh5p","last_synced_at":"2025-04-14T21:30:55.595Z","repository":{"id":40948718,"uuid":"138011444","full_name":"sandstorm/NeosH5P","owner":"sandstorm","description":"H5P Platform Integration Plugin for Neos CMS","archived":false,"fork":false,"pushed_at":"2023-06-22T10:45:45.000Z","size":3122,"stargazers_count":9,"open_issues_count":21,"forks_count":7,"subscribers_count":11,"default_branch":"master","last_synced_at":"2024-04-21T21:34:00.385Z","etag":null,"topics":["h5p","h5p-plugin","hacktoberfest","neos-cms","neos-plugin","neoscms","xapi"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sandstorm.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-06-20T09:38:49.000Z","updated_at":"2023-06-29T16:48:54.000Z","dependencies_parsed_at":"2023-01-25T11:30:56.002Z","dependency_job_id":null,"html_url":"https://github.com/sandstorm/NeosH5P","commit_stats":null,"previous_names":[],"tags_count":38,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sandstorm%2FNeosH5P","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sandstorm%2FNeosH5P/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sandstorm%2FNeosH5P/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sandstorm%2FNeosH5P/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sandstorm","download_url":"https://codeload.github.com/sandstorm/NeosH5P/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223644675,"owners_count":17178778,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["h5p","h5p-plugin","hacktoberfest","neos-cms","neos-plugin","neoscms","xapi"],"created_at":"2024-11-08T07:17:38.886Z","updated_at":"2024-11-08T07:17:39.454Z","avatar_url":"https://github.com/sandstorm.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"THIS PACKAGE IS NO LONGER MAINTANED\n\n\n# H5P Platform Integration Plugin for Neos CMS\n\n[Watch this video for an introduction to H5P in Neos!](https://www.youtube.com/watch?v=eslFaQ3oj7E)\n\n# What is H5P?\nH5P is an open standard for rich content in browsers, mainly - but certainly not limited to - for learning use cases and\nenvironments. It provides a variety of reusable content types, such as Memory Games, Fill in the Blanks, Multiple Choice\nQuestions and many more. Too get an overview about H5P and its content types, visit https://h5p.org/content-types-and-applications.\n\n# What does this plugin do?\nThis plugin provides a platform integration for H5P into the [Neos Content Application Platform](https://neos.io), allowing\nyou to use H5P content types seamlessly within Neos.\n\n# Maintenance and Compatibility\nSandstorm.NeosH5P is currently being maintained for the following versions:\n\n| Neos Version  | Sandstorm.NeosH5P | Branch | Maintained |\n|---------------|-------------------|--------|------------|\n| 3.3           | 1.1.x             | 1.x    | Inactive   |\n| 4.x           | 2.x               | master | Active     |\n\n# Installation\nInstallation is simple and consists of these steps:\n1. Run `composer require sandstorm/neosh5p`\n2. Install the database model via `./flow doctrine:migrate`\n3. Create a default set of configuration via `./flow h5p:generateconfig`\n4. Make sure the H5P core assets (JS and CSS files) are published by running `./flow resource:publish`\n\nThat's it - you're good to use H5P content on your site. You new have a new plugin node type \"H5P Content\" that you\ncan use to integrate with H5P. You also have a set of backend modules to create and manage H5P content, libraries,\nresults and settings.\n\n**Make sure to read and follow the integration guide below to really make the best use of the H5P package.**\n\n# Usage\nRefer to this video explaining how to use the H5P plugin: https://www.youtube.com/watch?v=eslFaQ3oj7E\n\n# Integration Guide\n## 1. Adjust Settings to your needs\nCheck the `Configuration/Settings.yaml` file and adjust the config settings to your needs. You should not need to change\nanything under the `h5pPublicFolder` key, as this controls the publishing mechanism of the H5P plugin - this should work\nout of the box. You can adjust anything under `configSettings` and `xAPI` the way you want it. The individual config\nsettings are described in the `Configuration/Settings.yaml` directly.\n\n**Important:** After you changed anything under the `configSettings` key, you need to re-run the `./flow h5p:generateconfig`\ncommand to bring it into the database and make it accessible to H5P. This is by design, as H5P is designed for these config\nsettings to be changed by an admin (which we haven't implemented yet, and likely never will). \n\n## 2. Configure saving of Content Results and Content State\nH5P supports persisting content state (e.g. the currently selected answers to multiple choice questions) and content\nresults (e.g. answers given by a user to a multiple choice question). In order for this to work in Neos, we need to\nadd a few settings. \n\nIn your site package's `Policy.yaml`, provide the permission to use the controller actions to the role which you\nwant to be able to use them. If you're using a frontend login package like [Sandstorm.UserManagement](https://github.com/sandstorm/UserManagement),\nyour config could look like below. Replace the role `Sandstorm.UserManagement:User` with the one your frontend users\nactually have. If you want to save content results and user data even for non-logged-in users, set this to\n`Neos.Flow:Everybody`. Mind the GDPR implications of this, as you're then persisting data of every user that\ninteracts with H5P content on your site. \n\n```YAML\nroles:\n  Sandstorm.UserManagement:User:\n    privileges:  \n      -\n        privilegeTarget: 'Sandstorm.NeosH5P:FrontendControllerActions'\n        permission: GRANT\n```\n\n## 3. Integrate xAPI\nYou can control which username and email address is sent in xAPI statements by implementing your own implementation of\nthe `FrontendUserServiceInterface`. Check the default `Sandstorm\\NeosH5P\\Domain\\Service\\FrontendUserService` for an\nexample. You need to configure Neos to use your implementation in your site package's `Objects.yaml`. This will give \nyou the opportunity to interact with your own frontend user model and extract name and email address.\n\nTo send xAPI statements to a LRS or other external endpoint, you need to provide a JavaScript that handles the sending\nprocess. This way, you have control over the sending process and can handle any login/routing/statement manipulation \nrequirements in your own package. The script is injected automatically - all you need to do is provide a path to a\nscript file under the configuration setting `Sandstorm.NeosH5P.xAPI.integrationScript`. Refer to this package's\n`Settings.yaml` for a detailed explanation (see the comments at the \"xAPI\" section of the config).\n\n## 4. Set up a cronjob to remove temporary H5P editor files\nPlan a cronjob to remove all EditorTempfiles and associated resources. EditorTempfiles are created e.g. when a user\nstarts creating an H5P content element and has already uploaded assets (such as pictures), then cancels the process.\nWe provide a CLI command for this: `./flow h5p:cleareditortempfiles`. Depending on how many users you have that are\ncreating H5P content, this should be run about once a week.\n\n# Known issues / remaining TODOs\n* Internationalization is not implemented yet.\n* Form validation in the H5P editor is not taken into account.\n* Flash messages do not work in the fullscreen content editor.\n* Methods for usage statistics are not implemented yet.\n* Config settings can not be changed in the GUI, only via CLI command (which is probably fine).\n\n# License\nLicense: MIT.\n\n# Sponsor\nThanks to our valued customer [Deutsches Institut für Erwachsenenbildung Bonn](https://die-bonn.de) for sponsorship of\nthis package!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsandstorm%2Fneosh5p","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsandstorm%2Fneosh5p","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsandstorm%2Fneosh5p/lists"}