Logo

Architecture

Last modified: 03/13/2006 05:39 PM

synchro_webmail.png

ZODB Usage

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

When the box is beeing fully synchronized, CPSMailAccess uses the following order:

  • the folder structure is compared and folders are created or suppressed
  • for each folder, the message list is compared and messages are deleted or created.
 
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 caching

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

CPSMailAccess uses one Zemantic catalog per box and indexes:

  • Relations between mails, that are given by headers like Refferees, In-Reply-To,etc..
  • Relations between a mail and its headers
 
This indexation provides a  very fast Zope-side mail search engine.

adrees.png

Address Books

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













This site is powered by CPS, which includes CPSSkins. CPS and its design are Copyright © 2002-2006 Nuxeo SAS.
CPSSkins is Copyright © 2003-2006 Jean-Marc Orliaguet.
powered_by_nuxeo.png