wiki:plugins/akonadi

Introduction

Akonadi provides an integrated interface to multiple resource types.

The plugin is able to sync all type of objects supported by opensync (currently contact, calendar, note/journal, todo).

There are still some few small issues to fix in the next months, but in general the plugin is ready for experimental testing and my wish is to have it done until 1.1.2011. This means you are advised to make backups. (Well it is already 2011. I didn't achieve my goal to sync my phone because of problems with the syncml-plugin. The akonadi plugin seems to be working. Please, report your testing results.)

For installation instructions, configuration and use, please, consult the README file.

Code

  • download

svn co  http://svn.opensync.org/plugins/akonadi-sync/trunk/

HowTo?

Currently the plugin was developed for and tested with version 0.40 (svn) of libopensync.

Introduction

Akonadi organizes and represents different types of resources as colections and items. The content is covered by one or many mimetypes. I.e. "text/directory" represents contact items. Different types of items may be held in one collection i.e. calendar has events, journal notes, todos etc. Opensync sees the Akonadi collection as a resource with object type (note, calendar etc.). Akonadi can handle all the formats supported by opensync.

Installation

Follow the instructions in the README file.

Using akonadi-sync

Add a group and akonadi-sync member

After installation add a group i.e. test1 and akonadi-sync member

Run

osynctool --addgroup test1
osynctool --addmember test1 syncml-obex-client
osynctool --addmember test1 akonadi-sync

Discover collections and resources

Default Configuration

If you want to have all supported types to be discovered and available for sync by default run:

osynctool --discover test1

Custom Configuration

If you don't want to discover all types but just say contacts (because you intend to sync only contacts) then run --configure and disable the undesired types. Run --discover after saving the configuration.

Configuration

You need to configure after you run discover, because you need to tell opensync which collections and resources you want to sync.

osynctool --configure test1 1
osynctool --configure test1 2

Sync

Run

osynctool --sync test1

KDE Notes

KitchenSync?

KitchenSync? can not configure and discover correctly at the moment. You'll need to use osynctool (see above) to do this. After you have configured, you can use kitchensync for syncing. However, as we are in the process of testing, you'll miss some messages or warnings if using the interface

Korganizer

I've found out that syncing gives best results if you use a directory as storage location for Contacts

Debugging

KDE

start 'kdebugdialog' and enable debug for akonadi-sync

OpenSync?

  export OSYNC_TRACE="path/to/some/directory"

SYNCML

  export SYNCML_LOG="path/to/some/directory/log"
  export SYNCML_TRACE="path/to/some/directory/trace"