[#7156] Add timezone information to iCalendar exports
Summary Add timezone information to iCalendar exports
Queue Kronolith
Queue Version Git master
Type Enhancement
State Resolved
Priority 1. Low
Owners jan@horde.org
Requester web@marlboro.edu
Created 2008-08-05 (4792 days ago)
Updated 2012-08-29 (3307 days ago)
Assigned 2008-08-15 (4782 days ago)
Resolved 2011-11-13 (3597 days ago)
Milestone 3.1
Patch No

web@marlboro.edu 2008-08-05 13:45:44
Recuring events set in kronolith and subscribed to via ics (at least 
in Sunbird) appear 1 hour early starting Nov 4 2008.  I've verified 
that subscriptions from at least one other source and local calendars 
display correctly.

The same calendar, when viewed within the web framework appears correctly.

Steps to Reproduce:

1. Create a recurring event that spans the daylight savings/standard 
time change

2. Subscribe to the containing calendar as an ics subscription in Sunbird

3. Note the time on the recurring event before and after the time change

elliot@marlboro.edu 2008-10-12 23:07:44
I'm doing a bit more investigation into solving this, it looks like 
sending timezone specific times instead of UTC time solves the issue 
in Sunbird at least.

The following shows up at 1pm through the transition



Sunbird additionally adds some information about the timezone to it's 
ics file, though it appears to know enough about my location that if 
horde didn't include the following the events would still be timed 



















dewi@brentwood.bc.ca 2009-10-18 07:05:31
Has anyone worked on implementing this solution to fix the ics 
calendar problems with using lightning and sunbird clients

dewi@brentwood.bc.ca 2009-11-14 18:05:26
I'm recommenting on this bug as I'm seeing more and more queries about 
this type of problem from people trying to use these fabulous open 
source products together. There clearly is some issue when using 
thunderbird as a client to horde fro ics subscription and I thought it 
might be advantageous for the horde coders and mozilla coders to be 
aware of the two bugs tracks I know of to try and converse with 
eachother about where the changes should be made to fix this issue.
Mozilla bug with exqamples is : 
the horde bug is : http://bugs.horde.org/ticket/7156
hopefully if the main development team from each project touch base, 
we'll get a reasonable solution. It's just a suggestion that I thought 
might help.

Michael.Germann@jura.uni-halle.de 2010-09-03 11:44:03
The need for specific timezone information being maintained with 
calendar entries should be considered for all sorts of access and 
synchronising. I access my Kronolith calendar from 
Thunderbird/Lightning by Funambol addon over SyncML. As the Kronolith 
server seems to strip off what is supposed to be represented, in ICS, 
by the "TZID" parameter (as in 
"DTSTART;TZID=Europe/Berlin:20100903T120000"), and to convert all time 
information into UTC values, time representation then won't be able to 
reproduce the original time value under daylight saving time 
conditions after synchronising. Any solution to this should merit many 
thanks of Kronolith users in DST timezones.

ano@nurfuerspam.de 2011-11-01 17:02:41
Any news about this topic?

Michael Rubinsky <mrubinsk@horde.org> 2011-11-02 15:18:12
> Any news about this topic?

Nope...and when there is, it will be posted here :)

Jan Schneider <jan@horde.org> 2011-11-12 03:31:11
The issue of the original poster shouldn't exist anymore, now that we 
are able to save events in UTC format in the backend. The times are 
also exported in UTC, and it's up to the calendar client to correctly 
map this to the local timezone in recurring events.
We still need to support importing of different timezones for 
individual events though. This is only possible after I added support 
for that to the backend right now.

Jan Schneider <jan@horde.org> 2011-11-12 03:33:21
> The issue of the original poster shouldn't exist anymore, now that 
> we are able to save events in UTC format in the backend. The times 
> are also exported in UTC, and it's up to the calendar client to 
> correctly map this to the local timezone in recurring events.

Uh, nevermind, we still need to export in the local timezone *instead* 
of UTC to not have the hour off during DST switches.

Git Commit <commits@lists.horde.org> 2012-08-29 12:24:20
Changes have been made in Git (master):

commit 6de7090cd0fb08b582e84af6ac5b25994854ba07
Author: Jan Schneider <jan@horde.org>
Date:   Sun Nov 13 05:41:36 2011 +0100

     Add Horde_Timezone package.

     Parses Olson database and generates VTIMEZONE iCalendar 
components. Necessary
     to implement request #7156.

  framework/Timezone/lib/Horde/Timezone.php          |  212 ++++++++
  .../Timezone/lib/Horde/Timezone/Exception.php      |   15 +
  framework/Timezone/lib/Horde/Timezone/Rule.php     |  258 ++++++++++
  framework/Timezone/lib/Horde/Timezone/Zone.php     |  148 ++++++
  framework/Timezone/package.xml                     |  115 +++++
  .../Timezone/test/Horde/Timezone/AllTests.php      |   36 ++
  .../Timezone/test/Horde/Timezone/Autoload.php      |   20 +
  .../Timezone/test/Horde/Timezone/IcalendarTest.php |   37 ++
  .../Timezone/test/Horde/Timezone/fixtures/europe   |  148 ++++++
  .../test/Horde/Timezone/fixtures/europe.ics        |  528 
  10 files changed, 1517 insertions(+), 0 deletions(-)


Git Commit <commits@lists.horde.org> 2012-08-29 12:24:40
Changes have been made in Git (master):

commit 1127c72d6958ac7c6d0d02cc6199bc669e7c9b6f
Author: Jan Schneider <jan@horde.org>
Date:   Sun Nov 13 20:14:54 2011 +0100

     [jan] Include timezone information when exporting events to 
iCalendar (Request #7156).

  framework/Core/lib/Horde/Core/Factory/Timezone.php |   29 
  framework/Core/package.xml                         |    6 +++-
  horde/config/conf.xml                              |   11 +++++++
  kronolith/docs/CHANGES                             |    2 +
  kronolith/lib/Event.php                            |   16 +++++++++-
  kronolith/package.xml                              |    1 +
  6 files changed, 61 insertions(+), 4 deletions(-)


Git Commit <commits@lists.horde.org> 2012-08-29 12:24:46
Changes have been made in Git (master):

commit 857de3f994ac51a0435074a12322d06675629f2b
Author: Jan Schneider <jan@horde.org>
Date:   Sun Nov 13 21:00:23 2011 +0100

     [jan] Support importing of iCalendar events with non-local 
timezones (Request #7156).

  kronolith/docs/CHANGES  |    2 ++
  kronolith/lib/Event.php |   24 ++++++++++++++++++------
  kronolith/package.xml   |    1 +
  3 files changed, 21 insertions(+), 6 deletions(-)