| < draft-ietf-calext-ical-relations-09.txt | draft-ietf-calext-ical-relations-10.txt > | |||
|---|---|---|---|---|
| Network Working Group M. Douglass | Network Working Group M. Douglass | |||
| Internet-Draft Bedework | Internet-Draft Bedework | |||
| Updates: 5545 (if approved) 23 January 2022 | Updates: 5545 (if approved) 27 February 2022 | |||
| Intended status: Standards Track | Intended status: Standards Track | |||
| Expires: 27 July 2022 | Expires: 31 August 2022 | |||
| Support for iCalendar Relationships | Support for iCalendar Relationships | |||
| draft-ietf-calext-ical-relations-09 | draft-ietf-calext-ical-relations-10 | |||
| Abstract | Abstract | |||
| This specification updates the iCalendar RELATED-TO property by | This specification updates the iCalendar RELATED-TO property defined | |||
| adding new relation types and introduces new iCalendar properties | in RFC5545 by adding new relation types and introduces new iCalendar | |||
| LINK, CONCEPT and REFID to allow better linking and grouping of | properties LINK, CONCEPT and REFID to allow better linking and | |||
| iCalendar components and related data. | 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 | |||
| provisions of BCP 78 and BCP 79. | provisions of BCP 78 and BCP 79. | |||
| 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 27 July 2022. | This Internet-Draft will expire on 31 August 2022. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2022 IETF Trust and the persons identified as the | Copyright (c) 2022 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 (https://trustee.ietf.org/ | Provisions Relating to IETF Documents (https://trustee.ietf.org/ | |||
| license-info) in effect on the date of publication of this document. | license-info) in effect on the date of publication of this document. | |||
| Please review these documents carefully, as they describe your rights | Please review these documents carefully, as they describe your rights | |||
| skipping to change at page 2, line 14 ¶ | skipping to change at page 2, line 14 ¶ | |||
| Table of Contents | Table of Contents | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | |||
| 1.1. Structured iCalendar relationships . . . . . . . . . . . 3 | 1.1. Structured iCalendar relationships . . . . . . . . . . . 3 | |||
| 1.2. Grouped iCalendar relationships . . . . . . . . . . . . . 3 | 1.2. Grouped iCalendar relationships . . . . . . . . . . . . . 3 | |||
| 1.3. Concept relationships . . . . . . . . . . . . . . . . . . 3 | 1.3. Concept relationships . . . . . . . . . . . . . . . . . . 3 | |||
| 1.4. Linked relationships . . . . . . . . . . . . . . . . . . 4 | 1.4. Linked relationships . . . . . . . . . . . . . . . . . . 4 | |||
| 1.5. Caching and offline use . . . . . . . . . . . . . . . . . 5 | 1.5. Caching and offline use . . . . . . . . . . . . . . . . . 5 | |||
| 1.6. Conventions Used in This Document . . . . . . . . . . . . 5 | 1.6. Conventions Used in This Document . . . . . . . . . . . . 5 | |||
| 2. Reference Types . . . . . . . . . . . . . . . . . . . . . . . 5 | 2. LINK Property Reference Types . . . . . . . . . . . . . . . . 5 | |||
| 3. Link Relation Types . . . . . . . . . . . . . . . . . . . . . 6 | 3. Link Relation Types . . . . . . . . . . . . . . . . . . . . . 6 | |||
| 4. New temporal RELTYPE Parameter values . . . . . . . . . . . . 6 | 4. New temporal RELTYPE Parameter values . . . . . . . . . . . . 6 | |||
| 5. Additional New RELTYPE Parameter Values . . . . . . . . . . . 7 | 5. Additional New RELTYPE Parameter Values . . . . . . . . . . . 8 | |||
| 6. New Property Parameters . . . . . . . . . . . . . . . . . . . 8 | 6. New Property Parameters . . . . . . . . . . . . . . . . . . . 8 | |||
| 6.1. Link Relation . . . . . . . . . . . . . . . . . . . . . . 8 | 6.1. Link Relation . . . . . . . . . . . . . . . . . . . . . . 9 | |||
| 6.2. Gap . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 | 6.2. Gap . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 | |||
| 7. New Value Data Types . . . . . . . . . . . . . . . . . . . . 9 | 7. New Value Data Types . . . . . . . . . . . . . . . . . . . . 10 | |||
| 8. New Properties . . . . . . . . . . . . . . . . . . . . . . . 9 | 8. New Properties . . . . . . . . . . . . . . . . . . . . . . . 11 | |||
| 8.1. Concept . . . . . . . . . . . . . . . . . . . . . . . . . 9 | 8.1. Concept . . . . . . . . . . . . . . . . . . . . . . . . . 11 | |||
| 8.2. Link . . . . . . . . . . . . . . . . . . . . . . . . . . 10 | 8.2. Link . . . . . . . . . . . . . . . . . . . . . . . . . . 12 | |||
| 8.3. Refid . . . . . . . . . . . . . . . . . . . . . . . . . . 12 | 8.3. Refid . . . . . . . . . . . . . . . . . . . . . . . . . . 13 | |||
| 9. Updates to RFC 5545 . . . . . . . . . . . . . . . . . . . . . 13 | 9. Updates to RFC 5545 . . . . . . . . . . . . . . . . . . . . . 14 | |||
| 9.1. RELATED-TO . . . . . . . . . . . . . . . . . . . . . . . 13 | 9.1. RELATED-TO . . . . . . . . . . . . . . . . . . . . . . . 14 | |||
| 10. Security Considerations . . . . . . . . . . . . . . . . . . . 15 | 10. Security Considerations . . . . . . . . . . . . . . . . . . . 17 | |||
| 11. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 16 | 11. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 17 | |||
| 11.1. iCalendar Property Registrations . . . . . . . . . . . . 16 | 11.1. iCalendar Property Registrations . . . . . . . . . . . . 17 | |||
| 11.2. iCalendar Property Parameter Registrations . . . . . . . 16 | 11.2. iCalendar Property Parameter Registrations . . . . . . . 18 | |||
| 11.3. iCalendar Value Data Type Registrations . . . . . . . . 16 | 11.3. iCalendar Value Data Type Registrations . . . . . . . . 18 | |||
| 11.4. iCalendar RELTYPE Value Registrations . . . . . . . . . 17 | 11.4. iCalendar RELTYPE Value Registrations . . . . . . . . . 18 | |||
| 11.5. New Reference Type Registration . . . . . . . . . . . . 17 | 11.5. New Reference Type Registration . . . . . . . . . . . . 19 | |||
| 12. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 18 | 12. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 19 | |||
| 13. References . . . . . . . . . . . . . . . . . . . . . . . . . 18 | 13. References . . . . . . . . . . . . . . . . . . . . . . . . . 20 | |||
| 13.1. Informative References . . . . . . . . . . . . . . . . . 18 | 13.1. Informative References . . . . . . . . . . . . . . . . . 20 | |||
| 13.2. Normative References . . . . . . . . . . . . . . . . . . 18 | 13.2. Normative References . . . . . . . . . . . . . . . . . . 20 | |||
| Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 19 | Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 21 | |||
| 1. Introduction | 1. Introduction | |||
| iCalendar entities defined in [RFC5545] often need to be related to | iCalendar entities defined in [RFC5545] often need to be related to | |||
| each other or to associated meta-data. The specifications below | each other or to associated meta-data. The specifications below | |||
| support relationships of the following forms: | support relationships of the following forms: | |||
| Structured iCalendar: iCalendar entities can be related to each | Structured iCalendar: iCalendar entities can be related to each | |||
| other in some structured way, for example as parent, sibling, | other in some structured way, for example as parent, sibling, | |||
| before, after. | before, after. | |||
| skipping to change at page 3, line 14 ¶ | skipping to change at page 3, line 14 ¶ | |||
| as a group. CATEGORIES are often used for this purpose but are | as a group. CATEGORIES are often used for this purpose but are | |||
| problematic for application developers due to their lack of | problematic for application developers due to their lack of | |||
| consistency and use as a free-form tag. | consistency and use as a free-form tag. | |||
| Linked: Entities can be linked to other entities such as vcards | Linked: Entities can be linked to other entities such as vcards | |||
| through a URI and associated REL and FMTTYPE parameters. | through a URI and associated REL and FMTTYPE parameters. | |||
| 1.1. Structured iCalendar relationships | 1.1. Structured iCalendar relationships | |||
| The iCalendar [RFC5545] RELATED-TO property has no support for | The iCalendar [RFC5545] RELATED-TO property has no support for | |||
| temporal relationships as used by standard project management tools. | temporal relationships as used by project management tools. | |||
| The RELTYPE parameter is extended to take new values defining | The RELTYPE parameter is extended to take new values defining | |||
| temporal relationships, a GAP parameter is defined to provide lead | temporal relationships, a GAP parameter is defined to provide lead | |||
| and lag values, and RELATED-TO is extended to allow URI values. | 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 | These 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 | REFID is used to identify a key allowing the association of | |||
| components that are related to the same object and retrieval of a | components that are all related to the referring, aggregating | |||
| component based on this key. Two examples of how this may be used | component and the retrieval of components based on this key. For | |||
| are to identify the tasks associated with a given project without | example, this may be used to identify the tasks associated with a | |||
| having to communicate the task structure of the project, and to group | given project without having to communicate the task structure of the | |||
| all tasks associated to a specific package in a package delivery | project. A further example is the grouping of all sub-tasks | |||
| system. | associated with the delivery of a specific package in a package | |||
| delivery system. | ||||
| 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 | |||
| component. It is merely a key to allow retrieval. This is distinct | component. It is merely a key to allow retrieval. This is distinct | |||
| from categorisation which, while allowing grouping also adds meaning | from categorisation which, while allowing grouping also adds meaning | |||
| to the component 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.REC-skos-reference-20090818]. The term "concept" | defined in [W3C.REC-skos-reference-20090818]. The term "concept" | |||
| skipping to change at page 4, line 12 ¶ | skipping to change at page 4, line 12 ¶ | |||
| the text string that is important but the meaning attached to it. | the text string that is important but the meaning attached to it. | |||
| For example, the term "football" can mean very different sports. | For example, the term "football" can mean very different sports. | |||
| 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. These values have some meaning to those who apply | |||
| relationships between components based on their category. | them but not necessarily to any consumer. As such it is difficult to | |||
| establish formal relationships between components based on their | ||||
| category. | ||||
| Rather than attempt to add semantics to the CATEGORY property it | Rather than attempt to add semantics to the CATEGORY property it | |||
| seems best to continue its usage as an informal tag and establish a | seems best to continue its usage as an informal tag and establish a | |||
| new CONCEPT property with more constraints. | new CONCEPT property with more constraints. | |||
| 1.4. Linked relationships | 1.4. Linked relationships | |||
| The currently existing iCalendar standard [RFC5545] lacks a general | The currently existing iCalendar standard [RFC5545] lacks a general | |||
| purpose method for referencing additional, external information | purpose method for referencing additional, external information | |||
| relating to calendar components. | relating to calendar components. | |||
| This document proposes a method for referencing typed external | This document proposes a method for referencing typed external | |||
| information that can provide additional information about an | information that can provide additional information about an | |||
| iCalendar component. This new LINK property is closely aligned to | iCalendar component. This new LINK property is closely aligned to | |||
| the LINK header defined in [RFC8288] | [RFC8288] which defines the generic concept of Web Linking as well as | |||
| its expression in the HTTP LINK header field. | ||||
| 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. | |||
| Calendar components are often grouped into collections to represent a | ||||
| calendar or a series of tasks, for example [RFC4791]' (CalDAV) | ||||
| calendar collections. | ||||
| It is also often necessary to reference calendar components in other | It is also often necessary to reference calendar components in other | |||
| collections. For example, a VEVENT might refer to a VTODO from which | collections. For example, a VEVENT might refer to a VTODO from which | |||
| it was derived. The PARENT, SIBLING and CHILD relationships defined | it was derived. The PARENT, SIBLING and CHILD relationships defined | |||
| for the RELATED-TO property only allow for a UID which is inadequate | for the RELATED-TO property only allow for a UID which is inadequate | |||
| for many purposes. Allowing other value types for those | for many purposes. Allowing other value types for those | |||
| relationships may help but would cause backward compatibility issues. | relationships may help but would cause backward compatibility issues. | |||
| The LINK property can link components in different collections or | The LINK property can link components in different collections or | |||
| even on different servers. | 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. | |||
| The LINK property MUST NOT be treated as just another attachment. | The LINK property MUST NOT be treated as just another attachment. | |||
| The ATTACH property defined in [RFC5545] is being extended to handle | The ATTACH property defined in [RFC5545] has been extended by | |||
| server-side management and stripping of inline data. Clients may | [RFC8607] to handle server-side management and stripping of inline | |||
| choose to handle attachments differently from the LINK property as | data and to provide additional data about the attachment (size, | |||
| they are often an integral part of the message - for example, the | filename etc). | |||
| agenda. | ||||
| For more information on managed attachments see [RFC8607] | Additionally clients may choose to handle attachments differently | |||
| from the LINK property as attachments are often an integral part of | ||||
| the message - for example, the agenda. | ||||
| 1.5. Caching and offline use | 1.5. Caching and offline use | |||
| To facilitate offline display the link type may identify important | ||||
| pieces of data which should be downloaded in advance. | ||||
| In general, the calendar entity should be self explanatory without | In general, the calendar entity should be self explanatory without | |||
| the need to download referenced meta-data such as a web page. | the need to download referenced meta-data such as a web page. | |||
| However, to facilitate offline display the link type may identify | ||||
| important pieces of data which should be downloaded in advance. | ||||
| 1.6. Conventions Used in This Document | 1.6. Conventions Used in This Document | |||
| The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
| "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY" and | "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY" and | |||
| "OPTIONAL" in this document are to be interpreted as described in BCP | "OPTIONAL" in this document are to be interpreted as described in BCP | |||
| 14 [RFC2119] [RFC8174] when, and only when, they appear in all | 14 [RFC2119] [RFC8174] when, and only when, they appear in all | |||
| capitals, as shown here. | capitals, as shown here. | |||
| 2. Reference Types | The notation used in this memo to (re-)define iCalendar elements is | |||
| the ABNF notation of [RFC5234] as used by [RFC5545]. Any syntax | ||||
| elements shown below that are not explicitly defined in this | ||||
| specification come from iCalendar [RFC5545]. | ||||
| The actual reference value can take three forms specified by the type | 2. LINK Property Reference Types | |||
| parameter | ||||
| URI: The default type. This is a URI referring to the target. | The reference value in the LINK property defined below can take three | |||
| forms specified by the VALUE parameter: | ||||
| UID: This allows for linking within a single collection and the | URI: This is a URI referring to the target. | |||
| value MUST be another component within that collection. | ||||
| REFERENCE: In an XML environment it may be necessary to refer to a | UID: This allows for linking within a single collection of calendar | |||
| fragment of an external XML artifact. This value is a URI with an | components and the value MUST refer to another component within | |||
| XPointer anchor value. The XPointer is defined in | the same collection. | |||
| [W3C.WD-xptr-xpointer-20021219] and it's use as an anchor is | ||||
| XML-REFERENCE: In an XML environment it may be necessary to refer to | ||||
| a fragment of an external XML artifact. This value is a URI with | ||||
| an XPointer anchor value. The XPointer is defined in | ||||
| [W3C.WD-xptr-xpointer-20021219] and its use as an anchor is | ||||
| defined in [W3C.REC-xptr-framework-20030325] | defined in [W3C.REC-xptr-framework-20030325] | |||
| Note that UID references may need updating on import. An example, is | ||||
| data to be imported from a file containing VTODO and VEVENT | ||||
| components with a VTODO referring to VEVENT components by UID. When | ||||
| imported into a CalDAV system, the VTODO components are typically | ||||
| placed in a different collection from the VEVENT components. This | ||||
| would require the UID reference to be replaced with a URI. | ||||
| 3. Link Relation Types | 3. Link Relation Types | |||
| [RFC8288] defines two forms of relation type: registered and | [RFC8288] defines two forms of relation type: registered and | |||
| extension. Registered relation types are added to the Link Relations | extension. Registered relation types are added to the Link Relations | |||
| registry as specified in Section 2.1.1 of [RFC8288]. Extension | registry as specified in Section 2.1.1 of [RFC8288]. Extension | |||
| relation types, defined in Section 2.1.2 of [RFC8288], are specified | relation types, defined in Section 2.1.2 of [RFC8288], are specified | |||
| as unique URIs that are not registered in the registry. | as unique URIs that are not registered in the registry. | |||
| The relation types defined in Section 6.1 will be registered with | The relation types defined in Section 6.1 will be registered with | |||
| IANA in accordance with the specifications in [RFC8288]. | IANA in accordance with the specifications in [RFC8288]. | |||
| skipping to change at page 6, line 26 ¶ | skipping to change at page 6, line 43 ¶ | |||
| 4. New temporal RELTYPE Parameter values | 4. New temporal RELTYPE Parameter values | |||
| This section defines the usual temporal relationships for use with | This section defines the usual temporal relationships for use with | |||
| the RELTYPE parameter defined in Section 3.2.15 of [RFC5545]: | the RELTYPE parameter defined in Section 3.2.15 of [RFC5545]: | |||
| FINISHTOSTART, FINISHTOFINISH, STARTTOFINISH or STARTTOSTART. | FINISHTOSTART, FINISHTOFINISH, STARTTOFINISH or STARTTOSTART. | |||
| The [RFC5545] RELATED-TO property with one or more of these temporal | The [RFC5545] RELATED-TO property with one or more of these temporal | |||
| relationships will be present in the predecessor entity and will | relationships will be present in the predecessor entity and will | |||
| refer to the successor entity. | refer to the successor entity. | |||
| The GAP parameter (see Section 6.2) specifies the lead or lag time | The GAP parameter (see Section 6.2) specifies the lead (a negative | |||
| between the predecessor and the successor. In the description of | value) or lag (a positive value) time between the predecessor and the | |||
| each temporal relationship below we refer to Task-A, which contains | successor. | |||
| and controls the relationship, and Task-B the target of the | ||||
| relationship. | In the description of each temporal relationship below we refer to | |||
| Task-A, which contains and controls the relationship, and Task-B the | ||||
| target of the relationship. This is indicated by the direction of | ||||
| the arrow in the diagrams below. | ||||
| Also each relationship may be modified by the addition of a GAP | ||||
| parameter to the relationship which applies to the targeted | ||||
| component. | ||||
| RELTYPE=FINISHTOSTART: Task-B cannot start until Task-A finishes. | RELTYPE=FINISHTOSTART: Task-B cannot start until Task-A finishes. | |||
| For example, when sanding is complete, painting can begin. | For example, when painting is complete, carpet-laying can begin. | |||
| ============ | ============ | |||
| | Task-A |--+ | | Task-A | | |||
| ============ | | ============ | |||
| | | | | |||
| V | V | |||
| ============ | ============ | |||
| | Task-B | | | Task-B | | |||
| ============ | ============ | |||
| Figure 1: Finish to start relationship | Figure 1: Finish to start relationship | |||
| RELTYPE=FINISHTOFINISH: Task-B can only be completed after Task-A is | RELTYPE=FINISHTOFINISH: Task-B can only be completed after Task-A is | |||
| finished. The related tasks may run in parallel before | finished. The related tasks may run in parallel before | |||
| completion. | completion. | |||
| For example, if the goal is to prepare a meal, we start the | For example, in the development of two related pieces of software, | |||
| potatoes, then the meat then the peas but they should all be | e.g. the api and the implementation, the design of the | |||
| cooked at the same time. | implementation (B) cannot be completed until the design of the api | |||
| (A) has been completed. | ||||
| ================== | ================== | |||
| | Task-A |--+ | | Task-A |--+ | |||
| ================== | | ================== | | |||
| | | | | |||
| ============ | | ============ | | |||
| | Task-B |<-+ | | Task-B |<-+ | |||
| ============ | ============ | |||
| Figure 2: Finish to finish relationship | Figure 2: Finish to finish relationship | |||
| RELTYPE=STARTTOFINISH: The start of Task-A (which occurs after Task- | RELTYPE=STARTTOFINISH: The start of Task-A (which occurs after Task- | |||
| B) controls the finish of Task-B. For example, ticket sales | B) controls the finish of Task-B. For example, ticket sales | |||
| (Task-B) end when the game starts (Task-A). | (Task-B) end after the game starts (Task-A). | |||
| ============ | ============ | |||
| +--| Task-A | | +--| Task-A | | |||
| | ============ | | ============ | |||
| | | +---------+ | |||
| ============ | | ============ | | |||
| | Task-B |<-+ | | Task-B |<-+ | |||
| ============ | ============ | |||
| Figure 3: Start to finish relationship | Figure 3: Start to finish relationship | |||
| RELTYPE=STARTTOSTART: The start of Task-A triggers the start of | RELTYPE=STARTTOSTART: The start of Task-A triggers the start of | |||
| Task-B, that is Task-B can start anytime after Task-A starts. | Task-B, that is Task-B can start anytime after Task-A starts. | |||
| ============ | ============ | |||
| skipping to change at page 7, line 47 ¶ | skipping to change at page 8, line 25 ¶ | |||
| +->| Task-B | | +->| Task-B | | |||
| ============ | ============ | |||
| Figure 4: Start to start relationship | Figure 4: Start to start relationship | |||
| 5. Additional New RELTYPE Parameter Values | 5. Additional New RELTYPE Parameter Values | |||
| This section defines the additional relationships below: | This section defines the additional relationships below: | |||
| RELTYPE=FIRST: Indicates that the referenced calendar component is | RELTYPE=FIRST: Indicates that the referenced calendar component is | |||
| the first in a series the referenced calendar component is part | the first in a series the referencing calendar component is part | |||
| of. | ||||
| RELTYPE=NEXT: Indicates that the referenced calendar component is | ||||
| the next in a series the referencing calendar component is part | ||||
| of. | of. | |||
| RELTYPE=DEPENDS-ON: Indicates that the current calendar component | RELTYPE=DEPENDS-ON: Indicates that the current calendar component | |||
| depends on the referenced calendar component in some manner. For | depends on the referenced calendar component in some manner. For | |||
| example a task may be blocked waiting on the other, referenced, | example a task may be blocked waiting on the other, referenced, | |||
| task. | task. | |||
| RELTYPE=REFID: Establishes a reference from the current component to | RELTYPE=REFID: Establishes a reference from the current component to | |||
| components with a REFID property which matches the value given in | components with a REFID property which matches the value given in | |||
| the associated RELATED-TO property. | the associated RELATED-TO property. | |||
| RELTYPE=CONCEPT: Establishes a reference from the current component | RELTYPE=CONCEPT: Establishes a reference from the current component | |||
| to components with a CONCEPT property which matches the value | to components with a CONCEPT property which matches the value | |||
| given in the associated RELATED-TO property. | given in the associated RELATED-TO property. | |||
| 6. New Property Parameters | Note that the relationship types of PARENT, CHILD and SIBLING | |||
| establish a hierarchical relationship. The new types of FIRST and | ||||
| NEXT are an ordering relationship. | ||||
| 6. New Property Parameters | ||||
| 6.1. Link Relation | 6.1. Link Relation | |||
| Parameter name: LINKREL | Parameter name: LINKREL | |||
| Purpose: To specify the relationship of data referenced by a LINK | Purpose: To specify the relationship of data referenced by a LINK | |||
| property. | property. | |||
| Format Definition: This parameter is defined by the following | Format Definition: This parameter is defined by the following | |||
| notation: | notation: | |||
| linkrelparam = "LINKREL" "=" | linkrelparam = "LINKREL" "=" | |||
| ("SOURCE" ; Link to source of this component | ("SOURCE" ; Link to source of this component | |||
| / DQUOTE uri DQUOTE | / DQUOTE uri DQUOTE | |||
| / iana-token) ; Other IANA registered type | / iana-token) ; Other IANA registered type | |||
| Description: This parameter MUST be specified on all LINK | Description: This parameter MUST be specified on all LINK | |||
| properties, and defines the type of reference. This allows | properties, and defines the type of reference. This allows | |||
| programs consuming this data to automatically scan for references | programs consuming this data to automatically scan for references | |||
| they support. There is no default relation type. | they support. There is no default relation type. | |||
| In addition to the values defined here any value defined in | In addition to the value defined here any link relation in the | |||
| [RFC8288] may be used. However these uses SHOULD be documented in | link registry established by [RFC8288], or new link relations, may | |||
| an RFC updating both [RFC5545] and [RFC8288] | be used. | |||
| LINKREL=SOURCE: identifies the source of the event information. | LINKREL=SOURCE: identifies the source of the event information. | |||
| Registration: These relation types are registered in [RFC8288] | Registration: These relation types are registered in [RFC8288] | |||
| 6.2. Gap | 6.2. Gap | |||
| Parameter name: GAP | Parameter name: GAP | |||
| Purpose: To specify the length of the gap, positive or negative, | Purpose: To specify the length of the gap, positive or negative, | |||
| between two temporaly related components. | between two components with a temporal relationship. | |||
| Format Definition: This parameter is defined by the following | Format Definition: This parameter is defined by the following | |||
| notation: | notation where dur-value is defined in section 3.3.6 of [RFC5545]. | |||
| : | ||||
| gapparam = "GAP" "=" dur-value | gapparam = "GAP" "=" dur-value | |||
| Description: This parameter MAY be specified on the RELATED-TO | Description: This parameter MAY be specified on the RELATED-TO | |||
| property, and defines the duration of time between the predecessor | property, and defines the duration of time between the predecessor | |||
| and successor in an interval. When positive it defines the lag | and successor in an interval. When positive it defines the lag | |||
| time between a task and its logical successor. When negative it | time between a task and its logical successor. When negative it | |||
| defines the lead time. | defines the lead time. | |||
| An example of lag time might be if task A is "paint the room" and | An example of lag time might be if task A is "paint the room" and | |||
| task B is "hang the drapes" then task A may be related to task B | task B is "lay the carpets" then task A may be related to task B | |||
| with RELTYPE=FINISHTOSTART with a gap long enough for the paint to | with RELTYPE=FINISHTOSTART with a gap of 1 day - long enough for | |||
| dry. | the paint to dry. | |||
| An example of lead time might be to relate a 1 week task A to the | ==================== | |||
| end of task B with RELTYPE=STARTTOFINISH and a negative gap of 1 | | Paint the room |--+ | |||
| week so they finish at the same time. | ==================== | | |||
| |(lag of one day) | ||||
| | | ||||
| | =============== | ||||
| +->| lay carpet | | ||||
| =============== | ||||
| Figure 5: Finish to start relationship with lag | ||||
| For an example of lead time, in constructing a two storey building | ||||
| the electrical work must be done before painting. However the | ||||
| painter can move in to the first floor as the electricians move | ||||
| upstairs. | ||||
| ===================== | ||||
| | Electrical work |--+ | ||||
| ===================== | | ||||
| +-------------+ | ||||
| |(lead of estimated time) | ||||
| | ================== | ||||
| +->| Painting | | ||||
| ================== | ||||
| Figure 6: Finish to start relationship with lead | ||||
| 7. New Value Data Types | 7. New Value Data Types | |||
| This specification defines the following new value types to be used | This specification defines the following new value types to be used | |||
| with the VALUE property parameter: | with the VALUE property parameter: | |||
| UID VALUE=UID indicates that the associated value is the UID for a | UID VALUE=UID indicates that the associated value is the UID for a | |||
| component. | component. | |||
| REFERENCE VALUE=REFERENCE indicates that the associated value | XML-REFERENCE VALUE=XML-REFERENCE indicates that the associated | |||
| references an associated XML artifact and is a URI with an | value references an associated XML artifact and is a URI with an | |||
| XPointer anchor value. The XPointer is defined in | XPointer anchor value. The XPointer is defined in | |||
| [W3C.WD-xptr-xpointer-20021219] and it's use as an anchor is | [W3C.WD-xptr-xpointer-20021219] and its use as an anchor is | |||
| defined in [W3C.REC-xptr-framework-20030325]. | defined in [W3C.REC-xptr-framework-20030325]. | |||
| 8. New Properties | 8. New Properties | |||
| 8.1. Concept | 8.1. Concept | |||
| Property name: CONCEPT | Property name: CONCEPT | |||
| Purpose: This property defines the formal categories for a calendar | Purpose: This property defines the formal categories for a calendar | |||
| component. | component. | |||
| skipping to change at page 10, line 13 ¶ | skipping to change at page 11, line 27 ¶ | |||
| specified on this property. | specified on this property. | |||
| Conformance: This property can be specified zero or more times in | Conformance: This property can be specified zero or more times in | |||
| any iCalendar component. | any iCalendar component. | |||
| Description: This property is used to specify formal categories or | Description: This property is used to specify formal categories or | |||
| classifications of the calendar component. The values are useful | classifications of the calendar component. The values are useful | |||
| in searching for a calendar component of a particular type and | in searching for a calendar component of a particular type and | |||
| category. | category. | |||
| Within the "VEVENT", "VTODO", or "VJOURNAL" calendar components, | ||||
| more than one formal category can be specified by using multiple | ||||
| CONCEPT properties. | ||||
| This categorization is distinct from the more informal "tagging" | This categorization is distinct from the more informal "tagging" | |||
| of components provided by the existing CATEGORIES property. It is | of components provided by the existing CATEGORIES property. It is | |||
| expected that the value of the CONCEPT property will reference an | expected that the value of the CONCEPT property will reference an | |||
| external resource which provides information about the | external resource which provides information about the | |||
| categorization. | categorization. | |||
| In addition, a structured URI value allows for hierarchical | In addition, a structured URI value allows for hierarchical | |||
| categorization of events. | categorization of events. | |||
| Possible category resources are the various proprietary systems, | Possible category resources are the various proprietary systems, | |||
| skipping to change at page 10, line 41 ¶ | skipping to change at page 11, line 51 ¶ | |||
| notation: | notation: | |||
| concept = "CONCEPT" conceptparam ":" | concept = "CONCEPT" conceptparam ":" | |||
| uri CRLF | uri CRLF | |||
| conceptparam = *(";" other-param) | conceptparam = *(";" other-param) | |||
| Example: The following is an example of this property. It points to | Example: The following is an example of this property. It points to | |||
| a server acting as the source for the calendar object. | a server acting as the source for the calendar object. | |||
| CONCEPT:http://example.com/event-types/arts/music | CONCEPT:https://example.com/event-types/arts/music | |||
| 8.2. Link | 8.2. Link | |||
| Property name: LINK | Property name: LINK | |||
| Purpose: This property provides a reference to external information | Purpose: This property provides a reference to external information | |||
| related to a component. | related to a component. | |||
| Value type: URI, TEXT or REFERENCE | Value type: URI, UID or XML-REFERENCE | |||
| Property Parameters: The VALUE parameter is required. Non-standard, | Property Parameters: The VALUE parameter is required. Non-standard, | |||
| reference type or format type parameters can also be specified on | link relation type, format type, label and language parameters can | |||
| this property. The LABEL parameter is defined in [RFC7986] | also be specified on this property. The LABEL parameter is | |||
| defined in [RFC7986]. | ||||
| Conformance: This property can be specified zero or more times in | Conformance: This property can be specified zero or more times in | |||
| any iCalendar component. | any iCalendar component. | |||
| Description: When used in a component the value of this property | Description: When used in a component the value of this property | |||
| points to additional information related to the component. For | points to additional information related to the component. For | |||
| example, it may reference the originating web server. | example, it may reference the originating web server. | |||
| Format Definition: This property is defined by the following | Format Definition: This property is defined by the following | |||
| notation: | notation: | |||
| link = "LINK" linkparam ":" | link = "LINK" linkparam ":" | |||
| ( uri / ; for VALUE=REFERENCE | ( uri / ; for VALUE=XML-REFERENCE | |||
| uri / ; for VALUE=URI | uri / ; for VALUE=URI | |||
| text ) ; for VALUE=TEXT | text ) ; for VALUE=UID | |||
| CRLF | CRLF | |||
| linkparam = ; the elements herein may appear in any order, | linkparam = ; the elements herein may appear in any order, | |||
| ; and the order is not significant. | ; and the order is not significant. | |||
| (";" "VALUE" "=" ("REFERENCE" / | (";" "VALUE" "=" ("XML-REFERENCE" / | |||
| "URI" / | "URI" / | |||
| "TEXT")) | "UID")) | |||
| 1*(";" linkrelparam) | 1*(";" linkrelparam) | |||
| (";" fmttypeparam) | 1*(";" fmttypeparam) | |||
| (";" labelparam) | 1*(";" labelparam) | |||
| (";" langparam) | 1*(";" languageparam) | |||
| *(";" other-param) | *(";" other-param) | |||
| This property is a serialisation of the model in [RFC8288], where | This property is a serialisation of the model in [RFC8288], where | |||
| the link target is carried in the property value, the link context | the link target is carried in the property value, the link context | |||
| is the containing calendar entity, and the link relation type and | is the containing calendar entity, and the link relation type and | |||
| any target attributes are carried in iCalendar property | any target attributes are carried in iCalendar property | |||
| parameters. | parameters. | |||
| The LINK property parameters map to [RFC8288] attributes as | The LINK property parameters map to [RFC8288] attributes as | |||
| follows: | follows: | |||
| LABEL: Maps to the "title" attribute defined in section 3.4.1 of | LABEL: Maps to the "title" attribute defined in section 3.4.1 of | |||
| [RFC8288]. | [RFC8288]. | |||
| LANG: Maps to the "hreflang" attribute defined in section 3.4.1 | LANGUAGE: Maps to the "hreflang" attribute defined in section | |||
| of [RFC8288]. | 3.4.1 of [RFC8288]. | |||
| LINKREL: Maps to the link relation type defined in section 2.1 of | LINKREL: Maps to the link relation type defined in section 2.1 of | |||
| [RFC8288]. | [RFC8288]. | |||
| FMTTYPE: Maps to the "type" attribute defined in section 3.4.1 of | FMTTYPE: Maps to the "type" attribute defined in section 3.4.1 of | |||
| [RFC8288]. | [RFC8288]. | |||
| There is no mapping for [RFC8288] "title*", "anchor", "rev" or | There is no mapping for [RFC8288] "title*", "anchor", "rev" or | |||
| "media". | "media". | |||
| Example: The following is an example of this property which provides | Example: The following is an example of this property which provides | |||
| a reference to the source for the calendar object. | a reference to the source for the calendar object. | |||
| LINK;LINKREL=SOURCE;LABEL=Venue;VALUE=URI:http://example.com/events | LINK;LINKREL=SOURCE;LABEL=Venue;VALUE=URI: | |||
| https://example.com/events | ||||
| Example: The following is an example of this property which provides | Example: The following is an example of this property which provides | |||
| a reference to an entity from which this one was derived. The | a reference to an entity from which this one was derived. The | |||
| link relation is a vendor defined value | link relation is a vendor defined value. | |||
| LINK;LINKREL="https://example.com/linkrel/derivedFrom";VALUE=URI: | LINK;LINKREL="https://example.com/linkrel/derivedFrom"; | |||
| http://example.com/tasks/01234567-abcd1234.ics | VALUE=URI: | |||
| https://example.com/tasks/01234567-abcd1234.ics | ||||
| Example: The following is an example of this property which provides | Example: The following is an example of this property which provides | |||
| a reference to a fragment of an XML document. The link relation | a reference to a fragment of an XML document. The link relation | |||
| is a vendor defined value | is a vendor defined value. | |||
| LINK;LINKREL="https://example.com/linkrel/costStructure"; | LINK;LINKREL="https://example.com/linkrel/costStructure"; | |||
| VALUE=REFERENCE: | VALUE=XML-REFERENCE: | |||
| http://example.com/xmlDocs/bidFramework.xml | https://example.com/xmlDocs/bidFramework.xml | |||
| #xpointer(descendant::CostStruc/range-to(following::CostStrucEND[1])) | #xpointer(descendant::CostStruc/range-to( | |||
| following::CostStrucEND[1])) | ||||
| 8.3. Refid | 8.3. Refid | |||
| Property name: REFID | Property name: REFID | |||
| Purpose: This property value acts as a key for associated iCalendar | Purpose: This property value acts as a key for associated iCalendar | |||
| entities. | entities. | |||
| Value type: TEXT | Value type: TEXT | |||
| skipping to change at page 13, line 26 ¶ | skipping to change at page 14, line 36 ¶ | |||
| The current link registry | The current link registry | |||
| Example: The following is an example of this property. | Example: The following is an example of this property. | |||
| REFID:itinerary-2014-11-17 | REFID:itinerary-2014-11-17 | |||
| 9. Updates to RFC 5545 | 9. Updates to RFC 5545 | |||
| This specification updates the RELATED-TO property defined in | This specification updates the RELATED-TO property defined in | |||
| Section 3.8.4.5 of [RFC5545]. | Section 3.8.4.5 of [RFC5545]. The contents of Section 9.1 replace | |||
| that section. | ||||
| The RELTYPE parameter is extended to take new values defining | The RELTYPE parameter is extended to take new values defining | |||
| temporal relationships, a GAP parameter is defined to provide lead | temporal relationships, a GAP parameter is defined to provide lead | |||
| and lag values, and RELATED-TO is extended to allow URI values. | 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 | These changes allow the RELATED-TO property to define a richer set of | |||
| relationships useful for project management. | relationships useful for project management. | |||
| 9.1. RELATED-TO | 9.1. RELATED-TO | |||
| Property name: RELATED-TO | Property Name: RELATED-TO | |||
| Purpose: This property is used to represent a relationship or | Purpose: This property is used to represent a relationship or | |||
| reference between one calendar component and another. The | reference between one calendar component and another. The | |||
| definition here extends the definition in Section 3.8.4.5 of | definition here extends the definition in Section 3.8.4.5 of | |||
| [RFC5545] by allowing URI or UID values and a GAP parameter. | [RFC5545] by allowing URI or UID values and a GAP parameter. | |||
| Value type: URI, UID or TEXT | Value Type: URI, UID or TEXT | |||
| Property Parameters: Relationship type, IANA and non-standard | Property Parameters: Relationship type, IANA and non-standard | |||
| property parameters can be specified on this property. | property parameters can be specified on this property. | |||
| Conformance: This property MAY be specified in any iCalendar | Conformance: This property MAY be specified in any iCalendar | |||
| component. | component. | |||
| Description: By default or when VALUE=UID is specified, the property | Description: By default or when VALUE=UID is specified, the property | |||
| value consists of the persistent, globally unique identifier of | value consists of the persistent, globally unique identifier of | |||
| another calendar component. This value would be represented in a | another calendar component. This value would be represented in a | |||
| skipping to change at page 14, line 32 ¶ | skipping to change at page 15, line 43 ¶ | |||
| indicates that the calendar component is a peer of the referenced | indicates that the calendar component is a peer of the referenced | |||
| calendar component. | calendar component. | |||
| To preserve backwards compatibility the value type MUST be UID | To preserve backwards compatibility the value type MUST be UID | |||
| when the PARENT, SIBLING or CHILD relationships are specified. | when the PARENT, SIBLING or CHILD relationships are specified. | |||
| The FINISHTOSTART, FINISHTOFINISH, STARTTOFINISH or STARTTOSTART | The FINISHTOSTART, FINISHTOFINISH, STARTTOFINISH or STARTTOSTART | |||
| relationships define temporal relationships as specified in the | relationships define temporal relationships as specified in the | |||
| reltype parameter definition. | reltype parameter definition. | |||
| The FIRST and NEXT define ordering relationships between calendar | ||||
| components. | ||||
| The DEPENDS-ON relationship indicates that the current calendar | ||||
| component depends on the referenced calendar component in some | ||||
| manner. For example a task may be blocked waiting on the other, | ||||
| referenced, task. | ||||
| The REFID and CONCEPT relationships establish a reference from the | ||||
| current component to the referenced component. | ||||
| Changes to a calendar component referenced by this property can | Changes to a calendar component referenced by this property can | |||
| have an implicit impact on the related calendar component. For | have an implicit impact on the related calendar component. For | |||
| example, if a group event changes its start or end date or time, | example, if a group event changes its start or end date or time, | |||
| then the related, dependent events will need to have their start | then the related, dependent events will need to have their start | |||
| and end dates changed in a corresponding way. Similarly, if a | and end dates changed in a corresponding way. Similarly, if a | |||
| PARENT calendar component is cancelled or deleted, then there is | PARENT calendar component is cancelled or deleted, then there is | |||
| an implied impact to the related CHILD calendar components. This | an implied impact to the related CHILD calendar components. This | |||
| property is intended only to provide information on the | property is intended only to provide information on the | |||
| relationship of calendar components. It is up to the target | relationship of calendar components. | |||
| calendar system to maintain any property implications of this | ||||
| relationship. | Deletion of the target component, for example the target of a | |||
| FIRST, NEXT or temporal relationship can result in broken links. | ||||
| It is up to the target calendar system to maintain any property | ||||
| implications of these relationships. | ||||
| Format Definition: This property is defined by the following | Format Definition: This property is defined by the following | |||
| notation: | notation: | |||
| related = "RELATED-TO" relparam ":" | related = "RELATED-TO" relparam ":" | |||
| ( uid / ; for VALUE=UID | ( text / ; for VALUE=UID | |||
| uri / ; for VALUE=URI | uri / ; for VALUE=URI | |||
| text ) ; for VALUE=TEXT or default | text ) ; for VALUE=TEXT or default | |||
| CRLF | CRLF | |||
| relparam = ; the elements herein may appear in any order, | relparam = ; the elements herein may appear in any order, | |||
| ; and the order is not significant. | ; and the order is not significant. | |||
| [";" "VALUE" "=" ("UID" / | [";" "VALUE" "=" ("UID" / | |||
| "URI" / | "URI" / | |||
| "TEXT")] | "TEXT")] | |||
| [";" reltypeparam] | [";" reltypeparam] | |||
| [";" gapparam] | [";" gapparam] | |||
| *(";" other-param) | *(";" other-param) | |||
| Example: The following are examples of this property. | Example: The following are examples of this property. | |||
| RELATED-TO:jsmith.part7.19960817T083000.xyzMail@example.com | RELATED-TO:jsmith.part7.19960817T083000.xyzMail@example.com | |||
| RELATED-TO:19960401-080045-4000F192713-0052@example.com | RELATED-TO:19960401-080045-4000F192713-0052@example.com | |||
| RELATED-TO;VALUE=URI;RELTYPE=STARTTOFINISH: | RELATED-TO;VALUE=URI;RELTYPE=STARTTOFINISH: | |||
| http://example.com/caldav/user/jb/cal/ | https://example.com/caldav/user/jb/cal/ | |||
| 19960401-080045-4000F192713.ics | 19960401-080045-4000F192713.ics | |||
| 10. Security Considerations | 10. Security Considerations | |||
| All of the security considerations of section 7 pf [RFC5545] apply to | ||||
| this specification. | ||||
| Applications using the LINK property need to be aware of the risks | Applications using the LINK property need to be aware of the risks | |||
| entailed in using the URIs provided as values. See section 7 of | entailed in using the URIs provided as values. See section 7 of | |||
| [RFC3986] for a discussion of the security considerations relating to | [RFC3986] for a discussion of the security considerations relating to | |||
| URIs. | URIs. | |||
| In particular note section 7.1 "Reliability and Consistency" of | In particular note section 7.1 "Reliability and Consistency" of | |||
| [RFC3986] which points out the lack of a stability guarantee for | [RFC3986] which points out the lack of a stability guarantee for | |||
| referenced resources. | referenced resources. | |||
| When the value is a REFERENCE type the targeted data is an XML | When the value is an XML-REFERENCE type the targeted data is an XML | |||
| document or portion thereof. Consumers need to be aware of the | document or portion thereof. Consumers need to be aware of the | |||
| security issues related to XML processing - in particular those | security issues related to XML processing - in particular those | |||
| related to XML entities. See [RFC4918] - Section 20.6. Additionally | related to XML entities. See [RFC4918] - Section 20.6. Additionally | |||
| note that the reference may be invalid or become so over time. | note that the reference may be invalid or become so over time. | |||
| The CONCEPT and redefined RELATED-TO property have the same issues in | The CONCEPT and redefined RELATED-TO property have the same issues in | |||
| that values may be URIs. | that values may be URIs. | |||
| Extremely large values for the GAP parameter may lead to unexpected | ||||
| behavior. | ||||
| 11. IANA Considerations | 11. IANA Considerations | |||
| 11.1. iCalendar Property Registrations | 11.1. iCalendar Property Registrations | |||
| The following iCalendar property names have been added to the | The following iCalendar property names have been added to the | |||
| iCalendar Properties Registry defined in Section 8.3.2 of [RFC5545] | iCalendar Properties Registry defined in Section 8.3.2 of [RFC5545]. | |||
| IANA has also added a reference to this document where the properties | IANA has also added a reference to this document where the properties | |||
| originally defined in [RFC5545] have been updated by this document. | originally defined in [RFC5545] have been updated by this document. | |||
| +============+=========+========================+ | +============+=========+========================+ | |||
| | Property | Status | Reference | | | Property | Status | Reference | | |||
| +============+=========+========================+ | +============+=========+========================+ | |||
| | CONCEPT | Current | Section 8.1 | | | CONCEPT | Current | Section 8.1 | | |||
| +------------+---------+------------------------+ | +------------+---------+------------------------+ | |||
| | LINK | Current | Section 8.2 | | | LINK | Current | Section 8.2 | | |||
| +------------+---------+------------------------+ | +------------+---------+------------------------+ | |||
| skipping to change at page 16, line 32 ¶ | skipping to change at page 18, line 9 ¶ | |||
| +------------+---------+------------------------+ | +------------+---------+------------------------+ | |||
| | RELATED-TO | Current | [RFC5545], Section 9.1 | | | RELATED-TO | Current | [RFC5545], Section 9.1 | | |||
| +------------+---------+------------------------+ | +------------+---------+------------------------+ | |||
| Table 1 | Table 1 | |||
| 11.2. iCalendar Property Parameter Registrations | 11.2. iCalendar Property Parameter Registrations | |||
| The following iCalendar property parameter names have been added to | The following iCalendar property parameter names have been added to | |||
| the iCalendar Parameters Registry defined in Section 8.3.3 of | the iCalendar Parameters Registry defined in Section 8.3.3 of | |||
| [RFC5545] | [RFC5545]. | |||
| +===========+=========+=============+ | +===========+=========+=============+ | |||
| | Parameter | Status | Reference | | | Parameter | Status | Reference | | |||
| +===========+=========+=============+ | +===========+=========+=============+ | |||
| | GAP | Current | Section 6.2 | | | GAP | Current | Section 6.2 | | |||
| +-----------+---------+-------------+ | +-----------+---------+-------------+ | |||
| | LINKREL | Current | Section 6.1 | | | LINKREL | Current | Section 6.1 | | |||
| +-----------+---------+-------------+ | +-----------+---------+-------------+ | |||
| Table 2 | Table 2 | |||
| 11.3. iCalendar Value Data Type Registrations | 11.3. iCalendar Value Data Type Registrations | |||
| The following iCalendar property parameter names have been added to | The following iCalendar property parameter names have been added to | |||
| the iCalendar Value Data Types Registry defined in Section 8.3.4 of | the iCalendar Value Data Types Registry defined in Section 8.3.4 of | |||
| [RFC5545] | [RFC5545]. | |||
| +=================+=========+===========+ | +=================+=========+===========+ | |||
| | Value Data Type | Status | Reference | | | Value Data Type | Status | Reference | | |||
| +=================+=========+===========+ | +=================+=========+===========+ | |||
| | REFERENCE | Current | Section 7 | | | XML-REFERENCE | Current | Section 7 | | |||
| +-----------------+---------+-----------+ | +-----------------+---------+-----------+ | |||
| | UID | Current | Section 7 | | | UID | Current | Section 7 | | |||
| +-----------------+---------+-----------+ | +-----------------+---------+-----------+ | |||
| Table 3 | Table 3 | |||
| 11.4. iCalendar RELTYPE Value Registrations | 11.4. iCalendar RELTYPE Value Registrations | |||
| The following iCalendar "RELTYPE" values have been added to the | The following iCalendar "RELTYPE" values have been added to the | |||
| iCalendar Relationship Types Registry defined in Section 8.3.8 of | iCalendar Relationship Types Registry defined in Section 8.3.8 of | |||
| [RFC5545] | [RFC5545]. | |||
| +===================+=========+===========+ | +===================+=========+===========+ | |||
| | Relationship Type | Status | Reference | | | Relationship Type | Status | Reference | | |||
| +===================+=========+===========+ | +===================+=========+===========+ | |||
| | CONCEPT | Current | Section 5 | | | CONCEPT | Current | Section 5 | | |||
| +-------------------+---------+-----------+ | +-------------------+---------+-----------+ | |||
| | DEPENDS-ON | Current | Section 5 | | | DEPENDS-ON | Current | Section 5 | | |||
| +-------------------+---------+-----------+ | +-------------------+---------+-----------+ | |||
| | FINISHTOFINISH | Current | Section 4 | | | FINISHTOFINISH | Current | Section 4 | | |||
| +-------------------+---------+-----------+ | +-------------------+---------+-----------+ | |||
| | FINISHTOSTART | Current | Section 4 | | | FINISHTOSTART | Current | Section 4 | | |||
| +-------------------+---------+-----------+ | +-------------------+---------+-----------+ | |||
| | FIRST | Current | Section 5 | | | FIRST | Current | Section 5 | | |||
| +-------------------+---------+-----------+ | +-------------------+---------+-----------+ | |||
| | NEXT | Current | Section 5 | | ||||
| +-------------------+---------+-----------+ | ||||
| | REFID | Current | Section 5 | | | REFID | Current | Section 5 | | |||
| +-------------------+---------+-----------+ | +-------------------+---------+-----------+ | |||
| | STARTTOFINISH | Current | Section 4 | | | STARTTOFINISH | Current | Section 4 | | |||
| +-------------------+---------+-----------+ | +-------------------+---------+-----------+ | |||
| | STARTTOSTART | Current | Section 4 | | | STARTTOSTART | Current | Section 4 | | |||
| +-------------------+---------+-----------+ | +-------------------+---------+-----------+ | |||
| Table 4 | Table 4 | |||
| 11.5. New Reference Type Registration | 11.5. New Reference Type Registration | |||
| The following link relation values have been added to the Reference | The following link relation values have been added to the Reference | |||
| Types Registry defined in Section 6.2.2 of [RFC8288] | Types Registry defined in Section 6.2.2 of [RFC8288]. | |||
| +========+=========+=============+ | +========+=========+=============+ | |||
| | Name | Status | Reference | | | Name | Status | Reference | | |||
| +========+=========+=============+ | +========+=========+=============+ | |||
| | SOURCE | Current | Section 6.1 | | | SOURCE | Current | Section 6.1 | | |||
| +--------+---------+-------------+ | +--------+---------+-------------+ | |||
| Table 5 | Table 5 | |||
| 12. Acknowledgements | 12. Acknowledgements | |||
| The author would like to thank the members of the Calendaring and | The author would like to thank the members of CalConnect, the | |||
| Scheduling Consortium technical committees and the following | Calendaring and Scheduling Consortium technical committees and the | |||
| individuals for contributing their ideas, support and comments: | following 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 CalConnect, the Calendaring and | The author would also like to thank CalConnect, the Calendaring and | |||
| Scheduling Consortium for advice with this specification. | Scheduling Consortium for advice with this specification. | |||
| 13. References | 13. References | |||
| 13.1. Informative References | 13.1. Informative References | |||
| [RFC4791] Daboo, C., Desruisseaux, B., and L. Dusseault, | ||||
| "Calendaring Extensions to WebDAV (CalDAV)", RFC 4791, | ||||
| DOI 10.17487/RFC4791, March 2007, | ||||
| <https://www.rfc-editor.org/info/rfc4791>. | ||||
| [RFC8607] Daboo, C., Quillaud, A., and K. Murchison, Ed., | [RFC8607] Daboo, C., Quillaud, A., and K. Murchison, Ed., | |||
| "Calendaring Extensions to WebDAV (CalDAV): Managed | "Calendaring Extensions to WebDAV (CalDAV): Managed | |||
| Attachments", RFC 8607, DOI 10.17487/RFC8607, June 2019, | Attachments", RFC 8607, DOI 10.17487/RFC8607, June 2019, | |||
| <https://www.rfc-editor.org/info/rfc8607>. | <https://www.rfc-editor.org/info/rfc8607>. | |||
| 13.2. Normative References | 13.2. Normative References | |||
| [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, | |||
| DOI 10.17487/RFC2119, March 1997, | DOI 10.17487/RFC2119, March 1997, | |||
| skipping to change at page 19, line 5 ¶ | skipping to change at page 20, line 36 ¶ | |||
| [RFC3986] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform | [RFC3986] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform | |||
| Resource Identifier (URI): Generic Syntax", STD 66, | Resource Identifier (URI): Generic Syntax", STD 66, | |||
| RFC 3986, DOI 10.17487/RFC3986, January 2005, | RFC 3986, DOI 10.17487/RFC3986, January 2005, | |||
| <https://www.rfc-editor.org/info/rfc3986>. | <https://www.rfc-editor.org/info/rfc3986>. | |||
| [RFC4918] Dusseault, L., Ed., "HTTP Extensions for Web Distributed | [RFC4918] Dusseault, L., Ed., "HTTP Extensions for Web Distributed | |||
| Authoring and Versioning (WebDAV)", RFC 4918, | Authoring and Versioning (WebDAV)", RFC 4918, | |||
| DOI 10.17487/RFC4918, June 2007, | DOI 10.17487/RFC4918, June 2007, | |||
| <https://www.rfc-editor.org/info/rfc4918>. | <https://www.rfc-editor.org/info/rfc4918>. | |||
| [RFC5234] Crocker, D., Ed. and P. Overell, "Augmented BNF for Syntax | ||||
| Specifications: ABNF", STD 68, RFC 5234, | ||||
| DOI 10.17487/RFC5234, January 2008, | ||||
| <https://www.rfc-editor.org/info/rfc5234>. | ||||
| [RFC5545] Desruisseaux, B., Ed., "Internet Calendaring and | [RFC5545] Desruisseaux, B., Ed., "Internet Calendaring and | |||
| Scheduling Core Object Specification (iCalendar)", | Scheduling Core Object Specification (iCalendar)", | |||
| RFC 5545, DOI 10.17487/RFC5545, September 2009, | RFC 5545, DOI 10.17487/RFC5545, September 2009, | |||
| <https://www.rfc-editor.org/info/rfc5545>. | <https://www.rfc-editor.org/info/rfc5545>. | |||
| [RFC7986] Daboo, C., "New Properties for iCalendar", RFC 7986, | [RFC7986] Daboo, C., "New Properties for iCalendar", RFC 7986, | |||
| DOI 10.17487/RFC7986, October 2016, | DOI 10.17487/RFC7986, October 2016, | |||
| <https://www.rfc-editor.org/info/rfc7986>. | <https://www.rfc-editor.org/info/rfc7986>. | |||
| [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | |||
| skipping to change at page 19, line 48 ¶ | skipping to change at page 21, line 35 ¶ | |||
| 20021219, 19 December 2002, | 20021219, 19 December 2002, | |||
| <http://www.w3.org/TR/2002/WD-xptr-xpointer-20021219>. | <http://www.w3.org/TR/2002/WD-xptr-xpointer-20021219>. | |||
| Author's Address | Author's Address | |||
| Michael Douglass | Michael Douglass | |||
| Bedework | Bedework | |||
| 226 3rd Street | 226 3rd Street | |||
| Troy, NY 12180 | Troy, NY 12180 | |||
| United States of America | United States of America | |||
| Email: mdouglass@bedework.com | Email: mdouglass@bedework.com | |||
| URI: http://bedework.com | URI: https://bedework.com | |||
| End of changes. 76 change blocks. | ||||
| 141 lines changed or deleted | 239 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||