Re: [core] Review of draft-ietf-core-comi-09

Ivaylo Petrov <ivaylo@ackl.io> Wed, 10 June 2020 07:15 UTC

Return-Path: <ivaylo@ackl.io>
X-Original-To: core@ietfa.amsl.com
Delivered-To: core@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D40B13A0A63 for <core@ietfa.amsl.com>; Wed, 10 Jun 2020 00:15:04 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.898
X-Spam-Level:
X-Spam-Status: No, score=-1.898 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=ackl-io.20150623.gappssmtp.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id QKyUOCGIb3jO for <core@ietfa.amsl.com>; Wed, 10 Jun 2020 00:15:02 -0700 (PDT)
Received: from mail-wm1-x333.google.com (mail-wm1-x333.google.com [IPv6:2a00:1450:4864:20::333]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 351D53A0A62 for <core@ietf.org>; Wed, 10 Jun 2020 00:15:01 -0700 (PDT)
Received: by mail-wm1-x333.google.com with SMTP id q25so782456wmj.0 for <core@ietf.org>; Wed, 10 Jun 2020 00:15:01 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ackl-io.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=6AKFz+w/mlDZkohgKkd93pD33kXx0XpKRHXZlFWx7MA=; b=DiwNEdJYQlPhCVglHuPoEJGlcnv0USFYoRD3jtn2bpzW34m001LG/Gq8kKyaXo4CrQ AKbDG3y93JQSrZfio7slGGL7mVP0oLXLR8V4ceSeYpV5yOBlbXIG/nrpCNVZprprFljF W3ZzHWOck3ZBz2Wry3HUZCKvrnyZBnvrTRBKzWlkW2Qpz8DS2/SbD7SDkwlXh4oFFsQQ oKw7tB7qB9TIbVMyc0vxsuaLqqFwqWh+Sb7P3vRW1/DdH4BOagUVM9kJT3pbAwAqRQA0 HAI4vH6Njk2aEfcOnm87X9fcilaWZm/sYe/GdHelex1xuEDxMUNsNJfMrvrquqnqZvZG 6mRQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=6AKFz+w/mlDZkohgKkd93pD33kXx0XpKRHXZlFWx7MA=; b=SyPv2EHPBnCZobhuymELm3L0Rwpun0q1+mtgnkIT8x6u6jXLzJ2ew1PfwS7hFdJeqD nC+jatORrbgH49cDfdQ/s3rYUyobIoWlwL+RazmsTNF/Ee/qT6JfiLrlFr6PcwLdEEZy GwtkT54tPThKEuzmkJGB8xkQ/02vuzTioTLB88ipn064cBerrl2LJMecWhiTfuTRRY5I IH84CpoBkeZRHw6/6wc5VSlcW1463GnB8rpehfgfPf969mTIbi9OOT9rnB4HsXxhkOfd RPez4VtXgPnGi+udcbbkf8vQkFVUzNG/UGURYllb9CNts9kzLMMka3niwUFq4CprccCb bXSA==
X-Gm-Message-State: AOAM531bzanq+gblFy7NBFUk2mAcc76ZhRCE/Pf9XKMC4FaSuOIdpzSx lb+s2ToLWx/c99Wq9zAxWaBlQyGkRxlv5css3Hq+9nLhb28=
X-Google-Smtp-Source: ABdhPJxSshNKGIncBZ4LwADs23Q2ezye4ctndAZeSQOyCAqCQDvdkhIpldvOELu3kPV0cvSkJ1QBL9Sv/JVLpUPphSY=
X-Received: by 2002:a7b:cc9a:: with SMTP id p26mr1709700wma.86.1591773300017; Wed, 10 Jun 2020 00:15:00 -0700 (PDT)
MIME-Version: 1.0
References: <CAAzbHvbCwoCnwCfGRFtP5aWzCH8WKcp5QCjH9t75ptAkDj0vVg@mail.gmail.com> <CAJFkdRxz-dohOXOrimB3eMdnSLjnwu3b=+HD1h1ZXrygzGcXRg@mail.gmail.com> <CAAzbHvYatuJdR3S+gAs0NsL-tio5uM4TFcjR7RyMmLaRh_mqMw@mail.gmail.com>
In-Reply-To: <CAAzbHvYatuJdR3S+gAs0NsL-tio5uM4TFcjR7RyMmLaRh_mqMw@mail.gmail.com>
From: Ivaylo Petrov <ivaylo@ackl.io>
Date: Wed, 10 Jun 2020 09:14:33 +0200
Message-ID: <CAJFkdRzfy0NiQBN_8e-gxaiFkk3fJ9wyKRbtPg298zYALFdAuw@mail.gmail.com>
To: Klaus Hartke <hartke@projectcool.de>
Cc: "core@ietf.org WG" <core@ietf.org>
Content-Type: multipart/alternative; boundary="0000000000001c704f05a7b59a60"
Archived-At: <https://mailarchive.ietf.org/arch/msg/core/l1zVj-5YIxy2p09vMPMSL1cC_i0>
Subject: Re: [core] Review of draft-ietf-core-comi-09
X-BeenThere: core@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "Constrained RESTful Environments \(CoRE\) Working Group list" <core.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/core>, <mailto:core-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/core/>
List-Post: <mailto:core@ietf.org>
List-Help: <mailto:core-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/core>, <mailto:core-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 10 Jun 2020 07:15:05 -0000

Hello Klaus,

I apologize for the late reply! Thank you for your review and your
suggestions! The link that you provided was very helpful, but I am still
wondering if I understand correctly the difference between Media-Type and
Content-Type. In my current understanding, if in a media-type
(application/cose) there is an option (application/cose; cose-type), having
a concrete value for that option is a Content-Type (application/cose;
cose-type="cose-encrypt"). In the "CoAP Content-Formats" it seems that such
strings are present and they are still called Media Type, hence my
confusion.

I applied your suggested changes with some deviation on applying the
example URLs suggestion. I tried to incorporate your advice, that of
Carsten and took some extra inspiration from the resource directory draft.
I believe that now it should be clear that the /c and /s are example values
and they should be discovered. Please let me know if the wording is clear
enough for you or if you have other suggestions.

You can find the difference between the last version you reviewed and the
current version here [1]. As usual, the editor's copy can be found here [2].

Best regards,
Ivaylo

[1]:
https://tools.ietf.org/rfcdiff?url1=https://raw.githubusercontent.com/core-wg/comi/99fcad48b28649fe79963c909c6d1483db496f00/draft-ietf-core-comi.txt&url2=https://core-wg.github.io/comi/draft-ietf-core-comi.txt
[2]: https://core-wg.github.io/comi/


On Mon, May 4, 2020 at 8:11 PM Klaus Hartke <hartke@projectcool.de> wrote:

> Ivaylo Petrov wrote:
> > I have changed content format to content type in all places where such a
> change seemed necessary. Please do not hesitate to let me know if I have
> missed any place or if I have misunderstood you.
>
> Hmm... I think in section 2.4 you're actually talking about media
> types, not content types.
>
> (I know it's confusing! Have a look at
> https://tools.ietf.org/html/draft-bormann-core-media-content-type-format-01
> )
>
> >> Section 4: It's not okay to mandate or recommend specific paths like
> >> </c> and </s>. Not even with a lower-cased "recommended". It's fine to
> >> define a path structure after the "root path" of the application and
> >> use an example path in examples, but implementers should not be
> >> restricted or discouraged in any way to choose a different path (see
> >> BCP 190). The best choice is probably to use a long, not very nice
> >> looking path like </path/to/the/data/store/X9?k="eth0">, so that
> >> implementers immediately get the idea to pick a shorter path
> >> themselves :-)
> >
> > [IP]: I believe I captured what was suggested here, but please check if
> that is indeed the case.
>
> Hmmm... maybe </path/to/the/data/store/X9?k=eth0> wasn't the best
> idea. Some examples now overflow the page width. And it's a bit
> difficult to see where the free-to-choose path segments end and the
> standardized path segments start.
>
> Maybe </...coreconf-path.../X9?k=eth0>?
>
> BTW, in examples I think <example.com/something> should be
> <coap://example.com/something> or <coaps://example.com/something>.
> <example.com/something> looks like a relative URI where the first path
> segment happens to contain a dot.
>
> In see in some tables and examples </c> still being used. Is that
> intentional? I think it would be better to use the same path prefix
> everywhere consistently. (At least the text should point out what
> free-to-choose path segments are used in examples.)
>
> >> Section 4: The document specifies the API in terms of the CoAP
> >> Uri-Query option a lot. The Uri-Query option is just the way how the
> >> query string of the request URI is encoded in CoAP, though. It would
> >> be better to specify the API in term of query strings and not to
> >> mention the Uri-Query option.
> >>
> >> Section 4.1: It's unclear if a client should send the query string
> >> <?k=0> or <?k="0"> (with quotes, as shown in the table) for a Boolean
> >> value.
> >
> > [IP]: I believe now this is clear. It is now also clarified that 0 maps
> to false and 1 to true (which might not be what a person using a lot of
> bash would expect).
>
> The text now says:
>
>     o The method int2str() is used to convert an integer value to a
>        decimal string. For example, int2str(\x01\x23) returns the three-
>        character string "291" (the quotes are added for readability, but
>        they are not part of the payload).
>
> Why does int2str now take a byte string as input?
>
> And I think one of "the three-character string "291"" or "(the quotes
> are added for readability, but they are not part of the payload)" is
> enough, you don't need both :-)
>
> Proposal:
>
>     o The method int2str() is used to convert an integer value to a
>        decimal string. For example, int2str(0x0123) return the three-
>        character string "291".
>
> The text now says on Booleans:
>
>     o The boolean representations (0) and (1) are the single character
>        strings U+0030 and U+0031, where false maps to (0) and true maps
>        to (1).
>
> Why not just something like this?
>
>     o The boolean values false and true are represented as the
> single-character
>        strings "0" and "1" respectively.
>
> Then the text now says:
>
>     The resulting key strings are joined using commas between two
>     consecutive key values to produce the value of the 'k' parameter.
>
> That's a good clarification.
>
>     The string value of the 'k' parameter is encoded in a Uri-Query as
>     specified in [RFC7252] section 6.5.
>
> It seems after "Uri-Query", the word "option" is missing. I think I'd
> just omit this sentence, though. It should be clear that query
> parameters are encoded as Uri-Query options in CoAP, no?
>
> Klaus
>