Version 20, last updated by Johan Janssens at August 04, 2011 12:39 UTC

1. Strategy

Nooku Framework is developed in small iterations, using Agile Methodologies. That means that after each iteration, the scope and requirements for the next release are re-evaluated. In other words, the roadmap is constantly evolving, and should be regarded as a snapshot of our current understanding of the future of the framework.

The main goal for Nooku Framework 1.0 is Joomla extension development. Nooku should make it easy to quickly develop flexible HMVC extensions, and provide the necessary elements to handle the most common tasks: building grids and forms, importing and exporting data, providing for extensibility...

2. Versioning

Nooku versioning follows the semantic versioning standard as proposed at http://semver.org/.

Under the semantic versioning schema version numbers and the way they change convey meaning about the underlying code and what has been modified from one version to the next.

3. Branching strategy

For the development of Nooku Framework a stable trunk branching strategy is used. The actual development is done on task branches (/branches). The trunk (/trunk) is the main branch point where the production releases (/releases) are merged in and parallel development efforts are branched out from.

Task branches reside in the branches folder and in most cases start with a number. This is the master ticker they relate too. All commits that are done in this branch will have the ticket number in the commit message. (Example : See #ticket).

More information about SVN branching strategies can be found in the SVN RedBook or for a shorter synopsis you can also read the following blog post : http://blogs.open.collab.net/svn/2007/11/branching-strat.html

A release cycle will be split up in multiple smaller iterations of 1-4 weeks. Each iteration is worked on in a separate task branch and when completed and tested merged back to the trunk.

This strategy allow developers to build upon the stable trunk knowing that they will only be required to make changes once a task branch is merged back.

For more info : http://blog.joomlatools.eu/2008/02/open-development-approach.html