Skip to content

{ Category Archives } Uncategorized

Google

Google contact sync (only with SyncEvolution >= 0.9)

Google follows the vCard 2.1 specification, and thus does not support some of the vCard 3.0 additions, nor some of the common extensions. As a result, several properties are not synchronized (nickname, birthday, spouse/manager, URLs, …). Only one top-level organization seems to be supported. For details, see README.google.

Regarding Google’s SyncML support, refresh-from-client and one-way-from-client sync modes are not supported. Deleting contacts moves them out of the main address without deleting them permanently. When adding such a contact again, the server discards the data sent by the client and recreates the contact with the data that it remembered.

Because SSL certificate checking for Google works only with libsoup if the platform has a patched libsoup (http://bugzilla.gnome.org/show_bug.cgi?id=589323) or libsoup >= 2.28, certificate checking remains turned off by default for Google. If your platform has a suitable libsoup (like Moblin 2.0), then enable checking with:

  syncevolution --configure \
                --sync-property SSLVerifyServer=true \
                --sync-property SSLVerifyHost=true \
                google

Google Calendar sync

Only supported indirectly through other SyncML services, like ScheduleWorld and GooSync, because Google itself does not provide access via SyncML.

ScheduleWorld

ScheduleWorld preserves almost all Evolution contact and calendar data. The exceptions are:

  • recurring events relative to UTC are transformed to events relative to the user’s time zone, as configured in his settings
  • the schema used to store contacts does not distinguish between different emails, so although all email addresses are preserved, their type gets lost

Linux Desktop

The source of SyncEvolution should be compatible with any Evolution release since 2.0. The packages prepared for regular releases >= 0.9 are compiled on a Ubuntu Hardy 8.04 LTS system (32 and 64 bit x86), and tested with different versions of Evolution. The binaries should run on all distributions that are more recent than Ubuntu Hardy and have a compatible Evolution.

Evolution Release GNOME Linux Distributions Library Dependencies
2.6.1 2.14 Ubuntu 6.06 (Dapper) libedataserver1.2-7, libecal1.2-3, libebook1.2-5
2.6.3 (Debian 4.0) 2.14 Debian 4.0 (Etch) libedataserver1.2-7, libecal1.2-6, libebook1.2-5
2.8.x 2.16 Ubuntu 6.10 (Edgy) libedataserver1.2-7, libecal1.2-7, libebook1.2-9
2.10.x 2.18 Ubuntu 7.04 (Feisty) libedataserver1.2-9, libecal1.2-7, libebook1.2-9
2.12.x 2.20 Ubuntu 7.10 (Gutsy)
2.22.x 2.22 Ubuntu 8.04 (Hardy)
2.24.x 2.24 Ubuntu 8.10 (Intrepid) libedataserver1.2-11, libecal1.2-7, libebook1.2-9
> 2.24 should work as long as EDS remains backwards-compatible; SyncEvolution binaries no longer link directly against specific EDS libraries

KDE is supported indirectly via the SyncEvolution file backend, which synchronizes items stored as single files inside a directory. That format is supported by KDE PIM. An old blog post contains some information and links about this. The SyncEvolution source code contains a “akonadi” branch with a database backend that talks directly to Akonadi, the PIM storage in KDE 4.x, but it needs a maintainer and more work to be usable. Perhaps a Google Summer of Code 2010 project will enhance it and SyncEvolution’s integration into KDE.

Known Issues

Evolution GUI

When importing or updating a contact from the server, some telephone numbers might only be displayed in the contact summary after editing the contact once. Evolution 2.0.4 till 2.6.3, ContactSync::testMerge test. Starting with SyncEvolution 0.4, this is solved by modifying the contact in the same way as the internal editor does. If it still fails, the server might send phone numbers without setting their type correctly.

End date of recurring events

Older versions of Evolution (like 2.0.4) use an Evolution-specific extension of iCalendar 2.0 to mark the end data of a recurring event. SyncEvolution makes no attempts to translate that into something that servers like eGroupware understand . This will not be added because this problem can be avoided by updating Evolution. Since at least version 2.6.3, Evolution uses the normal end date parameter.

Removing a recurrence not synchronized

The file backend of Evolution Data Server <= 2.27.5 does not increase the LAST-MODIFIED property of a recurring event when removing specific recurrences, therefore SyncEvolution does not recognize the event as modified and thus does not update the server. A fix for this is expected to be included in Evolution 2.28.

Adding timezone to Evolution

Evolution has a problem when SyncEvolution receives a calendar event with a new timezone definition. SyncEvolution adds the definition to the Evolution database, but an already running Evolution crashes, when trying to open the new event. Restarting Evolution solves that problem. The problem was found in Evolution 2.0.4, but has been resolved since.

Creating new address book

In Evolution, an address book has to be viewed once in Evolution after creating it (observed in 2.0.4). Otherwise, accessing it in SyncEvolution fails with:

[ERROR] addressbook: opening address book: EBookStatus returned 19

gconf required

In an installation of Evolution, the libraries used by SyncEvolution crash unless the gconfd was started earlier, for instance, by logging into GNOME or running the Evolution GUI (observed with 2.4.2.1)

Known Issues in 0.9 beta 3

This post documents known issues in SyncEvolution 0.9 beta 3 and workarounds. [Update 24.07.2009] The 0.9 beta3 20090723 hotfix solves these issues, so make sure your SyncEvolution is up-to-date.

#4676: error messages caused by incorrect usage of the command line (like typos in the property names) are not printed anymore. Correct command lines work as intended, but both new users (experimenting) and old users (typos) are likely to make mistakes occasionally. No workaround, needs to be fixed as soon as possible. Run with SYNCEVOLUTION_DEBUG=1 in your environment to see the error messages again.

#4551: SSL certificate check with libsoup/gnutls currently fails for Google. The last-minute workaround for the SyncEvolution Google configuration template was to use http instead of https. It turned out that Google does not provide SyncML without SSL.

That means that the default configuration has to be modified. This cannot be done via the GUI. Set up the configuration either via GUI or command line. Then use the command line to update the configuration:

syncevolution --configure \
              --sync-property syncURL=https://m.google.com/syncml \
              --sync-property SSLVerifyHost=0 \
              --sync-property SSLVerifyServer=0 \
              google

Linux 2.6.30: Hardware Assisted Time Stamping of Network Packets

It might not be breaking news anymore, but it’s still the latest kernel release, so here we go… Linux 2.6.30 was released.
It includes my patches which add the new timestamping.txt user space API ( for hardware assisted time stamping of network packets. I also updated the igb driver for the Intel NIC 82576 and the [...]

A different kind of launch

I already started writing about my full-time job in this blog, so I might as well expand the scope even further and add a private announcement: today, at 17:10pm CEST, our daughter was born. We are all fine and happy (as far as I can tell with the baby – the language module hasn’t been [...]

choosing words carefully

As Fabrizio said, software developers like discussions. I agree, as anyone can tell who is following the lists on which I am active
I think it is the constant struggle to express one’s thoughts clearly when writing program code that is applied to human languages, in particular with license texts. “I have an if [...]

Getting Things Done (GTD): Migration from D-Cubed to MonkeyGTD

A while ago I started using the “Getting things done” methodology with TiddlyWiki based solutions. I started with MonkeyGTD, then switched to d-cubed, converting my accumulated data manually at that time.
When development of MonkeyGTD 3.0 picked up steam, I looked at it again, liked what I saw and switched back. This time around I did [...]

makecd.core.de moved

I knew about this upcoming change for a while, but not exactly when it would happen: today a user of MakeCD, the Amiga CD writing software that I developed together with Angela Schmidt during our studies, pointed out to me that makecd.core.de is gone. After many years of very reliable and on top of that, [...]