4. Earlier Release Cycles
S Joomla 1.0 was released in September 2005
S Joomla 1.5.0 was released in January 2008
S Joomla 1.6.0 was released in January 2011
4 Andrea Tarr Joomla!dagen 2012
5. Too Long Between Releases
S Contributors don’t see code used
S We can’t keep up with current releases for third-party
programs like PHP, MySQL, editors, MooTools, etc.
S The Project is perceived as stagnant
5 Andrea Tarr Joomla!dagen 2012
6. Development
Strategy
6 Andrea Tarr Joomla!dagen 2012
7. Objectives
S To continue to offer a stable and reliable platform for our
current and future user base.
S To make innovation available to users and developers on a
more timely basis.
S To make it easy for developers to contribute code to the
project at any time.
7 Andrea Tarr Joomla!dagen 2012
8. Major Principles
S Maintain a stable trunk
S Predictable, incremental software releases;
S Strong backward compatibility support;
S A sound security policy;
S An open development process.
8 Andrea Tarr Joomla!dagen 2012
9. Stable Trunk
S Satisfy the Joomla Coding Standards
S Pass all automated tests
S Provide automated tests for all new API classes & methods
S Provide basic documentation for all new additions to the
code base
9 Andrea Tarr Joomla!dagen 2012
10. Predictable, Incremental
Software Releases
S Move to Timed Releases: Release on specific dates rather
than when certain features are all ready
S Contributors can see code released quickly
S Easier to keep up with other software (PHP, libraries,
editors, etc.)
10 Andrea Tarr Joomla!dagen 2012
11. Timed Releases
S January 2011: Joomla 1.6.0 (should have been 2.0.0)
S July 2011: Joomla 1.7.0 (should have been 2.1.0)
S January 2012: Joomla 2.5
S Minor releases are released about every 6-8 weeks
depending on security issues or major bugs.
11 Andrea Tarr Joomla!dagen 2012
12. Version Strategy
S Major.Minor[.Maintenance]
S This numbering scheme starts completely with series 3
S If we had started with this instead of 1.6, for example:
S 1.6.0 = 2.0.0
S 1.7.0 = 2.1.0
S 2.5.0 = 2.5.0
12 Andrea Tarr Joomla!dagen 2012
13. Major Release
S 2.x.x -> 3.0.0
S High degree of change
S Massive Architectural and/or user interface changes
S Substantial changes to underlying data model
13 Andrea Tarr Joomla!dagen 2012
14. Minor Release
S 3.0.x -> 3.1.0
S High degree of continuity, both architecturally and in the
data model
S Includes new or improved functionality
14 Andrea Tarr Joomla!dagen 2012
15. Maintenance Release
S 3.0.0 -> 3.0.1
S Fixes to bugs, security vulnerabilities and usability issues
only
S New functionality is not introduced unless specifically
addressing a problem with the previous release that must be
handled before the next minor release*
15 Andrea Tarr Joomla!dagen 2012
16. Release Life Cycle
S Alpha: Not feature complete, not suitable for production
environments, intended for testing
S Beta: Feature complete, not suitable for production environments,
intended for testing and bug fixing. New features generally not
introduced once we get to beta
S Release Candidate: A beta that will go GA unless critical
problems emerge
S General Availability: Stable, ready for mass distribution
16 Andrea Tarr Joomla!dagen 2012
17. Release Phases
S Maintenance (6 weeks)
S After a release reaches General Availability, it is still the main focus
S Feature Merge (3 months)
S Focus moves to merging new features for the next Minor or Major release.
S Release Testing (2 months)
S Beta period
S Online help documentation and translation strings are finalized
S Third party extension developers should start testing for backward
compatibility issues
17 Andrea Tarr Joomla!dagen 2012
18. Support Lifetime
S Standard Term Support (STS)
S Supported approximately 6 months
S End of life (EOL) 1 month after General Availability of next
major or minor release
S Long Term Support (LTS)
S Supported until 3 months after the release of a new Long Term
Support release which is usually about 21 months
S 1.5 security releases extended to at least September 2012
18 Andrea Tarr Joomla!dagen 2012
19. Open
Development
Process
Open and accessible to anyone
who wishes to participate
19 Andrea Tarr Joomla!dagen 2012
20. Aligning with a Vision
S Difficulty bringing together people who want certain things done
with volunteers who want to do it
S Difficulty if volunteers want to do things that not many people
want or need
S Plan a theme or vision for each minor or major release
S Comes from, individual contributors, Joomla Idea Pool, Joomla
Leadership Team, etc.
S Can still make code contributions outside of the vision
20 Andrea Tarr Joomla!dagen 2012
21. Collaboration &
Communications
S CMS Issue Tracker/CMS Feature Tracker to discuss specific issues
S Google group lists for formal discussions
S CMS Core
S Platform
S General (Extension developers)
S See developer.joomla.org for links
S Github
S Production Working Groups
21 Andrea Tarr Joomla!dagen 2012
22. Production Working Groups –
Permanent Groups
S Permanent PWG’s
S Joomla Bug Squad (JBS)
S Translation Team (TT)
S User Experience (UX)
S Documentation
S Joomla Security Strike Team (JSST)
22 Andrea Tarr Joomla!dagen 2012
23. Production Working Groups –
For Specific Projects
S Update & Migration S UCM
S Multi site S Unit Tests for the CMS
S Search S Search
S Web Services S Database Performance
23 Andrea Tarr Joomla!dagen 2012