This is a summary of a milestone release plan Emmanuel and I came up with off list.  

We would like to:

  (1) request feedback
  (2) integrate feedback
  (3) break out action items into JIRA tasks
  (4) drive forward and execute


Now that trunk has stabilized, we will branch. An m1 branch will be created here:

          => SVN folder with externals to m1 branches in shared, studio, and apacheds

We will work in branch m1 for large deltas, while merging point alterations from trunks into branch m1.  Each milestone will have different stages. At the end of each stage, we will perform a check pointed stable merge back into trunks.



   o General cleanup, documentation, formatting, and test coverage
   o Hide implementation details
   o Restructure build for shared-ldap breakup
   o Consolidated LDAP API aggregation module


   (1) General cleanup of low hanging fruit:
           - move tests to appropriate area
           - adhere to package and class naming conventions
           - correct obvious small coding errors
           - add critical documentation
           - add critical test coverage where missing

   (2) Refactoring to hide implementation details
           - decouple DSML parser from CODEC implementation classes
           - decouple ADS and Studio from CODEC implementation classes
           - clearly define CODEC API allowed for use in ADS, Studio, and DSML
           - separate out CODEC API from CODEC

  (3) Creation of modules in new build structure:
           - create ldap-model
           - create ldap-codec
           - create ldap-codec-api
           - create ldap-extensions
           - delete ldap
           - ldap-api => aggregation only module for ldap-[client-api, model, codec, codec-api] 



   o Apply extension patterns to extended requests and responses (like controls)
   o General cleanup, documentation, formatting, and test coverage
   o Leverage embedded OSGi container (Felix) to enable extensions
   o Setup in-situ testing of OSGi components in build


At this point it makes little sense to us to continue further since things might change. Some of the M2 goals are there for food for thought. Perhaps we might break these up into 2 separate milestones, maybe not.

Right now the focus is on M1, gaining consensus, applying feedback, and then creating top level tasks in JIRA. Then we might want to add subtasks in JIRA to these mail goal based tasks.


-- Alex

P.S. I will have an branch M1 created in the next few minutes.