PIM/MS Windows: Difference between revisions

From KDE Community Wiki
< PIM
Line 6: Line 6:
=== Maildir implementation in KMail ===
=== Maildir implementation in KMail ===
It is to be expected, that the maildir implementation in kmail does not work on Windows' file system, since it uses the ":" character in file names. It also relies (as does maildir in general) on the atomicity of making a hardlink and then unlinking the original, to implement an atomic move. The implmentation used by akonadi (kdepim/maildir) relies on QFile in that regard, but it's unclear if rename is atomic on all platforms.
It is to be expected, that the maildir implementation in kmail does not work on Windows' file system, since it uses the ":" character in file names. It also relies (as does maildir in general) on the atomicity of making a hardlink and then unlinking the original, to implement an atomic move. The implmentation used by akonadi (kdepim/maildir) relies on QFile in that regard, but it's unclear if rename is atomic on all platforms.
*[[User:Jstaniek|jstaniek]] 12:50, 7 January 2008 (CET): Hard/soft links could be handled on Windows by altering the source code so that the "link" file is a text file itself and contains the target path. If we need atomic renames, '''Windows apparently lacks them''', I have found pre-Vista [http://blogs.msdn.com/adioltean/archive/2005/12/28/507866.aspx blog] which contains description on how to perform them in a messy but honest way (look at the very last "Write process (on Foo.txt)" version). There's also a way to recover from application/system crash during the pseudo-atomic operations (see the very last "Recovery from a crash during write" checklist).
*[[User:Jstaniek|jstaniek]] 12:50, 7 January 2008 (CET): Hard/soft links could be handled on Windows by altering the source code so that the "link" file is a text file itself and contains the target path. If we need atomic renames, '''Windows apparently lacks them''', I have found a pre-Vista [http://blogs.msdn.com/adioltean/archive/2005/12/28/507866.aspx blog] which contains description on how to perform them in a messy but honest way (look at the very last "Write process (on Foo.txt)" version). There's also a way to recover from application/system crash during the pseudo-atomic operations (see the very last "Recovery from a crash during write" checklist).
 
===Integration into the Windows Explorer===
===Integration into the Windows Explorer===
====RMB -> send via email====
====RMB -> send via email====

Revision as of 11:51, 7 January 2008

This page covers topics related to the MS Windows port of the KDE PIM suite.

Note

This page is work in progress started by jstaniek.


Problem points

Maildir implementation in KMail

It is to be expected, that the maildir implementation in kmail does not work on Windows' file system, since it uses the ":" character in file names. It also relies (as does maildir in general) on the atomicity of making a hardlink and then unlinking the original, to implement an atomic move. The implmentation used by akonadi (kdepim/maildir) relies on QFile in that regard, but it's unclear if rename is atomic on all platforms.

  • jstaniek 12:50, 7 January 2008 (CET): Hard/soft links could be handled on Windows by altering the source code so that the "link" file is a text file itself and contains the target path. If we need atomic renames, Windows apparently lacks them, I have found a pre-Vista blog which contains description on how to perform them in a messy but honest way (look at the very last "Write process (on Foo.txt)" version). There's also a way to recover from application/system crash during the pseudo-atomic operations (see the very last "Recovery from a crash during write" checklist).

Integration into the Windows Explorer

RMB -> send via email

Detecting whether KMail is the default e-mail client

This shall be also reused by others for KOrganizer and Konqueror. The solution is relatively simple modifications to the Windows Registry.

D'n'd from/to composer and from received mails into the file system

  • c'n'p support

Notes

  • The Windows port currently happens in branches/work/kdab-post-4.0 branch (kdepimlibs, kdepim modules), so it is better to check out this and not trunk directories. The branch is merged from time to time with the KDE trunk.

Links