SyncEvolution status update + 1.0.99.7 available

SyncEvolution status update + 1.0.99.7 available

SyncEvolution 1.0.99.7, the release candidate for 1.1, is available for testing. Company supported development shifts towards other areas like local synchronization and non-SyncML protocols, so now would be a good time for contributors to step in and help improve the SyncML part or work on non-SyncML protocols. For those not familiar with the project, SyncEvolution synchronizes personal information management (PIM) data like contacts, calenders, tasks, and memos using the SyncML information synchronization standard. Up to and including 0.9.2, a third-party SyncML server was required. In 1.0, SyncEvolution itself is able to act as a SyncML server, both via HTTP and Bluetooth (direct sync with phones).

SyncEvolution partly spare time project again

Before talking about the next release(s), first a word from our sponsors... ;-) Although Intel continues to support the development and is still interested in some things that it has to offer, some part of the work now has to be done in spare time activities again.

After Moblin and Maemo merged into MeeGo, Nokia made the code they had developed for the upcoming Maemo Harmattan release available as open source ((Buteo)[http://wiki.meego.com/Buteo]). For various, mostly non-technical reasons, this Buteo framework was chosen for MeeGo. This was announced by Sunil Saxena at OSCON. More information about Buteo and a technical comparison with SyncEvolution can be found in my LinuxCon 2010 talk.

MeeGo Netbook continues to use Evolution and SyncEvolution, but this is considered legacy code which needs to be replaced at some point. Therefore everything related to the GTK sync-ui and SyncML is in maintenance mode.

On the other hand, thanks to the generous contributions by Intel and Synthesis, the existing code already supports local synchronization with phones and arguably is in a very usable state. It is up to the open source community to make use of this functionality. There isn't that much left to do: continue testing with additional phones, some workarounds for known issues with peers, etc.

If you are a developer who was holding back because everything seemed to move forward automatically anyway, now is a good time to become active. The issue tracker contains more than enough ideas for features and improvements which currently don't have an owner.

KDE + Akonadi

Most relevant for those users who didn't want to use Evolution is certainly the progress made in the Google Summer of Code project by Dinesh Said (student) and Sascha Peilicke (mentor). I reviewed the first set of patches and look forward to merging them.

SyncEvolution 1.1

SyncEvolution 1.0.1 was strictly a bug fix release. For 1.1, the goal is to include some features that may be relevant for KDE and Genesis (D-Bus interface improvements) and address as much of the issues reported by users for direct synchronization with some phones.

1.1 also happens to add backends for QtContacts and KCalExtended (now called mkcal). These are the core PIM storage engines in MeeGo. The goal is not to synchronize them (that's what Buteo is for), but rather offer a command line tool for manipulating PIM data automatically. New command line options (--import/export/print-items/delete-items) were added for that. They also work with most other backends, in particular Evolution and the Maemo 5 calendar.

Prerelease 1.0.99.7 is available for testing. It is considered a release candidate for 1.1. The rpm-style x.99.y numbering scheme replaces the "beta" and "alpha" parts in older version numbers. 1.0.99.7 can be downloaded from http://downloads.syncevolution.org/syncevolution/evolution/ as .rpm or .tar.gz and installed as .deb from the unstable repository.

Details:

  • bug fix in sync-ui: wrong direction of one-way data transfers with devices (BMC #7091)
  • sync-ui (GTK version): app is now listed as "SyncEvolution (GTK)" under "Office"
  • Nokia phones: avoid data loss in two-way sync due to X-EVOLUTION-UI-SLOT (BMC #2566)
  • Nokia phones: alarm times in UTC, sending PHOTO (BMC #1657, #5860)
  • included all phone templates submitted to syncevolution.org Wiki (BMC #5727)
  • syncevo-phone-config: set consumerReady in output, more useful for Wiki (BMC #3803)
  • workaround for D-Bus timeouts in EDS libecal/libebook (MBC #4026)
  • added generic command line options for importing, exporting, updating, listing and deleting items in the different backends
  • added backends for mKCal and QtContacts (MeeGo PIM storage), meant to be used for manipulating this data on the command line
  • enhanced D-Bus interface (BMC #3558, #3559, #3560, #3562, #3563, #7761, #7766)
  • the command line tool now warns when running against a different D-Bus daemon (BMC #3563)
  • creating and configuring sources in a context (without peer-specific properties) is now supported
  • improved documentation: README.rst, man page, and --help output
  • fixed some compile issues (BMC #6367), improved nightly testing

SyncEvolution after 1.1

Local synchronization between two SyncEvolution backends is already available on a branch. It'll allow synchronization with peers which do not support SyncML. My pet project will be to add support for the AVM FritzBox's address book.

Others have expressed an interest in adding CalDAV and Exchange Web Service support. The future improvements in core SyncEvolution are meant to make that possible.