New ideas come from many places and anyone in the community. We prefer to use the Google Group mailing list for the CMS since it's a great places to brainstorm, but the Joomla People site also works well—or even anywhere Joomla folks congregate.
The Production Leadership Team (otherwise known as the PLT) have set up two ways to help manage all the
...New ideas come from many places and anyone in the community. We prefer to use the Google Group mailing list for the CMS since it's a great places to brainstorm, but the Joomla People site also works well—or even anywhere Joomla folks congregate.
The Production Leadership Team (otherwise known as the PLT) have set up two ways to help manage all the great ideas coming from the community; the Joomla Idea Pool (based on UserVoice) and the Joomla Feature Tracker.
The Joomla Idea Pool (JIP)
The JIP (located at ideas.joomla.org) is a great way for anyone in the community to make their voice heard and set priorities. Users have up to 10 votes to cast on the various ideas, which will help make clear what future features the community really wants.
It is important to understand that not all of these features will be added to Joomla. This may happen for a number of reasons. For example, there may be a great feature proposed but either nobody volunteers to take it on or the PLT concludes it should be a separate extension from the core CMS or platform.
Our hope is that many or all of the most popular features on the JIP will have a strong chance of attracting energetic development talent to complete them. Once a feature has moved to the implementation stage, it gets added to the Joomla Feature Tracker.
The Joomla Feature Tracker (JFT)
The JFT is the team’s way to track the progress of a feature and allows for better collaboration during development. The status of an item in the tracker is gauged according to the following:
The feature tracker is used when there is clear intent to provide code to implement the feature. Feature requests should be posted at ideas.joomla.org.
- Open: All new features start as Open. An open feature could just be an idea. Open features can move to either In Progress if there is code that is available but not ready for testing, Pending if it is ready for tests, or Ready for Review when testing is completed.
- Pending: A feature is worked on until the owners are satisfied enough that code is ready for testing. At that point move it to Pending. You may wish to announce this on mailing lists or elsewhere.
- Ready for Review: At this point the owner(s) put the feature in the hands of the PLT (or authorized delegates) to review the feature. The feature can be moved to Approved, Closed or be moved back to In Progress.
- Closed: If an issue is set to Closed, a reason should be given. For example, it might be that the feature is better suited for a separate extension, it conflicts with another feature, or that the PLT determines it isn’t a good fit.
- Approved: This is a holding state for all features. Approved is also a holding area for when merging is closed in the trunk.
- Ready to Commit: When the feature is complete, tested, approved and is ready to commit, whether it’s done in a branch or as a patch, it will be added to the trunk during the feature merge phase of the release cycle.
- Committed to Github/SVN: This is the final implementation status in the process. The new feature is in the next version of Joomla.
FAQ's
How do I suggest a new feature for Joomla?
One of the key factors in determining future features is how strong the community support is for that idea. The voting system at ideas.joomla.org helps build that support so we recommend you start there.
If you have the skills to develop the feature yourself, you can also go straight to the JFT, add a suggested feature, and immediately begin working on your project. Make sure you check the tracker first to make sure your idea isn’t already there. We encourage people with ideas that are very similar or overlap to join forces and work together.
Where can I discuss ideas for new Joomla features?
Ideas for new features can be discussed anywhere, but the best place to get constructive feedback and increase your chances of getting a feature added to a future release is our CMS development mailing list.
How can I improve my chances or guarantee my new feature will be added?
Unfortunately, there is no way to guarantee that a new feature will be added, but there are a number of things you can do to maximize the chances of your idea being added to Joomla. Here are a few things to keep in mind:
- Make sure the idea is consistent with the goals of the project. For example, does it align with the stated vision for the next version? Is it something that has been ranked highly on the JIP? Have others in the community expressed their support for the idea?
- Ensure the idea belongs in the core software and not in an extension. There are plenty of fantastic ideas that would make excellent extensions—but the vast majority of them don't need to be in the Joomla core—which is one of Joomla’s greatest strengths.
- If others are working on the same or similar feature, consider joining forces with them. We encourage people to collaborate and give regular updates on their progress.
- Adhere to all of the requirements for inclusion into the trunk, including the Joomla coding standards, automated system and unit tests, and basic documentation.
What if a feature is being worked on but I prefer to implement it differently?
If an individual or team is working on a feature and you’d like to work on that same feature, we encourage you join forces. If you really want to take a different approach to a feature, you are free to propose and work on it independently. If two or more different implementations of the same feature are completed in branches, the PLT will evaluate each to decide the best way to proceed.
How do I create a branch to work in?
If you want a branch in the Joomla SVN, get in touch with a PLT member on the CMS mailing list to find out details on how to get one set up for you. However now that we've started working with git, you can just fork the CMS repository on github https://github.com/joomla/joomla-cms
What if my branch is not ready in time for the next version?
Being on a time-based release cycle means there must be a strict cut-off date for merging features into the trunk. The PLT will announce this cut-off date in advance, but it will generally be 60-90 days before the anticipated release date. If your feature (in a branch or as a patch) isn’t ready by the deadline, it won’t be included in the upcoming release. This doesn’t mean your efforts will be lost, it just means that any work done will go into the next release cycle process.
Read more https://developer.joomla.org/strategy/adding-new-features.html