[maemo-developers] syncing address book and calendars
From: Patrick Ohly Patrick.Ohly at gmx.deDate: Tue Mar 20 23:31:21 EET 2007
- Previous message: SBOX_CPU=arm, not armel?
- Next message: Support for frame buffer in N800
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Hello, I've got my SyncEvolution client at a point that I am nearly ready to release a first package. There were a few obstacles that had to be solved first, thus the delay. The biggest problem were DBus timeouts because the EDS backend simply took too long to reply. In some, but not all cases using the asynchronous libebook calls helped. Increasing the default timeout would have been okay for the non-interactive command line tool SyncEvolution, but there is no way how the default DBus timeout can be increased. My current solution is to link the SyncEvolution binary against a patched libdbus-1.a where the DBUS_DEFAULT_TIMEOUT env variable is set by the application and checked by the library. Another problem was that the official EDS-DBus libraries need a fix to make e_book_get_changes() work properly. I discussed this with Ross Burton and for a while it seemed like I would have to distribute updated libebook/evolution-data-server-addressbook .debs together with SyncEvolution - not so nice for me and users. Then it occurred to me that I can implement the same fix by wrapping a libebook function; so far this seems to work. Finally I wanted to be able to sync address book and calendar if the user has installed both, but did not want to introduce a hard dependency on a non-standard package. Therefore I turned the SyncEvolution backends into dynamically loadable modules; unfortunately this in combination with the dbus-1 hack leads to errors in libebook which I still need to investigate. Now after this (lengthy) recap on to my open questions - equally lengthy, I hope you are still with me... ;-) I can install o-hand's evolution-data-server-calendar from http://maemo.o-hand.com/ mistral on my 770 (latest official OS), but the most recent 0.3.1-1 dates application itself depends on hildon-libs0 >= 0.12.24-3 while I only have 0.12.22-1. I can install dates 0.2-1, but I wonder whether I miss something here? While testing contact syncs I found that deleting a contact in the address book does not really delete it. Instead X-OSSO-CONTACT-STATE:DELETED was set, which is synced to the SyncML server but not acted upon by the server or SyncEvolution. What is the semantic of X-OSSO-CONTACT-STATE:DELETED? Who is responsible for cleaning up these deleted contacts? Is there a package which installs a "diff" tool? In the post-processing of a sync a comparison of before/after dumps of the address book are done by a Perl script which at some point invokes diff and parses the output. I found patch and diffstat .debs in the standard repositories, but not diff itself. The same Perl script tries to use UTF-8 encoded strings to get the character counting in vcards right, but "use encoding 'utf8'" fails with "encoding.pm not found". Is there some way how I can check for the existance of encoding.pm without triggering errors? I already tried to execute the 'use encoding' inside an eval block, to no avail. -- Bye, Patrick Ohly -- Patrick.Ohly at gmx.de http://www.estamos.de/
- Previous message: SBOX_CPU=arm, not armel?
- Next message: Support for frame buffer in N800
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]