H5P Guides

Why develop for H5P?

H5P lets developers do a lot more in a lot less time, and the result works on several publishing tools. H5P is a unique framework for creating content types. We don't do content management, user management or any of the stuff a CMS has to worry about. H5P is all about the content.

These are the main advantages H5P provides for developers of editable interactive content and applications: 

Creating the editor is extremely efficient 

As long as you follow best practices, separating your content from your functionality and design in a separate javascript object(json) creating an editor takes very litle time. All you need to do is to describe your data structure and the authoring tool and sanitation routine will be auto generated based on your datastructure. When you know the syntax we use you can describe your datastructure in minutes and be done with the authoring tool and validation/sanitation parts of your content type.

You don't have to write your own SQLs for CRUD, validation routines, define form fields, widgets and js for a smooth user experience. Just describe the datastructure for your content and you're done.

Already 90 reusable H5P libraries 

H5P is designed around reusable building blocks called H5P libraries. For instance there are H5P libraries for adding video, images and sound to your content and for creating UI elements. All existing H5P content types have also been designed to be reusable so if you need question types in your content type it will only take a few minutes to plug in one of the 10 existing question types, they all follow the same question type contract.

Powerful APIs for interactive content

We have APIs for many of the things you'd like your interactive content to do like reporting and storing results and user actions via xAPI and store the content's state so that users can leave and later proceed where they left off.

Automatically becomes importable and exportable  

Import and export of content is built in to H5P. Developers don't have to think about it at all, it just works. The representation of the content on a new platform will be exactly the same since all H5P libraries are part of the exported .h5p packages. 

Being able to import and export content is useful for many reasons. Changing or upgrading platforms, moving between staging and production or sharing your content with partners on other platforms becomes a breeze. And when the H5P sharing centre comes online a global arena connecting all H5P enabled websites will be in place where users may choose to share their content with the entire world. H5P breaks down all barriers that makes sharing of interactive content difficult. 

Platform(CMS/LMS) agnostic 

When you develop H5P content types you make your content type available for all platforms that supports H5P and you don't have to worry about keeping your content type up to date with the latest changes of your targeted platform, H5P does that for you. 

H5P currently support Drupal 6, Drupal 7 and Wordpress. This summer and autumn we're adding support for Drupal 8, Joomla and Moodle. And off course we always make sure that H5P is up to date with the latest changes in Wordpress so that you don't have to. 

Copyright handling 

H5P is created with sharing and reuse in mind, and because of this the copyright information for all resources used in an H5P is stored and will always follow the resource when they are imported and exported. Developers don't have to think about this feature, it just works and in the future it will be even better letting users see an aggregated overview of the resources used within an H5P. For instance they may list all resources that restrict commercial use of the H5P.