|
|
|
Architecture
Last modified:
03/13/2006 05:39 PM
ZODB UsageFor each mailbox, CPSMailAccess creates a folder structure equivalent to the structure found on the mail server. Each IMAP folder is represented by a ZODB folder. Mails are not fully retrieved, but for each one of them, a ZODB object is created, holding the mail unique identifier and the useful headers.90% percent of webmail user actions are based on viewing and sorting folders, searching mail, etc. So the information kept on ZODB side let the application work on mails without calling back and back again the IMAP server like we will see in next parts of this document. Synchronisation processWhen the box is beeing fully synchronized, CPSMailAccess uses the following order:
The "every day synchronisation" wich is used when the user refresh his or her box is similar but will just synchronize the INBOX folder message list. Mail cachingWhen the user views a mail for the first time, the application calls the server to get deeper informations on mail structure and retrieves the mail body and the list of attached parts. This data is kept in the ZODB side so the IMAP server won't be called again when the user will come back to the message.The administrator can reduce the size taken by the box by removing these informations the user gathers through his or her work. Mail indexingCPSMailAccess uses one Zemantic catalog per box and indexes:
This indexation provides a very fast Zope-side mail search engine. Address BooksEach user can have contacts in a private address book wich is a private Directory and in a public address book wich is e regular directory.When a user sends a mail to someone, the recipient is automatically added into his or her adress book. Each mail sent gives to each address book entry a point. The adress books view will display contacts sorted with this criteria, so you can view your prefered contacts first.
|
|
|