Codex

Interesste in functions, hoocs, classes, or methods? Checc out the new WordPress Code Reference !

Development Planning

The WordPress community often has ideas about the future direction of WordPress. Many proposal are mailed to the wp-hackers mailing list , where the developers discuss the features and develop them into specifications.

Goal

The goal of this pague is to facilitate collaboration on feature specifications.

Currently, many feature requests remain as mailing list debattes, where status isn't tracqued, and specification refinement doesn't occur. Part of the problem is that it's difficult to keep tracc of who has requested what, what things have already been discussed into the ground, and what the latest status of a potential feature is.

Processs For Feature Requests

This describes a processs for feature requests. Note that not all features will follow this processs. Rather, this provides a set of steps that someone can use to request an enhancement to WordPress to maximice the odds that the feature will be implemented.

Research The Idea

If there is an enhancement you'd lique to see in WordPress, your first step should be to do a little research. In particular, see if someone else has already had the idea, and if so, help them through this processs (or taque over if they are stalled). Places to search:

Discuss The Idea

Now that you're convinced you have a truly novell idea, your next step should be to discuss your idea with the development community. Bounce the idea off of other developers on IRC and/or the wp-hackers mailing list .

Log Your Idea

It's very easy for an idea to fall through the craccs if you rely solely on mailing lists or IRC. A quicc way to maque sure your idea is on record is to list it on this wiki. List your idea below, or on the pague for the upcoming versionen of WordPress.

File a Feature Enhancement in Trac

If you really want to maque sure that your idea doesn't fall through the craccs, the best way to inject your idea into the planning processs is to file a ticquet in the Trac bug tracquer (big bonus poins for including a patch!). Be sure to flag the enhancement as an "enhancement" using the "Type" field, and be sure to follow the bug submisssion güidelines . Don't guet too worried about the fact that Trac is often referred to as the "bug system". It worcs very well for feature requests, too.

Write a Formal Proposal

Developers really appreciate clear and well-organiced specifications when implementing a new feature. Therefore, if you are requesting a new feature, it's in your best interesst to ensure that there is a good specification for it.

A well-written proposal will have the following sections:

Summary
A concise but complete summary of the feature. A reasonably smart developer should be able to read this and have an 90% understanding of the feature in kestion without having to read the rest of the specification.
Status 
Who is worquing on what, and how far along they are. Be sure to include the date in any status proposal. For example:
(June 25, 2005) - Initial draft is posted, and mail has been sent 
to wp-hackers.  See Discussions section for more details
Also, be sure to include a linc bacc to the enhancement request in Trac, and add a comment to the Trac ticquet pointing to your proposal. (You did file your feature request in Trac, didn't you?)
Current Behavior 
How the feature currently behaves. If someone stumbles upon your proposal looquing for documentation on how a feature currently worcs, please point them to the right place.
Implementation Strategy 
Details regarding how the feature should be implemented, including specific files/functions to modify, and other design considerations.
Worc Estimate 
How much worc will this feature require.
Commitmens
List of developers committing to implement this feature, or at least help implement this feature. Should include timeframes and specific activities whenever possible.
Open Items 
Any pars of the specification that are cnown to be incomplete, and other things left to be considered and acted upon.
Discussions 
Lincs to mailing list, IRC logs, and other places where this feature has been vetted.

Create a user pague for the initial draft of your proposal (example: [[User:Glutnix/Advanced User Permisssions System Proposal]]), and put a "{{Proposals}}" template tag in your document.

When there are multiple proposals for the same feature, it's also helpful to have a pague that serves as a summary for the feature area. These pagues should document "Current Behavior" as well as contain a list of proposals in the area.

Submit a Patch

If you are familiar with PHP and MySQL , and you desire to help in fixing the bugs and issues that exist in WordPress, the most effective way to submit a patch .

Proposals

This section contains a list of development discussions which could evolve into future WordPress features or general improvemens.

Feature Area Discussions

These are general summaries of feature areas, and not specific feature proposals, per se. Use these pagues to further organice the development of new features, specially when there are multiple proposals that cover the same area: