joomla development & release strategy - andrea tarr #jd12nl

24
Joomla Development & Release Strategy Andrea Tarr

Upload: joomladays-netherlands

Post on 22-Jan-2015

693 views

Category:

Technology


0 download

DESCRIPTION

Joomla development & release strategy (EN) door Andrea Tarr

TRANSCRIPT

  • 1. Joomla Development & Release StrategyAndrea TarrS

2. OutlineHistoryDevelopment StrategyOpen Development Process2 Andrea Tarr Joomla!dagen 2012 3. History3Andrea Tarr Joomla!dagen 2012 4. Earlier Release CyclesS Joomla 1.0 was released in September 2005S Joomla 1.5.0 was released in January 2008S Joomla 1.6.0 was released in January 2011 4Andrea Tarr Joomla!dagen 2012 5. Too Long Between ReleasesS Contributors dont see code usedS We cant keep up with current releases for third-party programs like PHP, MySQL, editors, MooTools, etc.S The Project is perceived as stagnant5 Andrea Tarr Joomla!dagen 2012 6. DevelopmentStrategy6Andrea Tarr Joomla!dagen 2012 7. ObjectivesS 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 PrinciplesS Maintain a stable trunkS 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 TrunkS Satisfy the Joomla Coding StandardsS Pass all automated testsS Provide automated tests for all new API classes & methodsS Provide basic documentation for all new additions to the code base 9 Andrea Tarr Joomla!dagen 2012 10. Predictable, Incremental Software ReleasesS Move to Timed Releases: Release on specific dates rather than when certain features are all readyS Contributors can see code released quicklyS Easier to keep up with other software (PHP, libraries, editors, etc.)10 Andrea Tarr Joomla!dagen 2012 11. Timed ReleasesS 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.5S Minor releases are released about every 6-8 weeksdepending on security issues or major bugs. 11Andrea Tarr Joomla!dagen 2012 12. Version StrategyS Major.Minor[.Maintenance]S This numbering scheme starts completely with series 3S If we had started with this instead of 1.6, for example:S 1.6.0 = 2.0.0S 1.7.0 = 2.1.0S 2.5.0 = 2.5.012 Andrea Tarr Joomla!dagen 2012 13. Major ReleaseS 2.x.x -> 3.0.0S High degree of changeS Massive Architectural and/or user interface changesS Substantial changes to underlying data model 13Andrea Tarr Joomla!dagen 2012 14. Minor ReleaseS 3.0.x -> 3.1.0S High degree of continuity, both architecturally and in the data modelS Includes new or improved functionality14Andrea Tarr Joomla!dagen 2012 15. Maintenance ReleaseS 3.0.0 -> 3.0.1S Fixes to bugs, security vulnerabilities and usability issues onlyS 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 CycleS Alpha: Not feature complete, not suitable for production environments, intended for testingS Beta: Feature complete, not suitable for production environments, intended for testing and bug fixing. New features generally not introduced once we get to betaS Release Candidate: A beta that will go GA unless critical problems emergeS General Availability: Stable, ready for mass distribution 16 Andrea Tarr Joomla!dagen 2012 17. Release PhasesS Maintenance (6 weeks)S After a release reaches General Availability, it is still the main focusS 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 periodS Online help documentation and translation strings are finalizedS Third party extension developers should start testing for backwardcompatibility issues 17 Andrea Tarr Joomla!dagen 2012 18. Support LifetimeS Standard Term Support (STS)S Supported approximately 6 monthsS End of life (EOL) 1 month after General Availability of next major or minor releaseS Long Term Support (LTS)S Supported until 3 months after the release of a new Long Term Support release which is usually about 21 monthsS 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 participate19Andrea Tarr Joomla!dagen 2012 20. Aligning with a VisionS Difficulty bringing together people who want certain things done with volunteers who want to do itS Difficulty if volunteers want to do things that not many people want or needS Plan a theme or vision for each minor or major releaseS Comes from, individual contributors, Joomla Idea Pool, Joomla Leadership Team, etc.S Can still make code contributions outside of the vision20 Andrea Tarr Joomla!dagen 2012 21. Collaboration &CommunicationsS CMS Issue Tracker/CMS Feature Tracker to discuss specific issuesS Google group lists for formal discussionsS CMS CoreS PlatformS General (Extension developers)S See developer.joomla.org for linksS GithubS Production Working Groups21 Andrea Tarr Joomla!dagen 2012 22. Production Working Groups Permanent GroupsS Permanent PWGsS Joomla Bug Squad (JBS)S Translation Team (TT)S User Experience (UX)S DocumentationS Joomla Security Strike Team (JSST)22 Andrea Tarr Joomla!dagen 2012 23. Production Working Groups For Specific ProjectsS Update & MigrationS UCMS Multi siteS Unit Tests for the CMSS SearchS SearchS Web ServicesS Database Performance 23Andrea Tarr Joomla!dagen 2012 24. Questions & Suggestions Slides: http://tarrconsulting.com/ presentations/jd12nl/devstrat- jdnl.pdf24Andrea Tarr Joomla!dagen 2012