New Network Media Library Plugin Creates a Shared Library on a Multisite Network

WordPress core committer John Blackbourn has released a new plugin called Network Media Library that provides a shared media library across all sites on a WordPress multisite network. Blackbourn is an engineer at Human Made and the plugin is one he created for a client by forking Frank Bültge and Dominik Schilling’s Multisite Global Media plugin.

By default, the plugin uses site ID 2 for the central media library, but the site ID can be customized via a filter hook. Access to the network-wide library is currently restricted to users who have Author level permissions with the upload_files capability on the central media site. In the plugin’s description Blackbourn said the plan for future versions is to remove the need for users to be added to the central media library.

After testing it locally, I discovered what the plugin’s description meant by “transparently” uploading media to the central media site. Unlike other plugins that perform a similar function (i.e. Network Shared Media and Multisite Global Media), there is no indication that files are part of a network-wide library. For example, Multisite Global Media adds a “Global Media” tab to the media library to indicate which files are aggregated from sites on the network. The Network Media Library plugin works in an invisible way without adding a separate tab to the media library.

Frank Bültge, co-author of the Multisite Global Media plugin, asked Blackbourn why he opted to fork the plugin instead of enhancing it. Blackbourn said the main difference is that the original plugin supports local media files and his fork does not.

Developers who implement Network Media Library on their sites should be aware that it is still under active development. It currently has built-in compatibility with the Regenerate Thumbnails and WP User Avatars plugins. The plugin also has been confirmed to be compatible with BuddyPress, Extended CPTs, Gutenberg, Stream and User Profile Picture. Blackbourn plans to test and support many more plugins in the future, including CMB2, ACF, and assorted gallery and media management plugins.

Network Media Library is MIT-licensed and available on GitHub. It requires WordPress 4.9+ and PHP 7.0+. The plugin can be installed as a mu-plugin or network activated.

4 Comments


  1. Are media files duplicated for all sites?

    What happens if site A uploads image Z to shared media library, site B uses image Z in post_content, then site A deletes image Z from shared library?

    Report

    Reply

    1. The plugin only allows media to be deleted from within the admin area of the shared media library site, not from within sites on the network. This reduces the risk you mentioned a little, but doesn’t eliminate it.

      Report

      Reply

  2. Glad to see people working on important multisite things, and this is Buddypress compatible! I often feel BP and MS is the forgotten relative most wished was not.

    I have had some similar MS / BP related issues over the years. For a while media uploaded by one BP member would be viewable by others members if they had created a MS blog aka site.

    Luckily the author of the plugin that became ‘press permit core’ offered some code that restricted media uploaded by one member not being viewable by others in the MS setup – not sure if that’s still an issue with that install or if something has changed over the years to make it moot code.

    Something that bothers me as a BP admin, when I login, the wordpress dashboard shows recent media uploaded and it often includes images I am 100% sure members of the install marked as private, and I really have no business seeing the images, I know that’s really an issue with RtMedia, but I’ve grown weary of their pay to add features with licensing expiring after a year, and I keep hoping there will be an RtMedia to MediaPress exporter / converter one day.

    Of course I am not sure if the same permissions issue is baked into MediaPress or not, even though I place more faith / hope into it.

    Another weird / similar BP / MS issue; with a multi-site with Bduddypress running, I found at in a bad way, that when a member comments on another member’s sub-blog aka “site” – the member’s email addy is displayed in the message emailed about comment moderation. Luckily a similar issue from D Sader(?) was out there and I was able to get a message to him and he coddled something together to block that for a while. Not sure if that is still a weird thing or of that code could be stripped out at this point.

    It’s certainly unexpected privacy issues that make sense from the dev standpoint, but are a major loss of trust with users when these kinds of things pop up unexpectedly.

    Again, love to see any work that furthers progress with media related to MS and BP – big props!

    Report

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.