draft-ietf-calext-ical-relations-03.txt   draft-ietf-calext-ical-relations-04.txt 
Network Working Group M. Douglass Network Working Group M. Douglass
Internet-Draft Spherical Cow Group Internet-Draft Spherical Cow Group
Updates: 5545 (if approved) October 11, 2017 Updates: 5545 (if approved) May 5, 2018
Intended status: Standards Track Intended status: Standards Track
Expires: April 14, 2018 Expires: November 6, 2018
Support for iCalendar Relationships Support for iCalendar Relationships
draft-ietf-calext-ical-relations-03 draft-ietf-calext-ical-relations-04
Abstract Abstract
This specification updates RELATED-TO defined in [RFC5545] and This specification updates RELATED-TO defined in [RFC5545] and
introduces new iCalendar properties LINK, CONCEPT and REFID to allow introduces new iCalendar properties LINK, CONCEPT and REFID to allow
better linking and grouping of iCalendar components and related data. better linking and grouping of iCalendar components and related data.
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted in full conformance with the
skipping to change at page 1, line 33 skipping to change at page 1, line 33
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/. Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on April 14, 2018. This Internet-Draft will expire on November 6, 2018.
Copyright Notice Copyright Notice
Copyright (c) 2017 IETF Trust and the persons identified as the Copyright (c) 2018 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(https://trustee.ietf.org/license-info) in effect on the date of (https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
skipping to change at page 3, line 23 skipping to change at page 3, line 23
and lag values and RELATED-TO is extended to allow URI values. These and lag values and RELATED-TO is extended to allow URI values. These
changes allow the RELATED-TO property to define a richer set of changes allow the RELATED-TO property to define a richer set of
relationships useful for project management. relationships useful for project management.
1.2. Grouped iCalendar relationships 1.2. Grouped iCalendar relationships
This specification defines a new REFID property which allows This specification defines a new REFID property which allows
arbitrary groups of entities to be associated with the same key arbitrary groups of entities to be associated with the same key
value. value.
REFID is used to identify a key allowing the association of tasks REFID is used to identify a key allowing the association of
that are related to the same object and retrieval of a task based on components that are related to the same object and retrieval of a
this key. This may be, for example, to identify the tasks associated component based on this key. This may be, for example, to identify
with a given project without having to communicate the task structure the tasks associated with a given project without having to
of the project, or, for example, in a package delivery system all communicate the task structure of the project, or, for example, in a
tasks associated to a specific package. package delivery system all tasks associated to a specific package.
As such, the presence of a REFID property imparts no meaning to the As such, the presence of a REFID property imparts no meaning to the
event. It is merely a key to allow retrieval. This is distinct from component. It is merely a key to allow retrieval. This is distinct
categorisation which, while allowing grouping also adds meaning to from categorisation which, while allowing grouping also adds meaning
the entity to which it is attached. to the component to which it is attached.
1.3. Concept relationships 1.3. Concept relationships
The name CONCEPT is used by the Simple Knowledge Organization System The name CONCEPT is used by the Simple Knowledge Organization System
defined in [W3C.CR-skos-reference-20090317]. This more accurately defined in [W3C.CR-skos-reference-20090317]. This more accurately
defines what we mean by a catgeory. It's not the words but the defines what we mean by a category. It's not the words but the
meaning. meaning.
The introduction of CONCEPT allows a more structured approach to The introduction of CONCEPT allows a more structured approach to
categorization, with the possibility of namespaced and path-like categorization, with the possibility of namespaced and path-like
values. Unlike REFID the CONCEPT property imparts some meaning. It values. Unlike REFID the CONCEPT property imparts some meaning. It
is assumed that the value of this property will reference a well is assumed that the value of this property will reference a well
defined category. defined category.
The current [RFC5545] CATEGORY property is used as a free form The current [RFC5545] CATEGORY property is used as a free form
'tagging' field. As such it is difficult to establish formal 'tagging' field. As such it is difficult to establish formal
skipping to change at page 4, line 28 skipping to change at page 4, line 28
the LINK header defined in [RFC5988] the LINK header defined in [RFC5988]
The LINK property defines a typed reference or relation to external The LINK property defines a typed reference or relation to external
meta-data or related resources. By providing type and format meta-data or related resources. By providing type and format
information as parameters, clients and servers are able to discover information as parameters, clients and servers are able to discover
interesting references and make use of them, perhaps for indexing or interesting references and make use of them, perhaps for indexing or
the presentation of interesting links for the user. the presentation of interesting links for the user.
It is often necessary to relate calendar components. The current It is often necessary to relate calendar components. The current
RELATED-TO property only allows for a UID which is inadequate for RELATED-TO property only allows for a UID which is inadequate for
many purposes. Allowing other types may help but might raise a many purposes. Allowing other value types for that property may help
number of backward compatibility issues. The link property can link but might raise a number of backward compatibility issues. The link
components in different collections or even on different servers. property can link components in different collections or even on
different servers.
When publishing events it is useful to be able to refer back to the When publishing events it is useful to be able to refer back to the
source of that information. The actual event may have been consumed source of that information. The actual event may have been consumed
from a feed or an ics file on a web site. A LINK property can from a feed or an ics file on a web site. A LINK property can
provide a reference to the originator of the event. provide a reference to the originator of the event.
Beyond the need to relate elements temporally, project management Beyond the need to relate elements temporally, project management
tools often need to be able to specify the relationships between the tools often need to be able to specify the relationships between the
various events and tasks which make up a project. The LINK property various events and tasks which make up a project. The LINK property
provides such a mechanism. provides such a mechanism.
skipping to change at page 5, line 37 skipping to change at page 5, line 37
UID: This allows for linking within a single collection and the UID: This allows for linking within a single collection and the
value is assumed to be another component within that collection. value is assumed to be another component within that collection.
REFERENCE: An xpointer. In an XML environment it may be necessary REFERENCE: An xpointer. In an XML environment it may be necessary
to refer to an external XML artifact. The XPointer is defined in to refer to an external XML artifact. The XPointer is defined in
[W3C.WD-xptr-xpointer-20021219] and allows addressing portions of [W3C.WD-xptr-xpointer-20021219] and allows addressing portions of
XML documents. XML documents.
3. Link Relation Types 3. Link Relation Types
[RFC5988] defines two form of relation types, registered and [RFC5988] defines two forms of relation type, registered and
extension. Registered relation types are added to a registry defined extension. Registered relation types are added to a registry defined
by [RFC5988] while extension relation types are specified as unique by [RFC5988] while extension relation types are specified as unique
unregistered URIs, (at least unregistered in the [RFC5988] registry). unregistered URIs, (at least unregistered in the [RFC5988] registry).
The relation types defined here will be registered with IANA in The relation types defined here will be registered with IANA in
accordance with the specifications in [RFC5988]. accordance with the specifications in [RFC5988].
4. Redefined Relation Type Value 4. Redefined Relation Type Value
Relationship parameter type values are defined in section 3.2.15. of Relationship parameter type values are defined in section 3.2.15. of
skipping to change at page 6, line 13 skipping to change at page 6, line 13
depends. depends.
Format Definition: Format Definition:
This property parameter is defined by the following notation: This property parameter is defined by the following notation:
reltypeparam = "RELTYPE" "=" reltypeparam = "RELTYPE" "="
("PARENT" ; Parent relationship - Default ("PARENT" ; Parent relationship - Default
/ "CHILD" ; Child relationship / "CHILD" ; Child relationship
/ "SIBLING" ; Sibling relationship / "SIBLING" ; Sibling relationship
/ "DEPENDS-ON" ; refers to previous task / "DEPENDS-ON" ; refers to previous component
/ "REFID" ; Relationship based on REFID / "REFID" ; Relationship based on REFID
/ "CONCEPT" / "CONCEPT"
; Relationship based on CONCEPT ; Relationship based on CONCEPT
/ "FINISHTOSTART" ; Temporal relationship / "FINISHTOSTART" ; Temporal relationship
/ "FINISHTOFINISH" ; Temporal relationship / "FINISHTOFINISH" ; Temporal relationship
/ "STARTTOFINISH" ; Temporal relationship / "STARTTOFINISH" ; Temporal relationship
/ "STARTTOSTART" ; Temporal relationship / "STARTTOSTART" ; Temporal relationship
/ iana-token ; Some other IANA-registered / iana-token ; Some other IANA-registered
; iCalendar relationship type ; iCalendar relationship type
/ x-name) ; A non-standard, experimental / x-name) ; A non-standard, experimental
skipping to change at page 17, line 48 skipping to change at page 17, line 48
+--------+---------+-------------+ +--------+---------+-------------+
11. Acknowledgements 11. Acknowledgements
The author would like to thank the members of the Calendaring and The author would like to thank the members of the Calendaring and
Scheduling Consortium technical committees and the following Scheduling Consortium technical committees and the following
individuals for contributing their ideas, support and comments: individuals for contributing their ideas, support and comments:
Adrian Apthorp, Cyrus Daboo, Marten Gajda, Ken Murchison Adrian Apthorp, Cyrus Daboo, Marten Gajda, Ken Murchison
The author would also like to thank the Calendaring and Scheduling The author would also like to thank CalConnect, the Calendaring and
Consortium for advice with this specification. Scheduling Consortium for advice with this specification.
12. Normative References 12. Normative References
[I-D.daboo-caldav-attachments] [I-D.daboo-caldav-attachments]
Daboo, C. and A. Quillaud, "CalDAV Managed Attachments", Daboo, C. and A. Quillaud, "CalDAV Managed Attachments",
draft-daboo-caldav-attachments-03 (work in progress), draft-daboo-caldav-attachments-03 (work in progress),
February 2014. February 2014.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, Requirement Levels", BCP 14, RFC 2119,
 End of changes. 12 change blocks. 
22 lines changed or deleted 23 lines changed or added

This html diff was produced by rfcdiff 1.46. The latest version is available from http://tools.ietf.org/tools/rfcdiff/