[ 
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: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to