Creating a Plone integration and server-side Python module
Submitted by tobiasherp on Tue, 02/21/2017 - 13:01
I'm quite new to H5P, and I'd like to create a Plone integration for H5P (viewing only would be sufficient, for the first shot).
In my current understanding, for integration of H5P it is needed to
- create a .../h5p/... directory structure
which contains .h5p files,
- re-implement the server side code (for non-PHP-based servers),
- generate the HTML integration code in pages wherever an H5P object is inserted.
Plone is based on Python, thus it could share a server-side Python library with Django, Turbogears, Flask etc.
Plone has a convention for resource directories which are prefixed by /++resource++, so e.g. the window.H5PIntegration.url could be /++resource++h5p, right? I could exclude this from Apache rewriting and let this path point to a physical directory on the server.
Any comments, hints, additions, corrections? Thanks!
Wed, 02/22/2017 - 08:37
I know there are some people looking into a Django integration. Maybe you should get in touch with them, to see if they have any code out to help you get started.
Start by commenting on this forum post.
Wed, 02/22/2017 - 08:39
I guess you saw the documentation already?
Wed, 02/22/2017 - 08:45
Server-side part in mapped directory?
Wed, 02/22/2017 - 09:01
I don't know if anyone did some hybrid solution like you are describing.
If you create the .h5p-file with the editor in Moodle or Drupal, it shouldn't be too difficult for you to just display an H5P using only python for your backend, and JS for your frontend.
Then you can listen to xAPI-events being fired to track user progress.
Tue, 09/29/2020 - 13:49
I am curious if there are any news on this project? I am thinking about building a Plone Integration, but I am new to Plone as well as H5P. Soo any progress that I can build on would be very helpful.
Thanks and Greetings
Sat, 10/10/2020 - 15:50
From my experience on working
From my experience on working on the the NodeJS re-implementation of H5P, I'd say that a proper Python version of the H5P server is a very big undertaking. I think the most realistic way of getting H5P working with various technologies, is to create a H5P microservice which can run independently and only communicates through standardized HTTP calls and thus abstracts the actual server technology.