Summary: Multisite Roadmap

Participants: Ronnie Burt, James Mowrey, Jake Goldman, Ron Rennick, Frederick Townes, Andrew Nacin, John James Jacoby, Pippin Williamson, Ptah Dunbar, Scott Taylor, Ryan Boren, Cristi Burcă, Peter Chester.

The roadmap so far has looked like this:

3.0 – initial WPMU merge
3.1 – a proper network admin area
3.5 – several enhancements (no more ms-files.php, being able to install MS in a subdirectory)

There was a big gap between 3.1 and 3.5.

There are two main, competing usecases for MultisiteMultisite Multisite is a WordPress feature which allows users to create a network of sites on a single WordPress installation. Available since WordPress version 3.0, Multisite is a continuation of WPMU or WordPress Multiuser project. WordPress MultiUser project was discontinued and its features were included into WordPress core.https://codex.wordpress.org/Create_A_Network.:

  1. a network of independent sites (like wordpress.comWordPress.com An online implementation of WordPress code that lets you immediately access a new WordPress environment to publish your content. WordPress.com is a private company owned by Automattic that hosts the largest multisite in the world. This is arguably the best place to start blogging if you have never touched WordPress before. https://wordpress.com/)
  2. a small number of tightly controlled sites

Since the first case is the original reason why Multisite was created, it covers it pretty well. It doesn’t do so well in the second case. To separate the two use-cases, we could have a “controlled network” flag: when set, automatically enable all themes on all sites etc.

The main problem is that it’s hard to share data between sites in a network. We have switch_to_blog(), which is faster in 3.5, but still needs caching around it.

The consensus was that there are too many different use cases right now. At this point, the best solution for developers is to build their own APIs; custom global database tables are fine.

Wishlist:

  • domain mapping in CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.
  • multi-network support in Core
  • enable-disable (not activate) plugins per site, similar to themes
  • revisit register_update_hook()
  • wp-signup.php and wp-activate.php should become theme templates and/or forms
  • admin UIUI UI is an acronym for User Interface - the layout of the page the user interacts with. Think ‘how are they doing that’ and less about what they are doing. for users that haven’t activated their accounts yet
  • settings APIAPI An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways. that works for network admin
  • default WP_ALLOW_MULTISITE to true

Action item: set up team for Multisite component and triage existing multisite tickets.