You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by Joachim Draeger <jd...@joachim-draeger.de> on 2006/07/04 16:21:07 UTC
IMAP Draft: Named Repositories
Hi!
Preamble
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
end-product).
Some points from the roadmap might be implemented in 2012 or never.
But we can keep them in mind when making decisions.
Joachim
----------------
HTML: http://www.joachim-draeger.de/JamesImap/drafts.html
JavaDoc:
http://www.joachim-draeger.de/JamesImap/proposal/org/apache/james/messagerepository/ImapMailboxRepository.html
Source:
http://svn.joachim-draeger.de/repos/james/imap/src/proposal/org/apache/james/messagerepository/
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