The plugin directory has – so far – had two versions. The meta team is working on the third version, to be shipped by June 26, 2016.

Part I – Overview

Objectives

The primary goals of the new version are to make it easier to change the plugin directory and to open source all of its code. Additionally, the site should feel faster and be easier to use. A big part of improving the site will be a better search interface. The Plugins API must to continue to be backwards compatible through out these changes.

User Roles and Responsibilities

  • WordPress users
    Browse the directory to find a plugin that fit their needs. Improved search and a faster front-end will cater to that. A refreshed site design/layout will make the site more intuitive for them and will help them navigate the directory more easily.
  • International WordPress users
    These users are almost the same as WordPress users (listed above), with the addition of a localized site, including plugin descriptions and developer documentation. Search results will prioritize translated plugins, making them easier to find.
  • Plugin Authors
    Authors are looking for documentation around writing and submitting plugins, submitting new plugins to the directory, and managing their existing plugins. Powering the directory with WordPress (instead of the current bbPress), allows us to use wp-admin for an administration interface, letting them manage their plugins, add committers, change tags/categories, etc.
  • Plugin Reviewers
    Make sure that submitted plugins meet all requirements and approve/reject them accordingly. Here again we can use WordPress’ built-in wp-admin to give them an improved interface. Improved roles also allow us to open up the review process to other contributors. We can also make use of post statuses with capability controlled permissions for a review workflow. An improved plugin submission process will be able to run automated checks on submitted plugins, requiring less of reviewers.
  • Site Administrators
    Manage the WordPress.org network, maintain the system, and add new functionality. Here, a new, open source directory allows community contributions, speeds up development time for new features, and makes on-boarding new admins easier.

Interactions with Other Systems

The directory is part of the WordPress.org network. It serves as data storage for the Plugins API and shares a similar structure with the Theme Directory. It interacts with the Plugin SVN repo and is loosely connected to the Support Forums (no direct integration, but refers to it in many places). Additionally, it interfaces with with GlotPress for plugin translations and language packs.

Replacement of Legacy Systems

Replaces the bbPress instance it’s currently running on. The Plugins API will be powered by WordPress instead of bbPress.

Production Rollout Considerations

There will be multiple data migrations throughout the project’s life time for testing purposes. Post commit hooks allow for listening to SVN changes during the project and keeping the bbpress and WordPress instances in sync. Prior to launching, there will be a final database purge and re-sync.

Part II – Functional Requirements

Statement of Functionality

The plugin directory hosts community-made and community-vetted, free WordPress plugins, to be downloaded and used with standalone versions of WordPress.

Scope

Milestone 0 (MVP)
CPT, readme parsing, and base theme (from current version) #1584
Milestone 1
Submit Plugin Page #1569
Reviewer Admin Dashboard and Role #1570
Milestone 2
Plugin Author Admin Dashboard #1571
Forum Integration #1572
Future Milestone
Redesign
Tags #1573
Search #1574
Ratings #1575
REST API Endpoints #1576
Favorites #1577
Zip Files #1578
Plugins API #1579
2-year Expiry #1580
Profiles Integration #1581
Forum Theme #1582
oEmbed Endpoint #1583
Stats Page #1596
Developer Page #1597
Report Plugin Page #1598
Donate Link #1599
Compatibility Widget #1600
Kill switch #1602
Internal notes #1603

Usability

Discovery and design first, documentation of existing state and flows, measurement of improvements against that as possible, defined and consistent testing and feedback strategy for state and flow improvements.