KEP 2: Modification of datetime type, introduction of 'tz' sub-tag
Hendrik Helwich
h.helwich at tarent.de
Tue Nov 30 10:52:45 CET 2010
Hi Georg,
Am Montag, 29. November 2010 19:24:14 schrieb Georg C. F. Greve:
> Hi Hendrik,
>
> On Monday 29 November 2010 14.20:44 Hendrik Helwich wrote:
> > This comparison is not fitting very well, because there is no need to
> > implement a parser for the strict Zulu format. You have system libraries
> > for that in programming languages like C, Java, etc.
>
> In that case I seem to have misunderstood your point about the complexities
> of implementing a full RFC 3339 parser, whereas the old format would allow
> to create your own parser easily.
>
> I agree with you that using the system libraries for time stamp parsing is
> the right thing to do, which is why the switch to RFC 3339 should be fairly
> simple and robust, as all systems need to parse this format routinely all
> the time, and parsers for it exist on any internet capable device, as RFC
> 3339 is the RFC for Date & Time on the Internet.
>
> For a client implementor, it should normally mean no to little code change,
> depending on whether they were using the standard parsing functions to
> parse date and time in Kolab's XML, as those functions often support
> RFC3339.
>
> If they have been using a different function, it should be basically a
> matter of searching & replacing that function against the one that does
> RFC3339.
>
> > But using the strict Zulu format, clients which do not implement the KEP2
> > could still parse the new format correctly and display them correctly for
> > events without recurrence.
>
> As explained, the version of the event XML after applying KEP 2 will have
> to be 1.1, because as both Gunnar and Joon pointed out older clients *do*
> strip out unknown XML tags, despite what the specifications says.
>
> > This is another small pro for the strict Zulu format i would say
>
> It would be an advantage, yes.
>
> But that advantage can be had without the cost of foreclosing future
> integration of additional technologies, e.g. by specifying that for
> backward compatibility, clients SHOULD write in Zulu format for the current
> object types, for which Zulu is sufficient, but MUST be able to parse full
> RFC3339.
For backward compatibility i agree that clients should be able to read RFC3339
for the first koab format version. But for writing i think clients MUST write
a clear normailzed datetime format like the Zulu format and also do not need
to read RFC3339.
This is because i see no real benefit for kolab in the complex RFC3339
datetime format. You can have partially timezone information in that datetime
format. And there is no need for this information. Why not omit this unused
information to make the format more clear and remove redundancy?
If we have the possibility to change things in version 1.1 i would like to
pick up the idea of Andrew (Mail from 12.11.2010) to specify times directly
in local time e.g. for the element "last-modification-date" in the Zulu
format and for the element "start-date" optionally in a local time like this:
2004-05-04T15:00:00
So the Suffix 'Z' could indicate that it is a UTC time. For a local time, the
timezone which is specified in the kolab format xml must be used.
This would have the advantage, that no redundancy in the timezone information
is possible (like it is with the RFC3339 datetime format) and this would lead
to a more clear datetime format in my opinion.
You suggested that the Zulu format could be not sufficient. I think you are
referring to the milliseconds. Do you see a use case where this could be
needed?
> > The kolab format specification should define how clients must calculate
> > the times which are shown to the user. If the timezone information is
> > included in the kolab format (like it is done in iClanedar) it can be
> > assured that all people see the correct times.
>
> No, actually. It cannot assure that. iCalendar has proven that already.
You are right. If the time zone data in the koab xml is outdated, the time
could be wrong. What i wanted to say was that all people would see the same
time which in my opinion is more important than that it follows time zone
database changes.
So in fact i think we have to do a trade-off here and decide what is more
important:
(a) to use actual time zone data
(b) to assure that all people come to the same time to a meeting
Additionally i think it could be allowed for clients to update the time zone
information in the kolab xml if they see that it is outdated. This could be a
compromise to allow both: actual time zone data and also the same times for
all people.
> There are several assumptions in the above statement that explain why.
>
> The first one is that clients will not be trying to keep their data
> consistent for the user when they notice that the information is outdated,
> and that different clients won't have different opinions about whether or
> not they know better.
In my opinion it should be part of the specification to determine how clients
should calculate the times. If they implement it in another way it will be a
bug. The specification should leave no space for own interpretations in this
point.
Additionally it could be allowed for clients to update the timezone data in
the kolab item if they notice that its outdated.
> The only thing that is ensured by hard-encoding it into the object is that
> when the information becomes outdated, *all* clients will show *wrong*, but
> at least consistent information.
This i right. But in my opinion it is very important that all people see the
same time of the meeting. Otherwise somebody could miss it.
> Unless, of course, *some* clients notice that the information is outdated,
> and try to interpret what was meant, in which case you'll get completely
> disparate behaviour.
>
> > When using an external time zone database it cannot be assured that the
> > displayed times are correct.
>
> That can also not be assured by storing outdated information, see above.
>
> But the database approach already works very well for the vast majority of
> computers out there. I haven't heard people complaining that their computer
> somehow got confused about daylight saving time for some time now.
>
> And as long as they have *some* update of their machine within a 3-5 year
> window, that database should be kept sufficiently up to date.
>
> Also, as others have pointed out in this discussion: The Olson database is
> becoming more common, not less.
>
> So it will likely be supported by an NTP-like service to update DST
> information in the future, which will give us maximum reliability and
> assurance of correct display, with no change to the storage format.
To be honest i have doubts that this will work correctly in practice. All
people on all the different systems need to have always a database which is
fully mappable to Olson database and which also needs to be in the same
state. How can it be assured that all people always update their database at
the same time?
> Hard-coding this into the format now just creates legacy we need to worry
> about transitioning from in the future.
I am aware that at sometime this DST stuff will (hopefully :-) ) not be
needed any more and can be removed. But right now i see no other way to
assure that all people see the same start time of a meeting.
Best regards
Hendrik
More information about the format
mailing list