Re: [calsify] Working Group Last call for jscontact drafts

Robert Stepanek <rsto@fastmailteam.com> Mon, 09 January 2023 17:10 UTC

Return-Path: <rsto@fastmailteam.com>
X-Original-To: calsify@ietfa.amsl.com
Delivered-To: calsify@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 75695C1524C3 for <calsify@ietfa.amsl.com>; Mon, 9 Jan 2023 09:10:09 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.794
X-Spam-Level:
X-Spam-Status: No, score=-2.794 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=fastmailteam.com header.b=np5S1hs0; dkim=pass (2048-bit key) header.d=messagingengine.com header.b=ElCUgTE/
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id MAMexDa9EzWB for <calsify@ietfa.amsl.com>; Mon, 9 Jan 2023 09:10:04 -0800 (PST)
Received: from out4-smtp.messagingengine.com (out4-smtp.messagingengine.com [66.111.4.28]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 8AA0EC1524CD for <calsify@ietf.org>; Mon, 9 Jan 2023 09:09:57 -0800 (PST)
Received: from compute3.internal (compute3.nyi.internal [10.202.2.43]) by mailout.nyi.internal (Postfix) with ESMTP id 9FCA25C018D; Mon, 9 Jan 2023 12:09:56 -0500 (EST)
Received: from imap43 ([10.202.2.93]) by compute3.internal (MEProxy); Mon, 09 Jan 2023 12:09:56 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= fastmailteam.com; h=cc:cc:content-type:date:date:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to; s=fm1; t=1673284196; x= 1673370596; bh=2CI7DWmDkznEbTCEd3eEymuGgQ4KH85p9piLKr0cM8Q=; b=n p5S1hs07gmpJ0mVQYLtkvnNRPjIVRZMwI2rjOHUnf5e4lDMmzAaCoCgQiRGoCqR1 EtZAHwT6gVFXAtZgbiuyGKEbIBGP8UKR9MTA4tNQIKwtUVKxwV1ZhCWCtZcDZWmA CWQn0pphN1RJSjqg/KvTy4OvwsxGkj3ZZGTlpQkSzkcQ8iFr95l1/ZzTot8sK8L1 5EPf2b7cc8iHt2UYUJSHrbCBcTHJXPyU6wo/d2UqnwusPAiDoacJvu07AnOcrvGB 3C9mxMfZG/+RyZKC1s4UMJVO59AbuLEJ3D7TGg/n2trPZA8AAJqqsNzgyygFZl3z ObAYcxpY5dBl7DPiGLKOw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-type:date:date:feedback-id :feedback-id:from:from:in-reply-to:in-reply-to:message-id :mime-version:references:reply-to:sender:subject:subject:to:to :x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm3; t=1673284196; x=1673370596; bh=2CI7DWmDkznEbTCEd3eEymuGgQ4K H85p9piLKr0cM8Q=; b=ElCUgTE/GCgAFl5wDZF2xwRCWClrGcnGOs6w1gPI0N/5 3I1cCAb5arPB6zwz/g3C+p0Y59Zz4egvbccL0SmjLN1t/Cl0koYI5H0wU4rdzCCu 8iNw82jSTOstnpaxTuHNWaDgUfx5TweGWHeGg01mTQm3e3p6RQQC3mhxiXpaPFwA 30t2A1/tjKjeAt/Wt4UKl0eDhC4M+CAkuNATwrmJ97NVdr4+087LsrjPjvPYJOIu vXTnhHU0PMikR77F7gIr0p1UkXz8Gr1HT/hNAjb0JI5Lq1YVUBmlCJZbnIEYEvOa ndO4EsDZ5HMiHq3av3rj3vYAX1CWEVoYzm33NaZUYA==
X-ME-Sender: <xms:ZEq8Y5aqRDlLvTcTMszfzHi6LTdW7TFewo74hZ_EK6HbU3N4Pm6mRQ> <xme:ZEq8YwaCvbFXFpsATUU526tmss676PmvSqsez3XqiyuCkYDmVd5Nw3LXsBf6ZM0n2 NnNxPQfX8VgBg>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrkeeigdelvdcutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecunecujfgurhepofgfggfkjghffffhvfevufgtsegrtd erreerredtnecuhfhrohhmpedftfhosggvrhhtucfuthgvphgrnhgvkhdfuceorhhsthho sehfrghsthhmrghilhhtvggrmhdrtghomheqnecuggftrfgrthhtvghrnhepveehieelfe evuedtkeduheevjeehudegkeehhfethfegkeelgfegvedvveekudelnecuffhomhgrihhn pehivghtfhdrohhrghdpvgigrghmphhlvgdrtghomhenucevlhhushhtvghrufhiiigvpe dtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehrshhtohesfhgrshhtmhgrihhlthgvrghm rdgtohhm
X-ME-Proxy: <xmx:ZEq8Y78YavlrOf2VCAnpIC9E7IvGqgQMnCjyxGRK_9oUmZm_HQIBzw> <xmx:ZEq8Y3qPXzvsnnfDEwmZuItNJBv5Spj3Uo1Vzj0v-FdhZjWMafFdTg> <xmx:ZEq8Y0p3U2_RziCZ1u1rTJ7yg3JvulaOM02fRFLNTzbRFAVjmgSdMw> <xmx:ZEq8Y6Gv0ZGLQkes5FcgdyryvSnNW4l5Viij7PfSM6_EXibOvDK14w>
Feedback-ID: ia5d944da:Fastmail
Received: by mailuser.nyi.internal (Postfix, from userid 501) id 5768A2D40074; Mon, 9 Jan 2023 12:09:56 -0500 (EST)
X-Mailer: MessagingEngine.com Webmail Interface
User-Agent: Cyrus-JMAP/3.7.0-alpha0-1185-g841157300a-fm-20221208.002-g84115730
Mime-Version: 1.0
Message-Id: <680fb0a7-c5fd-4a80-b075-089c4a508804@app.fastmail.com>
In-Reply-To: <CADZyTkksfg8i-B1UNjSENnOSBrF1HRNaMMQYvfSBekmZ__-=-Q@mail.gmail.com>
References: <CADZyTkn_08H3zaG6PHwYOrN3sJZP_+_HUEF2ynWhsVBtg1bM4g@mail.gmail.com> <23d97a2d-0927-a046-83cf-bf2a3f300d4a@audriga.com> <77ba2bd4-98c4-421d-a237-848a048cf50b@app.fastmail.com> <36c0a914-25a9-4c06-97bd-a17e0251514b@app.fastmail.com> <CADZyTknzYwn9XLY-CKerK99W0m1Chna6L2ynd5JGWRE1EqfASA@mail.gmail.com> <c6532221-e93d-41b5-8781-ffdb5abe0d91@app.fastmail.com> <CADZyTknD1aXS8jjMu0EEVp_1drF9edF2+0B402tT30EYzeBrkw@mail.gmail.com> <a3e8ff46-ed4a-45b1-8614-5f9bf70ef511@app.fastmail.com> <CADZyTkksfg8i-B1UNjSENnOSBrF1HRNaMMQYvfSBekmZ__-=-Q@mail.gmail.com>
Date: Mon, 09 Jan 2023 18:09:35 +0100
From: Robert Stepanek <rsto@fastmailteam.com>
To: Daniel Migault <mglt.ietf@gmail.com>
Cc: calsify@ietf.org
Content-Type: multipart/alternative; boundary="1240b4596c9042268656aae0e11a24e1"
Archived-At: <https://mailarchive.ietf.org/arch/msg/calsify/yIF-buR6qTKurwMpeymDoxPkahU>
Subject: Re: [calsify] Working Group Last call for jscontact drafts
X-BeenThere: calsify@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: Calendaring and Scheduling Standards Simplification <calsify.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/calsify>, <mailto:calsify-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/calsify/>
List-Post: <mailto:calsify@ietf.org>
List-Help: <mailto:calsify-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/calsify>, <mailto:calsify-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 09 Jan 2023 17:10:09 -0000

Hi Daniel,

Mario needs more time to check for any IPR disclosures with his organization.

I would like to be part of Expert Review for future updates and registry entries. I expect Mario wants, too, but I'll wait for him to confirm in this email thread by himself.

Meanwhile, I have started working on the document to fix the ABNF and idnits errors. Also thanks for your review feedback, I'll take that into account, too! I will need some more time until I submit a new document version.

Thanks,
Robert

On Wed, Jan 4, 2023, at 11:46 PM, Daniel Migault wrote:
> Hi, 
> 
> Thanks Robert and Joris for the feed back. I apologise for the late response. 
> As far as I can tell I do not have Mario's IPR disclosure - which i need to complete the shepherd write up and move the document forward. 
> https://datatracker.ietf.org/doc/draft-ietf-calext-jscontact/shepherdwriteup/
> 
> I am also wondering if anyone would be volunteering to become the IANA Expert Review for the created registries. If so please let me know.
>  
> Please find some comments below regarding the document. 
> 
> To pass the ABNF tool [1], I had to update the ABNF script with missing terms, reorder the sequence and replace the %23 by %x23 as the 'x' was missing. The resulting script is as follows. I do not know if that is necessary to include everything, so I let you include what you believe is necessary.
> 
> ;see RFC3629 section 4
> UTF8-tail   = %x80-BF
> UTF8-2      = %xC2-DF UTF8-tail
> UTF8-3      = %xE0 %xA0-BF UTF8-tail / %xE1-EC 2( UTF8-tail ) /
>               %xED %x80-9F UTF8-tail / %xEE-EF 2( UTF8-tail )
> UTF8-4      = %xF0 %x90-BF 2( UTF8-tail ) / %xF1-F3 3( UTF8-tail ) /
>               %xF4 %x80-8F 2( UTF8-tail )
>   ; see RFC5234 appendix B.1
> NON-ASCII = UTF8-2 / UTF8-3 / UTF8-4  
> SP             =  %x20
> HTAB           =  %x09
>   ; horizontal tab 
> WSP            =  SP / HTAB
>   ; white space
> ALPHA          =  %x41-5A / %x61-7A   ; A-Z / a-z
> DIGIT          =  %x30-39
>   ; 0-9
>   
> 
> v-name = 1*(WSP / "!" / %x23-7e / NON-ASCII)
>      ; any characters except CTLs and DQUOTE, also see RFC 6350 Section 3.3
>      ; use of "/" (%x2f) and "~" (%x7e) is discouraged
> alnum-int = ALPHA / DIGIT / NON-ASCII
>      ; see RFC 6350 Section 3.3
> v-label = alnum-int / alnum-int *(alnum-int / "-") alnum-int
> 
> v-prefix = v-label *("." v-label)
> v-extension = v-prefix ":" v-name
> 
> The id nit tools [2] finds  one forbidden language 'MUST not' in this paragraph:
>      
>      Until Version:  This defines the JSContact version after which this
>      property got obsoleted and MUST NOT be used in later versions. The Until
>      Version value either MUST not be set, or be one of the allowed values of
>      the @version property in the JSContact Enum Value registry (see Table 6).
> 
> 
> Here are some additional random comments:
> 
> 
> [1] https://author-tools.ietf.org/abnf
> [2] https://author-tools.ietf.org/api/idnits?url=https://www.ietf.org/archive/id/draft-ietf-calext-jscontact-06.txt
> 
> 
> 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.
> 
> <mglt>
> Maybe I am not enough familiar with the terminology, but I am expecting from thes eline the vCard format to be expressed in JSON which is already done by jCard.
> I believe that JSCard i sprimarily a new (or updated) data model used by vCard and the fact it is expressed as JSON seems sort of secondary.
> If I am correct, I am wondering what indicates JSCard is not simply a translation to JSON.
> </mglt>
> 
>    The key design considerations for this data model are as follows:
> 
>    *  Most of the initial set of attributes should be taken from the
>       vCard data format [RFC6350] and extensions ([RFC6473], [RFC6474],
>       [RFC6715], [RFC6869], [RFC8605]).  The specification should add
>       new attributes or value types, or not support existing ones, where
>       appropriate.  Conversion between the data formats need not fully
>       preserve semantic meaning.
> 
> <mglt>
> I found the formulation a bit strange, especially the sentence:
> """
>  The specification should add
>       new attributes or value types, or not support existing ones, where
>       appropriate.
> """
> I am just checking I understand it correctly.
>  "not supporting ones" confused me and raised my attention as it could sound - at least to me - as SHOULD NOT support existing ones, which I do not think was the purpose. I think the specification should take most of the existing attributes. Since this is "most" it means some attributes have been left over and these are not supported. I do think this is implicit. In addition the spec adds new attributes.
> Am I correct ?
> 
> I let you decide whether the text can be clearer or not.
> </mglt>
> [...]
> 
> 
> 1.3.  Type Signatures
> 
>    Type signatures are given for all JSON values in this document.  The
>    following conventions are used:
> 
>    *  * - The type is undefined (the value could be any type, although
>       permitted values may be constrained by the context of this value).
> 
>    *  String - The JSON string type.
> 
>    *  Number - The JSON number type.
> 
>    *  Boolean - The JSON boolean type.
> 
>    *  A[B] - A JSON object where the keys are all of type A, and the
>       values are all of type B.
> 
>    *  A[] - An array of values of type A.
> 
> <mglt>
> Maybe we should have a JSON array to remain coherent with the other definition.
> </mglt>
>    *  A|B - The value is either of type A or of type B.
> 1.5.3.  The pref property
> 
>    Type: UnsignedInt
> 
>    This property allows to define a preference order for contact
>    information.  For example, a card holder may have two email addresses
>    and prefer to be contacted with one of them.
> 
>    Its value MUST be in the range 1 and 100.  Lower values correspond to
>    a higher level of preference, with 1 being most preferred.  If no
>    preference is set, then the contact information MUST be interpreted
>    as being least preferred.
> 
>    Note that the preference only is defined in relation to contact
>    information of the same type.  For example, the preference orders
>    within emails and phone numbers are independent of each other.
> 
> 
> 
> <mglt>
> It seems to be more a ranking than a preference no ? I understand the higher the preference is the least it is preferred. If that is correct, I am wondering if that is common practice or if we think that could be more coherent.
> </mglt>
> 
> 
> 2.2.2.  name
> [...]
> 
> <mglt>
> If I get it right the names components are ordered as the "one entering them" wishes them to be printed. This order may vary, so rank can clarifies this.
> 
> sortAs indicates how to handle these names components for sorting. However, I suspect that sorting may also depend on the culture and for example a list of participants in country A or country B will be sorted differently.
> I am wondering if that is correct or if I am missing something.
> 
> </mglt>
> 
> 
> 2.3.3.  phones
> [...]
> <mglt>
> I understand "voice" is "phone" i.e a non mobile phone;-)
> </mglt>
> 
> 2.6.2.  directories
> [...]
>       ...
>        "directories": {
>          ...
>           "dir1": {
>             "@type": "DirectoryResource",
>             "type": "entry",
>             "uri": "http://directory.example.com/address books/jdoe/Jean%20Dupont.vcf"
>           },
>          "dir2": {
>            "@type": "DirectoryResource",
>            "type": "directory",
>            "uri": "ldap://ldap.tech.example/o=Example%20Tech,ou=Engineering",
>            "pref": 1
>          },
>       ...
>       },
>       ...
> 
> <mglt>
> There is a space in address book. I am wondering if that is not a nit.
> </mglt>
>              
> 4.2.6.  Initial Contents for the "JSContact Properties" Registry
> 
>    The following table lists the initial common usage entries of the
>    "JSContact Properties" registry.  The Since Version for all
>    properties is 1.0.  The Until Version for all properties is not set.
>    All RFC section references are for this document.  The change
>    controller for all these properties is IETF.
> 
> <mglt>
> The table is a bit too large.
> </mglt>
> 
> 
> On Wed, Dec 28, 2022 at 12:35 PM Robert Stepanek <rsto@fastmailteam.com> wrote:
>> __
>> Hi Daniel,
>> 
>> To the best of my knowledge there are no IPR disclosures to be filed.
>> 
>> Thanks,
>> Robert
>> 
>> On Wed, Dec 21, 2022, at 6:25 PM, Daniel Migault wrote:
>>> Hi, 
>>> 
>>> Thanks Roberts, I actually forgot the item that made me write the previous email. Please state if you are aware of any IPR, and if so please feel an IPR disclosure. 
>>> 
>>> Yours, 
>>> Daniel
>>> 
>>> 12. Have reasonable efforts been made to remind all authors of the intellectual
>>>     property rights (IPR) disclosure obligations described in [BCP 79][7]? To
>>>     the best of your knowledge, have all required disclosures been filed? If
>>>     not, explain why. If yes, summarize any relevant discussion, including links
>>>     to publicly-available messages when applicable.
>>> 
>>> 
>>> 
>>> On Wed, Dec 21, 2022 at 11:44 AM Robert Stepanek <rsto=40fastmailteam.com@dmarc.ietf.org> wrote:
>>>> __
>>>> Hi Daniel,
>>>> 
>>>> On Wed, Dec 21, 2022, at 3:17 AM, Daniel Migault wrote:
>>>>> 4. For protocol documents, are there existing implementations of the contents of
>>>>>    the document? Have a significant number of potential implementers indicated
>>>>>    plans to implement? Are any existing implementations reported somewhere,
>>>>>    either in the document itself (as [RFC 7942][3] recommends) or elsewhere
>>>>>    (where)?
>>>> 
>>>> While drafting the spec, I built an experimental implementation. We definitely will implement JSContact at Fastmail.
>>>> 
>>>>> 13. Has each author, editor, and contributor shown their willingness to be
>>>>>     listed as such? If the total number of authors and editors on the front page
>>>>>     is greater than five, please provide a justification.
>>>> 
>>>> Yes.
>>>> 
>>>> Thanks,
>>>> Robert
>>>> 
>>>>> 
>>>>> Yours, 
>>>>> Daniel
>>>>> 
>>>>> On Thu, Dec 8, 2022 at 11:46 AM Robert Stepanek <rsto=40fastmailteam.com@dmarc.ietf.org> wrote:
>>>>>> __
>>>>>> On Thu, Dec 8, 2022, at 4:41 PM, Robert Stepanek wrote:
>>>>>>>>  * Section 2.2.4: Referring to my mail from 18th October, it is still not possible to model a contact with a department only. The Organization object cannot be created without a name. I still suggest making the name property optional (even though it can be an empty string. Maybe that would be the recommended route here?).
>>>>>>> I haven't had time to check with Mario, but I agree that we should make name optional. We'll need to sort out in the vCard conversion RFC how to deal with that, but setting an empty string on FN might work.
>>>>>> 
>>>>>> Sorry, I misread your proposal. Yes, we do want to allow name in Organization to not be set. In fact, we already had updated the draft to state "at least one of `name` and `units` *MUST* be set" , but the definition of the "name" property was still "mandatory" instead of "optional". I will update the doc.
>>>>>> 
>>>>>> _______________________________________________
>>>>>> calsify mailing list
>>>>>> calsify@ietf.org
>>>>>> https://www.ietf.org/mailman/listinfo/calsify
>>>>> 
>>>>> 
>>>>> -- 
>>>>> Daniel Migault
>>>>> Ericsson
>>>>> _______________________________________________
>>>>> calsify mailing list
>>>>> calsify@ietf.org
>>>>> https://www.ietf.org/mailman/listinfo/calsify
>>>>> 
>>>> 
>>>> _______________________________________________
>>>> calsify mailing list
>>>> calsify@ietf.org
>>>> https://www.ietf.org/mailman/listinfo/calsify
>>> 
>>> 
>>> -- 
>>> Daniel Migault
>>> Ericsson
>> 
> 
> 
> -- 
> Daniel Migault
> Ericsson