Friday, November 14, 2008

SyncML works for E90 and KDEPIM

I have tried and tried to get this to render correctly by font, but it is late and it won't do what I tell it to do, so sorry it didn't work out. I give up.

To quote my favorite popmail server...

But if you don't need it to be perfectly pretty, here it is:

Guess what.

SyncML works.

It exists in the Nokia phone in the +Menu +Tools +Sync function.

http://ruslylove.blogspot.com/2007/10/nokia-e-series-sync-with-evolution-via.html
gives a howto for Ubuntu.

http://en.opensuse.org/OpenSync/SyncML-OBEX-Client
exposes the SyncML OBEX Client, which has an extensive list of commands. This article explains accessing the phone databases, but does not indicate how to address a program on the PC.

The documentation states that the Evolution plugin does not work. This problem does not exist for the kdepim plugin, so we concentrated our efforts there, since that is where we wanted to be anyhow. (Nevermind the couple of days we spent trying to make it work before finding the comment in the source code... but whatevah.)

It Turns Out That (ITOT) the kdepim plugin works just fine. So we have now not only fired Microsoft in general, but also fired Outlook in particular. We can sync the phone to the KDE PIM flawlessly.

So. There.

SuSE HowTo
1. Install the required software
{{{
libopensync-plugin-*
libopensync0
opensyncutils
msynctool
mulstisync-qad
bluez-passkey-gnome
bluez-gnome
}}}
2. Check the plugins
{{{
p1610:~ # msynctool --listplugins
Available plugins:
gpe-sync
sunbird-sync
file-sync
evo2-sync
kdepim-sync
gnokii-sync
google-calendar
opie-sync
syncml-http-server
syncml-obex-client
palm-sync
}}}
3. Create msynctool groups and add members
{{{
msynctool --addgroup nokia
msynctool --addmember nokia kdepim-sync
msynctool --addmember nokia syncml-obex-client
}}}
This creates the nokia group, adds the PIM connector as the first member and adds the phone (syncml-obex) connector as the second member.
4. Configure the members
Configure the PIM Connector
{{{
p1610:~ # msynctool --configure nokia 1
This plugin has no options and does not need to be configured
}}}
Configure the SyncML-obex client (phone connection)
The default resides at
file:///usr/share/opensync/defaults/syncml-obex-client
while the current settings are at
file:///home/(localusername)/.opensync/group2/2/syncml-obex-client.conf
{{{
msynctool --configure nokia 2
}}}
This brings up a very long list of items.
For brevity let's look at its values like this:
{{{
00:1A:89:C4:F7:FF
10
0
PC Suite
1
1


2
1
0
0
65000
65000
Contacts
Calendar
Notes
}}}
Note that the values are case-sensitive!!!
Check the configuration

{{{
p1610:~ # msynctool --showgroup nokia
Groupname: nokia
Member 2: syncml-obex-client
...
Member 1: kdepim-sync
No Configuration found: This member has no configuration options
}}}
5. Experiment
{{{
msynctool --sync nokia
}}}

There are a few gotchas:

* The authors freely admit this is clearly alpha-ware.

* Kontact, KAddressbook, KOrganizer, in general ALL the KDE PIM elements have to be closed, like turned off, not even just in the task bar. Otherwise the process hangs.

* It takes a very long while, especially when you sync the first time. Be patient, let it run its course. As long as you are seeing the disk thrashing icon and top says it is alive, let it run. After several syncs things shall be much faster.

* Watch for the conflict choices. If it finds a conflict it shall ask; the answer is not trivial. Initially you shall find choices between real entries and trash. This may be an artifact of earlier attempts. After several syncs you may find choices being offered between, say, contacts and calendar events. There is not always a clear choice. You can choose a number or Newest. Newest is generally a good choice except where that choice is trash. So pay attention.

* Once it has settled out, pay particular attention to Korganizer. You will click on a particular day, but depending on what event you have selected you may end up at the initiation day or some other day, rather than the day you used to enter the edit.

But all these things are part of paying attention to detail, which is always a good thing to do. "Trust me" almost never works.

No comments: