Why should you contribute, and what can you do to get involved in the development process of H5P? Let's have a look!
All size contributions to the H5P project are highly appreciated by everyone working on and using H5P. This can be anything from reporting bugs or problems in the forums, to contributing new content types or translating them.
Contributions from the community are extremely important to make sure that the H5P project moves forward in the right direction and as quickly as possible. By developing H5P content types instead of platform-specific content type plugins, you also get big benefits.
- H5P is designed for creating cross-platform content types. When you create a content type for H5P you create it for all our supported platforms as well.
- H5P has APIs and a modular architecture that makes development highly efficient. It took 5 minutes to make the Summary content type editable thanks to our powerful editor. When creating interactive video we reused more than 20 existing libraries.
- Your content type automatically gets all H5P features, they become exportable, importable, handles copyright information, fullscreen mode etc.
Do you feel like H5P is missing something or does the behavior of a content type seem very strange to you? You, the community, must not hesitate to create issues for what you consider improvements to H5P.
You can suggest these improvements in a forum post, or you can simply create a new issue for the project on GitHub. Say that you're not happy with the mobile view of our WordPress plugin, then simply add a new issue on GitHub suggesting how you think it should behave.
If you want to add new features to existing content types, and want your changes to be merged in quickly we advice you to follow our pull request guide.
If you're new to H5P development, check out some 'beginner-level' feature requests.
Create new content types
You can also contribute by creating new content types. Have a look at our Hello World tutorial for a fast introduction to coding new content types. Make sure you apply for developer access and share the content types you create here on H5P.org!
Content types can be included in other content types. If you wish for your content type to be used in Presentation or Interactive Video, you can create an issue or pull request on GitHub. Please note that if you're creating a task of some sort it would be wise to extend H5P.Question like Fill in the Blanks does.
Lastly, you can contribute by using your coding skills to integrate H5P into a new web system or CMS. There are no guides for this yet, so the best start off point would be either the current Drupal 7 module or the WordPress plugin. Have a look at the source and post your questions to the forum, and we'll try to help.
Translating is an easy way for people to contribute and help H5P grow.
Translating Content Types
If you want to translate content types such as Interactive Video or Course Presentation, you have to edit language files manually to translate H5P content.
Before you start translating you should check the forum thread to see if anyone else has started on that language. If not, you download the file that suites you language code. If you can't find the file you want, you can download a file for another language and simply rename the files to fit you language code.
Leave a comment in the forum thread so others know that you've started translating for that certain language.
You must keep in mind that the structure of the file must be kept intact, only the English texts to the right of the colons should be changed. Words that starts with @ are variables and shouldn't be translated, e.g. You got @score out of @max answers correct. becomes Sie haben @score von @max Fragen richtig beantwortet. in German. Quotation marks " must be escaped using a backslash, like so: \"
When you are done translating you must zip the folder again and upload it to the same forum post. You can alternatively add content type translations via GitHub.
By adding a translation you relinquish any rights to the translations and agree to the fact that it can be distributed and changed by anyone. The translations will be distributed with the same license as the library they belong to.
We'll look over the translations and then add them to the content types.
Tranlsating Editor Widgets
Check out the Translating editor widgets guide.
Translating Modules and plugins
Drupal translations are added through the localize.drupal.org community project.
Translations for Moodle plugin can be added or edited using lang.moodle.org. Read the documentation to help you started. Select the component named 'hvp' (numbers aren't allowed in Moodle plugin name).
If you prefer to translate using a CAT tool you can convert the original mvp.php file from GitHub to PO using Translate Toolkit. After finishing with the translation use Translate Toolkit to convert the file back to PHP.
If you wish to translate the UI texts of the plugin you can do it the following way for WordPress:
- Go to the languages folder of the H5P plugin, copy the h5p-nb_NO.pot file and rename it to match your ISO 639-1 language code.
- Open the file in your favorite text editor, or a program called poedit (makes the job easier), and get on with your translating.
- Upload the finished file to the plugin's issue queue or create a new forum post, and we'll add it to the next release of the plugin.
If you have any questions about translating any of the plugins, please ask in the forum.
Spread the word
When the community grows more smart people works to make H5P better. Help H5P grow by spreading the word.
Sign up as an H5P Beta Tester
Help shape the user experience of H5P by testing new features, content types and plugins. You can contribute by joining the Beta Tester Group.
If you have any questions about contributing, feel free to leave a comment below.