MailNews:Better Faster IMAP Plan: Difference between revisions

Line 65: Line 65:
* Background message send feature implementation
* Background message send feature implementation


# '''Offline operation playback feature''' Delete operation covers two different operations at the same time: Delete and Move. These two server-side operations cover the majority of use cases that require better offline support. Since it provides good granularity for deployment and testing, it makes sense to start implementing "Proxy" mechanism focusing on Delete operation first. Possible milestones are;  
#'''Offline operation playback feature''' Delete operation covers two different operations at the same time: Delete and Move. These two server-side operations cover the majority of use cases that require better offline support. Since it provides good granularity for deployment and testing, it makes sense to start implementing "Proxy" mechanism focusing on Delete operation first. Possible milestones are;  
## Implement offline support for "Delete" operation:
## Implement offline support for "Delete" operation:
##* Deleting messages, considering two flavors of delete;
##* Deleting messages, considering two flavors of delete;
Line 78: Line 78:
##*Modify error notification mechanism in imap protocol layer
##*Modify error notification mechanism in imap protocol layer
##Implement offline support for other operations (rename, flags, copy, folder creation)
##Implement offline support for other operations (rename, flags, copy, folder creation)
 
#'''Preemptive/Automatic message download feature''' Possible milestones are:  
[Emre May 21st, 2008] {{bug|435153}} has been filed.
 
# '''Preemptive/Automatic message download feature''' Possible milestones are:  
##  Modify current offline features
##  Modify current offline features
##* Switch the default for imap folders so that they're configured for offline use out of the box
##* Switch the default for imap folders so that they're configured for offline use out of the box
Line 93: Line 90:
##* Multi pass download for messages with multiple attachments
##* Multi pass download for messages with multiple attachments
## Implement UI elements and logic
## Implement UI elements and logic
 
#'''Background message send feature''' Possible milestones are:  
[Emre May 30th, 2008] {{bug| 436615}} has been filed.
 
# '''Background message send feature''' Possible milestones are:  
## Implement a "Unsent" folder UI element for IMAP folders
## Implement a "Unsent" folder UI element for IMAP folders
## Modify existing code to:
## Modify existing code to:
Line 107: Line 101:
**Can't send just a single message from unsent folder
**Can't send just a single message from unsent folder
**Doesn't allow to edit a message in unsent folder
**Doesn't allow to edit a message in unsent folder


=== 1) Offline Operation Playback ===
=== 1) Offline Operation Playback ===
[Emre May 21st, 2008] {{bug|435153}} has been filed.
[Emre May 22nd, 2008] This task list is now obsolete.  
[Emre May 22nd, 2008] This task list is now obsolete.  


Line 177: Line 170:


=== 2) Preemptive/Automatic Message Download ===
=== 2) Preemptive/Automatic Message Download ===
[Emre May 30th, 2008] {{bug| 436615}} has been filed.


==== Existing Behavior ====
==== Existing Behavior ====
Line 293: Line 287:
* One non-functional requirement is error handling. Error mechanism should be changed. Currently all imap errors are handled in imapserver. This code should be re-factored in order to make it work with new UI elements.
* One non-functional requirement is error handling. Error mechanism should be changed. Currently all imap errors are handled in imapserver. This code should be re-factored in order to make it work with new UI elements.


==== Resources ====
==== Tasks ====
* Dale is working on IMAP partial fetch feature.
* Operation Queue implementation (?, estimate: ?)
* Emre is working on queue mechanism.
* Message Download Manager implementation (dale, estimate: ?)
* David works on RFC 4551. He will be consulted for design, implementation and integration issues along the way.
** IMAP Partial Fetch command
* No assignment for UI-side implementation yet.
** Local store for partially downloaded messages
** Book keeping mechanism for message mime parts
** Message prioritization based on attributes
** ''Possibly going to touch nsImapService and nsImapProtocol components''
* Operation Playback Manager - ''partially implemented'' (?, estimate: ?)
** Activate playback state machine
** Handle errors
** Group playback request
* Local model to server model mapping component implementation (emre, estimate: 4 days)
* Error handling mechanism implementation (?)
* UI element implementation (?)
* Additionally, bienvenu works on RFC 4551. He will be consulted for design, implementation and integration issues along the way.  


==== Estimation ====
==== Estimation ====
Line 313: Line 318:
* How we keep the local data model and server data model in sync?
* How we keep the local data model and server data model in sync?


=== Task List for Feature 3 ===
=== 3) Background Message Send ===
[TBD]
[TBD]


==== Decisions to make====
==== Decisions to make====
[TBD]
[TBD]
270

edits