Recurring events with timezone
Joon Radley
joon at radleys.co.za
Wed Oct 20 08:46:48 CEST 2010
Hi Hendrik,
This is an excellent example. Your argument is that the incorrect conversion in the client of UTC -> local time can be fixed by adding time zone information to the object.
Lets run a use case with this. User A is the creator of the object and is situated in Johannesburg. User B that shares the folder is situated in Germany (for the daylight savings time).
The problem is: UTC -> User B local time is incorrect.
Your suggested solution is: User A Time Zone + User A Local Time -> UTC -> User B local time
UTC -> User B local time conversion will still be broken, as you need User B TZ to fix the incorrect calculation. Thus by adding the User A TZ information to the object no problem is solved.
The only time when the TZ information will help is when User A and User B is in the same time zone and they both know it. All other user cases do not benefit from User A’s TZ information.
You are trying to fix a client “bug” by providing it with information, which will only be valid/helpful in very limited cases.
By fixing the UTC-> locale conversion you will fix all the use cases. The localtime function has never failed me. Is there a problem with it on your OS?
Best Regards
Joon Radley
Cell: +27 (0)83 368 8557
Fax: +27 (0)86 547 2353
E-mail: support at toltec.co.za
Web: www.toltec.co.za
On 15 Dec 2010, at 1:26 PM, Hendrik Helwich wrote:
> Am 19.10.2010 10:08, schrieb Joon Radley:
>> Could you please give an example of the bug that needs to be fixed?
>>
>> Could you please explain how converting from locale -> UTC -> locale is better than just converting from UTC -> locale?
>>
>
> Hi Joon,
>
> ok a small example: Assume i am in the german time zone (UTC+2 in summer
> and UTC+1 in winter) and want to start from today a monthly infinitely
> recurring event from 10-12 o'clock.
> Kontact creates a the following xml (i removed some tags):
>
> <?xml version="1.0" encoding="UTF-8"?>
> <event version="1.0" >
> <product-id>KOrganizer 3.5.9 (enterprise35 20100805.1161816), Kolab
> resource</product-id>
> <uid>libkcal-2077575338.372</uid>
> <sensitivity>public</sensitivity>
> <start-date>2010-10-19T08:00:00Z</start-date>
> <summary>Test</summary>
> <recurrence cycle="monthly" type="daynumber" >
> <interval>1</interval>
> <daynumber>19</daynumber>
> <range type="none" ></range>
> </recurrence>
> <end-date>2010-10-19T10:00:00Z</end-date>
> </event>
>
> Kontact now shows this event starting at 10 o'clock also in november of
> this year. But there is a different time offset in germany in november
> so it should be shown at 9 o'clock instead if a correct UTC -> local
> conversion would be made here. It seems kontact is doing a UTC -> local
> on the start date of the event and assuming that the time offset does
> not change. So in november kontact shows that this event will start at 9
> o'clock UTC time.
>
> But it gets more bad if i am in a different time zone now. Say i am an
> attendee of this event and i live in Johannesburg in South Africa. The
> time offset there is UTC+2 all the year. If i switch my computer and
> Kontact to this time zone, Kontact also shows the start time at 10
> o'clock all the year. This means in november of this year the person
> from Johannesburg would be an hour to early at this meeting because the
> UTC time would be 8 o'clock there (at least in this case he will not
> miss it :-) ).
>
> This is an example of a problem that cannot be solved correctly without
> adding time zone information to the storage format.
>
> Greets,
> Hendrik
>
> _______________________________________________
> Kolab-format mailing list
> Kolab-format at kolab.org
> https://kolab.org/mailman/listinfo/kolab-format
More information about the format
mailing list