draft-ietf-calext-eventpub-extensions-01.txt   draft-ietf-calext-eventpub-extensions-02.txt 
Network Working Group M. Douglass Network Working Group M. Douglass
Internet-Draft Spherical Cow Group Internet-Draft Spherical Cow Group
Updates: 5545,5546 (if approved) March 5, 2017 Updates: 5545,5546 (if approved) April 21, 2017
Intended status: Standards Track Intended status: Standards Track
Expires: September 6, 2017 Expires: October 23, 2017
Event Publishing Extensions to iCalendar Event Publishing Extensions to iCalendar
draft-ietf-calext-eventpub-extensions-01 draft-ietf-calext-eventpub-extensions-02
Abstract Abstract
This specification introduces a number of new iCalendar properties This specification introduces a number of new iCalendar properties
and components which are of particular use for event publishers and and components which are of particular use for event publishers and
in social networking. in social networking.
This specification also defines a new STRUCTURED-DATA property for This specification also defines a new STRUCTURED-DATA property for
iCalendar [RFC5545] to allow for data that is directly pertinent to iCalendar [RFC5545] to allow for data that is directly pertinent to
an event or task to be included with the calendar data. an event or task to be included with the calendar data.
skipping to change at page 1, line 37 skipping to change at page 1, line 37
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 http://datatracker.ietf.org/drafts/current/. Drafts is at http://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 September 6, 2017. This Internet-Draft will expire on October 23, 2017.
Copyright Notice Copyright Notice
Copyright (c) 2017 IETF Trust and the persons identified as the Copyright (c) 2017 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
(http://trustee.ietf.org/license-info) in effect on the date of (http://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
skipping to change at page 2, line 25 skipping to change at page 2, line 25
3.1.1. Piano Concert Performance . . . . . . . . . . . . . . 5 3.1.1. Piano Concert Performance . . . . . . . . . . . . . . 5
3.1.2. Itineraries . . . . . . . . . . . . . . . . . . . . . 5 3.1.2. Itineraries . . . . . . . . . . . . . . . . . . . . . 5
4. Modifications to Calendar Components . . . . . . . . . . . . 6 4. Modifications to Calendar Components . . . . . . . . . . . . 6
5. New Property Parameters . . . . . . . . . . . . . . . . . . . 7 5. New Property Parameters . . . . . . . . . . . . . . . . . . . 7
5.1. Loctype . . . . . . . . . . . . . . . . . . . . . . . . . 7 5.1. Loctype . . . . . . . . . . . . . . . . . . . . . . . . . 7
5.2. Restype . . . . . . . . . . . . . . . . . . . . . . . . . 7 5.2. Restype . . . . . . . . . . . . . . . . . . . . . . . . . 7
5.3. Order . . . . . . . . . . . . . . . . . . . . . . . . . . 8 5.3. Order . . . . . . . . . . . . . . . . . . . . . . . . . . 8
5.4. Schema . . . . . . . . . . . . . . . . . . . . . . . . . 8 5.4. Schema . . . . . . . . . . . . . . . . . . . . . . . . . 8
6. New Properties . . . . . . . . . . . . . . . . . . . . . . . 9 6. New Properties . . . . . . . . . . . . . . . . . . . . . . . 9
6.1. Participant Type . . . . . . . . . . . . . . . . . . . . 9 6.1. Participant Type . . . . . . . . . . . . . . . . . . . . 9
6.2. Styled-Description . . . . . . . . . . . . . . . . . . . 9 6.2. Schedule Address . . . . . . . . . . . . . . . . . . . . 9
6.3. Structured-Location . . . . . . . . . . . . . . . . . . . 11 6.3. Styled-Description . . . . . . . . . . . . . . . . . . . 10
6.4. Structured-Resource . . . . . . . . . . . . . . . . . . . 13 6.4. Structured-Location . . . . . . . . . . . . . . . . . . . 12
6.5. Source . . . . . . . . . . . . . . . . . . . . . . . . . 14 6.5. Structured-Resource . . . . . . . . . . . . . . . . . . . 13
6.6. Structured-Data . . . . . . . . . . . . . . . . . . . . . 16 6.6. Source . . . . . . . . . . . . . . . . . . . . . . . . . 15
6.7. Structured-Data . . . . . . . . . . . . . . . . . . . . . 16
7. New Components . . . . . . . . . . . . . . . . . . . . . . . 18 7. New Components . . . . . . . . . . . . . . . . . . . . . . . 18
7.1. Participant . . . . . . . . . . . . . . . . . . . . . . . 18 7.1. Participant . . . . . . . . . . . . . . . . . . . . . . . 19
8. Participant Types . . . . . . . . . . . . . . . . . . . . . . 20 7.2. Schedulable Participant . . . . . . . . . . . . . . . . . 21
9. Extended examples . . . . . . . . . . . . . . . . . . . . . . 20 8. Participant Types . . . . . . . . . . . . . . . . . . . . . . 21
9.1. Example 1 . . . . . . . . . . . . . . . . . . . . . . . . 21 9. Extended examples . . . . . . . . . . . . . . . . . . . . . . 22
10. Security Considerations . . . . . . . . . . . . . . . . . . . 21 9.1. Example 1 . . . . . . . . . . . . . . . . . . . . . . . . 22
11. Privacy Considerations . . . . . . . . . . . . . . . . . . . 21 10. Security Considerations . . . . . . . . . . . . . . . . . . . 23
12. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 22 11. Privacy Considerations . . . . . . . . . . . . . . . . . . . 23
12.1. Property Registrations . . . . . . . . . . . . . . . . . 22 12. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 24
12.2. Parameter Registrations . . . . . . . . . . . . . . . . 22 12.1. Property Registrations . . . . . . . . . . . . . . . . . 24
12.3. Component Registrations . . . . . . . . . . . . . . . . 22 12.2. Parameter Registrations . . . . . . . . . . . . . . . . 24
12.4. Participant Types Registry . . . . . . . . . . . . . . . 23 12.3. Component Registrations . . . . . . . . . . . . . . . . 24
13. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 23 12.4. Participant Types Registry . . . . . . . . . . . . . . . 25
14. Normative References . . . . . . . . . . . . . . . . . . . . 23 13. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 25
Appendix A. Open issues . . . . . . . . . . . . . . . . . . . . 24 14. Normative References . . . . . . . . . . . . . . . . . . . . 25
Appendix B. Change log . . . . . . . . . . . . . . . . . . . . . 24 Appendix A. Open issues . . . . . . . . . . . . . . . . . . . . 26
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 26 Appendix B. Change log . . . . . . . . . . . . . . . . . . . . . 26
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 28
1. Introduction 1. Introduction
The currently existing iCalendar standard [RFC5545] lacks useful The currently existing iCalendar standard [RFC5545] lacks useful
methods for referencing additional, external information relating to methods for referencing additional, external information relating to
calendar components. Additionally there is no standard way to calendar components. Additionally there is no standard way to
provide rich text descriptions or meta-data associated with the provide rich text descriptions or meta-data associated with the
event. event.
Current practice is to embed this information as links in the Current practice is to embed this information as links in the
skipping to change at page 9, line 39 skipping to change at page 9, line 39
events or tasks. Participants can be individuals or events or tasks. Participants can be individuals or
organizations, for example a soccer team, the spectators, or the organizations, for example a soccer team, the spectators, or the
musicians. musicians.
Format Definition: Format Definition:
This parameter is defined by the following notation: This parameter is defined by the following notation:
participanttype = "PARTICIPANT-TYPE" "=" iana-token participanttype = "PARTICIPANT-TYPE" "=" iana-token
6.2. Styled-Description 6.2. Schedule Address
Property name: SCHEDULE-ADDRESS
Purpose: To specify the calendar address for a participant.
Value type: CAL-ADDRESS
Property Parameters: IANA or non-standard property parameters can be
specified on this property.
Conformance: This property MAY be specified within a PARTICIPANT
component.
Description: This property provides a calendar user address for the
participant. If there is an ATTENDEE property with the same value
then the participant is schedulable.
Format Definition:
This parameter is defined by the following notation:
scheduleaddress = "SCHEDULE-ADDRESS" "=" iana-token
6.3. Styled-Description
Property name: STYLED-DESCRIPTION Property name: STYLED-DESCRIPTION
Purpose: This property provides for one or more rich-text Purpose: This property provides for one or more rich-text
descriptions to replace or augment that provided by the descriptions to replace or augment that provided by the
DESCRIPTION property. DESCRIPTION property.
Value type: There is no default value type for this property. The Value type: There is no default value type for this property. The
value type can be set to URI or TEXT. Other text-based value value type can be set to URI or TEXT. Other text-based value
types can be used when defined in the future. Clients MUST ignore types can be used when defined in the future. Clients MUST ignore
skipping to change at page 11, line 41 skipping to change at page 12, line 5
(";" other-param) (";" other-param)
) )
Example: Example:
The following is an example of this property. It points to an html The following is an example of this property. It points to an html
description. description.
STYLED-DESCRIPTION;VALUE=URI:http://example.org/desc001.html STYLED-DESCRIPTION;VALUE=URI:http://example.org/desc001.html
6.3. Structured-Location 6.4. Structured-Location
Property name: STRUCTURED-LOCATION Property name: STRUCTURED-LOCATION
Purpose: This property provides a typed reference to external Purpose: This property provides a typed reference to external
information about the location of an event or optionally a plain information about the location of an event or optionally a plain
text typed value. text typed value.
Value type: There is no default value type for this property. The Value type: There is no default value type for this property. The
value type can be set to URI or TEXT. Other text-based value value type can be set to URI or TEXT. Other text-based value
types types
skipping to change at page 13, line 12 skipping to change at page 13, line 43
(";" other-param) (";" other-param)
) )
Example: Example:
The following is an example of this property. It points to a venue. The following is an example of this property. It points to a venue.
STRUCTURED-LOCATION;LABEL="The venue": STRUCTURED-LOCATION;LABEL="The venue":
http://dir.example.com/venues/big-hall.vcf http://dir.example.com/venues/big-hall.vcf
6.4. Structured-Resource 6.5. Structured-Resource
Property name: STRUCTURED-RESOURCE Property name: STRUCTURED-RESOURCE
Purpose: This property provides a typed reference to external Purpose: This property provides a typed reference to external
information about a resource or optionally a plain text typed information about a resource or optionally a plain text typed
value. value.
Value type: The default value type for this property is URI. The Value type: The default value type for this property is URI. The
value type can also be set to TEXT to indicate plain text content. value type can also be set to TEXT to indicate plain text content.
skipping to change at page 14, line 38 skipping to change at page 15, line 11
) )
Example: Example:
The following is an example of this property. It refers to a The following is an example of this property. It refers to a
projector. projector.
STRUCTURED-RESOURCE;restype="projector": STRUCTURED-RESOURCE;restype="projector":
http://dir.example.com/projectors/3d.vcf http://dir.example.com/projectors/3d.vcf
6.5. Source 6.6. Source
Property name: SOURCE Property name: SOURCE
Purpose: This property provides a reference to vcard information Purpose: This property provides a reference to vcard information
about a participant in an event or optionally a plain text typed about a participant in an event or optionally a plain text typed
value. value.
Value type: The default value type for this property is URI. The Value type: The default value type for this property is URI. The
value type can also be set to TEXT to indicate plain text content. value type can also be set to TEXT to indicate plain text content.
skipping to change at page 16, line 5 skipping to change at page 16, line 41
; ;
) )
Example: Example:
The following is an example referring to a VCARD. The following is an example referring to a VCARD.
SOURCE;FMTTYPE=text/vcard; SOURCE;FMTTYPE=text/vcard;
http://dir.example.com/vcard/contacts/contact1.vcf http://dir.example.com/vcard/contacts/contact1.vcf
6.6. Structured-Data 6.7. Structured-Data
Property Name: STRUCTURED-DATA Property Name: STRUCTURED-DATA
Purpose: This property specifies ancillary data associated with the Purpose: This property specifies ancillary data associated with the
calendar component. calendar component.
Value Type: TEXT Value Type: TEXT
Property Parameters: IANA, non-standard, inline encoding, and value Property Parameters: IANA, non-standard, inline encoding, and value
data type property parameters can be specified on this property. data type property parameters can be specified on this property.
skipping to change at page 18, line 20 skipping to change at page 19, line 17
Purpose: This component provides information about a participant in Purpose: This component provides information about a participant in
an event or optionally a plain text typed value. an event or optionally a plain text typed value.
Conformance: This component MAY be appear in any iCalendar Conformance: This component MAY be appear in any iCalendar
component. component.
Description: This component provides information about an Description: This component provides information about an
participant in an event, task or poll. A participant may be an participant in an event, task or poll. A participant may be an
attendee in a scheduling sense and the ATTENDEE property may be attendee in a scheduling sense and the ATTENDEE property may be
specified in addition (See backwards compatability issues). specified in addition. Participants in events can be individuals
Participants in events can be individuals or organizations, for or organizations, for example a soccer team, the spectators, or
example a soccer team, the spectators, or the musicians. the musicians.
The SOURCE property if present may refer to an external definition The SOURCE property if present may refer to an external definition
of the participant - such as a vcard. of the participant - such as a vcard.
The URI property (def?) if present will provide a mailto: or other The STRUCTURED-ADDRESS property if present will provide a cal-
address. If a related ATTENDEE proeprty is generated it will have address. If an ATTENDEE property has the same value the
the same value as the URI. participant is considered schedulable. The PARTICIPANT component
can be used to contain additional meta-data related to the
attendee.
Format Definition: Format Definition:
This property is defined by the following notation: This property is defined by the following notation:
participantc = "BEGIN" ":" "PARTICIPANT" CRLF participantc = "BEGIN" ":" "PARTICIPANT" CRLF
partprop *alarmc partprop *alarmc
"END" ":" "PARTICIPANT" CRLF "END" ":" "PARTICIPANT" CRLF
partprop = *( partprop = *(
; ;
; The following are REQUIRED, ; The following are REQUIRED,
; but MUST NOT occur more than once. ; but MUST NOT occur more than once.
; ;
dtstamp / participanttype / dtstamp / participanttype /
; ;
; The following are OPTIONAL, ; The following are OPTIONAL,
; but MUST NOT occur more than once. ; but MUST NOT occur more than once.
; ;
created / description / last-mod / seq / created / description / last-mod / seq /
source / status / summary / url / source / status / structuredaddress / summary / url /
; ;
; The following are OPTIONAL, ; The following are OPTIONAL,
; and MAY occur more than once. ; and MAY occur more than once.
; ;
attach / categories / comment / attach / categories / comment /
contact / rstatus / related / contact / rstatus / related /
resources / x-prop / iana-prop resources / x-prop / iana-prop
; ;
) )
Note: When the PRIORITY is supplied it defines the ordering of Note: When the PRIORITY is supplied it defines the ordering of
PARTICIPANT components with the same value for the TYPE parameter. PARTICIPANT components with the same value for the TYPE parameter.
Example: Example:
The following is an example of this component. It contains a SOURCE The following is an example of this component. It contains a SOURCE
property which points to a VCARD providing information about the property which points to a VCARD providing information about the
event participant. event participant.
skipping to change at page 20, line 14 skipping to change at page 21, line 14
The following is an example for the primary contact. The following is an example for the primary contact.
BEGIN: PARTICIPANT BEGIN: PARTICIPANT
SOURCE;FMTTYPE=text/vcard; SOURCE;FMTTYPE=text/vcard;
http://dir.example.com/vcard/contacts/contact1.vcf http://dir.example.com/vcard/contacts/contact1.vcf
PARTTYPE:PRIMARY-CONTACT PARTTYPE:PRIMARY-CONTACT
DESCRIPTION:A contact: DESCRIPTION:A contact:
END:PARTICIPANT END:PARTICIPANT
7.2. Schedulable Participant
A PARTICIPANT component may represent someone or something that needs
to be scheduled as defined for ATTENDEE in [RFC5545] and [RFC5546].
The PARTICIPANT component may also represent someone or something
that is NOT to receive scheduling messages.
A PARTICIPANT component is defined to be schedulable if
o It contains a SCHEDULE-ADDRESS property
o That property value is the same as the value for an ATTENDEE
property.
If both of these conditions apply then the participant defined by the
value of the URL property will take part in scheduling operations as
defined in [RFC5546].
An appropriate use for the PARTICIPANT component in scheduling would
be to store SEQUENCE and DTSTAMP properties associated with replies
from each ATTENDEE. A LOCATION property within the PARTICIPANT
component might allow better selection of meeting times when
particpants are in different timezones.
8. Participant Types 8. Participant Types
This section describes types of participation and provide registered This section describes types of participation and provide registered
values for the PARTTYPE property. values for the PARTTYPE property.
ACTIVE: A participant taking an active role - for example a team ACTIVE: A participant taking an active role - for example a team
member. member.
INACTIVE: A participant taking an inactive part - for example an INACTIVE: A participant taking an inactive part - for example an
audience member. audience member.
skipping to change at page 22, line 18 skipping to change at page 24, line 16
12.1. Property Registrations 12.1. Property Registrations
This document defines the following new iCalendar properties to be This document defines the following new iCalendar properties to be
added to the registry defined in Section 8.2.3 of [RFC5545]: added to the registry defined in Section 8.2.3 of [RFC5545]:
+---------------------+---------+----------------------+ +---------------------+---------+----------------------+
| Property | Status | Reference | | Property | Status | Reference |
+---------------------+---------+----------------------+ +---------------------+---------+----------------------+
| PARTTYPE | Current | RFCXXXX, Section 6.1 | | PARTTYPE | Current | RFCXXXX, Section 6.1 |
| STRUCTURED-DATA | Current | RFCXXXX, Section 6.6 | | SCHEDULE-ADDRESS | Current | RFCXXXX, Section 6.2 |
| STYLED-DESCRIPTION | Current | RFCXXXX, Section 6.2 | | STRUCTURED-DATA | Current | RFCXXXX, Section 6.7 |
| STRUCTURED-LOCATION | Current | RFCXXXX, Section 6.3 | | STYLED-DESCRIPTION | Current | RFCXXXX, Section 6.3 |
| STRUCTURED-RESOURCE | Current | RFCXXXX, Section 6.4 | | STRUCTURED-LOCATION | Current | RFCXXXX, Section 6.4 |
| SOURCE | Current | RFCXXXX, Section 6.5 | | STRUCTURED-RESOURCE | Current | RFCXXXX, Section 6.5 |
| SOURCE | Current | RFCXXXX, Section 6.6 |
+---------------------+---------+----------------------+ +---------------------+---------+----------------------+
12.2. Parameter Registrations 12.2. Parameter Registrations
This document defines the following new iCalendar property parameters This document defines the following new iCalendar property parameters
to be added to the registry defined in Section 8.2.4 of [RFC5545]: to be added to the registry defined in Section 8.2.4 of [RFC5545]:
+--------------------+---------+----------------------+ +--------------------+---------+----------------------+
| Property Parameter | Status | Reference | | Property Parameter | Status | Reference |
+--------------------+---------+----------------------+ +--------------------+---------+----------------------+
skipping to change at page 23, line 34 skipping to change at page 25, line 34
13. Acknowledgements 13. Acknowledgements
The author would like to thank Chuck Norris of eventful.com for his The author would like to thank Chuck Norris of eventful.com for his
work which led to the development of this RFC. work which led to the development of this RFC.
The author would also like to thank the members of the Calendaring The author would also like to thank the members of the Calendaring
and Scheduling Consortium Event Publication technical committee and and Scheduling Consortium Event Publication technical committee and
the following individuals for contributing their ideas and support: the following individuals for contributing their ideas and support:
Cyrus Daboo, John Haug, Dan Mendell, Scott Otis, Cyrus Daboo, John Haug, Dan Mendell, Ken Murchison, Scott Otis,
The authors would also like to thank the Calendaring and Scheduling The authors would also like to thank the Calendaring and Scheduling
Consortium for advice with this specification. Consortium for advice with this specification.
14. Normative References 14. Normative References
[I-D.ietf-calext-extensions] [I-D.ietf-calext-extensions]
Daboo, C., "New Properties for iCalendar", draft-ietf- Daboo, C., "New Properties for iCalendar", draft-ietf-
calext-extensions-05 (work in progress), August 2016. calext-extensions-05 (work in progress), August 2016.
skipping to change at page 24, line 47 skipping to change at page 26, line 47
xml-20060816, August 2006, xml-20060816, August 2006,
<http://www.w3.org/TR/2006/REC-xml-20060816>. <http://www.w3.org/TR/2006/REC-xml-20060816>.
Appendix A. Open issues Appendix A. Open issues
restype values: Need to determine what if any registry of resource restype values: Need to determine what if any registry of resource
types already exists and use that. types already exists and use that.
Appendix B. Change log Appendix B. Change log
v05 2017-02-18 MD calext-v02 2017-04-20 MD
o Add SCHEDULE-ADDRESS property
o PARTICIPANT becomes a component rather than a property. Turn many
of the former parameters into properties.
o Use existing ATTENDEE property for scheduling.
calext-v01 2017-02-18 MD
o Change ASSOCIATE back to PARTICIPANT o Change ASSOCIATE back to PARTICIPANT
o PARTICIPANT becomes a component rather than a property. Turn many o PARTICIPANT becomes a component rather than a property. Turn many
of the former parameters into properties. of the former parameters into properties.
v05 2016-08-?? MD calext-v00 2016-08-?? MD
o Name changed - taken up by calext working group o Name changed - taken up by calext working group
v05 2016-06-26 MD v06 2016-06-26 MD
o Fix up abnf o Fix up abnf
o change ref to ietf from daboo o change ref to ietf from daboo
o take out label spec - use Cyrus spec o take out label spec - use Cyrus spec
v05 2016-06-14 MD v05 2016-06-14 MD
o Remove GROUP and HASH. they can be dealt with elsewhere if desired o Remove GROUP and HASH. they can be dealt with elsewhere if desired
 End of changes. 21 change blocks. 
69 lines changed or deleted 131 lines changed or added

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