Re: RFC mailbox interface



On 11.21.2001 13:33 M . Thielker wrote:
> Hi,
> 

> Keep _all_ mailboxes on an IMAP server.
> Keep a shadow on the notebook. No shadow on the regular computer, 
> because it's on a local network with the IMAP server.
> Close Balsa on the main computer.
> Connect to the IMAP server before I leave the office, using my 
> notebook. This will update the shadow on the notebook to reflect all 
> I've done in the office.
not a problem
> Use the notebook while disconnected, receiving pop3 email and filing 
> it into offline IMAP shadows.

you do realize that this would require changing your preferences to 
tell the IMAP mailbox that you don't want to connect to the remote 
server right?  This would be easier to do by craeting a new mailbox 
type whose check routine updates the IMAP server to/from the shadow 
while all other routines operate on the shadow.  Even this would 
require enabling/disabling the check so that while your using the 
dialup it doesn't connect to the server.

> Connect to the IMAP server when I'm back in the office, it will 
> upload all mail added since I left when the folders are synchronized.
> Shut down the notebook and put it away until my next trip, open Balsa 
> on my main machine.
> 
>> 3) Melanie seems to be suggesting a combination of the two where the 
>> message data is only copied in if the source message is deleted.  
>> That looks like a rather complex solution.
> 
> If the internal data structures are done well, the delete function 
> would easily be able to determine when that copy is needed to be 
> done. Since VFolders are memory based, it only means copying the 
> entire message as a string into allocated storage attached to the 
> message structure that already exists in memory anyway.
> 
You know this could probably be done with one vfolder type and a balsa 
pref.
If balsa is set for reference vfolders then balsa would act like the 
first case.  It would delete the Message from each of the vfolders then 
from the source.
If balsa was set to copy on delete then it would be more like the 
second case.  First balsa would delete then Message from all of the 
vfolders.  Then it would retreive the message data from the source and 
use addMessage to put it into one of the vfolders.  Next it would get 
the Message* from that vfolder and use copyMessage to put it into the 
others.  Finaly balsa would delete the source message.  The vfolders 
know to treat the message differently because Message->folder=NULL.  
This means that balsa must use its own copy of the Folder*.
-- 
K. Haley <halykd@yahoo.com>



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]