The plugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party directory has – so far – had two versions. The meta Meta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress. 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 Open Source denotes software for which the original source code is made freely available and may be redistributed and modified. Open Source **must be** delivered via a licensing model, see GPL. 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 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. 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 Free, open source software built on top of WordPress for easily creating forums on sites. https://bbpress.org.), 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 The community site where WordPress code is created and shared by the users. This is where you can download the source code for WordPress core, plugins and themes as well as the central location for community conversations and organization. https://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 Apache Subversion (often abbreviated SVN, after its command name svn) is a software versioning and revision control system. Software developers use Subversion to maintain current and historical versions of files such as source code, web pages, and documentation. Its goal is to be a mostly compatible successor to the widely used Concurrent Versions System (CVS). WordPress core and the wordpress.org released code are all centrally managed through SVN. https://subversion.apache.org/. 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 In WordPress theme and development, hooks are functions that can be applied to an action or a Filter in WordPress. Actions are functions performed when a certain event occurs in WordPress. Filters allow you to modify certain functions. Arguments used to hook both filters and actions look the same. 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 "A minimum viable product (MVP) is a product with just enough features to satisfy early customers, and to provide feedback for future product development." - WikiPedia) |
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 The REST API is an acronym for the RESTful Application Program Interface (API) that uses HTTP requests to GET, PUT, POST and DELETE data. It is how the front end of an application (think “phone app” or “website”) can communicate with the data store (think “database” or “file system”) https://developer.wordpress.org/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 A WordPress Widget is a small block that performs a specific function. You can add these widgets in sidebars also known as widget-ready areas on your web page. WordPress widgets were originally created to provide a simple and easy-to-use way of giving design and structure control of the WordPress theme to the user. |
#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.