This page is intended to list requirements, not a wish list, for James v3. Please help to keep this page pared down to what we must do, not what we could do.
One set of requirements that ought to be adopted is to allow HostApacheOnJames.
The minimum set of changes necessary for James v3 is to support Mailet API v3. Mailet API v3 contains structural changes for both flexibility and portability.
Mailet API v3
Extensible User Model
New User Repository
User Attributes
Enhanced Mail Store
Mail Attributes
Revised Spool
Revisit Mailet API and spooling (c.f. RemoteDelivery)
Matcher / Mailet Classloader
Actual Changes in Place/Planning
Replace mordred with DBCP and/or JDBC v3 (pluggable via assembly.xml)
Expose JDBC DataSource via JNDI
new InitialContext().lookup("java:cmp/env/jdbc/datasource")
Is this how we want to expose resources, rather than via the MailetContext?
Do we want to do something about IoC?
*IoC provides admin control (security) over which resources are exposed.