Hi Joachim,
I'm happy to see you're still around!
I would like to find out a good roadmap for IMAP in James.
Here are the goals:
1) Release james 2.4 as storage-compatible with older james 2.x.
2) Start including some IMAP stuff in trunk.
As a sidenote I think that we can safely include your
javamailstore-mailrepository work in trunk, but this has not much to do
with IMAP.
I started reviewing what you publshed here:
http://www.joachim-draeger.de/JamesImap/drafts.html
I think that even the single M1 step is too much stuff and we should
start with a much simpler set of interfaces.
I thought that the following steps could be included in the roadmap as a
starting point.
1) the MessageRepository (Mailbox) interface: this would replace the
current MailRepository but would not include the Mail object but simply
the Message object/stream (and eventually some more attributes). The
default messageRepository generates its own key and provides few methods
to store/retrieve/delete messages (maybe we could add "move" later).
Imho the basing MessageRepository should be really, really easy!
2) some sort of named repository mapper: this has been discussed in past
and is described here:
http://wiki.apache.org/james/JamesV3/Plans (Message repository directory
structure).
I think that this would solve the nested repositories problem at James
level and would give us a simpler way to work with objects stored in
repositories. We currently identify the repository using the TYPE
(MAIL|SPOOL|OBJECT|STREAM) and an url (db/dbfile/file). We could keep a
flat structure for SPOOL repositories and introduce a new virtual tree
for the new MESSAGE repository so that we could mount file://var/mail in
/mail , db://maildb/inboxes in /inboxes,
javamailstore://maildir/var/maildir (sample url) to /maildir.
Once this will be in the repository we will discuss what is the minimal
set of features you included in ImapMailboxRepository to be able to
include the imap code in trunk so that I can send a message via SMTP and
retrieve via IMAP. I think that the goal is to be able to commit the
imap code to trunk. As soon as the code will be on trunk it will be
easier to discuss following steps and to involve further people.
Acl, User/Groups, triggers and quotas are a lot of stuff, and imo we
can't put everything in a single step.
Stefano
Joachim Draeger wrote:
Hi all!
Still lurking around here and following the mailing lists. I'm pleased
to see how the James 2.3.0 release makes such great progress, although
JAMES-603 looks really ugly.
I've postponed development on the IMAP code until there is a suitable
repository API for James.
Because this is affecting whole James I really can't do that on my own.
I started writing drafts and interfaces to collect the requirements.
But I got the feedback that everyone wanted to concentrate on the 2.3.0
release at that time.
Now, as the release date comes nearer and people starting discussion for
new features and roadmap again, I suggest working on the repository API
before going back to routine and start working on 2.4.0.
Greetings,
Joachim
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]