Differences between revisions 2 and 3
Revision 2 as of 2008-05-12 20:25:17
Size: 2338
Editor: 82-38-65-6
Comment: Changes arising from discussion
Revision 3 as of 2009-09-20 22:58:25
Size: 2342
Editor: localhost
Comment: converted to 1.6 markup
Deletions are marked like this. Additions are marked like this.
Line 24: Line 24:
 * [http://mail-archives.apache.org/mod_mbox/james-server-dev/200805.mbox/%3cf470f68e0805100203p1d8a126ereb11d392f2cc0b73@mail.gmail.com%3e discuss] packaging strategy
 * [http://mail-archives.apache.org/mod_mbox/james-server-dev/200805.mbox/%3cf470f68e0805100304s68744063s6055c74ccf78167d@mail.gmail.com%3e discuss] release numbering strategy
 * [[http://mail-archives.apache.org/mod_mbox/james-server-dev/200805.mbox/%3cf470f68e0805100203p1d8a126ereb11d392f2cc0b73@mail.gmail.com%3e|discuss]] packaging strategy
 * [[http://mail-archives.apache.org/mod_mbox/james-server-dev/200805.mbox/%3cf470f68e0805100304s68744063s6055c74ccf78167d@mail.gmail.com%3e|discuss]] release numbering strategy

Mailet Road Map


The Mailet API and mailet implementations are currently distributed with JAMES server. The API and many matchers and mailets are independent of the JAMES server code. Releasing the API and implementations independently of JAMES server will ease reuse in other containers. It is also hoped that mailet development will be more accessible once factored out from the server.

So, code has been extracted from the JAMES server into a number of mailet related products grouped under http://svn.apache.org/repos/asf/james/mailet/.

The major libraries are as follows:

  • mailet-api is the API specification
  • mailet-base is a basic mailet development toolkit containing implementation classes closely related to the API
  • mailet-standard contains general purpose mailets and matchers with minimal dependencies

In addition, there will be a number of micro-libraries: small, tightly focussed codebases with a single specific aim. Micro-libraries are justifiably popular: they are easy to learn, quick to build, allow dependencies to be tightly controlled and allow more flexible release cycles. For example, crypt-mailets contains a small number of mailets and matchers which perform cryptography using bouncycastle.

Each proposal for a new micro-libraries will be discussed on it's merits.

Ongoing work:

  • refine roadmap ;-)

  • move implementation code in the org.apache.mailet namespace from api into base
  • decouple mailets and extracting the code from JAMES server
  • construct top level mailet website
  • discuss packaging strategy

  • discuss release numbering strategy


  1. release mailet-api
  2. release mailet-base
  3. release libraries
    • mailet-crypt
      1. merge improvements
      2. complete OpenPGP
      3. release
    • release mailet-standard
    • release other micro-libraries

JAMES Servers

JAMES unstable already uses SNAPSHOTs of the new mailet products. It is hoped that future 2.x releases will switch to use these artifacts in due course.

MailetRoadMap (last edited 2009-09-20 22:58:25 by localhost)