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
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


Mime
View raw message