james-server-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andrzej Rusin (JIRA)" <server-...@james.apache.org>
Subject [jira] [Commented] (IMAP-370) Consider supporting the upcoming MOVE extension
Date Wed, 05 Dec 2012 12:54:58 GMT

    [ https://issues.apache.org/jira/browse/IMAP-370?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13510454#comment-13510454
] 

Andrzej Rusin commented on IMAP-370:
------------------------------------

Initial idea of the design:

1. As the MOVE extension is optional, do not add it to MailboxManager interface. Instead define
a new MoveExtensionMailboxManager (or similar) interface, that the MailboxManager implementations
can optionally implement. Please feel free to provide a better name for it.

The interface probably would have single method List<MessageRange> moveMessages(MessageRange
set, MailboxPath from, MailboxPath to, MailboxSession session) throws MailboxException;

2. The EnableProcessor and CapabilityProcessor can detect if MailboxManager passed to their
constructors implements MoveExtensionMailboxManager and act accordingly.

3. MoveCommandParser, MoveRequest, MoveProcessor would very similar in nature to their Copy
counterparts, and can probably be defined by inheriting them or creating a common ascendant.
When needed, the core differing functionality can be refactored out into overridable methods.

Please comment.
                
> Consider supporting the upcoming MOVE extension
> -----------------------------------------------
>
>                 Key: IMAP-370
>                 URL: https://issues.apache.org/jira/browse/IMAP-370
>             Project: James Imap
>          Issue Type: Improvement
>          Components: Protocol
>            Reporter: Andrzej Rusin
>
> As we see at http://datatracker.ietf.org/doc/draft-ietf-imapmove-command/ballot/ IETF
is about to finally accept the IMAP MOVE extension.
> This extension enables great performance optimization possibilities for the more advanced
Mailstore backends, eg the ones that use a underlying relational or non-relational database:

> One of the most common usage scenarios in IMAP is moving messages across folders, and
with the MOVE extention it can be finally accomplished without a COPY/DELETE cycle on certain
Mailbox backends.
> Therefore, in my belief, it would be very nice to have that extension implemented in
James.
> Some of the bundled Mailstore implementations already are based on SQL/noSQL datasources,
and can directly benefit from it.
> Some of the independent Mailstore implementations (including mine) can benefit from it
too.
> Some of IMAP clients (including Thunderbird as of 3.something) already support that extension
or the X-MOVE or X-AOL-MOVE one.
> So James has a great opportunity to be the leader of standards adoption on the server
side.
> What do you think? Please comment.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

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