Internet DRAFT - draft-daboo-calsify-issues
draft-daboo-calsify-issues
Network Working Group C. Daboo
Internet-Draft ISAMET, Inc.
Expires: August 15, 2005 February 14, 2005
Problems in Calendaring and Scheduling Standards
draft-daboo-calsify-issues-00
Status of this Memo
This document is an Internet-Draft and is subject to all provisions
of section 3 of RFC 3667. By submitting this Internet-Draft, each
author represents that any applicable patent or other IPR claims of
which he or she is aware have been or will be disclosed, and any of
which he or she become aware will be disclosed, in accordance with
RFC 3668.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as
Internet-Drafts.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
This Internet-Draft will expire on August 15, 2005.
Copyright Notice
Copyright (C) The Internet Society (2005).
Abstract
Current calendaring and scheduling standards are fraught with a
number of significant problems, that have hindered wide deployments
of interoperable products. This informational document lists the
problems with the current standards documents as a means to help
identity areas where revisions of the documents are required.
Daboo Expires August 15, 2005 [Page 1]
Internet-Draft Calsify Problems February 2005
Table of Contents
1. Introduction and Overview . . . . . . . . . . . . . . . . . . 3
2. Conventions Used in This Document . . . . . . . . . . . . . . 3
3. Interoperability Problems . . . . . . . . . . . . . . . . . . 3
4. Other Issues . . . . . . . . . . . . . . . . . . . . . . . . . 4
4.1 Recurrences . . . . . . . . . . . . . . . . . . . . . . . 4
4.2 Timezones . . . . . . . . . . . . . . . . . . . . . . . . 4
5. Specification Problems . . . . . . . . . . . . . . . . . . . . 5
5.1 ABNF Usage . . . . . . . . . . . . . . . . . . . . . . . . 5
5.2 ABNF and iTIP conformance tables . . . . . . . . . . . . . 5
5.3 Document Errata . . . . . . . . . . . . . . . . . . . . . 5
6. Other Issues . . . . . . . . . . . . . . . . . . . . . . . . . 5
6.1 Internationalization . . . . . . . . . . . . . . . . . . . 5
6.2 Security . . . . . . . . . . . . . . . . . . . . . . . . . 6
7. Possible Courses of Action . . . . . . . . . . . . . . . . . . 6
8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Author's Address . . . . . . . . . . . . . . . . . . . . . . . 8
A. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 8
Intellectual Property and Copyright Statements . . . . . . . . 9
Daboo Expires August 15, 2005 [Page 2]
Internet-Draft Calsify Problems February 2005
1. Introduction and Overview
Calendaring and Scheduling is defined in [1], [2] and [3], and
additionally summarised by [4]. These documents define the iCalendar
syntax and semantics, the 'interoperability' profile for handling
scheduling, and an email 'binding' for scheduling operations. [4]
provides an overview of internet calendaring. These specifications
have been available for several years now and there are many
implementations based on them. However, a number of interoperability
problems exist between these implementations, some due to bugs in the
specifications, some due to lack of clarity in the specifications and
some due to under specification of key behaviors. As a result,
interoperable calendaring and scheduling has not been truly achieved.
The purpose of this information draft is to list known problems with
the specifications in order to provide an input for an effort to
revise the original specifications. This document does not attempt
to define how those revisions should be done, but it does provide a
summary of some possible courses of action.
Discussion of internet calendaring changes is taking place on the
ietf-calsify mailing list:
List-Subscribe:
<http://lists.osafoundation.org/mailman/listinfo/ietf-calsify>
List-Archive:
<http://lists.osafoundation.org/pipermail/ietf-calsify>
2. Conventions Used in This Document
Conventions for notations are as in [5].
3. Interoperability Problems
This section summarises results of recent interoperability testing
events described in [6] and [7].
The following table summarises the level of support for the three
specifications for the participants of the interop event:
+---------------+-----------------+---------------------+
| Specification | Items Supported | Items Not Supported |
+---------------+-----------------+---------------------+
| RFC2445 | 114 | 6 |
| RFC2446 | 15 | 5 |
| RFC2447 | 8 | 5 |
+---------------+-----------------+---------------------+
Daboo Expires August 15, 2005 [Page 3]
Internet-Draft Calsify Problems February 2005
Common problems found include:
1. VJOURNALs are not used. Should they be removed?
2. VTODOs not generally supported in iTIP.
3. Handling or RRULEs/RDATEs in iTIP is inconsistent, particularly
when specific instances are rescheduled.
4. Inconsistent VALARM support.
[[Comment.1: Should the interop tables and more specific details be
included here?]]
4. Other Issues
4.1 Recurrences
Recurrence and in particular exceptions to recurrences are known to
be problematic. Some implementations do not support all of the BYxxx
rule elements - in particular BYSETPOS.
There is a lack of understanding of how RECURRENCE-ID works to
override instances, particularly when the original item is
rescheduled.
How does the SEQUENCE number change when one instance is rescheduled?
Does the SEQUENCE for that instance only change, or does it change on
the 'master' component as well. Is the SEQUENCE number being
overloaded in iTIP to also refer to a 'transaction sequence' as
opposed to a modification count?
[[Comment.2: How well supported is RECURRENCE-ID with
RANGE=THISANDPRIOR/THISANDFUTURE?]]
4.2 Timezones
Timezones can be specified on iCalendar properties that use a
DATE-TIME value.
VTIMEZONE components are not standardised and several implementations
generate them in different ways. Some will use a fully specified
VTIMEZONE component containing all the rules known for that timezone.
Others will produce timezones that only contain information for
daylight savings shifts for the year time-range covering the period
of the event. However both will use the same timezone id. One
solution to this is a timezone registry as proposed in [8]
Timezones are required for recurring events that span a daylight
savings boundary if using a rule to specify the recurrence.
Daboo Expires August 15, 2005 [Page 4]
Internet-Draft Calsify Problems February 2005
Timezone information also needs to be preserved to ensure users that
enter dates in a timezone other than their display default timezone
are able to edit the date at a later point using the original
timezone information.
5. Specification Problems
5.1 ABNF Usage
There are a number of issues with the ABNF. Including
inconsistencies between textual description of how many times items
are supposed to appear, and their definition in ABNF. The structure
of the ABNF is such that it makes it hard to add extensions. The
ABNF also uses comments to indicate the frequency of occurrence of
items, rather than using proper ABNF constructs to specify that. The
only problem with revising the ABNF is the lack of a simple ABNF
construct for an 'unordered list' of items (i.e. a set of items that
can appear in any order). That may need to be addressed via an
extension to ABNF.
5.2 ABNF and iTIP conformance tables
Does there need to be both ABNF in 2445 and conformance tables as in
2446. Aren't these saying the same thing?
5.3 Document Errata
There are several errors in the examples. Some of these have been
documented in the RFC Editor Errata pages [9] and elsewhere [10].
6. Other Issues
6.1 Internationalization
The iCalendar data format recommends use of UTF8 for all textual
data, but goes no further than that in terms of internationalization
issues. However, some textual values in the iCalendar data are used
for comparisons which may take place in different clients or servers.
For example, iCalendar processors are likely to attempt matches of
the UID of a component arriving via iTIP with any existing components
in a store. The iCalendar specs do not explicitly point out the
issues with this with respect to different unicode normalisations
that may occur. Whilst it is probably not necessary to define a
stringprep [11] profile for iCalendar, there should at least be an
'Internationalization Considerations' section that makes it clear
that clients may need to 'normalise' certain text values that can be
used in comparisons.
Daboo Expires August 15, 2005 [Page 5]
Internet-Draft Calsify Problems February 2005
6.2 Security
Assuming that scheduling becomes more popular as more interoperable
products are deployed, the unpleasant possibility of 'calendar spam'
('scam' ???) and malicious scheduling requests arises, as described
in [4].
Currently [3] lacks appropriate text describing how security checks
for the various address elements should be done to verify the
authenticity of the message. The possible sources of identity are
the email address headers, a certificate/key identity provided via a
multipart/signed email message and iCalendar ORGANISER/ATTENDEE/
SENDER values.
7. Possible Courses of Action
Here is a suggested list of possible courses of action that can be
taken to improve calendaring and scheduling interoperability:
a. Fix known errata in the rfc's.
b. Fix ambiguities in the rfc's.
c. Redesign recurrences:
1. Simplify RRULEs etc by limiting the possible combinations of
each and the set of BYxxx values that are supported in any
one rule.
2. Disallow unbounded recurrences on timed events etc.
3. Disallow unbounded recurrences in all cases.
4. Remove EXRULEs.
5. Remove RRULEs and EXRULEs - only use dates. This has the
side-effect of removing the need to specify timezones.
d. Revise the set of documents as follows:
1. 'iCalendar Syntax' document
2. 'Basic Calendaring with iCalendar' document
3. 'Scheduling operations with iCalendar' document
4. 'Scheduling via Email' document
e. Split 2445 into two:
1. 'Basic' document with a set of features that covers a minimum
set of interoperable capabilities in calendaring
2. 'Advanced' document with a set of features to cover more
complex issues which are know to be problematic.
f. Split 2445 into several documents:
1. 'Core' syntax/semantics encompassing VEVENT component items
only
2. other documents for syntax/semantics for other types of
component VTODO, VJOURNAL etc.
g. Leave all features of 2445 and provide a document describing
which parts of 2445 are known to work well with recommendations
to use those only.
Daboo Expires August 15, 2005 [Page 6]
Internet-Draft Calsify Problems February 2005
h. Completely rewrite semantics of calendaring and scheduling, with
the possibility of changing the syntax to use XML.
8 References
[1] Dawson, F. and Stenerson, D., "Internet Calendaring and
Scheduling Core Object Specification (iCalendar)", RFC 2445,
November 1998.
[2] Silverberg, S., Mansour, S., Dawson, F. and R. Hopson,
"iCalendar Transport-Independent Interoperability Protocol
(iTIP) Scheduling Events, BusyTime, To-dos and Journal
Entries", RFC 2446, November 1998.
[3] Dawson, F., Mansour, S. and S. Silverberg, "iCalendar
Message-Based Interoperability Protocol (iMIP)", RFC 2447,
November 1998.
[4] Mahoney, B., Babics, G. and A. Taler, "Guide to Internet
Calendaring", RFC 3283, June 2002.
[5] Bradner, S., "Key words for use in RFCs to Indicate Requirement
Levels", BCP 14, RFC 2119, March 1997.
[6] Calendaring and Scheduling Consortium, "Calconnect IV", http:/
/www.calconnect.org/interop/
uc%20berkeley%20interop%20testing.pdf.
[7] Calendaring and Scheduling Consortium, "Calconnect IV Results",
http://www.calconnect.org/interop/8-2004-results.pdf.
[8] Royer, D., "Time Zone Registry",
draft-royer-timezone-registry-01, January 2005.
[9] RFC Editor, "RFC 2445 Errata",
http://www.rfc-editor.org/errata.html.
[10] Busboom, E., "RFC 2445 Issues",
http://www.softwarestudio.org/iCal/2445Issues.html.
[11] Hoffman, P. and M. Blanchet, "Preparation of Internationalized
Strings ("stringprep")", RFC 3454, December 2002.
Daboo Expires August 15, 2005 [Page 7]
Internet-Draft Calsify Problems February 2005
Author's Address
Cyrus Daboo
ISAMET, Inc.
5001 Baum Blvd.
Suite 650
Pittsburgh, PA 15213
US
EMail: daboo@isamet.com
Appendix A. Acknowledgments
Thanks to the Calendaring and Scheduling Consortium for holding
interoperability events and publishing the results. Many of the
issues and proposed solutions come from the comments of participants
on the ietf-calsify and ietf-calendar mailing lists.
Daboo Expires August 15, 2005 [Page 8]
Internet-Draft Calsify Problems February 2005
Intellectual Property Statement
The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights
might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information
on the procedures with respect to rights in RFC documents can be
found in BCP 78 and BCP 79.
Copies of IPR disclosures made to the IETF Secretariat and any
assurances of licenses to be made available, or the result of an
attempt made to obtain a general license or permission for the use of
such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository at
http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at
ietf-ipr@ietf.org.
Disclaimer of Validity
This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Copyright Statement
Copyright (C) The Internet Society (2005). This document is subject
to the rights, licenses and restrictions contained in BCP 78, and
except as set forth therein, the authors retain all their rights.
Acknowledgment
Funding for the RFC Editor function is currently provided by the
Internet Society.
Daboo Expires August 15, 2005 [Page 9]