--- 1/draft-ietf-jmap-jscontact-00.txt 2020-02-10 08:13:16.381835432 -0800 +++ 2/draft-ietf-jmap-jscontact-01.txt 2020-02-10 08:13:16.421836445 -0800 @@ -1,19 +1,19 @@ JMAP R. Stepanek Internet-Draft FastMail Intended status: Standards Track M. Loffredo -Expires: August 10, 2020 IIT-CNR - February 7, 2020 +Expires: August 13, 2020 IIT-CNR + February 10, 2020 JSContact: A JSON representation of contact data - draft-ietf-jmap-jscontact-00 + draft-ietf-jmap-jscontact-01 Abstract This specification defines a data model and JSON representation of contact card information that can be used for data storage and exchange in address book or directory applications. It aims to be an alternative to the vCard data format and to be unambiguous, extendable and simple to process. In contrast to the JSON-based jCard format, it is not a direct mapping from the vCard data model and expands semantics where appropriate. @@ -26,21 +26,21 @@ Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at https://datatracker.ietf.org/drafts/current/. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." - This Internet-Draft will expire on August 10, 2020. + This Internet-Draft will expire on August 13, 2020. Copyright Notice Copyright (c) 2020 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents @@ -74,38 +74,38 @@ 2.3.2. phones . . . . . . . . . . . . . . . . . . . . . . . 7 2.3.3. online . . . . . . . . . . . . . . . . . . . . . . . 8 2.3.4. preferredContactMethod . . . . . . . . . . . . . . . 8 2.3.5. preferredContactLanguages . . . . . . . . . . . . . . 8 2.4. Address and Location properties . . . . . . . . . . . . . 9 2.4.1. addresses . . . . . . . . . . . . . . . . . . . . . . 9 2.5. Additional properties . . . . . . . . . . . . . . . . . . 10 2.5.1. anniversaries . . . . . . . . . . . . . . . . . . . . 10 2.5.2. personalInfo . . . . . . . . . . . . . . . . . . . . 11 2.5.3. notes . . . . . . . . . . . . . . . . . . . . . . . . 11 - 2.5.4. categories . . . . . . . . . . . . . . . . . . . . . 12 + 2.5.4. categories . . . . . . . . . . . . . . . . . . . . . 11 2.6. Common JSCard types . . . . . . . . . . . . . . . . . . . 12 2.6.1. LocalizedString . . . . . . . . . . . . . . . . . . . 12 2.6.2. Resource . . . . . . . . . . . . . . . . . . . . . . 12 - 3. JSCardGroup . . . . . . . . . . . . . . . . . . . . . . . . . 12 + 3. JSCardGroup . . . . . . . . . . . . . . . . . . . . . . . . . 13 3.1. Properties . . . . . . . . . . . . . . . . . . . . . . . 13 3.1.1. uid . . . . . . . . . . . . . . . . . . . . . . . . . 13 3.1.2. name . . . . . . . . . . . . . . . . . . . . . . . . 13 3.1.3. cards . . . . . . . . . . . . . . . . . . . . . . . . 13 4. Implementation Status . . . . . . . . . . . . . . . . . . . . 13 4.1. IIT-CNR/Registro.it . . . . . . . . . . . . . . . . . . . 14 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 14 6. Security Considerations . . . . . . . . . . . . . . . . . . . 14 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 14 7.1. Normative References . . . . . . . . . . . . . . . . . . 14 - 7.2. Informative References . . . . . . . . . . . . . . . . . 15 - 7.3. URIs . . . . . . . . . . . . . . . . . . . . . . . . . . 16 - Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 16 + 7.2. Informative References . . . . . . . . . . . . . . . . . 16 + 7.3. URIs . . . . . . . . . . . . . . . . . . . . . . . . . . 17 + Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 17 1. Introduction This document defines a data model for contact card data normally used in address book or directory applications and services. It aims to be an alternative to the vCard data format [RFC6350] and to provide a JSON-based standard representation of contact card data. The key design considerations for this data model are as follows: @@ -302,55 +302,43 @@ by the entity represented by this card. In contrast to a job title, the roles might differ for example in project contexts. 2.3. Contact and Resource properties 2.3.1. emails Type: "Resource[]" (optional). An array of Resource objects where the values are URLs in the - [RFC6068] "mailto" scheme or free-text email addresses. Types are: - - o "personal" The address is for emailing in a personal context. - - o "work" The address is for emailing in a professional context. - - o "other" The address is for some other purpose. A label property - MAY be included to display next to the address to help the user - identify its purpose. + "mailto" scheme [RFC6068] or free-text email addresses. The default + value of the "type" property is "email". If set, the type MUST be + "email" or "other". 2.3.2. phones Type: "Resource[]" (optional). An array of Resource objects where the values are URIs scheme or free-text phone numbers. Typical URI schemes are the [RFC3966] "tel" - or [RFC3261] "sip" schemes, but any URI scheme is allowed. Resource - types are: + or [RFC3261] "sip" schemes, but any URI scheme is allowed. Types + are: o "voice" The number is for calling by voice. o "fax" The number is for sending faxes. o "pager" The number is for a pager or beeper. o "other" The number is for some other purpose. A label property MAY be included to display next to the number to help the user identify its purpose. - The following labels are pre-defined for phone resources: - - o "private" The phone number should be used in a private context. - - o "work" The phone number should be used in a professional context - 2.3.3. online Type: "Resource[]" (optional). An array of Resource objects where the values are URIs or usernames associated with the card for online services. Types are: o "uri" The value is a URI, e.g. a website link. o "username" The value is a username associated with the entity @@ -401,26 +389,26 @@ 2.4. Address and Location properties 2.4.1. addresses Type: Address[] (optional). An array of Address objects, containing physical locations. An Address object has the following properties: - o type: "String" (optional, default "other"). Specifies the context - of the address information. The value MUST be either one of the - following values, registered in a future RFC, or a vendor-specific - value: + o context: "String" (optional, default "other"). Specifies the + context of the address information. The value MUST be either one + of the following values, registered in a future RFC, or a vendor- + specific value: - * "home" An address of a residence. + * "private" An address of a residence. * "work" An address of a workplace. * "billing" An address to be used for billing. * "postal" An address to be used for delivering physical items. * "other" An address not covered by the above categories. o label: "String" (optional). A label describing the value in more @@ -544,27 +532,41 @@ o language: "String" (optional). The [RFC5646] language tag of this value, if any. o localizations: "String[String]" (optional). A map from [RFC5646] language tags to the value localized in that language. 2.6.2. Resource A Resource object has the following properties: - o type: "String" (mandatory). Specifies the context of the - resource. This MUST be taken from the set of values specified for - the respective property. + o context: "String" (optional) Specifies the context in which to use + this resource. Pre-defined values are: - o label: "String" (optional). A label describing the value in more - detail, especially if the type property has value "other" (but MAY - be included with any type). + * "private": The resource may be used to contact the card holder + in a private context. + + * "work": The resource may be used to contact the card holder in + a professional context. + + * "other": The resource may be used to contact the card holder in + some other context. A label property MAY be help to identify + its purpose. + + o type: "String" (optional). Specifies the property-specific + variant of the resource. This MUST be taken from the set of + allowed types specified in the respective contact method property. + + o labels: "String[Boolean]" (optional). A set of labels that + describe the value in more detail, especially if the type property + has value "other" (but MAY be included with any type). The keys + in the map define the label, the values MUST be "true". o value: "String" (mandatory). The actual resource value, e.g. an email address or phone number. o mediaType: "String" (optional). Used for properties with URI values. Provides the media type [RFC2046] of the resource identified by the URI. o isPreferred: Boolean (optional, default: false). Whether this resource is the preferred for its type. This SHOULD only be one