Tuesday, 21 September 2010

opensync-plugin-kdepim and opensync-plugin-akonadi

Following on from my previous posts [1], [2], here is are the release announcements for the OpenSync plugins I've been working on.

opensync-plugin-kdepim
This is an OpenSync 0.22 plugin to sync with KDEPIM (pre-akonadi, so < 4.5). Using this and the OpenSync framework you can sync your KDE PIM data with mobile devices and other applications. This is ONLY compatible with OpenSync 0.22; not OpenSync 0.3x or above. This code is not guaranteed bug-free; always have a backup of your data. This plugin can sync contacts with KAddressBook, events and todos with KOrganizer, and notes with KNotes (over DBus). If you have akonadi configured this plugin will refuse to sync (you can override this in the config, see the README). IMPORTANT: Note syncing depends on you having a KDE installation where bko#251914 is fixed. This means knotes >= 4.4.7, or use the patch there to recompile.
If you can't get that to work, or if you don't need note syncing, in the patches directory of the source there is a patch that can turn off note syncing and allow it to compile.

opensync-plugin-kdepim on kde-apps.org
libopensync-plugin-kdepim-0.22.tar.bz2 source tarball on the OBS

opensync-plugin-akonadi
This is an OpenSync 0.22 plugin to sync with KDEPIM with akonadi, so > 4.4).
Using this and the OpenSync framework you can sync your KDE PIM data with mobile devices and other applications.
This is ONLY compatible with OpenSync 0.22; not OpenSync 0.3x or above.
This code is not guaranteed bug-free; always have a backup of your data.

This plugin can sync contacts, events, todos, and notes with Akonadi. (There is currently no easy way to view Akonadi notes). Make sure you have at least one akonadi collection of each type before syncing.

opensync-plugin-akonadi on kde-apps.org
libopensync-plugin-akonadi-0.22.tar.bz2 source tarball on the OBS

For both, prerequisites are libopensync-devel and libkdepimlibs4-devel. Compilation is standard
mkdir build; cd build
cmake ..
make
make install

Usage is add plugin to an OpenSync sync group; sync.

Both are available on the OBS in KDE:Unstable:Playground

6 comments:

  1. Hey it really works! I sucessfully synced contacts and calendar from akonadi to my cell phone. Thank you for this. But still it's only one direction synchronization because for some reason, data are not saved to akonadi. Error message is

    Error writing entry 28 to member 1 (akonadi-sync): Couldn't add to akonadi

    I also tried to use old google-calendar plugin for opensync 0.22 and again no data was saved to it. Any ideas whats wrong?

    ReplyDelete
  2. Have you entered a default collection to the akonadi-sync plugin configuration (read the README)?
    Also check that if you open the "Akonadi Configuration" dialog (krunner -> type "akonadi config"), in the resource properties, it's not marked read only.

    ReplyDelete
  3. I thought I do not have to configure this plugin because of comment "leave blank for first available" in default config file. So I added ID which is the same in my case (I use google resources for calendar and contacts). Now I got contacts synchronized in both ways but calendar still only in one direction.

    Could the same id of akonadi collections be a problem?

    Thank you for answer, it pushed me further.

    ReplyDelete
  4. In general you shouldn't have to configure the plugin, i'll will try to figure out why it was necessary. I haven't tested thoroughly against the google resources, I'll do some testing and report back.

    ReplyDelete
  5. any news? any good news? :)

    ReplyDelete
  6. Okay, I've fixed a problem related to the calendar syncing with the google resources. New version will be uploaded to kde-apps soon, let me know how much that fixes and what's still broken.

    I do think that you having the same id for two akonadi collections isn't right - the contact and calendar google resource collections should have different id's.

    ReplyDelete

Creative Commons Licence
This work by Tejas Guruswamy is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.