james-server-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Joachim Draeger ...@joachim-draeger.de>
Subject IMAP Draft: Named Repositories
Date Tue, 04 Jul 2006 14:21:07 GMT


the following drafts are still work-in-progress and I hope for some
discussion and some help because I'm neither an IMAP nor an enterprise
mail server backend expert. I'm doing this because I think its helpful
to have the big picture or a master plan before starting implementation.
(I think even Extreme Programming does not postulate starting
implementation before knowing the basic requirements of the
Some points from the roadmap might be implemented in 2012 or never.
But we can keep them in mind when making decisions.



HTML: http://www.joachim-draeger.de/JamesImap/drafts.html

And: http://svn.joachim-draeger.de/repos/james/imap/src/site/xdocs/

Named Repositories

Internally ImapMailboxRepository deals with named repositories that
could have different implementations. E.g. JDBC connections to different
hosts or Maildir / Mbox like stores. 

This repositories are identified by its names and maybe are configured
in config.xml. The names of the mailboxes (e.g. #mail.user1.INBOX or
#shared.buying) have to be mapped to the corresponding repository name
(e.g. host1_maildir or jdbc_host2). For user mailboxes this could be
done by a "User.getRepositoryName()" property. It is imaginable that
repositories lookup further properties from the user object like a path
name for a file based storage method. 

Until Milestone 6 there is only one named repository: "default". 

The only operation that requires dealing with the named repositories
directly is the quota management. It is probably really difficult to
implement a quota system that spans multiple repository implementations
that could be running on different hosts. That is why quotas are created
for a specific repository. To be able to administer, repositories and
their belonging mailboxes can be listed. 

To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org

View raw message