05 March 2011

A long time back when I started using Horde primarily for emails I noticed they support a feature called "SyncML", an open synchronization standard.

Now I just picked up on that again, as I wanted to synchronize my N900 with the contacts, calender and tasks.

I installed SyncEvolution on my N900. I wasted quite a lots of time how I configure the synchronization, but I think it is fairly easy:

  1. "Add  a new service" from the menubar
  2. Set the service name to "Horde", leave the template at "Funambol".
  3. When the new service "Horde" is listed, click on it.
  4. "Edit service" from the menubar
  5. Set the "Sync URL" to your Horde URL + "rpc.php". The URL needs to end in "/".
  6. Web URL is the Horde URL.
  7. Username and password is your normal Horde login.
  8. Contacts database is "contacts", Calendar database in "calendar", Tasks database is "tasks" and Notes database is "notes".

Thats it. It is very important that you set the entries "* syncronization" to "Slow Sync", as this transfers all the your data for the first time. If you leave it at "Normal Sync" you get nasty errors - this is just a diff sync. You can certainly set a database to "Disabled" if you dont want it synchronized or there are other options as well.

The first sync takes a while dependent on the amount of records. When this succeeds you need to set the "*syncronization" to "Normal Sync" and test the whole bit, ie. do changes locally, sync, check in Horde and vice versa.

It works great, I am happy with it. There is just one wrinkle with syncing the contacts database. Horde cannot handle different email addresses on one contact - I think you can guess what will happen the first time? Yeah, contacts do get duplicated. Thats why I dont sync contacts.

One last thing, you might ask yourself how does this "Automatically sync" work, do I need to leave the application running or what? You dont have to. I have not figured out how this is working, ie. how it is started when SyncEvolution is not running, but I can confirm, *it is *ran automatically when it is not open.

And all of this with Open Source and Open Standards and for free. Wonderful new world.

blog comments powered by Disqus