Platform Integration Development
This guide will (eventually)provide all the necessary information and help you through the process of implementing your very own H5P plugin in a programming language of your choice. It will describe the different actions and what happens when H5P is used, and how you can implement this into your own system.
The target audience for this guide is Web Developers and Programmers.
Before continuing, I would like to encourage you to create generic components that can be shared with others and re-used. This way we can prevent people from doing the same work over again and instead focus on growing H5P.
Advice on how to create a platform integration
H5P plugins are so far only created for php based publishing platforms. H5P has been designed to be easy to implement on new platforms. As much as possible of the code is javascript, and the PHP part of the code has been divided into platform agnostic PHP libraries and platform specific interfaces.
The H5P PHP library is responsible for handling imports and exports of .h5p files, displaying H5P content, updating H5P content and providing the API that H5P provides for the H5P libraries. This library has an interface called H5PFrameworkInterface that platform integrations must implement.
The H5P Editor PHP library holds all H5P editor code and provides the javascript APIs for custom editor widgets. This library has an interface called H5peditorStorage that platform integrations must implement.
The APIs provided by these two libraries has not been documented yet. We're planning to simplify the a lot. Many organizations have still already started implementing H5P plugins for their custom publishing platforms an do this by looking at the existing implementations for Wordpress and Drupal.
A Brief Introduction To How H5P Works
H5P allows you to upload JavaScript libraries to your web application. Some of these libraries are known as Content Types, and they have a file which describes the start parameters they need to run.
The H5P Editor provides a generic set of widgets that can be used for lists, texts, numbers, files, images, boolean etc. The Editor reads the "recipe" for the content type start parameters, generates a form using the different widgets and, in turn, creates the parameters needed to “start” the content based on the user input. Different user input alters the start parameters and creates new interactivities, of the same kind, but with different content.
Data model and relations
Before creating your plugin, you must know which different Data Objects your plugin needs to hold and manage, and what the relationships between them are. This is also a great starting point for creating your Database Model. For further details on which properties each object holds, you should take a look at the H5P Specification.
- Library – Represents a JavaScript library(/Content Type), e.g. H5P.MultiChoice.
- Library Dependency – Represents a requirement to another Library, e.g. H5P.MultiChoice requires H5P.JoubelUI.
- Library Translation – Represents an available translation for the given Library, e.g. the Italian translation for H5P.MultiChoice.
- Content – Represents an instance of a Content Type(JavaScript library). It will hold the start parameters needed and a reference to the Library.
- Content Dependency – Connects the Content to multiple Libraries which are required by the content. This is essentially a cache, but it makes it a whole lot easier to find out which files you must load when displaying the content.
- Content Result – Simple tracking of how many points the User scores on each content. Not really required, but very nice to have.
- Content User Data – Keeps track of different user data for each content, e.g. it can store the previous content state so that the user may resume where he left off. Not really required either.
Uploading H5P Files
When you've set up the database you'll want to get some test content into it before you continue. Adding support for uploading H5P files makes this a whole lot easier.
The H5P Content Creation Form
The first step to uploading H5P files is to set up a simple form with a file upload field. This will be the H5P Content Creation Form. Next, you’ll need to handle the form submission and do some checks to make sure that the file is a valid H5P file. This means that it must have all the required properties and assets for the content to work.
Validating the H5P file
You should check that the file has an .h5p extension and then try to extract the file into a temporary directory using a library for handling Zip files.
If the package is extracted without issues the next step is to go through the content of the temporary directory to check that everything is there. Start by trying to load the file named h5p.json. This is the file which describes what the package contains. You must verify that the properties of the file are in accordance with the H5P Specification.
You must remember to check that the coreApi property of h5p.json is compatible with the version of the H5P that you are implementing.
Next, you have to check for a directory named content and try to load the file content/content.json. The contents of this file is the Start Parameters required for the Content Type specified in h5p.json.
Go through all the folders in the temporary directory and look for a file named library.json. If the file exists that means that it is is the directory of a Library. All other files and folders are not a part of the .h5p specification and may therefore be ignored.
For each library you should check to see if it has already been installed. If you do not have it in your database or you have an older Patch Version of the library(see version info?) you should install it.
At this stage you may also want to do a access check to see if the current user is allowed to install new libraries. It could also be useful to display a confirmation dialog to user, listing all the libraries that are going to be installed.
Afterwards, you must go through all of the depedencies specified in h5p.json. If you are missing one of the dependent libraries you should not save the content.
When that is done, all of the validation is done. Optionally, you can also filter all of the files against a file extension whitelist to avoid storing potentially harmful files.
Storing the H5P content
After the content of the package have been validated you'll want to store the contents of the content folder and also all the libraries that you're installing. You must store the files from these in a public accessible location on your server.
It’s recommend to have a separate folder for all H5P files. Content should go into h5p/content/[id], libraries into h5p/libraries/[name] and later on a directory for exports and one for tmp files used by the editor.
When everything is stored you may delete the .h5p file and the temporary directory it was extracted into.
Later on you may want to have a Cron job or something similar that cleans up any old tmp files or directories.
Viewing H5P content
For H5P content to be rendered properly on the web page, both settings and files need to be loaded, and an embed code must be inserted into the page where the content is to appear.
Including JavaScript Settings
For H5P content to be viewed properly an JavaScript object has to be included into the DOM before the content is “started”. The object must be named H5PIntegration and contain the following properties for all H5Ps:
window.H5PIntegration = { "baseUrl": "http://www.mysite.com", // No trailing slash "url": "/path/to/h5p-dir", // Relative to web root "postUserStatistics": true, // Only if user is logged in "ajaxPath": "/path/to/h5p-ajax" // Only used by older Content Types "ajax": { // Where to post user results "setFinished": "/interactive-contents/123/results/new", // Words beginning with : are placeholders "contentUserData": "/interactive-contents/:contentId/user-data?data_type=:dataType&subContentId=:subContentId" }, "saveFreq": 30, // How often current content state should be saved. false to disable. "user": { // Only if logged in ! "name": "User Name", "mail": "[email protected]" }, "siteUrl": "http://www.mysite.com", // Only if NOT logged in! "l10n": { // Text string translations "H5P": { "fullscreen": "Fullscreen", "disableFullscreen": "Disable fullscreen", "download": "Download", "copyrights": "Rights of use", "embed": "Embed", "size": "Size", "showAdvanced": "Show advanced", "hideAdvanced": "Hide advanced", "advancedHelp": "Include this script on your website if you want dynamic sizing of the embedded content:", "copyrightInformation": "Rights of use", "close": "Close", "title": "Title", "author": "Author", "year": "Year", "source": "Source", "license": "License", "thumbnail": "Thumbnail", "noCopyrights": "No copyright information available for this content.", "downloadDescription": "Download this content as a H5P file.", "copyrightsDescription": "View copyright information for this content.", "embedDescription": "View the embed code for this content.", "h5pDescription": "Visit H5P.org to check out more cool content.", "contentChanged": "This content has changed since you last used it.", "startingOver": "You'll be starting over.", "by": "by", "showMore": "Show more", "showLess": "Show less", "subLevel": "Sublevel" } }, "loadedJs": ['multichoice.js'], // Only required when Embed Type = div "loadedCss": [], "core": { // Only required when Embed Type = iframe "scripts": ['jquery.js', 'h5p.js', ...], "styles": ['h5p.css'] } };
The object also requires content specific properties. You’d want to load the following data for each content: Content Type, Start Parameters, Embed Type and a list of all the JavaScript and CSS files used by all the Content Dependencies for the Content.
You'll also have to load all Content User Data for the current user and content where preloaded = true. These are loaded into the contentUserData property, see below.
Before the start parameters are included on the page they should be run through a filter that make sure that they are compatible with the Content Type. See next sub-section.
The content specific part will look like this:
window.H5PIntegration.contents['cid-1234'] = { "library": "H5P.MultiChoice 1.5", // Library name + major version.minor version "jsonContent": "{\"filtered start parameters in json format\"}", "fullScreen": false, // No fullscreen support "exportUrl": "/path/to/download.h5p", "embedCode": "<iframe src=\"https://mysite.com/h5p/1234/embed\" width=":w" height=\":h\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"></iframe>", "resizeCode": "<script src=\"https://mysite.com/h5p-resizer.js\" charset=\"UTF-8\"></script>", "mainId": 1234, "url": "https://mysite.com/h5p/1234", "title": "How long is a rope?", "contentUserData": { 0: { // Sub ID (0 = main content/no id) 'state' => FALSE // Data ID } }, "displayOptions": { "frame": true, // Show frame and buttons below H5P "export": true, // Display download button "embed": true, // Display embed button "copyright": true, // Display copyright button "icon": true // Display H5P icon }, "styles": ['multichoice.css'], "scripts" ['multichoice.js'] };
Filtering Start Parameters
Not finished
Loading JavaScript files and stylesheets
You will also need to load the required JavaScript and CSS styles onto the page, and just like with the settings there are some files that are global and some that are content specific. It’s recommended that you reuse the existing H5P Core JS from the h5p-php-library. The following files are required on all pages where you wish to include H5Ps:
jquery.js, h5p.js, h5p-event-dispatcher.js, h5p-x-api-event.js, h5p-x-api.js, h5p-content-type.js and h5p.css.
You should not have to make changes to these files, but if you do please make sure to create Pull Requests for the originals. In the future these common files might be split into a separate project/repo.
When it comes to the content specific files only content with the embed type div should be included on the page. For other embed types the files are simply specified in the settings, under scripts and styles.
Embed Code
Now that all the scripts and setting are loaded onto the page there’s only one thing missing; the HTML where the interactive content will be inserted. The HTML code willl vary depending on the Embed Type.
For div it looks like:
<div class="h5p-content" data-content-id="1234"></div>
For iframe it looks like:
<div class="h5p-iframe-wrapper"><iframe id="h5p-iframe-1234" class="h5p-iframe" data-content-id="1234" style="height:1px" src="about:blank" frameBorder="0" scrolling="no"></iframe></div>
External Embed Code
Simply modify the example code above.
Tracking of Results
If the postUserStatistics and ajax.setFinished properties are present all that is needed is to create the AJAX endpoint which is specified by the ajax.setFinished property. The task of the endpoint is simply to store the posted data.
Content User Data
Not finished
Editing H5P content
Not finished
Adding options to disable the frame?
Library Managment
Not finished
Content Upgrade
Please read Content Upgrade.
Comments
hosais
Thu, 06/02/2016 - 17:11
Permalink
a small plugin example
Hi,
I am thinking to make a simple "showing h5p content" plugin (not editing) as a prototype test (currently try to be in meteor.js). The requirements/functions are:
According to "Viewing h5p section" above, I suppose I need to
Am I right on the right track? I would really appreciate if anyone could give me some suggetions. I think it is a good idea to make this as an brief example for this document. If it is helpful, I am willing to share the example.
Thank you very much.
fnoks
Fri, 06/03/2016 - 10:42
Permalink
H5P & node.js
Hi,
We have created a development tool for H5P, which is part of the H5P npm cli (https://www.npmjs.com/package/h5p). The development tool makes it possible to run a local node.js server which displays H5Ps. The code for the H5P npm cli is found here: https://github.com/h5p/h5p-cli. Specifically, you should have a look at the code implementing the server part, which is here: https://github.com/h5p/h5p-cli/blob/master/lib/h5p-server.js.
Note: The development tool is in a beta-state, but I think it will be really helpful for you to have a look at it / reuse code. There are not a lot of comments in the code - if you have any questions, please add them here - we will be happy to assist!
Good luck!
hosais
Fri, 06/03/2016 - 17:55
Permalink
Hi fnoks, thank you very much
Hi fnoks, thank you very much for your quick response. It is great that there are an example already. I will check it.
lipp
Mon, 11/26/2018 - 04:45
Permalink
H5P & Nodejs
Hi,
I am currently working on an H5P-Nodejs-integration. You can find the code at https://github.com/Lumieducation/h5p-nodejs-library.
I appreciate any feedback. :)
icc
Wed, 11/28/2018 - 10:26
Permalink
Cool, thanks for sharing!
Cool, thanks for sharing!
hosais
Mon, 06/06/2016 - 12:38
Permalink
format of Config file
Hi fnoks, just a quick question. Could you let me know the configure file format? I tried to find h5p-server.json according to the code but I cannot find it. Thanks.
function H5PServer(configFile) {
this.cwd = process.cwd();
configFile = configFile || 'h5p-server.json';
By the way, I suppose that it is better I post issues in github. Am I right? Or here is OK. Many thanks.
fnoks
Mon, 06/06/2016 - 14:30
Permalink
Hi,I have updated the Readme
Hi,
I have updated the Readme.md on github: https://github.com/h5p/h5p-cli/blob/master/README.md. If you can add new issues directly to the github repo, that would be great :)
hosais
Mon, 06/06/2016 - 17:26
Permalink
Great it is much clear now! I
Great it is much clear now! I will get to the code now and start from github. Talk to you soon and thank you again for your quick response.
Hajar
Tue, 12/13/2016 - 14:13
Permalink
content.json ?
I have started using h5p plugin development using node.js. When I use "h5p server": it works but then it cannot load content.json file. I do not have this file in my js library. Could you please let me know waht do I need to have in content.js file in different folders(js/content.js and css/content.js and language.js)? I am not going to use "drupal", "wordpress", and "moodle". I have my own platform and I am going to make my custom plug in.
Thanks in advance,
Hajar
fnoks
Mon, 12/19/2016 - 10:12
Permalink
Hi Hajar,I guess you are
Hi Hajar,
I guess you are using the h5p cli. Have you looked at the documentation here: https://github.com/h5p/h5p-cli#h5p-developer-server?
The content.json file is part of each downloadable h5p-file. You could e.g. download one from this site, and unpack it.
Hajar
Wed, 12/14/2016 - 08:41
Permalink
h5p plugin for Alfresco?
Could you please let me about the possibility of itegration (custom) h5p plugin for Alfresco https://www.alfresco.com/products/enterprise-content-management/community?
tomaj
Wed, 12/14/2016 - 09:54
Permalink
Integrations
Hi Hajar,
It is up to the h5p community to create plugins for different frameworks. The integrations that are currently in place are php or JS-based. And as I understand it Alfresco is written in Java. So there is a need to reimplement the plugin code in Java.
I will encurage the h5p community to come togheter, and implement a common Java library, for easy integration. So that maintainence will be easier for everyone in the long run.
@Hajar, is this something you are interrested being a part of, and maybe spearheading?
- Tom
Hajar
Wed, 12/14/2016 - 10:35
Permalink
Hi Tom,Thanks for your time
Hi Tom,
Thanks for your time and comments. I was wondering if we can have anodejs based running on a server and direct it into Alfersco as a service for Alfresco?! Then we do not need to change the code into Java. There are also possibility of scripting in Alfresco. But I would prefer runing h5p as a node.js based service and just preview it in Alfresco environment. Please let me know your thought!
Hajar
tomaj
Thu, 12/15/2016 - 08:55
Permalink
Command Line Client
Hi Hajar,
fnoks has created a h5p command line client that can be found here. You should be able to run h5ps, but there is not yet support for creating them from the command line.
If you are creating something of your own, the following files is a good starting point
castelmager
Tue, 08/28/2018 - 19:37
Permalink
Hi Tom,Do you know if someone
Hi Tom,
Do you know if someone starts with the common java library ?
Thanks!
Best Regards,
Sebastian
berteh
Sun, 12/18/2016 - 23:13
Permalink
integration in tiddlywiki (would provide offline player as well)
Hello.
I love h5p, thanks for the great work! Would love to see its interactive components available from within the great tiddlywiki tool (a file-based wiki already quite interactive only in JS).
Creating items with metadata (incl json) is already fairly easy in that particular framework... so I think h5p integrated play is just a step away but can't figure the best place to start for a "no-server" variant of the plugins. Any idea/pointer ?
Thanks.
icc
Wed, 01/11/2017 - 11:16
Permalink
Hi, yes this sounds like a
Hi, yes this sounds like a great tool to create a plugin for.
Unfortunately, I've no experience with it, but looking at the structure of tiddly and see that it's not using PHP like the other plugins, you won't be able to reuse a lot of code from there. I'm guessing that creating a plugin would involve a lot of work and could be a difficult task.
Perhaps the experimental standalone server parts of h5p-cli would be a good place to start as those uses JavaScript.
Krassmus
Mon, 01/09/2017 - 10:24
Permalink
In the midnight hour, I cried more, more, more!
Could you please improve this documentation a little bit? I find it hard to write an implementation for an LMS.
Thank you!
Rasmus
icc
Wed, 01/11/2017 - 11:02
Permalink
Hi, yes this documentation is
Hi, yes this documentation is currently a work in progress. Feel free to contribute or comment on which parts you feel that are missing.
Krassmus
Fri, 07/21/2017 - 12:55
Permalink
To me it would help
if at least the "Not finished" sections would get finished. In the past half year nothing has happened here, so it does not look like a work in progress but more like a 'work without progress', if you ask me. I would love to integrate H5P in my software (Stud.IP), but I am not able to do this with this documentation.
icc
Tue, 07/25/2017 - 11:21
Permalink
I understand your frustration
I understand your frustration. Sadly, the progress has been slow here due to the prioritization of funded work.
Krassmus
Tue, 07/25/2017 - 11:41
Permalink
Alright
Thank you for clarification!
afedoseev
Thu, 02/09/2017 - 22:52
Permalink
Integrating the editor
Could you update the documentation for integrating the editor, namely the list of JS and CSS files to be included on the editor page and an example of editor initialization code with all parameters required for it.
tim
Fri, 02/10/2017 - 10:41
Permalink
Sure, I'll see what I can add
Sure, I'll see what I can add in the coming weeks.
ljoks
Thu, 02/08/2018 - 23:02
Permalink
Any update on this? It would
Any update on this? It would be incredibly useful
tim
Mon, 02/19/2018 - 16:26
Permalink
Hi ljoks, unfortunately I've
Hi ljoks, unfortunately I've not had the time to update the documentation. We've been really busy with branching scenario and adding an open ended question feature into Interactive Video.
dylancleghorn
Fri, 11/01/2019 - 08:23
Permalink
Is there documentation
Is there documentation anywhere on "Editing H5P content"?
I have successfully set up a page that can view h5p content, now I need to display the editor so I can edit that content. Is the configuration much different than for "Viewing H5P content"? The example code in the Viewing H5P content section above was extremely helpful. Similar examples for the the editor would be sufficient to get me started.
BV52
Fri, 11/01/2019 - 20:33
Permalink
Hi dylancleghorn,These
Hi dylancleghorn,
These documentation may be of help.
-BV
dylancleghorn
Fri, 11/08/2019 - 19:12
Permalink
How to display the Hub/Editor?
I am successfully displaying H5P content, but I am going crazy trying to figure out how to display the Hub/Editor. My questions are:
On other sites I see H5PEditor, do I need to define like I did H5PIntegration? Is there a template for H5PEditor like the one provided above for H5PIntegration?
For viewing content I use: jquery.js, h5p.js, h5p-event-dispatcher.js, h5p-x-api-event.js, h5p-x-api.js, h5p-content-type.js, h5p.css.
For viewing content I use this template: <div class="h5p-iframe-wrapper"><iframe id="h5p-iframe-1234" class="h5p-iframe" data-content-id="1234" style="height:1px" src="about:blank" frameBorder="0" scrolling="no"></iframe></div>
If anyone is able to point me in the right direction I would greatly appreciate it.
BV52
Mon, 11/11/2019 - 20:14
Permalink
Hi dylancleghorn,I am no
Hi dylancleghorn,
I am no developer and my coding skills are novice at best. What I can help you with is to give you a tip. Posting in the forums has a higher chance of getting answered compared to posting in the documentation pages.
Good luck on your project!
-BV
rodneyt
Sat, 08/05/2017 - 07:26
Permalink
Integrating H5P on new platform
Hi H5P team,
I'm exploring the best way to add support for H5P to OB3 (www.ob3.io). We are full stack JS. As an MVP I would be OK with authoring on H5P.org and embedding in OB3. Normally we embed external content via oEmbed, but I think H5P,org does not expose an oEmbed endpoint at this stage. Does anyone know if oEmbed support is on the roadmap?
In order to get going without this, we could hack some type of H5P content preview and use an iframe to present content when user clicks on the preview (probably within an iFrame). Any suggestions on best way to proceed here would be appreciated.
~ Rodney
fnoks
Thu, 08/10/2017 - 10:09
Permalink
Hi,I think this discussion
Hi,
I think this discussion may be very relevant for you: https://github.com/hypothesis/client/issues/509
oEmbed is not currently supported on h5p.org, but we are working on h5p.com, that will contain more and easier ways of integrating H5P into different platforms. Specially LTI (including LTI content item) is something we will support from the start, and that could probably be interesting for ob3.io to look into. Then you could have the H5P editor fully integrated into your platform, i.e the author's experience would be that H5Ps are created inside ob3.io (even if both the authoring tool and view is served by h5p.com)
rodneyt
Thu, 08/10/2017 - 14:21
Permalink
h5p.com
Hi Fnoks,
Yes this sounds exactly like what I want. We already support LTI consumer/provider. Can you contact me direct (@ocnb3 [email protected]). Would be good to see if we could get a prototype up and validate.
± Rodney
mikedawson
Fri, 09/08/2017 - 12:16
Permalink
Java port
Hi,
I'm working on an app for offline education environments ( Ustad Mobile ) - currently used mostly in Afghanistan. The h5p-cli development server is really helpful to get to understand some of what's happening under the hood. For simply displaying h5p content to start with the h5p-standalone setup works nicely, and that can simply be run on an embedded http server on a local device (which we already have support for). We should have something working for that soon.
I'd like to add support for authoring, which is where things will get more interesting. As per the above post, the h5p-cli , and h5p-server.js , h5p-library.js , and h5p-library-list.js give a fairly straightforward entry point. Another option would be to port the object oriented php into Java. Following h5p-cli seems like the simplest option. Once it's in Java it can be used either using NanoHTTPD (e.g. embedded in an app - which works on Android and on iOS using j2objc) or in a servlet. Is there any reason that I should consider porting based on the main h5p php library instead of using the h5p-cli as a starting point?
Regards,
-Mike
mikedawson
Fri, 09/08/2017 - 12:25
Permalink
Java port
Hi,
I have an open source offline mobile learning app that is used mostly in Afghanistan ( Ustad Mobile ). It uses an embedded http server to serve things offline. Ideally we want to be able to allow users to run H5P offline and edit them. To get started viewing content offline the easy way is to use h5p-standalone on an embedded HTTP server. Editing though is going to be a bit more interesting.
Question: The H5P-CLI library as mentioned above (specifically h5p-server.js, h5p-library.js, and h5p-library-list.js) give a nice simply entry point. I also found it massively helpful to get an understanding of what's going on. The main H5P library in PHP is object oriented so it could be ported to Java, is there a reason that would be advantageous rather than using the H5P-CLI as a starting point?
Thanks!
-Mike
BV52
Mon, 09/11/2017 - 07:01
Permalink
Hi Mike, Thank you for the
Hi Mike,
Thank you for the information. The first H5P conference is happening this week. The H5P core team will be busy facilitating the activities. They will try to answer your question asap or if someone in the community have some inputs feel free to post it here.
-BV52
tomaj
Mon, 09/11/2017 - 11:11
Permalink
Java port
Hi Mike,
This is Tom on the core team.
To be honest I don't know which if the CLI or the PHP libraries are the best starting point. The PHP librairies are definatly the single source of truth, but are more complex.
I would try to make everything as simple as possible to begin with, that is the only way to do this. :)
So I guess, start with the CLI for showing the H5Ps (frontend). And then copy the JS files from the PHP Editor library, and migrate the backend (editor) from there.
Send an email to [email protected], with your email, and we will add you to our Slack channel, if you want some direct access to ask questions.
- Tom
mikedawson
Tue, 09/12/2017 - 21:13
Permalink
Java port
Hi Tom and BV52,
Thanks for the quick response! Starting with the CLI to display H5Ps makes sense, and I think things will start making more sense once I get started. I'll definitely email [email protected], being on the slack channel would be great! I would have loved to join the conference, maybe next year.
Thanks,
-Mike
pillullis
Thu, 10/26/2017 - 23:24
Permalink
It looks neat and nice but...
So, no documentation about implmentation of another platform yet?
tim
Fri, 10/27/2017 - 15:18
Permalink
No, none yet unfortunately.
No, none yet unfortunately.
ffournie
Tue, 03/13/2018 - 14:19
Permalink
Google suite or Office 365 integration?
Hi,
What would be the best way to use H5P content in regards of a high school of 5000 students having either Google Suite for education or Microsoft Office 365?
Link to Sharepoint, Google site, Wordpress?
Is there any project or initiative in that respect out there?
Many thanks!
Frank F.
==============
thomasmars
Thu, 03/15/2018 - 14:12
Permalink
Hi Frank,There is currently
Hi Frank,
There is currently no project or initiative for integrating into Sharepoint or Google site. However H5Ps can be embedded anywhere you can insert HTML iFrames. I have not used sharepoint or Google sites much, but I assume this is possible there, so in theory you should be able to use H5P in any of these instances as long as you have a site you can embed H5Ps from.
Hope this answers your question. Best regards, Thomas.
ffournie
Thu, 03/15/2018 - 14:32
Permalink
About authenticating users
Thanks Thomas for the reply,
I was thinking of a scenario similar to Moodle where users have to authenticate. We could then know who consumes H5P content and could eventually track more precisely with xAPI.
Frank ;-)
=======
thomasmars
Fri, 03/16/2018 - 13:23
Permalink
This can be done through LTI
This can be done through LTI if this is supported in any of these systems. H5P through LTI will be available when H5P.com launches, you can read more about it on H5P.com. The alternative is to make a system integration.
-Thomas
ingevelca@hotma...
Wed, 09/12/2018 - 19:09
Permalink
Question about Integration Content
Is posible integration Content Create by H5P for Its´learning Platforms?
https://itslearning.com/global/about-us/our-story/
Thank you
Best regards
Jesús Velázquez
icc
Thu, 09/13/2018 - 09:30
Permalink
There is no plugin so you'd
There is no plugin so you'd have to use another site or service to host the content. You can use the embed feature to include the content or you can sign up for H5P.com and use LTI for a more seamless integration.
Mitt94
Fri, 05/24/2019 - 14:16
Permalink
Please create documentation for platform integration please!!!!!
Hello H5P core team , i have noticed that from 2015 onwards you are telling to create documentation for platform integration but still you have not done anything regarding documentation.so it is my humble request please create a platform integration documentation. so we can develop plugins for various platforms and can help to support h5p .have a nice day.
lipp
Mon, 05/27/2019 - 23:28
Permalink
We are currently working on a
We are currently working on a Nodejs-Implementation and we are trying to do documentation on our way. You can see some insights here: https://github.com/Lumieducation/H5P-Editor-Nodejs-library/issues/4 . It seems that the H5P Core Team is very busy at the moment. Maybe we can put in some work and help them with the documentation. You are very welcome to contribute.
BV52
Wed, 05/29/2019 - 03:14
Permalink
Hi lipp,Thank you for
Hi lipp,
Thank you for starting this, I'm sure the community will benefit a lot.
-BV52
praine
Mon, 03/30/2020 - 09:27
Permalink
h5p server folder structure is different to upload structure
Hi there,
I've been using the h5p cli to test the development of my new plugin.
However, the folder structure is different to the folder structure required for uploading the plugin to my LMS.
Could you please let me know if there is an easy way to change the folder structure between the "h5p server" and uploading to the LMS?
Pages