| < draft-ietf-calext-jscontact-01.txt | draft-ietf-calext-jscontact-02.txt > | |||
|---|---|---|---|---|
| Calendaring Extensions R. Stepanek | Calendaring Extensions R. Stepanek | |||
| Internet-Draft FastMail | Internet-Draft FastMail | |||
| Intended status: Standards Track M. Loffredo | Intended status: Standards Track M. Loffredo | |||
| Expires: 6 September 2022 IIT-CNR | Expires: 13 October 2022 IIT-CNR | |||
| 5 March 2022 | 11 April 2022 | |||
| JSContact: A JSON representation of contact data | JSContact: A JSON representation of contact data | |||
| draft-ietf-calext-jscontact-01 | draft-ietf-calext-jscontact-02 | |||
| Abstract | Abstract | |||
| This specification defines a data model and JSON representation of | This specification defines a data model and JSON representation of | |||
| contact card information that can be used for data storage and | contact card information that can be used for data storage and | |||
| exchange in address book or directory applications. It aims to be an | exchange in address book or directory applications. It aims to be an | |||
| alternative to the vCard data format and to be unambiguous, | alternative to the vCard data format and to be unambiguous, | |||
| extendable and simple to process. In contrast to the JSON-based | extendable and simple to process. In contrast to the JSON-based | |||
| jCard format, it is not a direct mapping from the vCard data model | jCard format, it is not a direct mapping from the vCard data model | |||
| and expands semantics where appropriate. | and expands semantics where appropriate. | |||
| skipping to change at page 1, line 37 ¶ | skipping to change at page 1, line 37 ¶ | |||
| Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
| Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
| working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
| Drafts is at https://datatracker.ietf.org/drafts/current/. | Drafts is at https://datatracker.ietf.org/drafts/current/. | |||
| Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
| and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
| time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
| material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
| This Internet-Draft will expire on 6 September 2022. | This Internet-Draft will expire on 13 October 2022. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2022 IETF Trust and the persons identified as the | Copyright (c) 2022 IETF Trust and the persons identified as the | |||
| document authors. All rights reserved. | document authors. All rights reserved. | |||
| This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
| Provisions Relating to IETF Documents (https://trustee.ietf.org/ | Provisions Relating to IETF Documents (https://trustee.ietf.org/ | |||
| license-info) in effect on the date of publication of this document. | license-info) in effect on the date of publication of this document. | |||
| Please review these documents carefully, as they describe your rights | Please review these documents carefully, as they describe your rights | |||
| skipping to change at page 2, line 49 ¶ | skipping to change at page 2, line 49 ¶ | |||
| 2.2.1. name . . . . . . . . . . . . . . . . . . . . . . . . 10 | 2.2.1. name . . . . . . . . . . . . . . . . . . . . . . . . 10 | |||
| 2.2.2. fullName . . . . . . . . . . . . . . . . . . . . . . 11 | 2.2.2. fullName . . . . . . . . . . . . . . . . . . . . . . 11 | |||
| 2.2.3. nickNames . . . . . . . . . . . . . . . . . . . . . . 11 | 2.2.3. nickNames . . . . . . . . . . . . . . . . . . . . . . 11 | |||
| 2.2.4. organizations . . . . . . . . . . . . . . . . . . . . 12 | 2.2.4. organizations . . . . . . . . . . . . . . . . . . . . 12 | |||
| 2.2.5. titles . . . . . . . . . . . . . . . . . . . . . . . 12 | 2.2.5. titles . . . . . . . . . . . . . . . . . . . . . . . 12 | |||
| 2.2.6. speakToAs . . . . . . . . . . . . . . . . . . . . . . 12 | 2.2.6. speakToAs . . . . . . . . . . . . . . . . . . . . . . 12 | |||
| 2.3. Contact and Resource properties . . . . . . . . . . . . . 13 | 2.3. Contact and Resource properties . . . . . . . . . . . . . 13 | |||
| 2.3.1. emails . . . . . . . . . . . . . . . . . . . . . . . 13 | 2.3.1. emails . . . . . . . . . . . . . . . . . . . . . . . 13 | |||
| 2.3.2. phones . . . . . . . . . . . . . . . . . . . . . . . 14 | 2.3.2. phones . . . . . . . . . . . . . . . . . . . . . . . 14 | |||
| 2.3.3. online . . . . . . . . . . . . . . . . . . . . . . . 15 | 2.3.3. online . . . . . . . . . . . . . . . . . . . . . . . 15 | |||
| 2.3.4. photos . . . . . . . . . . . . . . . . . . . . . . . 15 | 2.3.4. scheduling . . . . . . . . . . . . . . . . . . . . . 16 | |||
| 2.3.5. preferredContactMethod . . . . . . . . . . . . . . . 16 | 2.3.5. photos . . . . . . . . . . . . . . . . . . . . . . . 17 | |||
| 2.3.6. preferredContactLanguages . . . . . . . . . . . . . . 16 | 2.3.6. preferredContactMethod . . . . . . . . . . . . . . . 17 | |||
| 2.4. Address and Location properties . . . . . . . . . . . . . 17 | 2.3.7. preferredContactLanguages . . . . . . . . . . . . . . 17 | |||
| 2.4.1. addresses . . . . . . . . . . . . . . . . . . . . . . 17 | ||||
| 2.5. Multilingual properties . . . . . . . . . . . . . . . . . 19 | 2.4. Address and Location properties . . . . . . . . . . . . . 18 | |||
| 2.5.1. localizations . . . . . . . . . . . . . . . . . . . . 19 | 2.4.1. addresses . . . . . . . . . . . . . . . . . . . . . . 18 | |||
| 2.6. Additional properties . . . . . . . . . . . . . . . . . . 19 | 2.5. Multilingual properties . . . . . . . . . . . . . . . . . 20 | |||
| 2.6.1. anniversaries . . . . . . . . . . . . . . . . . . . . 19 | 2.5.1. localizations . . . . . . . . . . . . . . . . . . . . 20 | |||
| 2.6.2. personalInfo . . . . . . . . . . . . . . . . . . . . 20 | 2.6. Additional properties . . . . . . . . . . . . . . . . . . 21 | |||
| 2.6.3. notes . . . . . . . . . . . . . . . . . . . . . . . . 21 | 2.6.1. anniversaries . . . . . . . . . . . . . . . . . . . . 21 | |||
| 2.6.4. categories . . . . . . . . . . . . . . . . . . . . . 21 | 2.6.2. personalInfo . . . . . . . . . . . . . . . . . . . . 21 | |||
| 2.6.5. timeZones . . . . . . . . . . . . . . . . . . . . . . 21 | 2.6.3. notes . . . . . . . . . . . . . . . . . . . . . . . . 22 | |||
| 3. CardGroup . . . . . . . . . . . . . . . . . . . . . . . . . . 21 | 2.6.4. categories . . . . . . . . . . . . . . . . . . . . . 22 | |||
| 3.1. Group properties . . . . . . . . . . . . . . . . . . . . 21 | 2.6.5. timeZones . . . . . . . . . . . . . . . . . . . . . . 22 | |||
| 3.1.1. @type . . . . . . . . . . . . . . . . . . . . . . . . 21 | 3. CardGroup . . . . . . . . . . . . . . . . . . . . . . . . . . 22 | |||
| 3.1.2. uid . . . . . . . . . . . . . . . . . . . . . . . . . 21 | 3.1. Group properties . . . . . . . . . . . . . . . . . . . . 22 | |||
| 3.1.3. members . . . . . . . . . . . . . . . . . . . . . . . 22 | 3.1.1. @type . . . . . . . . . . . . . . . . . . . . . . . . 22 | |||
| 3.1.4. name . . . . . . . . . . . . . . . . . . . . . . . . 22 | 3.1.2. uid . . . . . . . . . . . . . . . . . . . . . . . . . 23 | |||
| 3.1.5. card . . . . . . . . . . . . . . . . . . . . . . . . 22 | 3.1.3. members . . . . . . . . . . . . . . . . . . . . . . . 23 | |||
| 4. Implementation Status . . . . . . . . . . . . . . . . . . . . 22 | 3.1.4. name . . . . . . . . . . . . . . . . . . . . . . . . 23 | |||
| 4.1. IIT-CNR/Registro.it . . . . . . . . . . . . . . . . . . . 22 | 3.1.5. card . . . . . . . . . . . . . . . . . . . . . . . . 23 | |||
| 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 23 | 4. Implementation Status . . . . . . . . . . . . . . . . . . . . 23 | |||
| 6. Security Considerations . . . . . . . . . . . . . . . . . . . 23 | 4.1. IIT-CNR/Registro.it . . . . . . . . . . . . . . . . . . . 23 | |||
| 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 23 | 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 24 | |||
| 7.1. Normative References . . . . . . . . . . . . . . . . . . 23 | 6. Security Considerations . . . . . . . . . . . . . . . . . . . 24 | |||
| 7.2. Informative References . . . . . . . . . . . . . . . . . 24 | 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 24 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 25 | 7.1. Normative References . . . . . . . . . . . . . . . . . . 24 | |||
| 7.2. Informative References . . . . . . . . . . . . . . . . . 25 | ||||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 27 | ||||
| 1. Introduction | 1. Introduction | |||
| This document defines a data model for contact card data normally | This document defines a data model for contact card data normally | |||
| used in address book or directory applications and services. It aims | used in address book or directory applications and services. It aims | |||
| to be an alternative to the vCard data format [RFC6350] and to | to be an alternative to the vCard data format [RFC6350] and to | |||
| provide a JSON-based standard representation of contact card data. | provide a JSON-based standard representation of contact card data. | |||
| The key design considerations for this data model are as follows: | The key design considerations for this data model are as follows: | |||
| skipping to change at page 15, line 17 ¶ | skipping to change at page 15, line 17 ¶ | |||
| Type: Id[Resource] (optional). | Type: Id[Resource] (optional). | |||
| The online resources and services that are associated with the entity | The online resources and services that are associated with the entity | |||
| represented by this card. A Resource object has the following | represented by this card. A Resource object has the following | |||
| properties: | properties: | |||
| * @type: String (mandatory). Specifies the type of this object. | * @type: String (mandatory). Specifies the type of this object. | |||
| This MUST be Resource. | This MUST be Resource. | |||
| * resource: String (mandatory). The resource value, where the | * resource: String (mandatory). The resource value, where the | |||
| allowed value form is defined by the the _type_ property. In any | allowed value form is defined by the the _type_ property. If the | |||
| case the value MUST NOT be empty. | value form is URI, then the property value MUST be a valid _URI_ | |||
| as defined in Section 3 of [RFC3986] and updates. In any case the | ||||
| value MUST NOT be empty. | ||||
| * type: String (optional). The type of the resource value. Allowed | * type: String (optional). The type of the resource. Allowed | |||
| values are: | values are: | |||
| - uri The resource value is a URI, e.g. a website link. This | - audio The resource is a digital sound URI, such as a recording | |||
| MUST be a valid _URI_ as defined in Section 3 of [RFC3986] and | of proper pronunciation of the name of this card. | |||
| updates. | ||||
| - calendar The resource is a calendar URI associated with the | ||||
| entity represented by this card. | ||||
| - contact The resource is an alternative contact method URI to | ||||
| contact the entity represented by this card. This typically is | ||||
| a web contact form using the "https" URI scheme, but may be any | ||||
| other. | ||||
| - directory The resource is a directory service URI where the | ||||
| entity represented by this card can be found in. This | ||||
| typically is an organizational directory that also contains | ||||
| associated entities, e.g. co-workers and management in a | ||||
| company directory. | ||||
| - directorySource The resource is a directory service entry URI | ||||
| of the entity represented by this card. In contrast to the | ||||
| "directory" type this resource only provides the means to | ||||
| access directory information for this entity. | ||||
| - freeBusy The resource is a free-busy calendaring URI for the | ||||
| entity represented by this card. | ||||
| - logo The resource is a graphic logo URI associated with the | ||||
| entity represented by this card. | ||||
| - publicKey The resorce is a cryptograhic public key or | ||||
| certificate URI associated with the entity represented by this | ||||
| card. | ||||
| - uri The resource value is any URI, e.g. a website link. | ||||
| - username The resource value is a username associated with the | - username The resource value is a username associated with the | |||
| entity represented by this card (e.g. for social media, or an | entity represented by this card (e.g. for social media, or an | |||
| IM client). The _label_ property SHOULD be included to | IM client). The _label_ property SHOULD be included to | |||
| identify what service this is for. For compatibility between | identify what service this is for. For compatibility between | |||
| clients, this label SHOULD be the canonical service name, | clients, this label SHOULD be the canonical service name, | |||
| including capitalisation. e.g. Twitter, Facebook, Skype, | including capitalisation. e.g. Twitter, Facebook, Skype, | |||
| GitHub, XMPP. The resource value may be any non-empty free | GitHub, XMPP. The resource value may be any non-empty free | |||
| text. | text. | |||
| skipping to change at page 15, line 49 ¶ | skipping to change at page 16, line 33 ¶ | |||
| * contexts: Context[Boolean] (optional) The contexts in which to use | * contexts: Context[Boolean] (optional) The contexts in which to use | |||
| this resource. The value for each key in the object MUST be true. | this resource. The value for each key in the object MUST be true. | |||
| * pref: Preference (optional) The preference of this resource in | * pref: Preference (optional) The preference of this resource in | |||
| relation to other resources. | relation to other resources. | |||
| * label: String (optional). A label describing the value in more | * label: String (optional). A label describing the value in more | |||
| detail. | detail. | |||
| 2.3.4. photos | 2.3.4. scheduling | |||
| Type: Id[Scheduling] (optional). | ||||
| The methods by which the entity receives calendar scheduling | ||||
| invitations and updates. A Scheduling object has the following | ||||
| properties: | ||||
| * @type: String (mandatory). Specifies the type of this object. | ||||
| This MUST be Scheduling. | ||||
| * sendTo: String[String] (mandatory). The keys in the property | ||||
| value are the available methods for scheduling. The value is a | ||||
| URI for the method specified in the key. This MUST be a valid | ||||
| "sendTo" property value as specified in Section 4.4.6 of [RFC8984] | ||||
| and updates. | ||||
| * pref: Preference (optional) The preference of this scheduling | ||||
| object in relation to other scheduling objects. | ||||
| 2.3.5. photos | ||||
| Type: Id[File] (optional). | Type: Id[File] (optional). | |||
| A map of photo ids to File objects that contain photographs or images | A map of photo ids to File objects that contain photographs or images | |||
| associated with this card. A typical use case is to include an | associated with this card. A typical use case is to include an | |||
| avatar for display along the contact name. | avatar for display along the contact name. | |||
| A File object has the following properties: | A File object has the following properties: | |||
| * @type: String (mandatory). Specifies the type of this object. | * @type: String (mandatory). Specifies the type of this object. | |||
| skipping to change at page 16, line 30 ¶ | skipping to change at page 17, line 34 ¶ | |||
| * size: UnsignedInt (optional). The size, in octets, of the file | * size: UnsignedInt (optional). The size, in octets, of the file | |||
| when fully decoded (i.e., the number of octets in the file the | when fully decoded (i.e., the number of octets in the file the | |||
| user would download), if known. | user would download), if known. | |||
| * pref: Preference (optional) The preference of this photo in | * pref: Preference (optional) The preference of this photo in | |||
| relation to other photos. | relation to other photos. | |||
| * label: String (optional). A label describing the value in more | * label: String (optional). A label describing the value in more | |||
| detail. | detail. | |||
| 2.3.5. preferredContactMethod | 2.3.6. preferredContactMethod | |||
| Type : String (optional) | Type : String (optional) | |||
| Defines the preferred method to contact the holder of this card. The | Defines the preferred method to contact the holder of this card. The | |||
| value MUST be the property names: emails, phones, online. | value MUST be the property names: emails, phones, online. | |||
| 2.3.6. preferredContactLanguages | 2.3.7. preferredContactLanguages | |||
| Type : String[ContactLanguage[]] (optional) | Type : String[ContactLanguage[]] (optional) | |||
| Defines the preferred languages for contacting the entity associated | Defines the preferred languages for contacting the entity associated | |||
| with this card. The keys in the object MUST be [RFC5646] language | with this card. The keys in the object MUST be [RFC5646] language | |||
| tags. The values are a (possibly empty) list of contact language | tags. The values are a (possibly empty) list of contact language | |||
| preferences for this language. A valid ContactLanguage object MUST | preferences for this language. A valid ContactLanguage object MUST | |||
| have at least one of its properties set. | have at least one of its properties set. | |||
| A ContactLanguage object has the following properties: | A ContactLanguage object has the following properties: | |||
| End of changes. 10 change blocks. | ||||
| 41 lines changed or deleted | 95 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/ | ||||