--- 1/draft-ietf-calext-extensions-02.txt 2016-06-04 06:15:52.511194495 -0700 +++ 2/draft-ietf-calext-extensions-03.txt 2016-06-04 06:15:52.551195490 -0700 @@ -1,18 +1,18 @@ Network Working Group C. Daboo Internet-Draft Apple Inc. -Intended status: Standards Track May 24, 2016 -Expires: November 25, 2016 +Intended status: Standards Track June 3, 2016 +Expires: December 5, 2016 New Properties for iCalendar - draft-ietf-calext-extensions-02 + draft-ietf-calext-extensions-03 Abstract This document defines a set of new properties for iCalendar data as well as extending the use of some existing properties to the entire iCalendar object. Status of This Memo This Internet-Draft is submitted in full conformance with the @@ -21,21 +21,21 @@ Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at http://datatracker.ietf.org/drafts/current/. 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." - This Internet-Draft will expire on November 25, 2016. + This Internet-Draft will expire on December 5, 2016. Copyright Notice Copyright (c) 2016 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents @@ -51,25 +51,25 @@ 2. Conventions Used in This Document . . . . . . . . . . . . . . 3 3. Backwards Compatible Extension Properties . . . . . . . . . . 3 4. Modifications to Calendar Components . . . . . . . . . . . . 3 5. Properties . . . . . . . . . . . . . . . . . . . . . . . . . 5 5.1. NAME Property . . . . . . . . . . . . . . . . . . . . . . 5 5.2. DESCRIPTION Property . . . . . . . . . . . . . . . . . . 6 5.3. UID Property . . . . . . . . . . . . . . . . . . . . . . 6 5.4. LAST-MODIFIED Property . . . . . . . . . . . . . . . . . 7 5.5. URL Property . . . . . . . . . . . . . . . . . . . . . . 7 5.6. CATEGORIES Property . . . . . . . . . . . . . . . . . . . 7 - 5.7. REFRESH-INTERVAL Property . . . . . . . . . . . . . . . . 7 - 5.8. SOURCE Property . . . . . . . . . . . . . . . . . . . . . 8 + 5.7. REFRESH-INTERVAL Property . . . . . . . . . . . . . . . . 8 + 5.8. SOURCE Property . . . . . . . . . . . . . . . . . . . . . 9 5.9. COLOR Property . . . . . . . . . . . . . . . . . . . . . 9 5.10. IMAGE Property . . . . . . . . . . . . . . . . . . . . . 10 - 5.11. CONFERENCE Property . . . . . . . . . . . . . . . . . . . 11 + 5.11. CONFERENCE Property . . . . . . . . . . . . . . . . . . . 12 6. Property Parameters . . . . . . . . . . . . . . . . . . . . . 13 6.1. DISPLAY Property Parameter . . . . . . . . . . . . . . . 13 6.2. EMAIL Property Parameter . . . . . . . . . . . . . . . . 14 6.3. FEATURE Property Parameter . . . . . . . . . . . . . . . 15 6.4. LABEL Property Parameter . . . . . . . . . . . . . . . . 16 7. Security Considerations . . . . . . . . . . . . . . . . . . . 16 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 17 8.1. Property Registrations . . . . . . . . . . . . . . . . . 17 8.2. Parameter Registrations . . . . . . . . . . . . . . . . . 17 8.3. Display Types Registry . . . . . . . . . . . . . . . . . 18 @@ -131,65 +131,65 @@ New properties defined in this specification use the term "no default" in the "Value Type" definition to indicate that the "VALUE" parameter has to be included. 4. Modifications to Calendar Components The following changes to the syntax defined in iCalendar [RFC5545] are made here. New elements are defined in subsequent sections. - calprops /= *( + calprops =/ *( ; ; The following are OPTIONAL, ; but MUST NOT occur more than once. ; uid / last-mod / url / refresh / source / color ; ; The following are OPTIONAL, ; and MAY occur more than once. ; name / description / categories / image ; ) - eventprop /= *( + eventprop =/ *( ; ; The following are OPTIONAL, ; but MUST NOT occur more than once. ; color / ; ; The following are OPTIONAL, ; and MAY occur more than once. ; image ; ) - todoprop /= *( + todoprop =/ *( ; ; The following are OPTIONAL, ; but MUST NOT occur more than once. ; color / ; ; The following are OPTIONAL, ; and MAY occur more than once. ; image ; ) - jourprop /= *( + jourprop =/ *( ; ; The following are OPTIONAL, ; but MUST NOT occur more than once. ; color / ; ; The following are OPTIONAL, ; and MAY occur more than once. ; image @@ -308,23 +308,28 @@ This specification modifies the definition of the "CATEGORIES" property to allow it to be defined on an iCalendar object. The following additions are made to the definition of this property. Purpose: This property defines the categories for an entire calendar. Conformance: This property can be specified multiple times in an iCalendar object. + Description: When multiple properties are present, the set of + categories that apply to the iCalendar object are the union of all + the categories listed in each property value. + 5.7. REFRESH-INTERVAL Property Property Name: REFRESH-INTERVAL + Purpose: This property specifies a suggested minimum interval for polling for changes of the calendar data from the original source of that data. Value Type: DURATION - no default Property Parameters: IANA and non-standard property parameters can be specified on this property. Conformance: This property can be specified once in an iCalendar @@ -384,21 +390,21 @@ Format Definition: This property is defined by the following notation: source = "SOURCE" sourceparam ":" uri CRLF sourceparam = *(";" other-param) Example: The following is an example of this property: - SOURCE;VALUE=URI:http://example.com/holidays.ics + SOURCE;VALUE=URI:https://example.com/holidays.ics 5.9. COLOR Property Property Name: COLOR Purpose: This property specifies a color used for displaying the calendar, event, todo, or journal data. Value Type: TEXT @@ -456,35 +462,36 @@ picking one that provides the most appropriate image quality, or display none. The "DISPLAY" parameter is used to indicate the intended display mode for the image. The "ALTREP" parameter, defined in [RFC5545], can be used to provide a "clickable" image where the URI in the parameter value can be "launched" by a click on the image in the calendar user agent. Format Definition: This property is defined by the following notation: - image = "IMAGE" imageparam ( ":" uri ) / + image = "IMAGE" imageparam + ( + ( + ";" "VALUE" "=" "URI" + ":" uri + ) / ( ";" "ENCODING" "=" "BASE64" ";" "VALUE" "=" "BINARY" ":" binary - ) / + ) + ) CRLF imageparam = *( ; - ; The following is REQUIRED, - ; but MUST NOT occur more than once. - ; - (";" "VALUE" "=" "URI") / - ; ; The following is OPTIONAL for a URI value, ; RECOMMENDED for a BINARY value, ; and MUST NOT occur more than once. ; (";" fmttypeparam) / ; ; The following are OPTIONAL, ; and MUST NOT occur more than once. ; (";" altrepparam) / (";" displayparam) / @@ -513,22 +520,22 @@ Property Parameters: IANA, non-standard, feature, and label property parameters can be specified on this property. Conformance: This property can be specified multiple times in a "VEVENT" or "VTODO" calendar component. Description: This property specifies information for accessing a conferencing system for attendees of a meeting or task. This might be a tel: URI [RFC3966] for a telephone-based conference number dial-in (with access codes included), or it might be an - http: URI [RFC7230] for a web-based video chat, or a URI for an - instant messaging group chat room. If a specific URI for a + http: or https: URI [RFC7230] for a web-based video chat, or a URI + for an instant messaging group chat room. If a specific URI for a conferencing system is not available, a data: URI [RFC2397] containing a text description can be used. A conference system can be a bi-directional communication channel, or a uni-directional "broadcast feed". The "FEATURE" property parameter is used to describe the key capabilities of the conference system to allow a client to choose the ones that give the required level of interaction from a set of multiple properties. @@ -568,43 +575,43 @@ CONFERENCE;VALUE=URI;FEATURE=PHONE,MODERATOR; LABEL=Moderator dial-in:tel:+1-412-555-0123,,,654321 CONFERENCE;VALUE=URI;FEATURE=PHONE; LABEL=Attendee dial-in:tel:+1-412-555-0123,,,555123 CONFERENCE;VALUE=URI;FEATURE=PHONE; LABEL=Attendee dial-in:tel:+1-888-555-0456,,,555123 CONFERENCE;VALUE=URI;FEATURE=CHAT; LABEL=Chat room:xmpp:chat-123@conference.example.com CONFERENCE;VALUE=URI;FEATURE=AUDIO,VIDEO; - LABEL=Attendee dial-in:http://chat.example.com/audio?id=123456 + LABEL=Attendee dial-in:https://chat.example.com/audio?id=123456 6. Property Parameters 6.1. DISPLAY Property Parameter Parameter Name: DISPLAY Purpose: To specify different ways in which an image for a calendar or component can be displayed. Format Definition: This property parameter is defined by the following notation: displayparam = "DISPLAY" "=" displayval *("," displayval) displayval = ("BADGE" / ; image inline with the title of the ; event "GRAPHIC" / ; a full image replacement for the event ; itself - "FULLSIZE / ; an image that is used to enhance the + "FULLSIZE" / ; an image that is used to enhance the ; event - "THUMBNAIL / ; a smaller variant of "FULLSIZE" to be + "THUMBNAIL" / ; a smaller variant of "FULLSIZE" to be ; used when space for the image is ; constrained x-name / ; Experimental type iana-token) ; Other IANA registered type ; ; Default is BADGE Description: This property parameter MAY be specified on "IMAGE" properties. In the absence of this parameter, the value "BADGE" MUST be used for the default behavior. The value determines how a @@ -613,21 +620,21 @@ Values for this parameter are registered with IANA as per Section 8.3. New values can be added to this registry following the procedure outlined in Section 8.2.1 of [RFC5545]. Servers and clients MUST handle x-name and iana-token values they don't recognize by not displaying any image at all. Example: - IMAGE;VALUE=URI;DISPLAY=BADGE,THUMBNAIL,;FMTTYPE=image/png:http://exa + IMAGE;VALUE=URI;DISPLAY=BADGE,THUMBNAIL;FMTTYPE=image/png:https://exa mple.com/images/weather-cloudy.png 6.2. EMAIL Property Parameter Parameter Name: EMAIL Purpose: To specify an email address that is used to identify or contact an organizer or attendee. Format Definition: This property parameter is defined by the @@ -684,21 +691,21 @@ "MODERATOR" value is used to indicate that the property value is specific to the owner/initiator of the conference and contains a URI that "activates" the system (e.g., a "moderator" access code for a phone conference system that is different from the "regular" access code). Example: CONFERENCE;VALUE=URI;FEATURE=AUDIO:rtsp://audio.example.com/ event - CONFERENCE;VALUE=URI;FEATURE=AUDIO,VIDEO:http://video-chat.exam + CONFERENCE;VALUE=URI;FEATURE=AUDIO,VIDEO:https://video-chat.exam ple.com/;group-id=1234 6.4. LABEL Property Parameter Parameter Name: LABEL Purpose: To provide a human readable label. Format Definition: This property parameter is defined by the following notation: @@ -712,21 +719,21 @@ property parameter present on many different properties. It provides a human readable label that can be presented to calendar users to allow them to discriminate between properties which might be similar, or provide additional information for properties that are not self-describing. Example: CONFERENCE;VALUE=URI;FEATURE=VIDEO; LABEL="Web video chat, access code=76543"; - :http://video-chat.example.com/;group-id=1234 + :https://video-chat.example.com/;group-id=1234 7. Security Considerations Several of the new properties or parameters defined by this specification allow reference to "external" URIs. Care MUST be taken when accessing data at external URIs as malicious content could be present. In addition, access to those URIs could be tracked, leading to loss of privacy. The "CONFERENCE" property can include a "FEATURE" property parameter @@ -856,20 +863,35 @@ . [RFC7230] Fielding, R., Ed. and J. Reschke, Ed., "Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing", RFC 7230, DOI 10.17487/RFC7230, June 2014, . Appendix A. Change History (To be removed by RFC Editor before publication) + Changes in draft-ietf-calext-extensions-03: + + 1. AD: fixed =/ ABNF syntax. + + 2. AD: added description for CATEGORIES. + + 3. AD: Removed extra / in image ABNF. + + 4. AD: Fixed VALUE=URI in image ABNF. + + 5. AD: Mention https in addition to http. Changed all examples to + use https: + + 6. AD: fixed DISPLAY ABNF syntax. + Changes in draft-ietf-calext-extensions-02: 1. Refresh expired draft - no changes. Changes in draft-ietf-calext-extensions-01: 1. Clarified difference between SOURCE and URL properties. 2. Use labelparam not infoparam.