Difference between revisions of "Projects/PIM/MS Windows"

< Projects‎ | PIM
Jump to: navigation, search
(Update page with new information)
(Update with new information)
Line 13: Line 13:
 
! Status !! Feature !! Description !! Contact
 
! Status !! Feature !! Description !! Contact
  
{{FeatureTodo | [[#Documentation_of_KDE|Documentation of KDE]] | Due to meinproc4 crashes documentation build is turned off from all kde products.| }}
+
{{FeatureDone | [[#Documentation_of_KDE|Documentation of KDE]] | Due to meinproc4 crashes documentation build is turned off from all kde products.| }}
  
 
{{FeatureTodo|[[#LDAP_Support|LDAP Support]]| Enabling KLdap |aheinecke@intevation.de| Andre Heinecke }}
 
{{FeatureTodo|[[#LDAP_Support|LDAP Support]]| Enabling KLdap |aheinecke@intevation.de| Andre Heinecke }}
  
{{FeatureTodo|[[#Akonadi_Notifications|Akonadi Notifications]]| Akonadi Notifications are not communicated correctly to the GUI |}}
+
{{FeatureDone|[[#Akonadi_Notifications|Akonadi Notifications]]| Akonadi Notifications are not communicated correctly to the GUI |}}
  
 
{{FeatureInProgress|[[#Search|Search]]|Provide a search backend|aheinecke@intevation.de| Andre Heinecke }}
 
{{FeatureInProgress|[[#Search|Search]]|Provide a search backend|aheinecke@intevation.de| Andre Heinecke }}
Line 23: Line 23:
 
{{FeatureInProgress|[[#Nepomuk|Nepomuk]]|Provide a working Nepomuk|aheinecke@intevation.de| Andre Heinecke }}
 
{{FeatureInProgress|[[#Nepomuk|Nepomuk]]|Provide a working Nepomuk|aheinecke@intevation.de| Andre Heinecke }}
  
 +
{{FeatureTodo|[[#Akonadi_Start_Stop|Akonadi startup/shutdown]]|Decide how akonadi should be started/stopped on Windows||}}
 +
 +
{{FeatureTodo|[[#GPG4Win_Integration|Integrate with GPG4Win]]|Use GPG4Win to provide Crypto support on Windows |aheinecke@intevation.de| Andre Heinecke}}
 
|}
 
|}
  
 
===Documentation of KDE ===
 
===Documentation of KDE ===
Currently as of 22.2.2010 in all KDE builds for Windows Documentation build is turned off because of [https://bugs.kde.org/show_bug.cgi?id=263828 BUG263828] Meinproc4 crashes in the call of libxslt's transform function.
+
For more details about the problem check the bug report: [https://bugs.kde.org/show_bug.cgi?id=263828 BUG263828]  
  
 
===LDAP Support===
 
===LDAP Support===
Line 34: Line 37:
  
 
===Search===
 
===Search===
Strigideamon does not compile for Windows NT at the moment, so apart from Virtuoso/Nepomuk there is no Search for KDE PIM Software available. At least strigiclient we have to build though.
+
Strigideamon does not compile for Windows NT at the moment, so apart from Virtuoso/Nepomuk there is no Search for KDE PIM Software available.  
 +
Currently Virtuoso gets started in the Enterprise 5 Package on some systems and on others not. There might be a packaging problem or timeouts that are reached.
 +
Strigi indexing complains that it is disabled, so even with a running Nepomuk there is no search available at the moment.
  
 
===Nepomuk===
 
===Nepomuk===
 
Nepomuk only supports Virtuoso as Database backend.
 
Nepomuk only supports Virtuoso as Database backend.
For a virtuoso installation to work regsvr32 has to be called on the virtuoso odbc driver at the moment. Soprano has to be fixed so that it checks if that driver is availble and if not registers it. This might have implications wrt
+
For a virtuoso installation to work regsvr32 has to be called on the virtuoso odbc driver at the moment. Soprano has to be fixed so that it checks if that driver is availble and if not registers it.
  
 
===Akonadi Notifications===
 
===Akonadi Notifications===
When an item is added to akonadi it sends a notification to the GUI that an item was added. The collection this item belongs to is a QINT64, according
+
DBus problem that has been fixed in newer versions of DBus > 1.4.1
to akonadiconsole and qdbusviewer the value of the collection id is completly
+
bogous. This results in the proxymodel to throw away the documentation and
+
not update the GUI.  
+
  
 +
===Design===
 +
Oxygen Theme looks strange and alien on Windows 7 default style but ok on Windows XP style
 +
Currently the Packaged Style in the Enterprise 5 package is optimzed for windows 7
  
 +
Best solution would be to check what the System Style is or package the KDE-Systemsettings to customize that style
  
----
+
===Akonadi Start Stop===
 +
Akonadi startup can take a while on slow systems which delays the first Kontact
 +
startup.
  
 +
Once akonadi is running it can not be stopped from the UI
 +
 +
===GPG4Win Integration===
 +
To integrate with gpg4win one has to copy the gpg2.exe in the gpg4win/bin directory to gpg.exe in the same directory. Otherwise no backends will be found.
 +
This can be fixed by packaging a better gpg4win-dev package.
 +
 +
 +
----
  
  

Revision as of 11:43, 9 March 2011

This page covers topics related to the KDE PIM Suite on MS Windows NT.

Contents

Building

To build KDE PIM for Windows use emerge. For documentation about emerge please see [1]

You should be able to get executables just by calling emerge kdepim.

Problem points

Status Feature Description Contact
DONE Documentation of KDE Due to meinproc4 crashes documentation build is turned off from all kde products. [mailto: < >]


TO DO LDAP Support Enabling KLdap Andre Heinecke <aheinecke@intevation.de>


DONE Akonadi Notifications Akonadi Notifications are not communicated correctly to the GUI [mailto: <>]


IN PROGRESS Search Provide a search backend Andre Heinecke <aheinecke@intevation.de>


IN PROGRESS Nepomuk Provide a working Nepomuk Andre Heinecke <aheinecke@intevation.de>


TO DO Akonadi startup/shutdown Decide how akonadi should be started/stopped on Windows [mailto: <>]


TO DO Integrate with GPG4Win Use GPG4Win to provide Crypto support on Windows Andre Heinecke <aheinecke@intevation.de>

Documentation of KDE

For more details about the problem check the bug report: BUG263828

LDAP Support

OpenLDAP does not build well for Windows on Windows, for this reason there is no working OpenLDAP-src target in emerge, if you want LDAP Support you have to manually install OpenLDAP into your KDE Enviornment before building kdepimlibs.

Since Windows has native LDAP support with winldap it is easily possible to use that, an Obstacle for this is that also kdepimlibs is built with -DUNICODE it expects all system LDAP calls to return ASCII so you would have to do some conversions mappings there. A bit code for that is already in kdepimlibs/kldap/w32ldaphelp.h but it is only finished for WinCE not for WinNT.

Search

Strigideamon does not compile for Windows NT at the moment, so apart from Virtuoso/Nepomuk there is no Search for KDE PIM Software available. Currently Virtuoso gets started in the Enterprise 5 Package on some systems and on others not. There might be a packaging problem or timeouts that are reached. Strigi indexing complains that it is disabled, so even with a running Nepomuk there is no search available at the moment.

Nepomuk

Nepomuk only supports Virtuoso as Database backend. For a virtuoso installation to work regsvr32 has to be called on the virtuoso odbc driver at the moment. Soprano has to be fixed so that it checks if that driver is availble and if not registers it.

Akonadi Notifications

DBus problem that has been fixed in newer versions of DBus > 1.4.1

Design

Oxygen Theme looks strange and alien on Windows 7 default style but ok on Windows XP style Currently the Packaged Style in the Enterprise 5 package is optimzed for windows 7

Best solution would be to check what the System Style is or package the KDE-Systemsettings to customize that style

Akonadi Start Stop

Akonadi startup can take a while on slow systems which delays the first Kontact startup.

Once akonadi is running it can not be stopped from the UI

GPG4Win Integration

To integrate with gpg4win one has to copy the gpg2.exe in the gpg4win/bin directory to gpg.exe in the same directory. Otherwise no backends will be found. This can be fixed by packaging a better gpg4win-dev package.




Some notes from the original porting project

Integration into the Windows Explorer & Desktop

noframe
 
Note
jstaniek 22:01, 14 January 2008 (CET): TortoiseSVN is GPLed SVN client which is nicely integrated with Windows Explorer. Perhaps we can use its source code as a reference...

Registry settings for default apps and services

Introduction: We can detect whether KMail is the default e-mail client. If set as default, KMail should act as a default mailer, and thus be invoked automatically for actions like RMB "Send To -> E-mail Recipient". This shall be also reused by others for KOrganizer and Konqueror. The solution is relatively simple modifications to the Windows Registry. See Mozilla's solution.

First, we can use HKLM node for system-global settings or HKCU node for current-user-only settings. If the attempt to set the value in HKLM fails, usually because of unsufficient permissions, HKCU should be used. As expected, HKCU overrides HKLM settings. See KB297878. Below we'll use HKCU.

  • HKCU\Software\Clients\StartMenuInternet key is used to specify default web browser; could be set to Konqueror
  • HKCU\Software\Clients\StartMenuInternet\app.exe\shell\open\command key is used for "Internet" start menu shortcut, can be set to Konqueror. Note from the KB - "The command might open the browser on the users home page, for example. However, it might launch some other introductory user interface that the ISV feels is appropriate." So this is not the same as 'default browser' setting.
  • HKCU\Software\Clients\Mail\Appname - registered email client, there can be more entries within the 'Mail' node. Adding KMail here makes it available for users to select as a default browser using 'Set Default Programs' system window.
  • HKCU\Software\Clients\Mail - default email client, 'Windows Mail' by default; could be set to KMail.
  • HKCU\Software\Clients\Calendar\Appname - registered calendar application, there can be more entries within the 'Calendar' node. See the note for HKCU\Software\Clients\Mail\Appname.
  • HKCU\Software\Clients\Calendar - default calendar application, 'Windows Calendar' on Vista; could be set to KOrganizer.
  • HKCU\Software\Clients\Contacts\Appname - registered contacts client, there can be more entries within the 'Contacts' node. See the note for HKCU\Software\Clients\Mail\Appname.
  • HKCU\Software\Clients\Contacts - default contacts application, 'Address Book' by default; could be set to KAddressBook.
  • HKCU\Software\Clients\News\Appname - registered newsgroup client, there can be more entries within the 'News' node. See the note for HKCU\Software\Clients\Mail\Appname.
  • HKCU\Software\Clients\News - default newsgroup application, 'Windows Mail' by default; could be set to KNode.

From the KB: After updating the registry keys, the application broadcasts the WM_SETTINGCHANGE message with wParam = 0 and lParam pointing to the null-terminated string "Software\Clients\StartMenuInternet" to notify the operating system that the default client has changed.

Using MAPI

HKLM\Software\Clients\AppName\DllPath points to a dll implementing MAPI interface. Internet Explorer uses Windows Messaging by default to invoke a mailer on a mailto: link. Only if the MAPI install is misconfigured will it resort to directly accessing the mailto association key.[2] Example implementation of MAPI services is Thundebird's mozMapi32.dll (the key is usualle equal to C:\Program Files\Mozilla Thunderbird\mozMapi32.dll).

KDE-related notes
  • KDElibs execute default web browser or email client for protocols like http(s): and mailto: via QDesktopServices::openUrl(), which in turn uses ShellExecute(). openUrl() is widely used in Qt e.g. for hyperlinks in text boxes and label widgets.
  • A general rule of KDE/win: not to duplicate registry settings in any rc file and use default applications if possible, to avoid changing behaviour expected by users.
  • jstaniek 12:06, 18 June 2008 (CEST): Before LinuxTag I've performed some tests of setting default clients, and looks like it's is not possible to set onlt writing registry entries. Some API calls may be needed, especially because locked at least one registry key is locked for writing during the session.

Links


KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V.Legal