Thunderbird:Thunderbird Post 3.1 BackendPlans: Difference between revisions
No edit summary |
No edit summary |
||
| Line 1: | Line 1: | ||
Pluggable Mail Store | '''1. Pluggable Mail Store''' | ||
See https://bugzilla.mozilla.org/show_bug.cgi?id=402392. There are two main goals here - replacing our Berkeley Mailbox store with a MailDir implementation by default, to avoid all the issues that arise from having all messages in a folder in a single file (compaction, mailbox contention, virus checker deleting file, inability to do incremental backup, etc), and allowing other stores to be implemented (e.g., a sqlite store). | |||
This entails making the backend code use the pluggable store interface instead of assuming berkeley mailbox, implementing a berkeley mailbox store plugin, implementing a maildir store plugin, and writing some migration code to migrate from berkeley mailbox format to maildir. | This entails making the backend code use the pluggable store interface instead of assuming berkeley mailbox, implementing a berkeley mailbox store plugin, implementing a maildir store plugin, and writing some migration code to migrate from berkeley mailbox format to maildir. | ||
| Line 5: | Line 7: | ||
My thinking is to have maildir be the default store going foward, in the release after Miramar. We will most likely migrate profiles by default, instead of just using MailDir for new accounts/profiles. We may have UI to allow the user to stick with Berkeley Mailbox format, if only to optionally maintain compatibility with previous versions of Thunderbird. | My thinking is to have maildir be the default store going foward, in the release after Miramar. We will most likely migrate profiles by default, instead of just using MailDir for new accounts/profiles. We may have UI to allow the user to stick with Berkeley Mailbox format, if only to optionally maintain compatibility with previous versions of Thunderbird. | ||
'''2. Make it easier to get new communication data into Thunderbird. | |||
''' | |||
Currently, this is very hard to do, as jcranmer and rkent have discovered, trying to add web-forums and Exchange messages respectively, into Thunderbird. It entails adding a new nsIMsgIncomingServer object, new nsIMsgFolder object, new nsIMsgService service, etc. Each of these contain dozens and dozens of attributes and methods | |||
Replacing Mork with Sqlite | Replacing Mork with Sqlite | ||
Revision as of 22:29, 15 July 2010
1. Pluggable Mail Store
See https://bugzilla.mozilla.org/show_bug.cgi?id=402392. There are two main goals here - replacing our Berkeley Mailbox store with a MailDir implementation by default, to avoid all the issues that arise from having all messages in a folder in a single file (compaction, mailbox contention, virus checker deleting file, inability to do incremental backup, etc), and allowing other stores to be implemented (e.g., a sqlite store).
This entails making the backend code use the pluggable store interface instead of assuming berkeley mailbox, implementing a berkeley mailbox store plugin, implementing a maildir store plugin, and writing some migration code to migrate from berkeley mailbox format to maildir.
My thinking is to have maildir be the default store going foward, in the release after Miramar. We will most likely migrate profiles by default, instead of just using MailDir for new accounts/profiles. We may have UI to allow the user to stick with Berkeley Mailbox format, if only to optionally maintain compatibility with previous versions of Thunderbird.
2. Make it easier to get new communication data into Thunderbird.
Currently, this is very hard to do, as jcranmer and rkent have discovered, trying to add web-forums and Exchange messages respectively, into Thunderbird. It entails adding a new nsIMsgIncomingServer object, new nsIMsgFolder object, new nsIMsgService service, etc. Each of these contain dozens and dozens of attributes and methods
Replacing Mork with Sqlite