| rfc9073.original | rfc9073.txt | |||
|---|---|---|---|---|
| Network Working Group M. Douglass | Internet Engineering Task Force (IETF) M. Douglass | |||
| Internet-Draft Bedework | Request for Comments: 9073 Bedework | |||
| Updates: 5545 (if approved) January 13, 2021 | Updates: 5545 July 2021 | |||
| Intended status: Standards Track | Category: Standards Track | |||
| Expires: July 17, 2021 | ISSN: 2070-1721 | |||
| Event Publishing Extensions to iCalendar | Event Publishing Extensions to iCalendar | |||
| draft-ietf-calext-eventpub-extensions-18 | ||||
| Abstract | Abstract | |||
| This specification updates RFC5545 by introducing a number of new | This specification updates RFC 5545 by introducing a number of new | |||
| iCalendar properties and components which are of particular use for | iCalendar properties and components that are of particular use for | |||
| event publishers and in social networking. | event publishers and 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 an | iCalendar (RFC 5545) to allow for data that is directly pertinent to | |||
| event or task to be included with the calendar data. | an event or task to be included with the calendar data. | |||
| Status of This Memo | Status of This Memo | |||
| This Internet-Draft is submitted in full conformance with the | This is an Internet Standards Track document. | |||
| provisions of BCP 78 and BCP 79. | ||||
| 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 https://datatracker.ietf.org/drafts/current/. | ||||
| Internet-Drafts are draft documents valid for a maximum of six months | This document is a product of the Internet Engineering Task Force | |||
| and may be updated, replaced, or obsoleted by other documents at any | (IETF). It represents the consensus of the IETF community. It has | |||
| time. It is inappropriate to use Internet-Drafts as reference | received public review and has been approved for publication by the | |||
| material or to cite them other than as "work in progress." | Internet Engineering Steering Group (IESG). Further information on | |||
| Internet Standards is available in Section 2 of RFC 7841. | ||||
| This Internet-Draft will expire on July 17, 2021. | Information about the current status of this document, any errata, | |||
| and how to provide feedback on it may be obtained at | ||||
| https://www.rfc-editor.org/info/rfc9073. | ||||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2021 IETF Trust and the persons identified as the | Copyright (c) 2021 IETF Trust and the persons identified as the | |||
| document authors. All rights reserved. | document authors. All rights reserved. | |||
| This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
| Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
| (https://trustee.ietf.org/license-info) in effect on the date of | (https://trustee.ietf.org/license-info) in effect on the date of | |||
| publication of this document. Please review these documents | publication of this document. Please review these documents | |||
| carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
| to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
| include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
| the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
| described in the Simplified BSD License. | described in the Simplified BSD License. | |||
| Table of Contents | Table of Contents | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction | |||
| 1.1. Conventions Used in This Document . . . . . . . . . . . . 3 | 1.1. Conventions Used in This Document | |||
| 1.2. Terms Used in This Document . . . . . . . . . . . . . . . 3 | 1.2. Terms Used in This Document | |||
| 2. Components and properties . . . . . . . . . . . . . . . . . . 4 | 2. Components and Properties | |||
| 3. Typed References . . . . . . . . . . . . . . . . . . . . . . 4 | 3. Typed References | |||
| 3.1. Use Cases . . . . . . . . . . . . . . . . . . . . . . . . 5 | 3.1. Use Cases | |||
| 3.1.1. Piano Concert Performance . . . . . . . . . . . . . . 5 | 3.1.1. Piano Concert Performance | |||
| 3.1.2. Itineraries . . . . . . . . . . . . . . . . . . . . . 5 | 3.1.2. Itineraries | |||
| 3.1.2.1. Reserving facilities . . . . . . . . . . . . . . 6 | 3.1.2.1. Reserving Facilities | |||
| 4. Modifications to Calendar Components . . . . . . . . . . . . 6 | 4. Modifications to Calendar Components | |||
| 5. New Property Parameters . . . . . . . . . . . . . . . . . . . 7 | 5. New Property Parameters | |||
| 5.1. Order . . . . . . . . . . . . . . . . . . . . . . . . . . 7 | 5.1. Order | |||
| 5.2. Schema . . . . . . . . . . . . . . . . . . . . . . . . . 8 | 5.2. Schema | |||
| 5.3. Derived . . . . . . . . . . . . . . . . . . . . . . . . . 9 | 5.3. Derived | |||
| 6. New Properties . . . . . . . . . . . . . . . . . . . . . . . 10 | 6. New Properties | |||
| 6.1. Location Type . . . . . . . . . . . . . . . . . . . . . . 10 | 6.1. Location Type | |||
| 6.2. Participant Type . . . . . . . . . . . . . . . . . . . . 11 | 6.2. Participant Type | |||
| 6.3. Resource Type . . . . . . . . . . . . . . . . . . . . . . 13 | 6.3. Resource Type | |||
| 6.4. Calendar Address . . . . . . . . . . . . . . . . . . . . 14 | 6.4. Calendar Address | |||
| 6.5. Styled-Description . . . . . . . . . . . . . . . . . . . 14 | 6.5. Styled-Description | |||
| 6.6. Structured-Data . . . . . . . . . . . . . . . . . . . . . 16 | 6.6. Structured-Data | |||
| 7. New Components . . . . . . . . . . . . . . . . . . . . . . . 18 | 7. New Components | |||
| 7.1. Participant . . . . . . . . . . . . . . . . . . . . . . . 18 | 7.1. Participant | |||
| 7.1.1. Schedulable Participant . . . . . . . . . . . . . . . 22 | 7.1.1. Schedulable Participant | |||
| 7.2. Location . . . . . . . . . . . . . . . . . . . . . . . . 22 | 7.2. Location | |||
| 7.3. Resource . . . . . . . . . . . . . . . . . . . . . . . . 23 | 7.3. Resource | |||
| 8. Extended examples . . . . . . . . . . . . . . . . . . . . . . 25 | 8. Extended Examples | |||
| 8.1. Example 1 . . . . . . . . . . . . . . . . . . . . . . . . 25 | 8.1. Example 1 | |||
| 8.2. Example 2 . . . . . . . . . . . . . . . . . . . . . . . . 26 | 8.2. Example 2 | |||
| 9. Security Considerations . . . . . . . . . . . . . . . . . . . 27 | 9. Security Considerations | |||
| 9.1. URIs . . . . . . . . . . . . . . . . . . . . . . . . . . 27 | 9.1. URIs | |||
| 9.2. Malicious Content . . . . . . . . . . . . . . . . . . . . 28 | 9.2. Malicious Content | |||
| 9.3. HTML Content . . . . . . . . . . . . . . . . . . . . . . 28 | 9.3. HTML Content | |||
| 10. Privacy Considerations . . . . . . . . . . . . . . . . . . . 28 | 10. Privacy Considerations | |||
| 10.1. Tracking . . . . . . . . . . . . . . . . . . . . . . . . 28 | 10.1. Tracking | |||
| 10.2. Revealing Locations . . . . . . . . . . . . . . . . . . 28 | 10.2. Revealing Locations | |||
| 11. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 29 | 11. IANA Considerations | |||
| 11.1. Additional iCalendar Registrations . . . . . . . . . . . 29 | 11.1. Additional iCalendar Registrations | |||
| 11.1.1. Properties . . . . . . . . . . . . . . . . . . . . . 29 | 11.1.1. Properties | |||
| 11.1.2. Parameters . . . . . . . . . . . . . . . . . . . . . 29 | 11.1.2. Parameters | |||
| 11.1.3. Components . . . . . . . . . . . . . . . . . . . . . 30 | 11.1.3. Components | |||
| 11.2. New Registration Tables . . . . . . . . . . . . . . . . 30 | 11.2. Participant Types and Resource Types Registries | |||
| 11.2.1. Participant Types . . . . . . . . . . . . . . . . . 30 | 11.2.1. Participant Types | |||
| 11.2.2. Resource Types . . . . . . . . . . . . . . . . . . . 31 | 11.2.2. Resource Types | |||
| 12. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 31 | 12. Normative References | |||
| 13. Normative References . . . . . . . . . . . . . . . . . . . . 31 | Acknowledgements | |||
| Appendix A. Open issues . . . . . . . . . . . . . . . . . . . . 33 | Author's Address | |||
| Appendix B. Change log . . . . . . . . . . . . . . . . . . . . . 33 | ||||
| Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 36 | ||||
| 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 metadata 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 | |||
| description or to add non-standard properties as defined in [RFC5545] | description or to add nonstandard properties, as defined in | |||
| section 3.8.8.2. | Section 3.8.8.2 of [RFC5545]. | |||
| This document updates [RFC5545] to define a number of properties and | This document updates [RFC5545] to define a number of properties and | |||
| components referencing such external information that can provide | components referencing such external information that can provide | |||
| additional information about an iCalendar component. The intent is | additional information about an iCalendar component. The intent is | |||
| to allow interchange of such information between applications or | to allow the interchange of such information between applications or | |||
| systems (e.g., between clients, between client and server, and | systems (e.g., between clients, between client and server, and | |||
| between servers). Formats such as vCard [RFC2426] are likely to be | between servers). Formats, such as vCard [RFC6350], are likely to be | |||
| most useful to the receivers of such events as they may be used in | most useful to the receivers of such events as they may be used in | |||
| other applications - such as address books. | other applications -- such as address books. | |||
| 1.1. Conventions Used in This Document | 1.1. 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 | |||
| 14 [RFC2119] [RFC8174] when, and only when, they appear in all | BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all | |||
| capitals, as shown here. | capitals, as shown here. | |||
| The notation used in this memo is the ABNF notation of [RFC5234] as | ||||
| used by iCalendar [RFC5545]. Any syntax elements shown below that | ||||
| are not explicitly defined in this specification come from iCalendar | ||||
| [RFC5545]. | ||||
| 1.2. Terms Used in This Document | 1.2. Terms Used in This Document | |||
| Event: When the (perhaps with a capitalised 'E') word 'event' is | Event: When the word 'event' (perhaps with a capitalized 'E') is | |||
| used we are referring to gatherings, formal or informal. For | used, we are referring to gatherings, formal or informal (for | |||
| example a sports event, a party or a concert. | example, a sports event, a party, or a concert). | |||
| Social Calendaring: Historically, calendar data and scheduling has | Social Calendaring: Historically, calendar data and scheduling has | |||
| been heavily biased towards meetings in a corporate environment. | been heavily biased towards meetings in a corporate environment. | |||
| Some of the features defined in this document are to support a | Some of the features defined in this document are to support a | |||
| more informal, i.e. social, model. For example, we may want to | more informal, i.e., social, model. For example, we may want to | |||
| record who is participating in a public event. | record who is participating in a public event. | |||
| 2. Components and properties | 2. Components and Properties | |||
| Previous extensions to the calendaring standards have been largely | Previous extensions to the calendaring standards have been largely | |||
| restricted to the addition of properties or parameters. This is | restricted to the addition of properties or parameters. This is | |||
| partly because iCalendar libraries had trouble handling components | partly because iCalendar libraries had trouble handling components | |||
| nested deeper than those defined in [RFC5545]. | nested deeper than those defined in [RFC5545]. | |||
| In a break with this 'tradition' this specification defines a number | In a break with this 'convention', this specification defines a | |||
| of components rather than properties. This is a better match for the | number of components rather than properties. This is a better match | |||
| way [W3C.REC-xml-20081126] and JSON [RFC8259] handle such structures | for the way [W3C.REC-xml-20081126] and JSON [RFC8259] handle such | |||
| and allows richer definitions. | structures and allows richer definitions. | |||
| It also allows for the addition of extra properties inside the | It also allows for the addition of extra properties inside the | |||
| components and resolves some of the problems of trying to add | components and resolves some of the problems of trying to add | |||
| detailed information as a parameter. | detailed information as a parameter. | |||
| 3. Typed References | 3. Typed References | |||
| The properties and components defined here can all reference external | The properties and components defined here can all reference external | |||
| meta-data which may be used by applications to provide further | metadata, which may be used by applications to provide further | |||
| information to users. By providing type information, clients and | information to users. By providing type information, clients and | |||
| servers are able to discover interesting references and make use of | servers are able to discover interesting references and make use of | |||
| them, perhaps for indexing or the presenting of additional related | them, perhaps for indexing or presenting additional, related | |||
| information for the user. | information for the user. | |||
| As always, clients should exercise caution in following references to | As always, clients should exercise caution in following references to | |||
| external data. | external data. | |||
| The [RFC5545] LOCATION property provides only an unstructured single | The "LOCATION" property [RFC5545] provides only an unstructured | |||
| text value for specifying the location where an event (or task) will | single text value for specifying the location where an event (or | |||
| occur. This is inadequate for use cases where structured location | task) will occur. This is inadequate for use cases where structured | |||
| information (e.g. address, region, country, postal code) is required | location information (e.g., address, region, country, or postal code) | |||
| or preferred, and limits widespread adoption of iCalendar in those | is required or preferred and limits widespread adoption of iCalendar | |||
| settings. | in those settings. | |||
| Using the VLOCATION component, rich information about multiple | Using the "VLOCATION" component, rich information about multiple | |||
| locations can be communicated in a STRUCTURED-DATA property, for | locations can be communicated in a "STRUCTURED-DATA" property; | |||
| example, address, region, country, postal code as well as other | examples include address, region, country, postal code, parking | |||
| information such as parking availability, nearby restaurants and the | availability, nearby restaurants, and the venue, among others. | |||
| venue. Servers and clients can retrieve the objects when storing the | Servers and clients can retrieve the objects when storing the event | |||
| event and use them to index by geographic location. | and use them to index by geographic location. | |||
| When a calendar client receives a calendar component it can search | When a calendar client receives a calendar component, it can search | |||
| the set of locations looking for those of particular interest. The | the set of locations looking for those of particular interest. The | |||
| LOCATION-TYPE property and STRUCTURED-DATA FMTTYPE parameter, if | "LOCATION-TYPE" property and "FMTTYPE" parameter applied to the | |||
| supplied, can be used to help the selection. | "STRUCTURED-DATA" property, if supplied, can be used to help the | |||
| selection. | ||||
| The PARTICIPANT component is designed to handle common use cases in | The "PARTICIPANT" component is designed to handle common use cases in | |||
| event publication. It is generally important to provide information | event publication. It is generally important to provide information | |||
| about the organizers of such events. Sponsors wish to be referenced | about the organizers of such events. Sponsors wish to be referenced | |||
| in a prominent manner. In social calendaring it is often important | in a prominent manner. In social calendaring, it is often important | |||
| to identify the active participants in the event, for example a | to identify the active participants (e.g,, a school sports team) and | |||
| school sports team, and the inactive participants, for example the | the inactive participants (e.g., the parents) in the event. | |||
| parents. | ||||
| The PARTICIPANT component can be used to provide useful extra data | The "PARTICIPANT" component can be used to provide useful extra data | |||
| about an attendee. For example a location inside the PARTICIPANT | about an attendee. For example, a location inside the PARTICIPANT | |||
| gives the actual location of a remote attendee. (But see the note | gives the actual location of a remote attendee. (But see the note | |||
| about privacy.) | about privacy.) | |||
| Alternatively the PARTICIPANT component can be used to provide a | Alternatively, the "PARTICIPANT" component can be used to provide a | |||
| reference - perhaps the address for mailing lists. | reference -- perhaps the address for mailing lists. | |||
| 3.1. Use Cases | 3.1. Use Cases | |||
| The main motivation for these changes has been event publication but | The main motivation for these changes has been event publication, but | |||
| there are opportunities for use elsewhere. The following use cases | there are opportunities for use elsewhere. The following use cases | |||
| will describe some possible scenarios. | will describe some possible scenarios. | |||
| 3.1.1. Piano Concert Performance | 3.1.1. Piano Concert Performance | |||
| In putting together a concert there are many participants: piano | In putting together a concert, there are many participants: piano | |||
| tuner, performer, stage hands etc. In addition there are sponsors | tuner, performer, stage hands, etc. In addition, there are sponsors | |||
| and various contacts to be provided. There will also be a number of | and various contacts to be provided. There will also be a number of | |||
| related locations. A number of events can be created, all of which | related locations. A number of events can be created, all of which | |||
| relate to the performance in different ways. | relate to the performance in different ways. | |||
| There may be an iTip [RFC5546] meeting request for the piano tuner | There may be an iCalendar Transport-independent Interoperability | |||
| who will arrive before the performance. Other members of staff may | Protocol (iTIP) [RFC5546] meeting request for the piano tuner, who | |||
| also receive meeting requests. | will arrive before the performance. Other members of staff may also | |||
| receive meeting requests. | ||||
| An event can also be created for publication which will have a | An event can also be created for publication, which will have a | |||
| PARTICIPANT component for the pianist providing a reference to vCard | "PARTICIPANT" component for the pianist providing a reference to | |||
| [RFC2426] information about the performer. This event would also | vCard information ([RFC6350]) about the performer. This event would | |||
| hold information about parking, local subway stations and the venue | also hold information about parking, local subway stations, and the | |||
| itself. In addition, there may be sponsorship information for | venue itself. In addition, there may be sponsorship information for | |||
| sponsors of the event and perhaps paid sponsorship properties | sponsors of the event and perhaps paid sponsorship properties, | |||
| essentially advertising local establishments. | essentially advertising local establishments. | |||
| 3.1.2. Itineraries | 3.1.2. Itineraries | |||
| These additions also provide opportunities for the travel industry. | These additions also provide opportunities for the travel industry. | |||
| When booking a flight the PARTICIPANT component can be used to | When booking a flight, the "PARTICIPANT" component can be used to | |||
| provide references to businesses at the airports and to car hire | provide references to businesses at the airports and to rental car | |||
| businesses at the destination. | businesses at the destination. | |||
| The embedded location information can guide the traveler at the | The embedded location information can guide the traveler around the | |||
| airport or to their final destination. The contact information can | airport itself or to their final destination. The contact | |||
| provide detailed information about the booking agent, the airlines, | information can provide detailed information about the booking agent, | |||
| car hire companies and the hotel. | airlines, car hire companies, and hotel. | |||
| 3.1.2.1. Reserving facilities | 3.1.2.1. Reserving Facilities | |||
| For a meeting, the size of a room and the equipment needed depends to | For a meeting, the size of a room and the equipment needed depends, | |||
| some extent on the number of attendees actually in the room. | to some extent, on the number of attendees actually in the room. | |||
| A meeting may have many attendees none of which are co-located. The | A meeting may have many attendees, none of which are co-located. The | |||
| current ATTENDEE property does not allow for the addition of such | current "ATTENDEE" property does not allow for the addition of such | |||
| meta-data. The PARTICIPANT component allows attendees to specify | metadata. The "PARTICIPANT" component allows attendees to specify | |||
| their location. | their location. | |||
| 4. Modifications to Calendar Components | 4. Modifications to Calendar Components | |||
| The following changes to the syntax defined in iCalendar [RFC5545] | The following changes to the syntax defined in iCalendar [RFC5545] | |||
| are made here. New elements are defined in subsequent sections. | are made here. New elements are defined in subsequent sections. | |||
| ; Addition of PARTICIPANT, VLOCATION and VRESOURCE | ; Addition of PARTICIPANT, VLOCATION, and VRESOURCE | |||
| ; as valid components | ; as valid components | |||
| eventc = "BEGIN" ":" "VEVENT" CRLF | eventc = "BEGIN" ":" "VEVENT" CRLF | |||
| eventprop *alarmc *participantc *locationc *resourcec | eventprop *alarmc *participantc *locationc *resourcec | |||
| "END" ":" "VEVENT" CRLF | "END" ":" "VEVENT" CRLF | |||
| ; Addition of properties STYLED-DESCRIPTION and STRUCTURED-DATA | ; Addition of properties STYLED-DESCRIPTION and STRUCTURED-DATA | |||
| eventprop =/ *styleddescription | eventprop =/ *styleddescription | |||
| *sdataprop | *sdataprop | |||
| ; Addition of PARTICIPANT, VLOCATION and VRESOURCE | ; Addition of PARTICIPANT, VLOCATION, and VRESOURCE | |||
| ; as valid components | ; as valid components | |||
| todoc = "BEGIN" ":" "VTODO" CRLF | todoc = "BEGIN" ":" "VTODO" CRLF | |||
| todoprop *alarmc *participantc *locationc *resourcec | todoprop *alarmc *participantc *locationc *resourcec | |||
| "END" ":" "VTODO" CRLF | "END" ":" "VTODO" CRLF | |||
| ; Addition of properties STYLED-DESCRIPTION, STRUCTURED-DATA | ; Addition of properties STYLED-DESCRIPTION and STRUCTURED-DATA | |||
| todoprop =/ *styleddescription | todoprop =/ *styleddescription | |||
| *sdataprop | *sdataprop | |||
| ; Addition of PARTICIPANT, VLOCATION and VRESOURCE | ; Addition of PARTICIPANT, VLOCATION, and VRESOURCE | |||
| ; as valid components | ; as valid components | |||
| journalc = "BEGIN" ":" "VJOURNAL" CRLF | journalc = "BEGIN" ":" "VJOURNAL" CRLF | |||
| jourprop *participantc *locationc *resourcec | jourprop *participantc *locationc *resourcec | |||
| "END" ":" "VJOURNAL" CRLF | "END" ":" "VJOURNAL" CRLF | |||
| ; Addition of properties STYLED-DESCRIPTION, STRUCTURED-DATA | ; Addition of properties STYLED-DESCRIPTION and STRUCTURED-DATA | |||
| jourprop =/ *styleddescription | jourprop =/ *styleddescription | |||
| *sdataprop | *sdataprop | |||
| ; Addition of PARTICIPANT, VLOCATION and VRESOURCE | ; Addition of PARTICIPANT, VLOCATION, and VRESOURCE | |||
| ; as valid components | ; as valid components | |||
| freebusyc = "BEGIN" ":" "VFREEBUSY" CRLF | freebusyc = "BEGIN" ":" "VFREEBUSY" CRLF | |||
| fbprop *participantc *locationc *resourcec | fbprop *participantc *locationc *resourcec | |||
| "END" ":" "VFREEBUSY" CRLF | "END" ":" "VFREEBUSY" CRLF | |||
| ; Addition of property STYLED-DESCRIPTION | ; Addition of property STYLED-DESCRIPTION | |||
| fbprop =/ *styleddescription | fbprop =/ *styleddescription | |||
| 5. New Property Parameters | 5. New Property Parameters | |||
| 5.1. Order | 5.1. Order | |||
| Parameter name: ORDER | Parameter name: ORDER | |||
| Purpose: To define ordering for the associated property. | Purpose: This parameter defines ordering for the associated | |||
| property. | ||||
| Format Definition: | ||||
| This parameter is defined by the following notation: | Format Definition: This parameter is defined by the following | |||
| notation: | ||||
| orderparam = "ORDER" "=" integer | orderparam = "ORDER" "=" integer | |||
| ; Must be greater than or equal to 1 | ; Must be greater than or equal to 1 | |||
| Description: The ORDER parameter is OPTIONAL and is used to indicate | Description: The "ORDER" parameter is OPTIONAL and is used to | |||
| the relative ordering of the corresponding instance of a property. | indicate the relative ordering of the corresponding instance of a | |||
| Its value MUST be an integer greater than or equal to 1 that | property. Its value MUST be an integer greater than or equal to 1 | |||
| specifies the order with 1 being the first in the ordering. | that specifies the order, with 1 being the first in the ordering. | |||
| When the parameter is absent, the default MUST be to interpret the | When the parameter is absent, the default MUST be to interpret the | |||
| property instance as being ordered last, that is, the property | property instance as being ordered last, that is, the property | |||
| will appear after any other instances of the same property with | will appear after any other instances of the same property with | |||
| any value of ORDER. | any value of ORDER. | |||
| When any ORDER parameters have the same value all the associated | When any "ORDER" parameters have the same value, all the | |||
| properties appear as a group within which there is no defined | associated properties appear as a group within which there is no | |||
| order. | defined order. | |||
| Note that the value of this parameter is to be interpreted only in | Note that the value of this parameter is to be interpreted only in | |||
| relation to values assigned to other corresponding instances of | relation to values assigned to other corresponding instances of | |||
| the same property in the same entity. | the same property in the same entity. | |||
| This parameter MUST NOT be applied to a property that does not | This parameter MUST NOT be applied to a property that does not | |||
| allow multiple instances. | allow multiple instances. | |||
| Example uses: The ORDER may be applied to the PARTICIPANT-TYPE | Example uses: The ORDER may be applied to the "PARTICIPANT-TYPE" | |||
| property to indicate the relative importance of the participant, | property to indicate the relative importance of the participant, | |||
| for example as a sponsor or a performer. For example, ORDER=1 | for example, as a sponsor or a performer. For example, ORDER=1 | |||
| could define the principal performer or soloist. | could define the principal performer or soloist. | |||
| 5.2. Schema | 5.2. Schema | |||
| Parameter Name: SCHEMA | Parameter Name: SCHEMA | |||
| Purpose: To specify the schema used for the content of a | Purpose: This parameter specifies the schema used for the content of | |||
| "STRUCTURED-DATA" property value. | a "STRUCTURED-DATA" property value. | |||
| Format Definition: | ||||
| This parameter is defined by the following notation: | Format Definition: This parameter is defined by the following | |||
| notation: | ||||
| schemaparam = "SCHEMA" "=" DQUOTE uri DQUOTE | schemaparam = "SCHEMA" "=" DQUOTE uri DQUOTE | |||
| Description: This property parameter SHOULD be specified on | Description: This property parameter SHOULD be specified on | |||
| "STRUCTURED-DATA" properties. When present it provides | "STRUCTURED-DATA" properties. When present, it provides | |||
| identifying information about the nature of the content of the | identifying information about the nature of the content of the | |||
| corresponding "STRUCTURED-DATA" property value. This can be used | corresponding "STRUCTURED-DATA" property value. This can be used | |||
| to supplement the media type information provided by the "FMTTYPE" | to supplement the media type information provided by the "FMTTYPE" | |||
| parameter on the corresponding property. | parameter on the corresponding property. | |||
| Example: | Example: | |||
| STRUCTURED-DATA;FMTTYPE=application/ld+json; | ||||
| STRUCTURED-DATA;FMTTYPE=application/ld+json; | SCHEMA="https://schema.org/FlightReservation"; | |||
| SCHEMA="https://schema.org/FlightReservation"; | ENCODING=BASE64;VALUE=BINARY:ICAgIDxzY3JpcHQgdHlwZT0iYXBwb | |||
| ENCODING=BASE64;VALUE=BINARY:ICAgIDxzY3JpcHQgdHlwZT0iYXBwb | GljYXRpb24vbGQranNvbiI+CiAgICB7CiAgICAgICJAY29 | |||
| GljYXRpb24vbGQranNvbiI+CiAgICB7CiAgICAgICJAY29 | udGV4dCI6ICJodHRwOi8vc2NoZW1hLm9yZyIsCiAgICAgICJAdHlwZSI | |||
| udGV4dCI6ICJodHRwOi8vc2NoZW1hLm9yZyIsCiAgICAgICJAdHlwZSI | 6ICJGbGlnaHRSZXNlcnZhdGlvbiIsCiAgICAgICJyZXNlcnZhdGlvbkl | |||
| 6ICJGbGlnaHRSZXNlcnZhdGlvbiIsCiAgICAgICJyZXNlcnZhdGlvbkl | kIjogIlJYSjM0UCIsCiAgICAgICJyZXNlcnZhdGlvblN0YXR1cyI6ICJ | |||
| kIjogIlJYSjM0UCIsCiAgICAgICJyZXNlcnZhdGlvblN0YXR1cyI6ICJ | odHRwOi8vc2NoZW1hLm9yZy9SZXNlcnZhdGlvbkNvbmZpcm1lZCIsCiA | |||
| odHRwOi8vc2NoZW1hLm9yZy9SZXNlcnZhdGlvbkNvbmZpcm1lZCIsCiA | gICAgICJwYXNzZW5nZXJQcmlvcml0eVN0YXR1cyI6ICJGYXN0IFRyYWN | |||
| gICAgICJwYXNzZW5nZXJQcmlvcml0eVN0YXR1cyI6ICJGYXN0IFRyYWN | rIiwKICAgICAgInBhc3NlbmdlclNlcXVlbmNlTnVtYmVyIjogIkFCQzE | |||
| rIiwKICAgICAgInBhc3NlbmdlclNlcXVlbmNlTnVtYmVyIjogIkFCQzE | yMyIsCiAgICAgICJzZWN1cml0eVNjcmVlbmluZyI6ICJUU0EgUHJlQ2h | |||
| yMyIsCiAgICAgICJzZWN1cml0eVNjcmVlbmluZyI6ICJUU0EgUHJlQ2h | lY2siLAogICAgICAidW5kZXJOYW1lIjogewogICAgICAgICJAdHlwZSI | |||
| lY2siLAogICAgICAidW5kZXJOYW1lIjogewogICAgICAgICJAdHlwZSI | 6ICJQZXJzb24iLAogICAgICAgICJuYW1lIjogIkV2YSBHcmVlbiIKICA | |||
| 6ICJQZXJzb24iLAogICAgICAgICJuYW1lIjogIkV2YSBHcmVlbiIKICA | gICAgfSwKICAgICAgInJlc2VydmF0aW9uRm9yIjogewogICAgICAgICJ | |||
| gICAgfSwKICAgICAgInJlc2VydmF0aW9uRm9yIjogewogICAgICAgICJ | AdHlwZSI6ICJGbGlnaHQiLAogICAgICAgICJmbGlnaHROdW1iZXIiOiA | |||
| AdHlwZSI6ICJGbGlnaHQiLAogICAgICAgICJmbGlnaHROdW1iZXIiOiA | iVUExMTAiLAogICAgICAgICJwcm92aWRlciI6IHsKICAgICAgICAgICJ | |||
| iVUExMTAiLAogICAgICAgICJwcm92aWRlciI6IHsKICAgICAgICAgICJ | AdHlwZSI6ICJBaXJsaW5lIiwKICAgICAgICAgICJuYW1lIjogIkNvbnR | |||
| AdHlwZSI6ICJBaXJsaW5lIiwKICAgICAgICAgICJuYW1lIjogIkNvbnR | pbmVudGFsIiwKICAgICAgICAgICJpYXRhQ29kZSI6ICJDTyIsCiAgICA | |||
| pbmVudGFsIiwKICAgICAgICAgICJpYXRhQ29kZSI6ICJDTyIsCiAgICA | gICAgICAiYm9hcmRpbmdQb2xpY3kiOiAiaHR0cDovL3NjaGVtYS5vcmc | |||
| gICAgICAiYm9hcmRpbmdQb2xpY3kiOiAiaHR0cDovL3NjaGVtYS5vcmc | vWm9uZUJvYXJkaW5nUG9saWN5IgogICAgICAgIH0sCiAgICAgICAgInN | |||
| vWm9uZUJvYXJkaW5nUG9saWN5IgogICAgICAgIH0sCiAgICAgICAgInN | lbGxlciI6IHsKICAgICAgICAgICJAdHlwZSI6ICJBaXJsaW5lIiwKICA | |||
| lbGxlciI6IHsKICAgICAgICAgICJAdHlwZSI6ICJBaXJsaW5lIiwKICA | gICAgICAgICJuYW1lIjogIlVuaXRlZCIsCiAgICAgICAgICAiaWF0YUN | |||
| gICAgICAgICJuYW1lIjogIlVuaXRlZCIsCiAgICAgICAgICAiaWF0YUN | vZGUiOiAiVUEiCiAgICAgICAgfSwKICAgICAgICAiZGVwYXJ0dXJlQWl | |||
| vZGUiOiAiVUEiCiAgICAgICAgfSwKICAgICAgICAiZGVwYXJ0dXJlQWl | ycG9ydCI6IHsKICAgICAgICAgICJAdHlwZSI6ICJBaXJwb3J0IiwKICA | |||
| ycG9ydCI6IHsKICAgICAgICAgICJAdHlwZSI6ICJBaXJwb3J0IiwKICA | gICAgICAgICJuYW1lIjogIlNhbiBGcmFuY2lzY28gQWlycG9ydCIsCiA | |||
| gICAgICAgICJuYW1lIjogIlNhbiBGcmFuY2lzY28gQWlycG9ydCIsCiA | gICAgICAgICAiaWF0YUNvZGUiOiAiU0ZPIgogICAgICAgIH0sCiAgICA | |||
| gICAgICAgICAiaWF0YUNvZGUiOiAiU0ZPIgogICAgICAgIH0sCiAgICA | gICAgImRlcGFydHVyZVRpbWUiOiAiMjAxNy0wMy0wNFQyMDoxNTowMC0 | |||
| gICAgImRlcGFydHVyZVRpbWUiOiAiMjAxNy0wMy0wNFQyMDoxNTowMC0 | wODowMCIsCiAgICAgICAgImFycml2YWxBaXJwb3J0IjogewogICAgICA | |||
| wODowMCIsCiAgICAgICAgImFycml2YWxBaXJwb3J0IjogewogICAgICA | gICAgIkB0eXBlIjogIkFpcnBvcnQiLAogICAgICAgICAgIm5hbWUiOiA | |||
| gICAgIkB0eXBlIjogIkFpcnBvcnQiLAogICAgICAgICAgIm5hbWUiOiA | iSm9obiBGLiBLZW5uZWR5IEludGVybmF0aW9uYWwgQWlycG9ydCIsCiA | |||
| iSm9obiBGLiBLZW5uZWR5IEludGVybmF0aW9uYWwgQWlycG9ydCIsCiA | gICAgICAgICAiaWF0YUNvZGUiOiAiSkZLIgogICAgICAgIH0sCiAgICA | |||
| gICAgICAgICAiaWF0YUNvZGUiOiAiSkZLIgogICAgICAgIH0sCiAgICA | gICAgImFycml2YWxUaW1lIjogIjIwMTctMDMtMDVUMDY6MzA6MDAtMDU | |||
| gICAgImFycml2YWxUaW1lIjogIjIwMTctMDMtMDVUMDY6MzA6MDAtMDU | 6MDAiCiAgICAgIH0KICAgIH0KICAgIDwvc2NyaXB0Pg== | |||
| 6MDAiCiAgICAgIH0KICAgIH0KICAgIDwvc2NyaXB0Pg== | ||||
| 5.3. Derived | 5.3. Derived | |||
| Parameter Name: DERIVED | Parameter Name: DERIVED | |||
| Purpose: To specify that the value of the associated property is | Purpose: This parameter specifies that the value of the associated | |||
| derived from some other property value or values. | property is derived from some other property value or values. | |||
| Format Definition: | ||||
| This parameter is defined by the following notation: | Format Definition: This parameter is defined by the following | |||
| notation: | ||||
| derivedparam = "DERIVED" "=" ("TRUE" / "FALSE") | derivedparam = "DERIVED" "=" ("TRUE" / "FALSE") | |||
| ; Default is FALSE | ; Default is FALSE | |||
| Description: This property parameter MAY be specified on any | Description: This property parameter MAY be specified on any | |||
| property when the value is derived from some other property or | property when the value is derived from some other property or | |||
| properties. When present with a value of TRUE clients MUST NOT | properties. When present with a value of TRUE, clients MUST NOT | |||
| update the property. | update the property. | |||
| As an example, if a STYLED-DESCRIPTION property is present with | As an example, if a "STYLED-DESCRIPTION" property is present with | |||
| FMTTYPE="application/rtf" then there may be an additional STYLED- | FMTTYPE="application/rtf", then there may be an additional | |||
| DESCRIPTION property with FMTTYPE="text/html" and DERIVED=TRUE and | "STYLED-DESCRIPTION" property with FMTTYPE="text/html" and | |||
| a value created from the rtf value. | DERIVED=TRUE, as well as a value created from the rtf value. | |||
| Example: | Example: | |||
| STYLED-DESCRIPTION;FMTTYPE=text/html; | ||||
| STYLED-DESCRIPTION;FMTTYPE=text/html; | DERIVED=TRUE:<html>...</html> | |||
| DERIVED=TRUE:<html>...</html> | ||||
| 6. New Properties | 6. New Properties | |||
| This specification makes use of the NAME property which is defined in | This specification makes use of the "NAME" property, which is defined | |||
| [RFC7986] | in [RFC7986]. | |||
| 6.1. Location Type | 6.1. Location Type | |||
| Property name: LOCATION-TYPE | Property Name: LOCATION-TYPE | |||
| Purpose: To specify the type(s) of a location. | Purpose: This property specifies the type(s) of a location. | |||
| Value type: The value type for this property is TEXT. The allowable | Value Type: The value type for this property is TEXT. The allowable | |||
| values are defined below. | values are defined below. | |||
| Description: This property MAY be specified in VLOCATION components | Description: This property MAY be specified in "VLOCATION" | |||
| and provides a way to differentiate multiple locations. For | components and provides a way to differentiate multiple locations. | |||
| example, it allows event producers to provide location information | For example, it allows event producers to provide location | |||
| for the venue and the parking. | information for the venue and the parking. | |||
| Format Definition: | ||||
| This property is defined by the following notation: | Format Definition: This property is defined by the following | |||
| notation: | ||||
| loctype = "LOCATION-TYPE" loctypeparam ":" | loctype = "LOCATION-TYPE" loctypeparam ":" | |||
| text *("," text) | text *("," text) | |||
| CRLF | CRLF | |||
| loctypeparam = *(";" other-param) | loctypeparam = *(";" other-param) | |||
| Multiple values may be used if the location has multiple purposes, | Multiple values may be used if the location has multiple purposes, | |||
| for example a hotel and a restaurant. | for example, a hotel and a restaurant. | |||
| Values for this parameter are taken from the values defined in | Values for this parameter are taken from the values defined in | |||
| [RFC4589] section 3. New location types SHOULD be registered in | Section 3 of [RFC4589]. New location types SHOULD be registered | |||
| the manner laid down in section 5 of that specification. | in the manner laid down in Section 5 of [RFC4589]. | |||
| 6.2. Participant Type | 6.2. Participant Type | |||
| Property name: PARTICIPANT-TYPE | Property Name: PARTICIPANT-TYPE | |||
| Purpose: To specify the type of participant. | Purpose: This property specifies the type of participant. | |||
| Value type: The value type for this property is TEXT. The allowable | Value Type: The value type for this property is TEXT. The allowable | |||
| values are defined below. | values are defined below. | |||
| Property Parameters: Non-standard parameters can be specified on | Property Parameters: Nonstandard parameters can be specified on this | |||
| this property. | property. | |||
| Conformance: This property MUST be specified once within a | Conformance: This property MUST be specified once within a | |||
| PARTICIPANT component. | "PARTICIPANT" component. | |||
| Description: This property defines the type of participation in | Description: This property defines the type of participation in | |||
| 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 property is defined by the following | |||
| notation: | ||||
| This property is defined by the following notation: | ||||
| participanttype = "PARTICIPANT-TYPE" partvalueparam ":" | ||||
| partvalue CRLF | ||||
| partvalue = ("ACTIVE" | participanttype = "PARTICIPANT-TYPE" partvalueparam ":" | |||
| / "INACTIVE" | partvalue CRLF | |||
| / "SPONSOR" | ||||
| / "CONTACT" | ||||
| / "BOOKING-CONTACT" | ||||
| / "EMERGENCY-CONTACT" | ||||
| / "PUBLICITY-CONTACT" | ||||
| / "PLANNER-CONTACT" | ||||
| / "PERFORMER" | ||||
| / "SPEAKER" | ||||
| / iana-token) ; Other IANA-registered | ||||
| ; values | ||||
| partvalueparam = *(";" other-param) | partvalue = ("ACTIVE" | |||
| / "INACTIVE" | ||||
| / "SPONSOR" | ||||
| / "CONTACT" | ||||
| / "BOOKING-CONTACT" | ||||
| / "EMERGENCY-CONTACT" | ||||
| / "PUBLICITY-CONTACT" | ||||
| / "PLANNER-CONTACT" | ||||
| / "PERFORMER" | ||||
| / "SPEAKER" | ||||
| / iana-token) ; Other IANA-registered | ||||
| ; values | ||||
| Example: | partvalueparam = *(";" other-param) | |||
| The following is an example of this property: | Example: The following is an example of this property. | |||
| PARTICIPANT-TYPE:SPEAKER | PARTICIPANT-TYPE:SPEAKER | |||
| The registered values for the PARTICIPANT-TYPE property have the | The registered values for the "PARTICIPANT-TYPE" property have the | |||
| meanings described here: | meanings described here: | |||
| 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 role - for example an | INACTIVE: A participant taking an inactive role -- for example, an | |||
| audience member. | audience member. | |||
| SPONSOR: A sponsor of the event. The ORDER parameter may be used | SPONSOR: A sponsor of the event. The "ORDER" parameter may be used | |||
| with this participant type to define the relative order of | with this participant type to define the relative order of | |||
| multiple sponsors. | multiple sponsors. | |||
| CONTACT: Contact information for the event. The ORDER parameter may | CONTACT: Contact information for the event. The "ORDER" parameter | |||
| be used with this participant type to define the relative order of | may be used with this participant type to define the relative | |||
| multiple contacts. | order of multiple contacts. | |||
| BOOKING-CONTACT: Contact information for reservations or payment | BOOKING-CONTACT: Contact information for reservations or payment. | |||
| EMERGENCY-CONTACT: Contact in case of emergency | EMERGENCY-CONTACT: Contact in case of emergency. | |||
| PUBLICITY-CONTACT: Contact for publicity | PUBLICITY-CONTACT: Contact for publicity. | |||
| PLANNER-CONTACT: Contact for the event planner or organizer | ||||
| PERFORMER: A performer - for example the soloist or the accompanist. | PLANNER-CONTACT: Contact for the event planner or organizer. | |||
| The ORDER parameter may be used with this participant type to | ||||
| define the relative order of multiple performers. For example, | ||||
| ORDER=1 could define the principal performer or soloist. | ||||
| SPEAKER: Speaker at an event | PERFORMER: A performer -- for example, the soloist or the | |||
| accompanist. The "ORDER" parameter may be used with this | ||||
| participant type to define the relative order of multiple | ||||
| performers. For example, ORDER=1 could define the principal | ||||
| performer or soloist. | ||||
| SPEAKER: Speaker at an event. | ||||
| 6.3. Resource Type | 6.3. Resource Type | |||
| Property name: RESOURCE-TYPE | Property Name: RESOURCE-TYPE | |||
| Purpose: To specify the type of resource. | Purpose: This property specifies the type of resource. | |||
| Value type: The value type for this property is TEXT. The allowable | Value Type: The value type for this property is TEXT. The allowable | |||
| values are defined below. | values are defined below. | |||
| Format Definition: | Format Definition: This property is defined by the following | |||
| notation: | ||||
| This property is defined by the following notation: | ||||
| restypeprop = "RESOURCE-TYPE" restypeparam ":" | restypeprop = "RESOURCE-TYPE" restypeparam ":" | |||
| restypevalue CRLF | restypevalue CRLF | |||
| restypevalue = ("ROOM" | restypevalue = ("ROOM" | |||
| / "PROJECTOR" | / "PROJECTOR" | |||
| / "REMOTE-CONFERENCE-AUDIO" | / "REMOTE-CONFERENCE-AUDIO" | |||
| / "REMOTE-CONFERENCE-VIDEO" | / "REMOTE-CONFERENCE-VIDEO" | |||
| / iana-token) ; Other IANA-registered | / iana-token) ; Other IANA-registered | |||
| ; values | ; values | |||
| restypeparam = *(";" other-param) | restypeparam = *(";" other-param) | |||
| Description: This property MAY be specified in VRESOURCE components | Description: This property MAY be specified in "VRESOURCE" | |||
| and provides a way to differentiate multiple resources. | components and provides a way to differentiate multiple resources. | |||
| The registered values are described below. New resource types | The registered values are described below. New resource types | |||
| SHOULD be registered in the manner laid down in this | SHOULD be registered in the manner laid down in this | |||
| specification. | specification. | |||
| ROOM: A room for the event/meeting. | ROOM: A room for the event/meeting. | |||
| PROJECTOR: Projection equipment. | PROJECTOR: Projection equipment. | |||
| REMOTE-CONFERENCE-AUDIO: Audio remote conferencing facilities. | REMOTE-CONFERENCE-AUDIO: Audio remote conferencing facilities. | |||
| REMOTE-CONFERENCE-VIDEO: Video remote conferencing facilities. | REMOTE-CONFERENCE-VIDEO: Video remote conferencing facilities. | |||
| 6.4. Calendar Address | 6.4. Calendar Address | |||
| Property name: CALENDAR-ADDRESS | Property Name: CALENDAR-ADDRESS | |||
| Purpose: To specify the calendar address for a participant. | Purpose: This property specifies the calendar address for a | |||
| participant. | ||||
| Value type: CAL-ADDRESS | Value Type: CAL-ADDRESS | |||
| Property Parameters: IANA-registered, or non-standard property | Property Parameters: IANA-registered or nonstandard property | |||
| parameters can be specified on this property. | parameters can be specified on this property. | |||
| Conformance: This property MAY be specified once within a | Conformance: This property MAY be specified once within a | |||
| PARTICIPANT component. | "PARTICIPANT" component. | |||
| Description: This property provides a calendar user address for the | Description: This property provides a calendar user address for the | |||
| participant. If there is an ATTENDEE property with the same value | participant. If there is an "ATTENDEE" property with the same | |||
| then the participant is schedulable. | value, then the participant is schedulable. | |||
| Format Definition: | ||||
| This property is defined by the following notation: | Format Definition: This property is defined by the following | |||
| notation: | ||||
| calendaraddress = "CALENDAR-ADDRESS" caladdressparam ":" | calendaraddress = "CALENDAR-ADDRESS" caladdressparam ":" | |||
| cal-address CRLF | cal-address CRLF | |||
| caladdressparam = *(";" other-param) | caladdressparam = *(";" other-param) | |||
| 6.5. Styled-Description | 6.5. 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 that provided by the DESCRIPTION property. | descriptions to replace that provided by the "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 | |||
| any properties with value types they do not understand. | any properties with value types they do not understand. | |||
| Property Parameters: IANA-registered, non-standard, id, alternate | Property Parameters: IANA-registered, nonstandard, id, alternate | |||
| text representation, format type, derived and language property | text representation, format type, derived, and language property | |||
| parameters can be specified on this property. | parameters can be specified on this property. | |||
| Conformance: The property can be specified multiple times in the | Conformance: The property can be specified multiple times in the | |||
| "VEVENT", "VTODO", "VJOURNAL", "VFREEBUSY", "PARTICIPANT", or | "VEVENT", "VTODO", "VJOURNAL", "VFREEBUSY", "PARTICIPANT", or | |||
| "VALARM" calendar components. | "VALARM" calendar components. | |||
| If it does appear more than once there MUST be exactly one | If it does appear more than once, there MUST be exactly one | |||
| instance of the property with no DERIVED parameter or | instance of the property with no "DERIVED" parameter or | |||
| DERIVED=FALSE. All others MUST have DERIVED=TRUE. | DERIVED=FALSE. All others MUST have DERIVED=TRUE. | |||
| Additionally, if there is one or more STYLED-DESCRIPTION property | Additionally, if there is one or more "STYLED-DESCRIPTION" | |||
| then the DESCRIPTION property should be either absent or have the | property, then the "DESCRIPTION" property should either be absent | |||
| parameter DERIVED=TRUE. | or have the parameter DERIVED=TRUE. | |||
| Description: This property supports rich-text descriptions, for | Description: This property supports rich-text descriptions, for | |||
| example HTML. Event publishers typically wish to provide more and | example, HTML. Event publishers typically wish to provide more | |||
| better formatted information about the event. | and better-formatted information about the event. | |||
| This property is used in the "VEVENT" and "VTODO" to capture | This property is used in the "VEVENT" and "VTODO" components to | |||
| lengthy textual descriptions associated with the activity. This | capture lengthy textual descriptions associated with the activity. | |||
| property is used in the "VJOURNAL" calendar component to capture | This property is used in the "VJOURNAL" calendar component to | |||
| one or more textual journal entries. This property is used in the | capture one or more textual journal entries. This property is | |||
| "VALARM" calendar component to capture the display text for a | used in the "VALARM" calendar component to capture the display | |||
| DISPLAY category of alarm, and to capture the body text for an | text for a DISPLAY category of alarm and to capture the body text | |||
| EMAIL category of alarm. In the PARTICIPANT component it provides | for an EMAIL category of alarm. In the "PARTICIPANT" component, | |||
| a detailed description of the participant. | it provides a detailed description of the participant. | |||
| VALUE=TEXT is used to provide rich-text inline as the property | VALUE=TEXT is used to provide rich text inline as the property | |||
| value. | value. | |||
| VALUE=URI is used to provide a link to rich-text content which is | VALUE=URI is used to provide a link to rich-text content, which is | |||
| expected to be displayed inline as part of the event. | expected to be displayed inline as part of the event. | |||
| In either case the DESCRIPTION property should be absent or | In either case, the "DESCRIPTION" property should be absent or | |||
| contain a plain text rendering of the styled text. | contain a plain-text rendering of the styled text. | |||
| Applications MAY attempt to guess the media type of the resource | Applications MAY attempt to guess the media type of the resource | |||
| via inspection of its content if and only if the media type of the | via inspection of its content if and only if the media type of the | |||
| resource is not given by the "FMTTYPE" parameter. If the media | resource is not given by the "FMTTYPE" parameter. If the media | |||
| type remains unknown, calendar applications SHOULD treat it as | type remains unknown, calendar applications SHOULD treat it as | |||
| type "text/html" and process the content as defined in | type "text/html" and process the content as defined in | |||
| [W3C.REC-html51-20171003] | [W3C.REC-html51-20171003]. | |||
| Multiple STYLED-DESCRIPTION properties may be used to provide | ||||
| different formats or different language variants. However all but | ||||
| one MUST have DERIVED=TRUE. | ||||
| Format Definition: | ||||
| This property is defined by the following notation: | ||||
| styleddescription = "STYLED-DESCRIPTION" styleddescparam ":" | ||||
| styleddescval CRLF | ||||
| styleddescparam = ; the elements herein may appear in any order, | ||||
| ; and the order is not significant. | ||||
| (";" "VALUE" "=" ("URI" / "TEXT")) | Multiple "STYLED-DESCRIPTION" properties may be used to provide | |||
| different formats or different language variants. However, all | ||||
| but one MUST have DERIVED=TRUE. | ||||
| [";" altrepparam] | Format Definition: This property is defined by the following | |||
| [";" languageparam] | notation: | |||
| [";" fmttypeparam] | ||||
| [";" derivedparam] | ||||
| *(";" other-param) | styleddescription = "STYLED-DESCRIPTION" styleddescparam ":" | |||
| styleddescval CRLF | ||||
| styleddescval = ( uri / text ) | styleddescparam = *( | |||
| ;Value MUST match value type | ; The following is REQUIRED | |||
| ; but MUST NOT occur more than once. | ||||
| ; | ||||
| (";" "VALUE" "=" ("URI" / "TEXT")) / | ||||
| ; | ||||
| ; The following are OPTIONAL | ||||
| ; but MUST NOT occur more than once. | ||||
| ; | ||||
| (";" altrepparam) / (";" languageparam) / | ||||
| (";" fmttypeparam) / (";" derivedparam) / | ||||
| ; | ||||
| ; The following is OPTIONAL | ||||
| ; and MAY occur more than once. | ||||
| ; | ||||
| (";" other-param) | ||||
| ) | ||||
| Example: | styleddescval = ( uri / text ) | |||
| ;Value MUST match value type | ||||
| The following is an example of this property. It points to an html | Example: The following is an example of this property. It points to | |||
| description. | an HTML description. | |||
| STYLED-DESCRIPTION;VALUE=URI:http://example.org/desc001.html | STYLED-DESCRIPTION;VALUE=URI:http://example.org/desc001.html | |||
| 6.6. Structured-Data | 6.6. 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: 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 TEXT, BINARY or URI | value type can be set to TEXT, BINARY, or URI. | |||
| Property Parameters: IANA-registered, non-standard, inline encoding | Property Parameters: IANA-registered, nonstandard, inline encoding, | |||
| and value data type property parameters can be specified on this | and value data type property parameters can be specified on this | |||
| property. The format type and schema parameters can be specified | property. The format type and schema parameters can be specified | |||
| on this property and MUST be present for text or inline binary | on this property and MUST be present for text or inline binary | |||
| encoded content information. | encoded content information. | |||
| Conformance: This property can be specified multiple times in an | Conformance: This property can be specified multiple times in an | |||
| iCalendar object. Typically it would be used in "VEVENT", "VTODO" | iCalendar object. Typically, it would be used in the "VEVENT", | |||
| or "VJOURNAL" calendar components. | "VTODO", or "VJOURNAL" calendar components. | |||
| Description: The existing properties in iCalendar cover key elements | Description: The existing properties in iCalendar cover key elements | |||
| of events and tasks such as start time, end time, location, | of events and tasks, such as start time, end time, location, | |||
| summary, etc. However, different types of events often have other | summary, etc. However, different types of events often have other | |||
| specific "fields" that it is useful to include in the calendar | specific "fields" that are useful to include in the calendar data. | |||
| data. For example, an event representing an airline flight could | For example, an event representing an airline flight could include | |||
| include the airline, flight number, departure and arrival airport | the airline, flight number, departure and arrival airport codes, | |||
| codes, check-in and gate-closing times etc. As another example, a | check-in and gate-closing times, etc. As another example, a | |||
| sporting event might contain information about the type of sport, | sporting event might contain information about the type of sport, | |||
| the home and away teams, the league the teams are in, information | the home and away teams, the league the teams are in, information | |||
| about nearby parking, etc. | about nearby parking, etc. | |||
| This property is used to specify ancillary data in some structured | This property is used to specify ancillary data in some structured | |||
| format either directly (inline) as a "TEXT" or "BINARY" value or | format, either directly (inline) as a "TEXT" or "BINARY" value or | |||
| as a link via a "URI" value. | as a link via a "URI" value. | |||
| Rather than define new iCalendar properties for the variety of | Rather than define new iCalendar properties for the variety of | |||
| event types that might occur, it would be better to leverage | event types that might occur, it would be better to leverage | |||
| existing schemas for such data. For example, schemas available at | existing schemas for such data. For example, schemas available at | |||
| https://schema.org include different event types. By using | <https://schema.org> include different event types. By using | |||
| standard schemas, interoperability can be improved between | standard schemas, interoperability can be improved between | |||
| calendar clients and non-calendaring systems that wish to generate | calendar clients and noncalendaring systems that wish to generate | |||
| or process the data. | or process the data. | |||
| This property allows the direct inclusion of ancillary data whose | This property allows the direct inclusion of ancillary data whose | |||
| schema is defined elsewhere. This property also includes | schema is defined elsewhere. This property also includes | |||
| parameters to clearly identify the type of the schema being used | parameters to clearly identify the type of the schema being used | |||
| so that clients can quickly and easily spot what is relevant | so that clients can quickly and easily spot what is relevant | |||
| within the calendar data and present that to users or process it | within the calendar data and present that to users or process it | |||
| within the calendaring system. | within the calendaring system. | |||
| iCalendar does support an "ATTACH" property which can be used to | iCalendar does support an "ATTACH" property, which can be used to | |||
| include documents or links to documents within the calendar data. | include documents or links to documents within the calendar data. | |||
| However, that property does not allow data to be included as a | However, that property does not allow data to be included as a | |||
| "TEXT" value (a feature that "STRUCTURED-DATA" does allow), plus | "TEXT" value (a feature that "STRUCTURED-DATA" does allow), plus | |||
| attachments are often treated as "opaque" data to be processed by | attachments are often treated as "opaque" data to be processed by | |||
| some other system rather than the calendar client. Thus the | some other system rather than the calendar client. Thus, the | |||
| existing "ATTACH" property is not sufficient to cover the specific | existing "ATTACH" property is not sufficient to cover the specific | |||
| needs of inclusion of schema data. Extending the "ATTACH" | needs of inclusion of schema data. Extending the "ATTACH" | |||
| property to support a new value type would likely cause | property to support a new value type would likely cause | |||
| interoperability problems. Additionally some implementations | interoperability problems. Additionally, some implementations | |||
| manage attachments by stripping them out and replacing with a link | manage attachments by stripping them out and replacing with a link | |||
| to the resource. Thus a new property to support inclusion of | to the resource. Thus, a new property to support inclusion of | |||
| schema data is warranted. | schema data is warranted. | |||
| Format Definition: | Format Definition: This property is defined by the following | |||
| notation: | ||||
| This property is defined by the following notation: | ||||
| sdataprop = "STRUCTURED-DATA" sdataparam ":" | ||||
| sdataval CRLF | ||||
| sdataparam = ; all parameter elements may appear in any order, | ||||
| ; and the order is not significant. | ||||
| (sdataparamtext / sdataparambin / sdataparamuri) | ||||
| *(";" other-param) | ||||
| sdataparamtext = ";VALUE=TEXT" | ||||
| ";" fmttypeparam | ||||
| ";" schemaparam | ||||
| sdataparambin = ";VALUE=BINARY" | ||||
| ";ENCODING=BASE64" | ||||
| ";" fmttypeparam | ||||
| ";" schemaparam | ||||
| sdataparamuri = ";VALUE=URI" | sdataprop = "STRUCTURED-DATA" sdataparam | |||
| [";" fmttypeparam] | ( | |||
| [";" schemaparam] | ";" "VALUE" "=" "TEXT" | |||
| ":" text | ||||
| ) / | ||||
| ( | ||||
| ";" "ENCODING" "=" "BASE64" | ||||
| ";" "VALUE" "=" "BINARY" | ||||
| ";" binary | ||||
| ) / | ||||
| ( | ||||
| ";" "VALUE" "=" "URI" | ||||
| ":" uri | ||||
| ) | ||||
| CRLF | ||||
| sdataval = ( binary / text /uri ) | sdataparam = *( | |||
| ; value MUST match value type | ; | |||
| ; The following is OPTIONAL for a URI value, | ||||
| ; REQUIRED for a TEXT or BINARY value, | ||||
| ; and MUST NOT occur more than once. | ||||
| ; | ||||
| (";" fmttypeparam) / | ||||
| (";" schemaparam) / | ||||
| ; | ||||
| ; The following is OPTIONAL | ||||
| ; and MAY occur more than once. | ||||
| ; | ||||
| (";" other-param) | ||||
| ; | ||||
| ) | ||||
| Example: The following is an example of this property: | Example: The following is an example of this property. | |||
| STRUCTURED-DATA;FMTTYPE=application/ld+json; | STRUCTURED-DATA;FMTTYPE=application/ld+json; | |||
| SCHEMA="https://schema.org/SportsEvent"; | SCHEMA="https://schema.org/SportsEvent"; | |||
| VALUE=TEXT:{\n | VALUE=TEXT:{\n | |||
| "@context": "http://schema.org"\,\n | "@context": "http://schema.org"\,\n | |||
| "@type": "SportsEvent"\,\n | "@type": "SportsEvent"\,\n | |||
| "homeTeam": "Pittsburgh Pirates"\,\n | "homeTeam": "Pittsburgh Pirates"\,\n | |||
| "awayTeam": "San Francisco Giants"\n | "awayTeam": "San Francisco Giants"\n | |||
| }\n | }\n | |||
| 7. New Components | 7. New Components | |||
| 7.1. Participant | 7.1. Participant | |||
| Component name: PARTICIPANT | Component name: PARTICIPANT | |||
| Purpose: This component provides information about a participant in | Purpose: This component provides information about a participant in | |||
| an event or task. | an event or task. | |||
| Conformance: This component can be specified multiple times in a | Conformance: This component can be specified multiple times in a | |||
| "VEVENT", "VTODO", "VJOURNAL" or "VFREEBUSY" calendar component. | "VEVENT", "VTODO", "VJOURNAL", or "VFREEBUSY" calendar component. | |||
| Description: This component provides information about a participant | Description: This component provides information about a participant | |||
| in a calendar component. A participant may be an attendee in a | in a calendar component. A participant may be an attendee in a | |||
| scheduling sense and the ATTENDEE property may be specified in | scheduling sense, and the "ATTENDEE" property may be specified in | |||
| addition. Participants can be individuals or organizations, for | addition. Participants can be individuals or organizations, for | |||
| example a soccer team, the spectators or the musicians. | example, a soccer team, the spectators, or the musicians. | |||
| STRUCTURED-DATA properties if present may refer to definitions of | ||||
| the participant - such as a vCard. | ||||
| The CALENDAR-ADDRESS property if present will provide a cal- | "STRUCTURED-DATA" properties, if present, may refer to definitions | |||
| address. If an ATTENDEE property has the same value the | of the participant -- such as a vCard. | |||
| participant is considered schedulable. The PARTICIPANT component | ||||
| can be used to contain additional meta-data related to the | ||||
| attendee. | ||||
| Format Definition: | The "CALENDAR-ADDRESS" property, if present, will provide a cal- | |||
| address. If an "ATTENDEE" property has the same value, the | ||||
| participant is considered schedulable. The "PARTICIPANT" | ||||
| component can be used to contain additional metadata related to | ||||
| the attendee. | ||||
| This component is defined by the following notation: | Format Definition: This component is defined by the following | |||
| notation: | ||||
| participantc = "BEGIN" ":" "PARTICIPANT" CRLF | participantc = "BEGIN" ":" "PARTICIPANT" CRLF | |||
| partprop *locationc *resourcec | partprop *locationc *resourcec | |||
| "END" ":" "PARTICIPANT" CRLF | "END" ":" "PARTICIPANT" CRLF | |||
| partprop = ; the elements herein may appear in any order, | partprop = *( | |||
| ; and the order is not significant. | ; | |||
| ; The following are REQUIRED | ||||
| uid | ; but MUST NOT occur more than once. | |||
| participanttype | ; | |||
| participanttype / uid / | ||||
| [calendaraddress] | ; | |||
| [created] | ; The following are OPTIONAL | |||
| [description] | ; but MUST NOT occur more than once. | |||
| [dtstamp] | ; | |||
| [geo] | calendaraddress / created / description / dtstamp / | |||
| [last-mod] | geo / last-mod / priority / seq / | |||
| [priority] | status / summary / url / | |||
| [seq] | ; | |||
| [status] | ; The following are OPTIONAL | |||
| [summary] | ; and MAY occur more than once. | |||
| [url] | ; | |||
| attach / categories / comment | ||||
| *attach | contact / location / rstatus / related / | |||
| *categories | resources / strucloc / strucres / | |||
| *comment | styleddescription / sdataprop / iana-prop | |||
| *contact | ; | |||
| *location | ) | |||
| *rstatus | ||||
| *related | ||||
| *resources | ||||
| *strucloc | ||||
| *strucres | ||||
| *styleddescription | ||||
| *sdataprop | ||||
| *iana-prop | ||||
| Note: When the PRIORITY is supplied it defines the ordering of | Note: When the "PRIORITY" property is supplied, it defines the | |||
| PARTICIPANT components with the same value for the PARTICIPANT- | ordering of "PARTICIPANT" components with the same value for the | |||
| TYPE property. | "PARTICIPANT-TYPE" property. | |||
| Privacy Issues: When a LOCATION is supplied it provides information | Privacy Issues: When a "LOCATION" property is supplied, it provides | |||
| about the location of a participant at a given time or times. | information about the location of a participant at a given time or | |||
| This may represent an unacceptable privacy risk for some | times. This may represent an unacceptable privacy risk for some | |||
| participants. User agents MUST NOT broadcast this information | participants. User agents MUST NOT broadcast this information | |||
| without the participant's express permission. For further | without the express permission of the participants whose location | |||
| comments see Section 10 | would be exposed. For further comments, see Section 10. | |||
| Example: | ||||
| The following is an example of this component. It contains a | Example: The following is an example of this component. It contains | |||
| STRUCTURED-DATA property which points to a vCard providing | a "STRUCTURED-DATA" property that points to a vCard providing | |||
| information about the event participant. | information about the event participant. | |||
| BEGIN:PARTICIPANT | BEGIN:PARTICIPANT | |||
| UID: em9lQGZvb2GFtcGxlLmNvbQ | UID: em9lQGZvb2GFtcGxlLmNvbQ | |||
| PARTICIPANT-TYPE:PERFORMER | PARTICIPANT-TYPE:PERFORMER | |||
| STRUCTURED-DATA;VALUE=URI: | STRUCTURED-DATA;VALUE=URI: | |||
| http://dir.example.com/vcard/aviolinist.vcf | http://dir.example.com/vcard/aviolinist.vcf | |||
| END:PARTICIPANT | END:PARTICIPANT | |||
| Example: | Example: The following is an example for the primary contact. | |||
| The following is an example for the primary contact. | ||||
| BEGIN:PARTICIPANT | ||||
| UID: em9lQGZvb2GFtcGxlLmNvbQ | ||||
| STRUCTURED-DATA;VALUE=URI; | ||||
| http://dir.example.com/vcard/contacts/contact1.vcf | ||||
| PARTICIPANT-TYPE:CONTACT | ||||
| DESCRIPTION:A contact | ||||
| END:PARTICIPANT | ||||
| Example: | BEGIN:PARTICIPANT | |||
| UID: em9lQGZvb2GFtcGxlLmNvbQ | ||||
| STRUCTURED-DATA;VALUE=URI; | ||||
| http://dir.example.com/vcard/contacts/contact1.vcf | ||||
| PARTICIPANT-TYPE:CONTACT | ||||
| DESCRIPTION:A contact | ||||
| END:PARTICIPANT | ||||
| The following is an example for a participant with contact and | Example: The following is an example for a participant with contact | |||
| location. | and location. | |||
| BEGIN:PARTICIPANT | BEGIN:PARTICIPANT | |||
| UID: em9lQGZvb2GFtcGxlLmNdrt | UID: em9lQGZvb2GFtcGxlLmNdrt | |||
| STRUCTURED-DATA;VALUE=URI; | STRUCTURED-DATA;VALUE=URI; | |||
| http://dir.example.com/vcard/contacts/my-card.vcf | http://dir.example.com/vcard/contacts/my-card.vcf | |||
| PARTICIPANT-TYPE:SPEAKER | PARTICIPANT-TYPE:SPEAKER | |||
| DESCRIPTION:A participant | DESCRIPTION:A participant | |||
| BEGIN:VLOCATION | BEGIN:VLOCATION | |||
| UID:123456-abcdef-98765432 | UID:123456-abcdef-98765432 | |||
| NAME:My home location | NAME:My home location | |||
| STRUCTURED-DATA;VALUE=URI: | STRUCTURED-DATA;VALUE=URI: | |||
| http://dir.example.com/addresses/my-home.vcf | http://dir.example.com/addresses/my-home.vcf | |||
| END:VLOCATION | END:VLOCATION | |||
| END:PARTICIPANT | END:PARTICIPANT | |||
| 7.1.1. Schedulable Participant | 7.1.1. Schedulable Participant | |||
| A PARTICIPANT component may represent someone or something that needs | A "PARTICIPANT" component may represent someone or something that | |||
| to be scheduled as defined for ATTENDEE in [RFC5545] and [RFC5546]. | needs to be scheduled, as defined for ATTENDEE in [RFC5545] and | |||
| The PARTICIPANT component may also represent someone or something | [RFC5546]. The "PARTICIPANT" component may also represent someone or | |||
| that is NOT to receive scheduling messages. | something that is NOT to receive scheduling messages. | |||
| For backwards compatibility wuth existing clients and servers when | For backwards compatibility with existing clients and servers when | |||
| used to schedule events and tasks the ATTENDEE property MUST be used | used to schedule events and tasks, the "ATTENDEE" property MUST be | |||
| to specify the sheduling parameters as defined for that property. | used to specify the scheduling parameters as defined for that | |||
| property. | ||||
| For other, future uses the CALENDAR-ADDRESS property MUST be used to | For other, future uses, the "CALENDAR-ADDRESS" property MUST be used | |||
| specify those parameters. | to specify those parameters. | |||
| A PARTICIPANT component is defined to be schedulable if | A "PARTICIPANT" component is defined to be schedulable if: | |||
| o It contains a CALENDAR-ADDRESS property | * it contains a "CALENDAR-ADDRESS" property and | |||
| o That property value is the same as the value for an ATTENDEE | * that property value is the same as the value for an "ATTENDEE" | |||
| property. | property. | |||
| If both of these conditions apply then the participant defined by the | If both of these conditions apply, then the participant defined by | |||
| value of the URL property will take part in scheduling operations as | the value of the URL property will take part in scheduling | |||
| defined in [RFC5546]. | operations, as defined in [RFC5546]. | |||
| An appropriate use for the PARTICIPANT component in scheduling would | An appropriate use for the "PARTICIPANT" component in scheduling | |||
| be to store SEQUENCE and DTSTAMP properties associated with replies | would be to store "SEQUENCE" and "DTSTAMP" properties associated with | |||
| from each ATTENDEE. A LOCATION property within the PARTICIPANT | replies from each "ATTENDEE" property. A "LOCATION" property within | |||
| component might allow better selection of meeting times when | the "PARTICIPANT" component might allow better selection of meeting | |||
| participants are in different timezones. | times when participants are in different time zones. | |||
| 7.2. Location | 7.2. Location | |||
| Component name: VLOCATION | Component name: VLOCATION | |||
| Purpose: This component provides rich information about the location | Purpose: This component provides rich information about the location | |||
| of an event using the structured data property or optionally a | of an event using the structured data property or, optionally, a | |||
| plain text typed value. | plain-text typed value. | |||
| Conformance: This component can be specified multiple times in a | Conformance: This component can be specified multiple times in a | |||
| "VEVENT", "VTODO", "VJOURNAL", "VFREEBUSY" or "PARTICIPANT" | "VEVENT", "VTODO", "VJOURNAL", "VFREEBUSY", or "PARTICIPANT" | |||
| calendar component. | calendar component. | |||
| Description: There may be a number of locations associated with an | Description: There may be a number of locations associated with an | |||
| event. This component provides detailed information about a | event. This component provides detailed information about a | |||
| location. | location. | |||
| When used in a component the value of this property provides | When used in a component, the value of this property provides | |||
| information about the event venue or of related services such as | information about the event venue or of related services, such as | |||
| parking, dining, stations etc.. | parking, dining, stations, etc. | |||
| STRUCTURED-DATA properties if present may refer to representations | ||||
| of the location - such as a vCard. | ||||
| Format Definition: | "STRUCTURED-DATA" properties, if present, may refer to | |||
| representations of the location -- such as a vCard. | ||||
| This component is defined by the following notation: | Format Definition: This component is defined by the following | |||
| notation: | ||||
| locationc = "BEGIN" ":" "VLOCATION" CRLF | locationc = "BEGIN" ":" "VLOCATION" CRLF | |||
| locprop | locprop | |||
| "END" ":" "VLOCATION" CRLF | "END" ":" "VLOCATION" CRLF | |||
| locprop = ; the elements herein may appear in any order, | locprop = *( | |||
| ; and the order is not significant. | ; | |||
| ; The following are REQUIRED | ||||
| uid | ; but MUST NOT occur more than once. | |||
| ; | ||||
| [name] | uid / | |||
| [description] | ; | |||
| [geo] | ; The following are OPTIONAL | |||
| [loctype] | ; but MUST NOT occur more than once. | |||
| ; | ||||
| *sdataprop | description / geo / loctype / name | |||
| *iana-prop | ; | |||
| ; The following are OPTIONAL | ||||
| The NAME property is defined in [RFC7986] | ; and MAY occur more than once. | |||
| ; | ||||
| sdataprop / iana-prop | ||||
| ) | ||||
| Example: | The "NAME" property is defined in [RFC7986]. | |||
| The following is an example of this component. It points to a venue. | Example: The following is an example of this component. It points | |||
| to a venue. | ||||
| BEGIN:VLOCATION | BEGIN:VLOCATION | |||
| UID:123456-abcdef-98765432 | UID:123456-abcdef-98765432 | |||
| NAME:The venue | NAME:The venue | |||
| STRUCTURED-DATA;VALUE=URI: | STRUCTURED-DATA;VALUE=URI: | |||
| http://dir.example.com/venues/big-hall.vcf | http://dir.example.com/venues/big-hall.vcf | |||
| END:VLOCATION | END:VLOCATION | |||
| 7.3. Resource | 7.3. Resource | |||
| Component name: VRESOURCE | Component name: VRESOURCE | |||
| Purpose: This component provides a typed reference to external | Purpose: This component 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. Typically a resource is anything that might be required or | value. Typically, a resource is anything that might be required | |||
| used by a calendar entity and possibly has a directory entry. | or used by a calendar entity and possibly has a directory entry. | |||
| Conformance: This component can be specified multiple times in a | Conformance: This component can be specified multiple times in a | |||
| "VEVENT", "VTODO", "VJOURNAL", "VFREEBUSY" or "PARTICIPANT" | "VEVENT", "VTODO", "VJOURNAL", "VFREEBUSY", or "PARTICIPANT" | |||
| calendar component. | calendar component. | |||
| Description: When used in a component this component provides | Description: When used in a component, this component provides | |||
| information about resources used for the event such as rooms, | information about resources used for the event, such as rooms, | |||
| projectors, conferencing capabilities. | projectors, and conferencing capabilities. | |||
| The RESOURCE-TYPE value registry provides a place in which | The RESOURCE-TYPE value registry provides a place in which | |||
| resource types may be registered. | resource types may be registered. | |||
| STRUCTURED-DATA properties if present may refer to representations | "STRUCTURED-DATA" properties, if present, may refer to | |||
| of the resource - such as a vCard. | representations of the resource -- such as a vCard. | |||
| Format Definition: | ||||
| This component is defined by the following notation: | Format Definition: This component is defined by the following | |||
| notation: | ||||
| resourcec = "BEGIN" ":" "VRESOURCE" CRLF | resourcec = "BEGIN" ":" "VRESOURCE" CRLF | |||
| resprop | resprop | |||
| "END" ":" "VRESOURCE" CRLF | "END" ":" "VRESOURCE" CRLF | |||
| resprop = ; the elements herein may appear in any order, | resprop = *( | |||
| ; and the order is not significant. | ; | |||
| ; The following are REQUIRED | ||||
| uid | ; but MUST NOT occur more than once. | |||
| ; | ||||
| [name] | uid / | |||
| [description] | ; | |||
| [geo] | ; The following are OPTIONAL | |||
| [restype] | ; but MUST NOT occur more than once. | |||
| ; | ||||
| *sdataprop | description / geo / name / restype / | |||
| *iana-prop | ; | |||
| ; The following are OPTIONAL | ||||
| The NAME property is defined in [RFC7986] | ; and MAY occur more than once. | |||
| ; | ||||
| sdataprop / iana-prop | ||||
| ) | ||||
| Example: | The "NAME" property is defined in [RFC7986]. | |||
| The following is an example of this component. It refers to a | Example: The following is an example of this component. It refers | |||
| projector. | to a projector. | |||
| BEGIN:VRESOURCE | BEGIN:VRESOURCE | |||
| UID:456789-abcdef-98765432 | UID:456789-abcdef-98765432 | |||
| NAME:The projector | NAME:The projector | |||
| RESOURCE-TYPE:projector | RESOURCE-TYPE:projector | |||
| STRUCTURED-DATA;VALUE=URI:http://dir.example.com/projectors/3d.vcf | STRUCTURED-DATA;VALUE=URI:http://dir.example.com/projectors/3d.vcf | |||
| END:VRESOURCE | END:VRESOURCE | |||
| 8. Extended examples | 8. Extended Examples | |||
| The following are some examples of the use of the properties defined | The following are some examples of the use of the properties defined | |||
| in this specification. They include additional properties defined in | in this specification. They include additional properties defined in | |||
| [RFC7986] which includes IMAGE. | [RFC7986], which includes "IMAGE". | |||
| 8.1. Example 1 | 8.1. Example 1 | |||
| The following is an example of a VEVENT describing a concert. It | ||||
| includes location information for the venue itself as well as | The following is an example of a "VEVENT" describing a concert. It | |||
| includes location information for the venue itself, as well as | ||||
| references to parking and restaurants. | references to parking and restaurants. | |||
| BEGIN:VEVENT | BEGIN:VEVENT | |||
| CREATED:20200215T145739Z | CREATED:20200215T145739Z | |||
| DESCRIPTION: Piano Sonata No 3\n | DESCRIPTION: Piano Sonata No 3\n | |||
| Piano Sonata No 30 | Piano Sonata No 30 | |||
| DTSTAMP:20200215T145739Z | DTSTAMP:20200215T145739Z | |||
| DTSTART;TZID=America/New_York:20200315T150000Z | DTSTART;TZID=America/New_York:20200315T150000Z | |||
| DTEND;TZID=America/New_York:20200315T163000Z | DTEND;TZID=America/New_York:20200315T163000Z | |||
| LAST-MODIFIED:20200216T145739Z | LAST-MODIFIED:20200216T145739Z | |||
| skipping to change at page 27, line 4 ¶ | skipping to change at line 1111 ¶ | |||
| STRUCTURED-DATA;VALUE=URI:http://dir.example.com/venues/big-hall.vcf | STRUCTURED-DATA;VALUE=URI:http://dir.example.com/venues/big-hall.vcf | |||
| END:VLOCATION | END:VLOCATION | |||
| BEGIN:VLOCATION | BEGIN:VLOCATION | |||
| UID:123456-abcdef-87654321 | UID:123456-abcdef-87654321 | |||
| NAME:Parking for the venue | NAME:Parking for the venue | |||
| STRUCTURED-DATA;VALUE=URI:http://dir.example.com/venues/parking.vcf | STRUCTURED-DATA;VALUE=URI:http://dir.example.com/venues/parking.vcf | |||
| END:VLOCATION | END:VLOCATION | |||
| END:VEVENT | END:VEVENT | |||
| 8.2. Example 2 | 8.2. Example 2 | |||
| The following is an example of a VEVENT describing a meeting. One of | ||||
| the attendees is a remote participant. | The following is an example of a "VEVENT" describing a meeting. One | |||
| of the attendees is a remote participant. | ||||
| BEGIN:VEVENT | BEGIN:VEVENT | |||
| CREATED:20200215T145739Z | CREATED:20200215T145739Z | |||
| DTSTAMP:20200215T145739Z | DTSTAMP:20200215T145739Z | |||
| DTSTART;TZID=America/New_York:20200315T150000Z | DTSTART;TZID=America/New_York:20200315T150000Z | |||
| DTEND;TZID=America/New_York:20200315T163000Z | DTEND;TZID=America/New_York:20200315T163000Z | |||
| LAST-MODIFIED:20200216T145739Z | LAST-MODIFIED:20200216T145739Z | |||
| SUMMARY:Conference planning | SUMMARY:Conference planning | |||
| UID:123456 | UID:123456 | |||
| ORGANIZER:mailto:a@example.com | ORGANIZER:mailto:a@example.com | |||
| skipping to change at page 27, line 30 ¶ | skipping to change at line 1138 ¶ | |||
| UID:v39lQGZvb2GFtcGxlLmNvbQ | UID:v39lQGZvb2GFtcGxlLmNvbQ | |||
| STRUCTURED-DATA;VALUE=URI:http://www.example.com/people/b.vcf | STRUCTURED-DATA;VALUE=URI:http://www.example.com/people/b.vcf | |||
| LOCATION:At home | LOCATION:At home | |||
| END:PARTICIPANT | END:PARTICIPANT | |||
| END:VEVENT | END:VEVENT | |||
| 9. Security Considerations | 9. Security Considerations | |||
| This specification extends [RFC5545] and makes further use of | This specification extends [RFC5545] and makes further use of | |||
| possibly linked data. While calendar data is not unique in this | possibly linked data. While calendar data is not unique in this | |||
| regard it is worth reminding implementors of some of the dangers and | regard, it is worth reminding implementors of some of the dangers and | |||
| safeguards. | safeguards. | |||
| 9.1. URIs | 9.1. URIs | |||
| See [RFC3986] for a discussion of the security considerations | See [RFC3986] for a discussion of the security considerations | |||
| relating to URIs. Because of the issues discussed there and below, | relating to URIs. Because of the issues discussed there and below, | |||
| clients SHOULD NOT follow URIs and fetch content automatically, and | clients SHOULD NOT follow URIs and fetch content automatically and | |||
| should only do so at the explicit request of the user. | should only do so at the explicit request of the user. | |||
| Fetching remote resources carries inherent risks. Connections must | Fetching remote resources carries inherent risks. Connections must | |||
| only be allowed on well known ports, using allowed protocols | only be allowed on well-known ports, using allowed protocols | |||
| (generally just HTTP/HTTPS on their default ports). The URL must be | (generally just HTTP/HTTPS on their default ports). The URL must be | |||
| resolved externally and not allowed to access internal resources. | resolved externally and not allowed to access internal resources. | |||
| Connecting to an external source reveals IP (and therefore generally | Connecting to an external source reveals IP (and therefore generally | |||
| location) information. | location) information. | |||
| A maliciously constructed iCalendar object may contain a very large | A maliciously constructed iCalendar object may contain a very large | |||
| number of URIs. In the case of published calendars with a large | number of URIs. In the case of published calendars with a large | |||
| number of subscribers, such objects could be widely distributed. | number of subscribers, such objects could be widely distributed. | |||
| Implementations should be careful to limit the automatic fetching of | Implementations should be careful to limit the automatic fetching of | |||
| linked resources to reduce the risk of this being an amplification | linked resources to reduce the risk of this being an amplification | |||
| vector for a denial-of-service attack. | vector for a denial-of-service attack. | |||
| 9.2. Malicious Content | 9.2. Malicious Content | |||
| For the "STRUCTURED-DATA" property, agents need to be aware that a | For the "STRUCTURED-DATA" property, agents need to be aware that a | |||
| client could attack underlying storage by sending extremely large | client could attack underlying storage by sending extremely large | |||
| values and could attack processing time by uploading a recurring | values and could attack processing time by uploading a recurring | |||
| event with a large number of overrides and then repeatedly adding, | event with a large number of overrides and then repeatedly adding, | |||
| updating and deleting structured data. | updating, and deleting structured data. | |||
| Agents should set reasonable limits on storage size and number of | Agents should set reasonable limits on storage size and number of | |||
| instances and apply those constraints. Calendar protocols should | instances and apply those constraints. Calendar protocols should | |||
| ensure there is a way to report on such limits being exceeded. | ensure there is a way to report on such limits being exceeded. | |||
| Malicious content could be introduced into the calendar server by way | Malicious content could be introduced into the calendar server by way | |||
| of the "STRUCTURED-DATA" property and propagated to many end users | of the "STRUCTURED-DATA" property and propagated to many end users | |||
| via scheduling. Servers SHOULD check this property for malicious or | via scheduling. Servers SHOULD check this property for malicious or | |||
| inappropriate content. Upon detecting such content, servers SHOULD | inappropriate content. Upon detecting such content, servers SHOULD | |||
| remove the property, | remove the property. | |||
| 9.3. HTML Content | 9.3. HTML Content | |||
| When processing HTML content, applications need to be aware of the | When processing HTML content, applications need to be aware of the | |||
| many security and privacy issues, as described in the IANA | many security and privacy issues, as described in the IANA | |||
| considerations section of [W3C.REC-html51-20171003] | Considerations section of [W3C.REC-html51-20171003]. | |||
| 10. Privacy Considerations | 10. Privacy Considerations | |||
| 10.1. Tracking | 10.1. Tracking | |||
| Properties with a "URI" value type can expose their users to privacy | Properties with a "URI" value type can expose their users to privacy | |||
| leaks as any network access of the URI data can be tracked both by a | leaks, as any network access of the URI data can be tracked both by a | |||
| network observer and by the entity hosting the remote resource. | network observer and by the entity hosting the remote resource. | |||
| Clients SHOULD NOT automatically download data referenced by the URI | Clients SHOULD NOT automatically download data referenced by the URI | |||
| without explicit instruction from users. | without explicit instruction from users. | |||
| To help alleviate some of the concerns protocols and services could | To help alleviate some of the concerns, protocols and services could | |||
| provide proxy services for downloading referenced data. | provide proxy services for downloading referenced data. | |||
| 10.2. Revealing Locations | 10.2. Revealing Locations | |||
| The addition of location information to the new participant component | The addition of location information to the new participant component | |||
| provides information about the location of participants at a given | provides information about the location of participants at a given | |||
| time. This information MUST NOT be distributed to other participants | time. This information MUST NOT be distributed to other participants | |||
| without those participant's express permission. Note that there may | without those participant's express permission. Note that there may | |||
| be a number of participants who may be unaware of their inclusion in | be a number of participants who may be unaware of their inclusion in | |||
| the data. | the data. | |||
| skipping to change at page 29, line 15 ¶ | skipping to change at line 1218 ¶ | |||
| Agents processing and distributing calendar data must be aware that | Agents processing and distributing calendar data must be aware that | |||
| it has the property of providing information about a future time when | it has the property of providing information about a future time when | |||
| a given individual may be at a particular location, which could | a given individual may be at a particular location, which could | |||
| enable targeted attacks against that individual. | enable targeted attacks against that individual. | |||
| The same may be true of other information contained in the | The same may be true of other information contained in the | |||
| participant component. In general, revealing only as much as is | participant component. In general, revealing only as much as is | |||
| absolutely necessary should be the approach taken. | absolutely necessary should be the approach taken. | |||
| For example, there may be some privacy considerations relating to the | For example, there may be some privacy considerations relating to the | |||
| ORDER parameter, as it provides an indication of the organizer's | "ORDER" parameter, as it provides an indication of the organizer's | |||
| perception of the relative importance of other participants. | perception of the relative importance of other participants. | |||
| 11. IANA Considerations | 11. IANA Considerations | |||
| 11.1. Additional iCalendar Registrations | 11.1. Additional iCalendar Registrations | |||
| 11.1.1. Properties | 11.1.1. Properties | |||
| This document defines the following new iCalendar properties to be | This document defines the following iCalendar properties that have | |||
| added to the registry defined in Section 8.2.3 of [RFC5545]: | been added to the "Properties" registry defined in Section 8.2.3 of | |||
| [RFC5545]: | ||||
| +--------------------+---------+----------------------+ | +====================+=========+=======================+ | |||
| | Property | Status | Reference | | | Property | Status | Reference | | |||
| +--------------------+---------+----------------------+ | +====================+=========+=======================+ | |||
| | CALENDAR-ADDRESS | Current | RFCXXXX, Section 6.4 | | | CALENDAR-ADDRESS | Current | RFC 9073, Section 6.4 | | |||
| | LOCATION-TYPE | Current | RFCXXXX, Section 6.1 | | +--------------------+---------+-----------------------+ | |||
| | PARTICIPANT-TYPE | Current | RFCXXXX, Section 6.2 | | | LOCATION-TYPE | Current | RFC 9073, Section 6.1 | | |||
| | RESOURCE-TYPE | Current | RFCXXXX, Section 6.3 | | +--------------------+---------+-----------------------+ | |||
| | STRUCTURED-DATA | Current | RFCXXXX, Section 6.6 | | | PARTICIPANT-TYPE | Current | RFC 9073, Section 6.2 | | |||
| | STYLED-DESCRIPTION | Current | RFCXXXX, Section 6.5 | | +--------------------+---------+-----------------------+ | |||
| +--------------------+---------+----------------------+ | | RESOURCE-TYPE | Current | RFC 9073, Section 6.3 | | |||
| +--------------------+---------+-----------------------+ | ||||
| | STRUCTURED-DATA | Current | RFC 9073, Section 6.6 | | ||||
| +--------------------+---------+-----------------------+ | ||||
| | STYLED-DESCRIPTION | Current | RFC 9073, Section 6.5 | | ||||
| +--------------------+---------+-----------------------+ | ||||
| Table 1: Additions to the Properties Registry | ||||
| 11.1.2. Parameters | 11.1.2. Parameters | |||
| This document defines the following new iCalendar property parameters | This document defines the following iCalendar property parameters | |||
| to be added to the registry defined in Section 8.2.4 of [RFC5545]: | that have been added to the "Parameters" registry defined in | |||
| Section 8.2.4 of [RFC5545]: | ||||
| +--------------------+---------+----------------------+ | +===========+=========+=======================+ | |||
| | Property Parameter | Status | Reference | | | Parameter | Status | Reference | | |||
| +--------------------+---------+----------------------+ | +===========+=========+=======================+ | |||
| | ORDER | Current | RFCXXXX, Section 5.1 | | | ORDER | Current | RFC 9073, Section 5.1 | | |||
| | SCHEMA | Current | RFCXXXX, Section 5.2 | | +-----------+---------+-----------------------+ | |||
| +--------------------+---------+----------------------+ | | SCHEMA | Current | RFC 9073, Section 5.2 | | |||
| +-----------+---------+-----------------------+ | ||||
| | DERIVED | Current | RFC 9073, Section 5.3 | | ||||
| +-----------+---------+-----------------------+ | ||||
| Table 2: Additions to the Parameters Registry | ||||
| 11.1.3. Components | 11.1.3. Components | |||
| This document defines the following new iCalendar components to be | This document defines the following iCalendar components that have | |||
| added to the registry defined in Section 8.3.1 of [RFC5545]: | been added to the "Components" registry defined in Section 8.3.1 of | |||
| [RFC5545]: | ||||
| +-------------+---------+----------------------+ | +=============+=========+=======================+ | |||
| | Component | Status | Reference | | | Component | Status | Reference | | |||
| +-------------+---------+----------------------+ | +=============+=========+=======================+ | |||
| | PARTICIPANT | Current | RFCXXXX, Section 7.1 | | | PARTICIPANT | Current | RFC 9073, Section 7.1 | | |||
| | VLOCATION | Current | RFCXXXX, Section 7.2 | | +-------------+---------+-----------------------+ | |||
| | VRESOURCE | Current | RFCXXXX, Section 7.3 | | | VLOCATION | Current | RFC 9073, Section 7.2 | | |||
| +-------------+---------+----------------------+ | +-------------+---------+-----------------------+ | |||
| | VRESOURCE | Current | RFC 9073, Section 7.3 | | ||||
| +-------------+---------+-----------------------+ | ||||
| 11.2. New Registration Tables | Table 3: Additions to the Components Registry | |||
| 11.2. Participant Types and Resource Types Registries | ||||
| This section defines new registration tables for PARTICIPANT-TYPE and | This section defines new registration tables for PARTICIPANT-TYPE and | |||
| RESOURCE-TYPE values. These tables are updated using the same | RESOURCE-TYPE values. These tables are updated using the same | |||
| approaches laid down in Section 8.2.1 of [RFC5545] | approaches laid down in Section 8.2.1 of [RFC5545]. | |||
| This document creates new IANA registries for participant and | This document creates new IANA registries for participant and | |||
| resource types. IANA will maintain these registries and, following | resource types. IANA will maintain these registries and, following | |||
| the policies outlined in [RFC8126], new tokens are assigned after | the policies outlined in [RFC8126], new tokens are assigned after | |||
| Expert Review. The Expert Reviewer will generally consult the IETF | Expert Review. The Expert Reviewer will generally consult the IETF | |||
| GeoPRIV working group mailing list or its designated successor. | GEOPRIV Working Group mailing list or its designated successor. | |||
| Updates or deletions of tokens from the registration follow the same | Updates or deletions of tokens from the registration follow the same | |||
| procedures. The expert review should be guided by a few common sense | procedures. The Expert Review should be guided by a few common-sense | |||
| considerations. For example, tokens should not be specific to a | considerations. For example, tokens should not be specific to a | |||
| country, region, organization, or company; they should be well- | country, region, organization, or company; they should be well | |||
| defined and widely recognized. The expert's support of IANA will | defined and widely recognized. The Expert's support of IANA will | |||
| include providing IANA with the new token(s) when the update is | include providing IANA with the new token(s) when the update is | |||
| provided only in the form of a schema, and providing IANA with the | provided only in the form of a schema and providing IANA with the new | |||
| new schema element(s) when the update is provided only in the form of | schema element(s) when the update is provided only in the form of a | |||
| a token. To ensure widespread usability across protocols, tokens | token. To ensure widespread usability across protocols, tokens MUST | |||
| MUST follow the character set restrictions for XML Names [3]. Each | follow the character set restrictions for XML Names | |||
| registration must include the name of the token and a brief | [W3C.REC-xml-20040204]. Each registration must include the name of | |||
| description similar to the ones offered herein for the initial | the token and a brief description similar to the ones offered herein | |||
| registrations contained this document: | for the initial registrations contained this document. | |||
| 11.2.1. Participant Types | 11.2.1. Participant Types | |||
| The following table has been used to initialize the participant types | +===================+=========+=======================+ | |||
| registry. | | Participant Type | Status | Reference | | |||
| +===================+=========+=======================+ | ||||
| | ACTIVE | Current | RFC 9073, Section 6.2 | | ||||
| +-------------------+---------+-----------------------+ | ||||
| | INACTIVE | Current | RFC 9073, Section 6.2 | | ||||
| +-------------------+---------+-----------------------+ | ||||
| | SPONSOR | Current | RFC 9073, Section 6.2 | | ||||
| +-------------------+---------+-----------------------+ | ||||
| | CONTACT | Current | RFC 9073, Section 6.2 | | ||||
| +-------------------+---------+-----------------------+ | ||||
| | BOOKING-CONTACT | Current | RFC 9073, Section 6.2 | | ||||
| +-------------------+---------+-----------------------+ | ||||
| | EMERGENCY-CONTACT | Current | RFC 9073, Section 6.2 | | ||||
| +-------------------+---------+-----------------------+ | ||||
| | PUBLICITY-CONTACT | Current | RFC 9073, Section 6.2 | | ||||
| +-------------------+---------+-----------------------+ | ||||
| | PLANNER-CONTACT | Current | RFC 9073, Section 6.2 | | ||||
| +-------------------+---------+-----------------------+ | ||||
| | PERFORMER | Current | RFC 9073, Section 6.2 | | ||||
| +-------------------+---------+-----------------------+ | ||||
| | SPEAKER | Current | RFC 9073, Section 6.2 | | ||||
| +-------------------+---------+-----------------------+ | ||||
| +-------------------+---------+----------------------+ | Table 4: Initial Contents of the Participant Types | |||
| | Participant Type | Status | Reference | | Registry | |||
| +-------------------+---------+----------------------+ | ||||
| | ACTIVE | Current | RFCXXXX, Section 6.2 | | ||||
| | INACTIVE | Current | RFCXXXX, Section 6.2 | | ||||
| | SPONSOR | Current | RFCXXXX, Section 6.2 | | ||||
| | CONTACT | Current | RFCXXXX, Section 6.2 | | ||||
| | BOOKING-CONTACT | Current | RFCXXXX, Section 6.2 | | ||||
| | EMERGENCY-CONTACT | Current | RFCXXXX, Section 6.2 | | ||||
| | PUBLICITY-CONTACT | Current | RFCXXXX, Section 6.2 | | ||||
| | PLANNER-CONTACT | Current | RFCXXXX, Section 6.2 | | ||||
| | PERFORMER | Current | RFCXXXX, Section 6.2 | | ||||
| | SPEAKER | Current | RFCXXXX, Section 6.2 | | ||||
| +-------------------+---------+----------------------+ | ||||
| 11.2.2. Resource Types | 11.2.2. Resource Types | |||
| The following table has been used to initialize the resource types | +=========================+=========+=======================+ | |||
| registry. | | Resource Type | Status | Reference | | |||
| +=========================+=========+=======================+ | ||||
| +-------------------------+---------+----------------------+ | | PROJECTOR | Current | RFC 9073, Section 6.3 | | |||
| | Resource Type | Status | Reference | | +-------------------------+---------+-----------------------+ | |||
| +-------------------------+---------+----------------------+ | | ROOM | Current | RFC 9073, Section 6.3 | | |||
| | PROJECTOR | Current | RFCXXXX, Section 6.3 | | +-------------------------+---------+-----------------------+ | |||
| | ROOM | Current | RFCXXXX, Section 6.3 | | | REMOTE-CONFERENCE-AUDIO | Current | RFC 9073, Section 6.3 | | |||
| | REMOTE-CONFERENCE-AUDIO | Current | RFCXXXX, Section 6.3 | | +-------------------------+---------+-----------------------+ | |||
| | REMOTE-CONFERENCE-VIDEO | Current | RFCXXXX, Section 6.3 | | | REMOTE-CONFERENCE-VIDEO | Current | RFC 9073, Section 6.3 | | |||
| +-------------------------+---------+----------------------+ | +-------------------------+---------+-----------------------+ | |||
| 12. Acknowledgements | ||||
| The author would like to thank Chuck Norris of eventful.com for his | ||||
| work which led to the development of this RFC. | ||||
| The author would also like to thank the members of CalConnect, The | ||||
| Calendaring and Scheduling Consortium, the Event Publication | ||||
| technical committee and the following individuals for contributing | ||||
| their ideas and support: | ||||
| Cyrus Daboo, John Haug, Dan Mendell, Ken Murchison, Scott Otis. | Table 5: Initial Contents of the Resource Types Registry | |||
| 13. Normative References | 12. 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, | |||
| <https://www.rfc-editor.org/info/rfc2119>. | <https://www.rfc-editor.org/info/rfc2119>. | |||
| [RFC2426] Dawson, F. and T. Howes, "vCard MIME Directory Profile", | ||||
| RFC 2426, DOI 10.17487/RFC2426, September 1998, | ||||
| <https://www.rfc-editor.org/info/rfc2426>. | ||||
| [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>. | |||
| [RFC4589] Schulzrinne, H. and H. Tschofenig, "Location Types | [RFC4589] Schulzrinne, H. and H. Tschofenig, "Location Types | |||
| Registry", RFC 4589, DOI 10.17487/RFC4589, July 2006, | Registry", RFC 4589, DOI 10.17487/RFC4589, July 2006, | |||
| <https://www.rfc-editor.org/info/rfc4589>. | <https://www.rfc-editor.org/info/rfc4589>. | |||
| [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>. | |||
| [RFC5546] Daboo, C., Ed., "iCalendar Transport-Independent | [RFC5546] Daboo, C., Ed., "iCalendar Transport-Independent | |||
| Interoperability Protocol (iTIP)", RFC 5546, | Interoperability Protocol (iTIP)", RFC 5546, | |||
| DOI 10.17487/RFC5546, December 2009, | DOI 10.17487/RFC5546, December 2009, | |||
| <https://www.rfc-editor.org/info/rfc5546>. | <https://www.rfc-editor.org/info/rfc5546>. | |||
| [RFC6350] Perreault, S., "vCard Format Specification", RFC 6350, | ||||
| DOI 10.17487/RFC6350, August 2011, | ||||
| <https://www.rfc-editor.org/info/rfc6350>. | ||||
| [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>. | |||
| [RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for | [RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for | |||
| Writing an IANA Considerations Section in RFCs", BCP 26, | Writing an IANA Considerations Section in RFCs", BCP 26, | |||
| RFC 8126, DOI 10.17487/RFC8126, June 2017, | RFC 8126, DOI 10.17487/RFC8126, June 2017, | |||
| <https://www.rfc-editor.org/info/rfc8126>. | <https://www.rfc-editor.org/info/rfc8126>. | |||
| [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | |||
| 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | |||
| May 2017, <https://www.rfc-editor.org/info/rfc8174>. | May 2017, <https://www.rfc-editor.org/info/rfc8174>. | |||
| [RFC8259] Bray, T., Ed., "The JavaScript Object Notation (JSON) Data | [RFC8259] Bray, T., Ed., "The JavaScript Object Notation (JSON) Data | |||
| Interchange Format", STD 90, RFC 8259, | Interchange Format", STD 90, RFC 8259, | |||
| DOI 10.17487/RFC8259, December 2017, | DOI 10.17487/RFC8259, December 2017, | |||
| <https://www.rfc-editor.org/info/rfc8259>. | <https://www.rfc-editor.org/info/rfc8259>. | |||
| [W3C.REC-html51-20171003] | [W3C.REC-html51-20171003] | |||
| Faulkner, S., Eicholz, A., Leithead, T., and A. Danilo, | Faulkner, S., Ed., Eicholz, A., Ed., Leithead, T., Ed., | |||
| "HTML 5.1 2nd Edition", World Wide Web Consortium | and A. Danilo, Ed., "HTML 5.1 2nd Edition", World Wide Web | |||
| Recommendation REC-html51-20171003, October 2017, | Consortium Recommendation REC-html51-20171003, October | |||
| <https://www.w3.org/TR/2017/REC-html51-20171003>. | 2017, <https://www.w3.org/TR/2017/REC-html51-20171003>. | |||
| [W3C.REC-xml-20081126] | [W3C.REC-xml-20040204] | |||
| Bray, T., Paoli, J., Sperberg-McQueen, M., Maler, E., and | Sperberg-McQueen, M., Maler, E., Bray, T., Paoli, J., and | |||
| F. Yergeau, "Extensible Markup Language (XML) 1.0 (Fifth | F. Yergeau, "Extensible Markup Language (XML) 1.0 (Third | |||
| Edition)", World Wide Web Consortium Recommendation REC- | Edition)", World Wide Web Consortium Recommendation REC- | |||
| xml-20081126, November 2008, | xml-20040204, February 2004, | |||
| <https://www.w3.org/TR/2008/REC-xml-20081126>. | <https://www.w3.org/TR/2004/REC-xml-20040204>. | |||
| Appendix A. Open issues | ||||
| None at the moment | ||||
| Appendix B. Change log | ||||
| To be deleted on publication | ||||
| calext-v18 2021-??-?? MD | ||||
| o Fix incorrect participant type property name in PARTICIPANT. | ||||
| o Allow parameters on LOCATION-TYPE. | ||||
| calext-v17 2021-01-03 MD | ||||
| o Remove STRUCTURED-LOCATION property, add VLOCATION component. | ||||
| o Remove STRUCTURED-RESOURCE property, add VRESOURCE component. | ||||
| o Make LOCATION-TYPE multi-valued property for location. | ||||
| o Make RESOURCE-TYPE multi-valued property for resource. | ||||
| o Tidy up abnf. | ||||
| calext-v16 2019-10-09 MD | ||||
| o Make LOCTYPE multi-valued. | ||||
| o Add all ATTENDEE scheduling parameters to CALENDAR-ADDRESS. | ||||
| calext-v15 2019-10-08 MD | ||||
| o Address various DICUSS points. | ||||
| calext-v14 2019-06-11 MD | ||||
| o Definition of event and social calendaring. | ||||
| o Remove redefinition of SOURCE - use STRUCTURED-DATA. | ||||
| calext-v13 2019-05-26 MD | ||||
| o Respond to various issues. | ||||
| calext-v12 2019-02-28 MD | ||||
| o Fix styled-description example. Respond to various AD issues. | ||||
| Some typos. | ||||
| calext-v11 2019-02-27 MD | ||||
| o Add DERIVED parameter for styled-description, RELATED parameter | ||||
| for structured-location | ||||
| calext-v09 2018-08-30 MD | ||||
| o Sorted out inconsistencies in refs to 5546 | ||||
| calext-v08 2018-07-06 MD | ||||
| o Add some text for equal ORDER values | ||||
| o Switched scheduleaddress to calendaraddress in participant abnf. | ||||
| Also added more properties | ||||
| o Fixed PARTICIPANT abnf | ||||
| calext-v04 2017-10-11 MD | ||||
| o Change SCHEDULE-ADDRESS to CALENDAR-ADDRESS | ||||
| o Explicitly broaden scope of SOURCE | ||||
| o Add initial registry for RESTYPE and move new tables into separate | ||||
| section. | ||||
| o Fix PARTTYPE/PARTICIPANT-TYPE inconsistency | ||||
| calext-v03 2017-10-09 MD | ||||
| o Mostly typographical and other minor changes | ||||
| 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 PARTICIPANT becomes a component rather than a property. Turn many | ||||
| of the former parameters into properties. | ||||
| calext-v00 2016-08-?? MD | ||||
| o Name changed - taken up by calext working group | ||||
| v06 2016-06-26 MD | ||||
| o Fix up abnf | ||||
| o change ref to ietf from daboo | ||||
| o take out label spec - use Cyrus spec | ||||
| v05 2016-06-14 MD | ||||
| o Remove GROUP and HASH. they can be dealt with elsewhere if desired | ||||
| o Change ORDER to integer >= 1. | ||||
| o Incorporate Structured-Data into this specification. | ||||
| v04 2014-02-01 MD | ||||
| o Added updates attribute. | ||||
| o Minor typos. | ||||
| o Resubmitted mostly to refresh the draft. | ||||
| v03 2013-03-06 MD | ||||
| o Replace PARTICIPANT with ASSOCIATE plus related changes. | ||||
| o Added section showing modifications to components. | ||||
| o Replace ID with GROUP and modify HASH. | ||||
| o Replace TITLE param with LABEL. | ||||
| o Fixed STYLED-DESCRIPTION in various ways, correct example. | ||||
| v02 2012-11-02 MD | ||||
| o Collapse sections with description of properties and the use cases | ||||
| into a section with sub-sections. | ||||
| o New section to describe relating properties. | ||||
| o Remove idref and upgrade hash to have the reference | ||||
| o No default value types on properties.. | ||||
| v01 2012-10-18 MD Many changes. | ||||
| o SPONSOR and STRUCTURED-CONTACT are now in PARTICIPANT | ||||
| o Add a STRUCTURED-RESOURCE property | ||||
| o STYLED-DESCRIPTION to handle rich text | ||||
| o Much more... | ||||
| 2011-01-07 | [W3C.REC-xml-20081126] | |||
| Bray, T., Ed., Paoli, J., Ed., Sperberg-McQueen, M., Ed., | ||||
| Maler, E., Ed., and F. Yergeau, Ed., "Extensible Markup | ||||
| Language (XML) 1.0 (Fifth Edition)", World Wide Web | ||||
| Consortium Recommendation REC-xml-20081126, November 2008, | ||||
| <https://www.w3.org/TR/2008/REC-xml-20081126>. | ||||
| o Remove MEDIA - it's going in the Cyrus RFC | Acknowledgements | |||
| o Rename EXTENDED-... to STRUCTURED-... | The author would like to thank Chuck Norris of eventful.com for his | |||
| work, which led to the development of this RFC. | ||||
| o Add TYPE parameter to SPONSOR | The author would also like to thank the members of CalConnect: The | |||
| Calendaring and Scheduling Consortium, the Event Publication | ||||
| technical committee, and the following individuals for contributing | ||||
| their ideas and support: | ||||
| v00 2007-10-19 MD Initial version | Cyrus Daboo, John Haug, Dan Mendell, Ken Murchison, and Scott Otis. | |||
| Author's Address | Author's Address | |||
| Michael Douglass | Michael Douglass | |||
| Bedework | Bedework | |||
| 226 3rd Street | 226 3rd Street | |||
| Troy, NY 12180 | Troy, NY 12180 | |||
| USA | United States of America | |||
| Email: mdouglass@bedework.com | Email: mdouglass@bedework.com | |||
| URI: http://bedework.com | URI: http://bedework.com | |||
| End of changes. 224 change blocks. | ||||
| 859 lines changed or deleted | 726 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/ | ||||