0 Replies Latest reply on Oct 25, 2005 2:58 PM by Andrew Oliver

    Mailbox Refactoring (for IMAP/etc)

    Andrew Oliver Master

      MikeB and I had a little ex-parte exchange and after hearing from him and taking a look I've come to the same conclusion: "the mailbox implementation needs to be completely rewritten".

      We are already like a month late on M4 and this is going to slip just a little bit further; however, this is a central dependency for a number of M4 features. I'm taking this on personally as Mike is busy (so if you're watching you'll find this assigned to me at this point).

      If you recall we have already dropped support for CMP2 style entities. In the M4 release we'll go to a Hibernate/EJB3 based release. This means we will drop support for JDK 1.4.x and JBAS releases before 4.0.3. Some folks have been pushing for a 1.0, however, I knew IMAP would mean some dramatic changes. I just didn't realize that virtual hosts and aliases would pretty much touch the same things.

      We are commited to a JBW2006 (JBoss World in Las Vegas) release. Any slippages will be features more than dates.

      Our minimum feature set is of course unchanged. No 1.0 mail server should be without POP/SMTP/IMAP/Virtual Hosts/Aliases/Webmail/Adminstration/Installation tools. Fortunately we're a good way towards that.

      The good news is that there are some great performance suckages in the mailbox interface can be removed. Present code doesn't even use DB relationships (aka joins) that I can tell.

      A number of people have been contacting me to volunteer including some with impressive credentials. This is outstanding. While we're not picky -- we'll take anyone, help you get adjusted, etc, -- there are areas of specific need: AJAX gurus (webmail/admin tools - note I'm a horrible GUI guy so best you know what you're doing here), Hibernate/EJB3 novices (meaning teaching people this was like my job almost exclusively for a few years so just desire and Java/db skill is required), performance nuts or performance nut wannabies (again will help), and security nuts who know LDAP (I consider it to be a large alien conspiracy to bring all systems to a slow halt). Oh and we always need peeps who like writing doco but since they do not exist in volunteer form (except for me) I gave up asking :-)

      Finally, although it may not seem that way, we are largely stabilizing and stable at least so far as an outside user would be concerned. Although we're not ready for novice users, we are ready for early adopters. I am already working with various organizations who contact me privately, but I could use a direct line to more. This helps test/scope/direct the project. Obviously, I prefer high volume systems (not a requirement to participate), but prefer non-24/7 mission critical systems. Those willing to be our guinea pig get a direct line to me and my assistance (for a limited time) regarding JBMS usage/installation/adminstration/development/architecture/etc.

      I'm considering putting out a M4-pre1 prior to this refactoring. However, it depends on whether or not I want to spend time on writing the doco before I do the mailbox rewrite. Please question or comment as you like. As always, if you are not ready to volunteer publically you may contact me privately (acoliver ot jboss dat org).



      PS this doesn't much affect the mailstore only the mailbox...