Calendaring Extensions                                            R. Tse
Internet-Draft                                                    P. Tam
Updates: 5545, 6321, 6350, 6351, 7953,                            Ribose
         7265, 7095 (if approved)                            M. Douglass
Intended status: Standards Track                     Spherical Cow Group
Expires: December 10, 2018                                  June 8, 2018


                      vObject Internationalization
                    draft-calconnect-vobject-i18n-00

Abstract

   This document specifies mechanisms for the internationalization of
   vObject content and its realization in vFormat.

   This document updates the following specifications:

   o  I-D.calconnect-vobject-vformat, The vObject Model and vFormat
      Syntax

   o  RFC 6350, vCard version 4.0

   o  RFC 5545, Internet Calendaring and Scheduling Core Object
      Specification (iCalendar)

   o  RFC 7953, Calendar Availability Extensions

   This work is produced by the CalConnect TC-VCARD and TC-CALENDAR
   committees.

Status of This Memo

   This Internet-Draft is submitted in full conformance with the
   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
   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 December 10, 2018.




Tse, et al.             Expires December 10, 2018               [Page 1]


Internet-Draft             vObject and vFormat                 June 2018


Copyright Notice

   Copyright (c) 2018 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
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  Terms and Definitions . . . . . . . . . . . . . . . . . . . .   3
     2.1.  Definitions . . . . . . . . . . . . . . . . . . . . . . .   4
   3.  Property Parameter Usage Clarification: LANGUAGE  . . . . . .   4
     3.1.  vFormat Implementation of LANGUAGE  . . . . . . . . . . .   5
   4.  Property Parameter: SCRIPT  . . . . . . . . . . . . . . . . .   5
     4.1.  vFormat Implementation of SCRIPT  . . . . . . . . . . . .   6
   5.  Property Parameter: PHONETIC  . . . . . . . . . . . . . . . .   6
     5.1.  vFormat Implementation of PHONETIC  . . . . . . . . . . .   7
   6.  Security Considerations . . . . . . . . . . . . . . . . . . .   7
   7.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   8
     7.1.  iCalendar and vCard Property Parameter Registration:
           SCRIPT  . . . . . . . . . . . . . . . . . . . . . . . . .   8
     7.2.  iCalendar and vCard Property Parameter Registration:
           PHONETIC  . . . . . . . . . . . . . . . . . . . . . . . .   8
     7.3.  iCalendar and vCard Registration for Value Data Type:
           SCRIPT-CODE . . . . . . . . . . . . . . . . . . . . . . .   9
     7.4.  iCalendar and vCard Registration for Value Data Type:
           PHONETIC-CODE . . . . . . . . . . . . . . . . . . . . . .   9
   8.  References  . . . . . . . . . . . . . . . . . . . . . . . . .  10
     8.1.  Normative References  . . . . . . . . . . . . . . . . . .  10
     8.2.  Informative References  . . . . . . . . . . . . . . . . .  10
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  12

1.  Introduction

   vCard [RFC6350] and iCalendar [RFC5545] are standards compliant to
   the vObject data model [I-D.calconnect-vobject-vformat-03].

   These standards are used worldwide and require proper certain
   localization elements suitable for multi-cultural use.



Tse, et al.             Expires December 10, 2018               [Page 2]


Internet-Draft             vObject and vFormat                 June 2018


   Previously, the only internationalization method for vCard [RFC6350]
   and iCalendar [RFC5545] standards was the "language" property
   parameter (3.2.10 [RFC5545]).

   This document:

   o  defines additional internationalization features for the vObject
      data model, including a separate property parameter that denotes
      the script used in a property value, and a method to specify
      pronunciation of a property value

   o  defines realization methods of vObject internationalization in
      vFormat

   The methods described in this document are intended to be used by
   vObject-compliant standards, such as vCard 4.0 [RFC6350] and
   iCalendar [RFC5545].

   This is a work product of the CalConnect TC-VCARD [CALCONNECT-VCARD]
   and TC-CALENDAR [CALCONNECT-CALENDAR] committees.

2.  Terms and Definitions

   The key words "*MUST*", "*MUST NOT*", "*REQUIRED*", "*SHALL*",
   "*SHALL NOT*", "*SHOULD*", "*SHOULD NOT*", "*RECOMMENDED*", "*NOT
   RECOMMENDED*", "*MAY*", and "*OPTIONAL*" in this document are to be
   interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only
   when, they appear in all capitals, as shown here.

   The key words "*Private Use*", "*Experimental Use*", "*Hierarchical
   Allocation*", "*First Come First Served*", "*Expert Review*",
   "*Specification Required*", "*RFC Required*", "*IETF Review*",
   "*Standards Action*" and "*IESG Approval*" in this document are to be
   interpreted as described in 4 [RFC8126].

   Notation in this document is described in ABNF [RFC5234] as used by
   [RFC6350].

   Definitions from [RFC6350] apply to this specification except when
   explicitly overridden.

   All names of properties, property parameters, enumerated property
   values, and property parameter values are case-insensitive.  However,
   all property values are case-sensitive, unless otherwise stated.







Tse, et al.             Expires December 10, 2018               [Page 3]


Internet-Draft             vObject and vFormat                 June 2018


2.1.  Definitions

   phonetic system
      method of transcription of language in a script that allows
      phonetic reproduction

3.  Property Parameter Usage Clarification: LANGUAGE

   This section clarifies the intent of the "LANGUAGE" property
   parameter in [RFC5545] and [RFC6350] to be for the identification of
   the language used in the property value where the parameter is
   specified.

   The [RFC5646] defined "language-tag" allows specification of multiple
   attributes (called "subtags") in addition to just language.  Its
   basic form includes:

   o  a mandatory language subtag, using a language identifier from ISO
      639 (-2, -3) (called a "primary" or "extended" language subtag)

   o  an optional script subtag, using a script identifier from ISO
      15924

   o  an optional region subtag, using country codes listed in ISO 3166
      or a UN numeric code

   o  one or more, optional, variant and extension subtags defined in
      the IANA language subtag registry.

   In practical usage of vObject standards, including [RFC5545] and
   [RFC6350], it is determined that the combinatorial enumeration of
   non-language subtags often cause unnecessary confusion in
   interpretation and parsing, especially when the registry contain
   variant and extension subtags that either conflict in semantics or
   have overly restrictive in their supported prefixes.

   This document therefore clarifies the intent of 3.2.10 [RFC5545] and
   5.1 [RFC6350], such that the "LANGUAGE" property parameter *SHOULD*
   only support the mandatory language subtag.

   Other subtags *MAY* be supplied as specified in [RFC5646], but they
   are purely for informational purposes not used in the vObject
   specification.

   Namespace

   Property parameter name
      "LANGUAGE"



Tse, et al.             Expires December 10, 2018               [Page 4]


Internet-Draft             vObject and vFormat                 June 2018


   Purpose
      To specify the language used in the property value.

   Value type
      "LANGUAGE-TAG" 4.8 [RFC6350]

   Description
      As provided above.

3.1.  vFormat Implementation of LANGUAGE

   The value of the "LANGUAGE" property parameter is re-defined as shown
   below.

   Format definition

   languageparam = "LANGUAGE" "=" language *(subpart)

   language = iso-639-3-code / iso-639-2-code
             ; a 2-alpha or 3-alpha language code
             ; defined in ISO 639

   subpart  = "-" *alphanum
              ; all other subparts unsupported

   Examples

   N;LANGUAGE=en:Miyazaki;Hayao;;;
   N;LANGUAGE=jp:宮崎;駿;;;

4.  Property Parameter: SCRIPT

   The "SCRIPT" property parameter specifies the written script used in
   the property value which contains the parameter, which is amongst the
   valid codes in the ISO 15924 registry.

   It is separated from the "LANGUAGE" property parameter defined in
   [RFC5545] and [RFC6350] for reasons stated in Section 3.

   Namespace

   Property parameter name
      SCRIPT

   Purpose
      To specify the script used in the property value, which is amongst
      the valid codes in the ISO 15924 registry.




Tse, et al.             Expires December 10, 2018               [Page 5]


Internet-Draft             vObject and vFormat                 June 2018


   Value type
      TEXT, a single value valid in the ISO 15924 script registry.

   Description
      The property value of which this property parameter applies to
      must have identical structure to

4.1.  vFormat Implementation of SCRIPT

   Format definition

   scriptparam = "SCRIPT" "=" script-code
               ; script-code defined in the value type SCRIPT-CODE

   Examples

N;SCRIPT=Hira;LANGUAGE=jp:みやざき;はやお;;;
N;SCRIPT=Hani;LANGUAGE=jp:宮崎;駿;;;

5.  Property Parameter: PHONETIC

   A number of contact managers have long used "X-properties" to to
   store phonetic information of a vCard's subject, such as "X-PHONETIC-
   NAME", "X-PHONETIC-FIRST-NAME" and "X-PHONETIC-LAST-NAME".

   However, this is an issue for multiple reasons:

   o  The value of the X-property does not define the phonetic system
      used for its transcription;

   o  This X-property usage does not enable interoperability since it
      does not require specification of the language transcribed, as
      well as the script of the resulting transcription;

   o  The scheme of using X-properties does not allow representation of
      phonetics on other vCard values.

   This section defines three property parameters used to store
   pronunciation information of a property value:

   1.  The script used in the pronunciation system;

   2.  An identifier of the pronunciation system used;

   3.  The source language that was transcribed by the pronunciation
       system.





Tse, et al.             Expires December 10, 2018               [Page 6]


Internet-Draft             vObject and vFormat                 June 2018


   The "PHONETIC" property parameter specifies the phonetic system used
   in the transcription of the property value, identified by the
   phonetic system code from the ISO XXXXX phonetic system registry.

   This property parameter is often applied together with the "LANGUAGE"
   (Section 3) and "SCRIPT" (Section 4) property parameters.

   Namespace

   Property parameter name
      PHONETIC

   Purpose
      To specify the phonetic system used in the property value, which
      is amongst the valid codes in the ISO XXXXX registry.

   Value type
      TEXT, a single value valid in the ISO XXXXX phonetic system
      registry.

   Description
      The property value of which this property parameter applies to
      must take an identical structure to the property value without
      application of this property parameter.

5.1.  vFormat Implementation of PHONETIC

   Format definition

   phoneticparam = "PHONETIC" "=" phonetic
   phonetic      = 4ALPHA  ; ISO XXXXX 4-digit phonetic system code

   Examples

N;SCRIPT=Hant;LANGUAGE=zho:孫;中山;文,逸仙;;
N;SCRIPT=Hans;LANGUAGE=zho:孙;中山;文,逸仙;;
N;PHONETIC=jyut;SCRIPT=Latn;LANGUAGE=yue:syun1;zung1saan1;man4,jat6sin1;;
N;PHONETIC=ping;SCRIPT=Latn;LANGUAGE=cmn:sun;zhongshan;rixian;;

6.  Security Considerations

   Security considerations of the vObject formats themselves *MUST* be
   adhered to, including:

   o  vCard: [RFC6350]

   o  iCalendar: [RFC5545], [RFC4791]




Tse, et al.             Expires December 10, 2018               [Page 7]


Internet-Draft             vObject and vFormat                 June 2018


   o  vObject: [I-D.calconnect-vobject-vformat-03]

   vObject formats, especially for calendaring, scheduling and contact
   exchange, often involve privacy-sensitive information.
   Internationalization features defined in this document *MAY* pose
   risk of exposing private information if interchanged through
   unprotected communication channels.

   Mechanisms used for the transmission of such information should
   implement security measures to protect against possible threats, such
   as eavesdropping, replay, message insertion, deletion, modification,
   and man-in-the-middle attacks.

7.  IANA Considerations

   IANA is requested to register the following property parameters and
   value types in the corresponding iCalendar and vCard registries.

7.1.  iCalendar and vCard Property Parameter Registration: SCRIPT

   Namespace

   Parameter name
      SCRIPT

   Purpose
      Given in Section 4.

   Description
      Given in Section 4.

   Format definition
      Given in Section 4.

   Examples
      Given in Section 4.

7.2.  iCalendar and vCard Property Parameter Registration: PHONETIC

   Namespace

   Parameter name
      PHONETIC

   Purpose
      Given in Section 5.

   Description



Tse, et al.             Expires December 10, 2018               [Page 8]


Internet-Draft             vObject and vFormat                 June 2018


      Given in Section 5.

   Format definition
      Given in Section 5.

   Examples
      Given in Section 5.

7.3.  iCalendar and vCard Registration for Value Data Type: SCRIPT-CODE

   Value name
      SCRIPT-CODE

   Purpose
      Indicate script used in property value using a valid value from
      the ISO 15924 registry.

   Description
      Used by the SCRIPT property parameter.

   Format definition

   script-code = 4ALPHA
               ; ISO 15924 4-digit script code

   Examples
      "Latn", "Cyrl", "Hani"

7.4.  iCalendar and vCard Registration for Value Data Type: PHONETIC-
      CODE

   Value name
      PHONETIC-CODE

   Purpose
      Indicate phonetic system used in the transcription of property
      value, using a valid value from the ISO XXXXX registry.

   Description
      Used by the SCRIPT property parameter.

   Format definition

   phonetic-code = 4ALPHA
                 ; ISO XXXXX 4-digit script code

   Examples
      "ipa", "jyut", "ping"



Tse, et al.             Expires December 10, 2018               [Page 9]


Internet-Draft             vObject and vFormat                 June 2018


8.  References

8.1.  Normative References

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119,
              DOI 10.17487/RFC2119, March 1997,
              <https://www.rfc-editor.org/info/rfc2119>.

   [RFC3986]  Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform
              Resource Identifier (URI): Generic Syntax", STD 66,
              RFC 3986, DOI 10.17487/RFC3986, January 2005,
              <https://www.rfc-editor.org/info/rfc3986>.

   [RFC5545]  Desruisseaux, B., Ed., "Internet Calendaring and
              Scheduling Core Object Specification (iCalendar)",
              RFC 5545, DOI 10.17487/RFC5545, September 2009,
              <https://www.rfc-editor.org/info/rfc5545>.

   [RFC5646]  Phillips, A., Ed. and M. Davis, Ed., "Tags for Identifying
              Languages", BCP 47, RFC 5646, DOI 10.17487/RFC5646,
              September 2009, <https://www.rfc-editor.org/info/rfc5646>.

   [RFC6350]  Perreault, S., "vCard Format Specification", RFC 6350,
              DOI 10.17487/RFC6350, August 2011,
              <https://www.rfc-editor.org/info/rfc6350>.

   [RFC8126]  Cotton, M., Leiba, B., and T. Narten, "Guidelines for
              Writing an IANA Considerations Section in RFCs", BCP 26,
              RFC 8126, DOI 10.17487/RFC8126, June 2017,
              <https://www.rfc-editor.org/info/rfc8126>.

   [RFC8174]  Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
              2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
              May 2017, <https://www.rfc-editor.org/info/rfc8174>.

8.2.  Informative References

   [CALCONNECT-CALENDAR]
              The Calendaring and Scheduling Consortium, "CalConnect
              CALENDAR Technical Committee", April 2018,
              <https://www.calconnect.org/about/technical-committees/
              calendar-technical-committee>.








Tse, et al.             Expires December 10, 2018              [Page 10]


Internet-Draft             vObject and vFormat                 June 2018


   [CALCONNECT-VCARD]
              The Calendaring and Scheduling Consortium, "CalConnect
              VCARD Technical Committee", April 2018,
              <http://www.calconnect.org/about/technical-committees/
              vcard-technical-committee>.

   [I-D.calconnect-vobject-vformat-03]
              Tse, R., Tam, P., Daboo, C., and K. Murchison, "The
              vObject Model and vFormat Syntax", draft-calconnect-
              vobject-vformat-03 (work in progress), June 2018.

   [RFC4791]  Daboo, C., Desruisseaux, B., and L. Dusseault,
              "Calendaring Extensions to WebDAV (CalDAV)", RFC 4791,
              DOI 10.17487/RFC4791, March 2007,
              <https://www.rfc-editor.org/info/rfc4791>.

   [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>.

   [RFC6321]  Daboo, C., Douglass, M., and S. Lees, "xCal: The XML
              Format for iCalendar", RFC 6321, DOI 10.17487/RFC6321,
              August 2011, <https://www.rfc-editor.org/info/rfc6321>.

   [RFC6351]  Perreault, S., "xCard: vCard XML Representation",
              RFC 6351, DOI 10.17487/RFC6351, August 2011,
              <https://www.rfc-editor.org/info/rfc6351>.

   [RFC6352]  Daboo, C., "CardDAV: vCard Extensions to Web Distributed
              Authoring and Versioning (WebDAV)", RFC 6352,
              DOI 10.17487/RFC6352, August 2011,
              <https://www.rfc-editor.org/info/rfc6352>.

   [RFC7095]  Kewisch, P., "jCard: The JSON Format for vCard", RFC 7095,
              DOI 10.17487/RFC7095, January 2014,
              <https://www.rfc-editor.org/info/rfc7095>.

   [RFC7265]  Kewisch, P., Daboo, C., and M. Douglass, "jCal: The JSON
              Format for iCalendar", RFC 7265, DOI 10.17487/RFC7265, May
              2014, <https://www.rfc-editor.org/info/rfc7265>.

   [RFC7953]  Daboo, C. and M. Douglass, "Calendar Availability",
              RFC 7953, DOI 10.17487/RFC7953, August 2016,
              <https://www.rfc-editor.org/info/rfc7953>.






Tse, et al.             Expires December 10, 2018              [Page 11]


Internet-Draft             vObject and vFormat                 June 2018


   [RFC7986]  Daboo, C., "New Properties for iCalendar", RFC 7986,
              DOI 10.17487/RFC7986, October 2016,
              <https://www.rfc-editor.org/info/rfc7986>.

   [RFC8259]  Bray, T., Ed., "The JavaScript Object Notation (JSON) Data
              Interchange Format", STD 90, RFC 8259,
              DOI 10.17487/RFC8259, December 2017,
              <https://www.rfc-editor.org/info/rfc8259>.

Authors' Addresses

   Ronald Henry Tse
   Ribose
   Suite 1111, 1 Pedder Street
   Central
   Hong Kong

   Email: ronald.tse@ribose.com
   URI:   https://www.ribose.com


   Peter Kwan Yu Tam
   Ribose
   Suite 1111, 1 Pedder Street
   Central
   Hong Kong

   Email: peter.tam@ribose.com
   URI:   https://www.ribose.com


   Mike Douglass
   Spherical Cow Group
   226 3rd Street
   Troy, NY  12180
   United States of America

   Email: mdouglass@sphericalcowgroup.com
   URI:   http://sphericalcowgroup.com












Tse, et al.             Expires December 10, 2018              [Page 12]