Version: (using Devel) Compiler: gcc version 4.1.2 (Gentoo 4.1.2 p1.1) OS: Linux Installed from: Compiled sources There seems to be a bug in the timezone of ical attachements when sending appointments via kmail. Symptom: The mail created with KOrganizer/Kmail looks like this: BEGIN:VCALENDAR PRODID:-//K Desktop Environment//NONSGML KOrganizer 4.1 rc1//EN VERSION:2.0 METHOD:REQUEST BEGIN:VEVENT DTSTAMP:20081204T095004Z ... CREATED:20081204T095002Z UID:KOrganizer-570377125.662 LAST-MODIFIED:20081204T095002Z DESCRIPTION:Ziel der Besprechung... SUMMARY:... DTSTART;TZID=Europe/Berlin:20081205T140000 DTEND;TZID=Europe/Berlin:20081205T150000 TRANSP:OPAQUE END:VEVENT END:VCALENDAR The TZID cannot be interpreted by MS Outlook. The time will be interpreted as UTC which leads to a wrong appointment time. According to reinhold in #kontact this is a bug due to a missing VTIMEZONE field, so this time it seems not to be a MS bug ;-) MS Outlook itself sends the appointments with UTC times: DTSTART:20081205T130000Z DTEND:20081205T140000Z In my opinion this is simpler and more likely to be understood by other applications. So maybe this should be changed to this format.
What version of libical are you using? Can you upgrade to 0.42 and retest? VTIMEZONE field is present in my testing.
I retested it with libical-0.43. It looks still the same. BEGIN:VCALENDAR PRODID:-//K Desktop Environment//NONSGML KOrganizer 4.2 rc1//EN VERSION:2.0 METHOD:REQUEST BEGIN:VEVENT DTSTAMP:20090303T083817Z ORGANIZER;CN="bla":MAILTO:a@b.com ATTENDEE;RSVP=TRUE;PARTSTAT=NEEDS-ACTION;ROLE=REQ-PARTICIPANT:mailto: b@c.net ATTENDEE;CN="bla";RSVP=FALSE;PARTSTAT=ACCEPTED; ROLE=REQ-PARTICIPANT:mailto:a@b.com X-KDE-EGWRESOURCE-RIGHTS:15 CREATED:20090303T083622Z UID:KOrganizer-939918081.109 SEQUENCE:1 LAST-MODIFIED:20090303T083815Z SUMMARY:Just a test DTSTART;TZID=Europe/Berlin:20090307T144500 DTEND;TZID=Europe/Berlin:20090307T161500 TRANSP:OPAQUE END:VEVENT END:VCALENDAR
I think Outlook should be able to handle the TZID, after all that's in the RFC. However, Windows has a completely different set of system timezone names and it doesn't know Europe/Berlin. By RFC, each unique TZID should have an associated VTIMEZONE component. So, yes.. we need to provide a VTIMEZONE in invitation iCals.
SVN commit 980672 by winterz: write VTIMEZONE components for scheduling calendars and other situations when a calendar is created from in-memory incidences. BUG: 177002 MERGE: e4 (e35 also, if the libical there supports VTIMEZONES.. can't remember if it does) M +61 -2 icalformat_p.cpp M +34 -6 tests/data/Compat/MSExchange.ics.ical.ref WebSVN link: http://websvn.kde.org/?view=rev&revision=980672
SVN commit 980928 by tmcguire: Crossport r980672 by winterz from trunk to the enterprise4 branch: write VTIMEZONE components for scheduling calendars and other situations when a calendar is created from in-memory incidences. CCBUG: 177002 MERGE: e4 (e35 also, if the libical there supports VTIMEZONES.. can't remember if it does) M +61 -2 icalformat_p.cpp M +34 -6 tests/data/Compat/MSExchange.ics.ical.ref WebSVN link: http://websvn.kde.org/?view=rev&revision=980928