[Kroupware]
Re: Fwd: [Bug 57826] New: All folders are deleted on IMAP server
Bo Thorsen
bo at sonofthor.dk
Tue May 6 12:46:06 CEST 2003
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On Monday 05 May 2003 20:45, Zack Rusin wrote:
> On Sunday 04 May 2003 13:27, Ingo Klöcker wrote:
> > One possible solution would be that KMail logs every action which is
> > done locally to disc. imap folders. Only actions which are in the log
> > should be performed on the server during synchronization. If the
> > disc. imap folders are deleted locally by KMail 1.5 this deletion is
> > not mentioned in the logs and therefore KMail/Kroupware wouldn't
> > delete anything from the server.
>
> That was also one of the reasons why I wrote the jobs interface in
> folders. Logging would involve some addition to CachedImapJobs. But
> what we could do is simply hold a QPtrQueue<CachedImapJob> in the
> KMFolderCachedImap, we could insert every CachedImapJob in the queue
> without calling start() on it. Meaning it would simply be cached there.
> Now during the synchronization we do :
> while( !mCachedJobs.isEmpty() )
> mCachedJobs.dequeue()->start();
> And we'd execute all jobs which have been explicitely specified by the
> user. This way we could also have a task viewer which could be showing
> what jobs are pending. Furthermore if we'd like to keep the jobs
> between the sessions, I could add a QDataStream serialization to
> FolderJob's.
> I don't think this would have a significant impact on performance if at
> all so that's probably the way to go.
> What would have to be changed in CachedImapJobs is that the execution
> of them would be a two step process.
> 1) On creation they would perform the local action (e.g. delete the
> message)
> 2) On calling start() it would perform the action on the server.
> So the synchronization would start by executing all cached jobs and
> then a list to check whether folder hierarchies are the same (locally
> and on the server) and if they're not then the local folders are
> updated to match the structure on the server (never the other way
> round).
How about simply moving the disconnected imap cache to .../kmail/dimap?
Bo.
- --
Bo Thorsen | Praestevejen 4
Senior Software Engineer | 5290 Marslev
Klarälvdalens Datakonsult | Denmark
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.7 (GNU/Linux)
iD8DBQE+t4RkmT99lwfUS5IRAv6fAJ9xKgKoc82V/TXYoZVnCBLCEgLJMgCgjG14
NwHsvMwHge8pA8OlIZMcp1Y=
=VbdF
-----END PGP SIGNATURE-----
More information about the Kroupware
mailing list