[GroupDAV] Setting vCalendar CHARSET and ENCODING with Funambol
GroupDAV connector
Samuli Seppänen
groupdav@opengroupware.org
Thu, 23 Nov 2006 13:54:25 +0200
> On Nov 22, 2006, at 15:44, Samuli Seppänen wrote:
>> I've fixed this problem by crafting custom vCalendar files, like the
>> one below (truncated):
>>
>> BEGIN:VCALENDAR
>> METHOD:REQUEST
>> PRODID:-//OpenGroupware.org/ZideStore 1.3//
>> VERSION:2.0
>> BEGIN:VEVENT
>> LOCATION;CHARSET=UTF-8;ENCODING=QUOTED-PRINTABLE:Ähmö
>> STATUS:CONFIRMED
>> SUMMARY;CHARSET=UTF-8;ENCODING=QUOTED-PRINTABLE:hälö
>
> Is the content-type of the PUT properly set? Something like:
>
> content-type: text/icalendar; charset=utf-8
>
> Thanks,
> Helge
>
> PS: its better to use ZideStore 1.5 (OGo 1.1), GroupDAV support has
> improved a lot.
> --Helge Hess
> http://docs.opengroupware.org/Members/helge/
Yes, everything already uses UTF-8. Nokia just can't recognize the
vCalendar encoding unless it is told within the vCalendar that the
content is UTF-8. If ENCODING and CHARSET are defined as UTF-8,
everything works like a charm.
Below is a typical entry in GroupDAV connector's storelog when I create
an entry into the phone with ä (a umlaut) or ö (o umlaut) in the SUMMARY
or LOCATION. As you can see both are empty, even though they should not
be. Zidestore simply drops this kind of vCalendars
We sent:
PUT /zidestore/dav/johirv/Calendar/213470.ics HTTP/1.1
Authorization: Basic am9oaXJ2OnMxbGF3MGxrZXI=
Content-Type: text/calendar; charset=utf-8
If-Match:213470:1
Content-Length: 434
User-Agent: BionicMessage.net GroupDAV {0.9;Java}
Host: 172.20.1.40:80
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//BionicMessage.net GroupDAV//Funambol Connector//
BEGIN:VEVENT
UID:skyrix://bc1s4.tt.fi/bc1s4.tt.fi/213470
SUMMARY:
DTSTART:20061117T094000Z
DTEND:20061117T100000Z
X-EPOCAGENDAENTRYTYPE:APPOINTMENT
CLASS:PUBLIC
LOCATION:
SEQUENCE:0
X-METHOD:NONE
LAST-MODIFIED:20061122T131240Z
PRIORITY:0
STATUS:CONFIRMED
X-SYMBIAN-LUID:85
DESCRIPTION:
END:VEVENT
END:VCALENDAR
Zidestore outputs the following to ogo-zidestore-1.4-err.log:
Nov 23 13:30:43 ogo-zidestore-1.4 [1885]: <0x0946946C[WOContext]> could
not construct NSURL from string 'http(s)://bc1s4.tt.fi'
Nov 23 13:30:43 ogo-zidestore-1.4 [1885]: <<0x0958DAD4[SxAppointment]>>D
etag '213470:1' matches: 213470:1
Nov 23 13:30:43 ogo-zidestore-1.4 [1885]: <<0x0958DAD4[SxAppointment]>>D
patch old=>new 1=>0
Nov 23 13:30:44 ogo-zidestore-1.4 [1885]: <0x09570714[SxAppointment]>
TODO: implement if-none-match for etag: '*'
Nov 23 13:30:44 ogo-zidestore-1.4 [1885]: <0x09570714[SxAppointment]>
Note: object not yet available in DB, creating a new one!
I'll try OGo 1.1 also to see how it's Zidestore works. First, however,
I'd like to try modifying/configuring the GroupDAV connector to add
those CHARSET and ENCODING strings automatically where they are needed.
It would be much simpler that way, as we currently use OGo 1.0.
Samuli