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