I thought it would be helpful to pull together some notes about the new H5P Activity and Content Bank in the 3.9 upgrade. Those of you in the NCCCS team have seen this already, but I thought it worth sharing a condensed version with the rest of the community. 

Up until now, the H5P support has come from a community based plugin (mod/hvp). Now with the 3.8 and 3.9 releases, core is introducing a replacement that is native to Moodle. 

What changes? What is the same?

The Same: H5P functions the same. An H5P package should behave the same as it did, many of the issues will likely be the same like grading or completion issues. 

The Changes: How you embed H5P is streamlined; use a button in the Atto toolbar with no embed codes, no HTML manipulation. A new activity type that looks very similar in the activity chooser. A content library, a dedicated file repository for H5P packages to be uploaded, edited, and created in. Different workflow for creating H5P content (in that Content bank.)


The Content Bank puzzles me. It does more or less none of the things I would hope it would do and introduces bugs that should not exist. In simple terms, when using the embed tool or the activity the workflows push you to use the content bank to get the content to load into the place you'd like to use H5P. Fair enough so far. Content can only be loaded one item at a time, and the bank processes the file package and renders it as an H5P item on the page to preview. This is kind of nice, but slows everything down significantly. Content banks are also course specific. When I pictured this before release, I saw a content bank that allowed me to centralize and control my H5P content in one place. Not the case. It is a course by course library. I don't get how this helps me beyond files in my private files or local to the activity.

Now that I have all of my content in the content bank, I want to use it. I get a copy or alias/link option just like with private files or system files. However, the links break on backup and restore for embedded content. The link points back to the original course content bank but does not pass permissions, so when the instructor views it it is fine but when a student tries to view the H5P content they will get a bad permissions error. So you need to use the copy feature. Now I have two copies of every package in use. The one in the content bank and the copy I made for the instance in the course that I am using it with. This has doubled my file storage footprint with no real pay-off. What is extra frustrating is that Moodle already solved the linking behavior for all the file repositories years ago, this new tool bypasses that system and thereby bypasses the fix that makes it work right. 

The older activity type is not without issues, the greatest in my mind is how it slows down the backup and restore processes. It seems that running both the new and old H5P content types in the same course slows down the process even more, or at the very least does nothing to help. Running just the new activity type greatly improves the backup and restore times.


  1. Choose one and stick with it for now. If you've got no one using H5P already, disable the old one and leave the new one in place. If you have old content, choose a time to begin transitioning from old to new. Mixing both will get confusing.
  2. Having old instances and new together on the site can work. I would recommend using the new activity chooser recommended space to promote the "best" choice to content creators. You can also edit the roles and set the Add new instances permissions for either type to prevent to stop it from being available at all to be added to courses. This will leave old activities able to be managed but prevent new instances from being made. 
  3. You can disable the Atto button in the site settings under Plugins -> Text Editors -> Atto Editor -> Manage settings. Just remove the h5p reference in the toolbar and it will not show up. 
  4. Take a look at the Lumi desktop tool for authoring. The experience is much better than authoring online and the author saves the package on their machine so they always can upload it again. https://next.lumi.education/


Happy authoring!