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 usewp-adminfor 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-inwp-adminto 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.