summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorg C. F. Greve <greve@kolabsys.com>2010-12-01 16:50:33 (GMT)
committerGeorg C. F. Greve <greve@kolabsys.com>2010-12-01 16:50:33 (GMT)
commitfe9bdbfecdfc11c3443199f5cdc3fa6e5f26f650 (patch)
tree39c4baed04b67acdeb737cef36bf460a20088a2a
parent84ca5c237eeb2da5d7a57951bf7de75d6a1bc137 (diff)
downloadkeps-fe9bdbfecdfc11c3443199f5cdc3fa6e5f26f650.tar.gz
Based on discussion on kolab-format@: Parsing MUST support RFC3339, but writing MUST take place in Zulu for existing objects
-rw-r--r--KEP-0002.txt8
1 files changed, 5 insertions, 3 deletions
diff --git a/KEP-0002.txt b/KEP-0002.txt
index aeaa76d..89fa41e 100644
--- a/KEP-0002.txt
+++ b/KEP-0002.txt
@@ -27,13 +27,15 @@ Change of type: datetime
The type for datetime storage in Kolab XML is modified as follows:
-* All datetime storage fields '''MUST''' be stored in the format described by [[RFC:3339]]<ref name="rfc3339">[[RFC:3339]]: Date and Time on the Internet: Timestamps</ref>.
+* All clients '''MUST''' parse datetime fields according to [[RFC:3339]]<ref name="rfc3339">[[RFC:3339]]: Date and Time on the Internet: Timestamps</ref>.
+* As a general rule, clients '''SHOULD''' always use the simplest possible expression for datetime fields.
+* For object types 'note', 'contact', 'distribution-list', 'journal', 'event' and 'task', clients '''MUST''' use the Zulu notation for datetime fields, so ''YYYY-MM-DDTHH:MM:SSZ'' with 'T' and 'Z' as the literal characters.
* All such timestamps '''MUST''' be calculated against *Standard Time*, '''NOT''' in Daylight Saving Time (DST).
* All datetime storage fields '''MAY''' carry up to one 'tz' hierarchically nested sub-tag describing the time zone in the uniform naming convention designed by Paul Eggert, specifying time zones from the Olson database, a.k.a. tz database, a.k.a. zoneinfo database <ref>[[wikipedia:Zoneinfo | Wikipedia: Zoneinfo]]</ref>.
Examples of valid 'start-date' fields using datetime structures according to the above specification are
-* <start-date>2010-01-31T11:27:21Z</start-date>
+* <start-date>2010-01-31T11:27:21Z</start-date> (a.k.a. "Zulu notation")
* <start-date>2010-01-31T11:27:21+00:00</start-date>
@@ -43,7 +45,7 @@ Examples of valid 'start-date' fields using datetime structures according to the
* <start-date>1985-04-12T23:20:50.52Z</start-date>
-{{note|While only the first conforms with the specification document, the first two examples are identical to the datetime type used in Kolab XML storage by common clients prior to this modification.}}
+{{note|While only the first conforms with the specification document, the first two examples are identical to the datetime type used in Kolab XML storage by clients 'in the wild' prior to this modification.}}
When time zone information is provided, a client '''MUST''' consider the event local to this time zone. Recurrence '''MUST''' then be calculated to keep the event at the same local time within that time zone, adjusting the time for the event accordingly for the client's local time zone.