Hello all

I'm interested in syncing a Nokia 7650 with evolution and to that end
I've been playing with the syncml plugin and Calmenos test server. I've
now got the basics working with some modifications, but there are some
issues left. 

I haven't familiarized myself with the codebase too well yet, so I've
been making the changes as 'quick hacks' to see where the problems are.
I can give patches, but they'd more of way of telling what I've done
than fixes applicable to the source as-is.

The things I've done so far to get it working:
----------------------------------------------

- you have to support the SyncHdr/RespURI element, since this is
used for transforming the login into a session-id including
application-URL. Calmeno sends something like 
<RespURI>http://www.weblicon.net, demo.calmeno.net/...</RespURI> which
seems to mean that we should connect to www.weblicon.net but use
demo.calmeno.net in the HTTP Host: header (but connecting to
demo.calmeno.net works as well). I'm not quite convinced this is a valid
URI (URL), but we should be able to parse it.
- if we get a 407 (missing auth) back we must resend the auth

A 'hack' that was been necessary, but isn't 'right':
----------------------------------------------------
- evolution and calmeno support timezones. Evolution defines its
timezones in the beginning of the VCALENDAR and refers to them in the
VEVENTS -> the actual correct timezone isn't transmitted, since the
VCALENDAR header info is lost on the way somewhere. 

This isn't necessarily a problem, since calmeno doesn't read the tz from
the message in any case, but uses user preferences for it. The problem
is that the 7650 doesn't understand timezones at all, and calmeno sends
everythin in UTC. So the chain goes: evolution: 1800 Europe/Helsinki ->
calmeno 1500 UTC (correct) -> Nokia 7650 1500 'local time' :-(. 

I've done a quick mod that converts from VCAL2 to VCAL1, which strips
the timezone info and set calmeno to believe I'm in UTC land. Now
evo->calmeno->7650 works. The other direction doesn't work yet, since it
becomes Nokia 1800 'local time' -> Calmeno 1800 UTC -> evo 1500
Europe/Finland (since evo knows how to convert UTC times).

We should probably have a setting that tells that everything is 'local
time' and strips tz info in all directions. Or a way of mapping tzs. 

Actually weird was that the source said in
syncml_convert_copy_change_list:

 if (type == SYNCML_DATA_TYPE_VCALENDAR1 && obj->change.comp) {
        // We have to convert to vCALENDAR 1.0
        vopts |= VOPTION_CALENDAR2TO1;
      }

which doesn't make sense. I changed the SYNCML_DATA_TYPE_VCALENDAR1 to
SYNCML_DATA_TYPE_VCALENDAR2.

Things that don't work yet:
---------------------------

- calmeno doesn't set the UID in the VEVENT, it sets Item/Source/LocURI
instead. When the VEVENT is pushed to evolution it generates the UID so
changes/deletes don't work from evo to calmeno. I think this is allowed
by the spec.
- It seems that deletes don't work in any case. I'm looking into this.
- The server disconnects after a '<Final />' element, so we should
re-establish the connection. This doesn't work, multisync gets stuck
instead (at least in some cases), so synchronization works once after
startup (I think). The protocol handling doesn't look too robust in any
case.
- alarms don't go to calmeno neither as vcal 1 or vcal 2. Don't know if
this is a problem with the data or with

---------------------

I don't know what's the best way to work on this. Comments, Bo?

BTW: calmeno's documentation says that the Calendar db is Events, but
it's really Appointments. I've been using Calmeno's Outlook sync sw and
ethereal to track what the traffic should look like, which seems to be a
good way.

Best regards (mvh)

        Mika Raento

-- 
Mika Raento           mailto:[EMAIL PROTECTED]       http://www.iki.fi/mikie/
"You can't *ADD* things and come out with *LESS* than you started with!"
"I  can  do  that!  It's  a  free  country!  I've  got  my  rights!"
                                      -from Calvin & Hobbes by Watterson



-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
Multisync-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/multisync-devel

Reply via email to