WP Multi-site Enhancements
Copied from the following github issue: https://github.com/h5p/h5p-wordpress-plugin/issues/41
We're running H5P on a Wordpress multisite (an instance of Pressbooks, actually), and would like to have a greater ability to centralize, manage, and share H5P activities across the network, without having to activate H5P for each individual site and install the H5P libraries over and over again each time a new site activates H5P.
Here’s an ideal scenario or our use case:
- When H5P is network activated on a multisite network, a single instance of the necessary libraries is installed and a shared H5P activity library is created for all sites on the network to use (the multisite behaves like a single supersite, essentially).
- When a user creates a new H5P activity in a specific book/site in the network, that particular H5P activity receives a hard-coded tag that corresponds to the book/site’s identity in some way (perhaps the URL or the site title). They can add additional tags, but they can’t remove this tag. For example, if the book was “Portuguese" at http://testsite.com/portuguese, any time a user logged into the Portuguese admin panel created an H5P activity, it would automatically be tagged ‘Portuguese’, giving the user a reliable filter to find only those activities in the library that were created in/for that book/site.
- When a user attempts to insert an H5P activity from the wordpress interface, the selection screen automatically loads with the hard-coded tag selected (so that the activities are already filtered by book/site). This tag can be removed/deselected by the user, however, allowing them to see all the H5P activities created and published on the network. For example, a user in the Portuguese book/site would click ‘Add H5P’ activity and the tag ‘Portuguese’ would automatically be selected, so that the user would only see H5P activities created on/for that book/site. If desired, however, they could X out Portuguese, and see any/all H5P activities created on the network, allowing them to insert an H5P activity created on/for another site in the network.
- When users use the ‘Insert H5P’ button on the WYSIWYG, the embed code for the H5P activity is inserted rather than an id-specific shortcode. This way, if the wordpress title is exported or moved to a different server, the H5P activity will remain embedded and functional, without having to reimport/upload all of the H5P activities to the new server in exactly the same order.