Re: [core] Comments on draft-hartke-t2trg-coral-reef-03

Klaus Hartke <hartke@projectcool.de> Fri, 06 December 2019 15:38 UTC

Return-Path: <hartke@projectcool.de>
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 E08F21200C5; Fri, 6 Dec 2019 07:38:20 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.899
X-Spam-Level:
X-Spam-Status: No, score=-1.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
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 Ozx0X6bzpDER; Fri, 6 Dec 2019 07:38:18 -0800 (PST)
Received: from wp382.webpack.hosteurope.de (wp382.webpack.hosteurope.de [IPv6:2a01:488:42:1000:50ed:8597::]) (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 1A2EB12081C; Fri, 6 Dec 2019 07:38:18 -0800 (PST)
Received: from mail-qv1-f51.google.com ([209.85.219.51]); authenticated by wp382.webpack.hosteurope.de running ExIM with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) id 1idFgM-0007M5-Od; Fri, 06 Dec 2019 16:38:14 +0100
Received: by mail-qv1-f51.google.com with SMTP id q19so37763qvy.9; Fri, 06 Dec 2019 07:38:14 -0800 (PST)
X-Gm-Message-State: APjAAAVeELS91qrh4g7kyXPT0n7zebdJd5oA5KtfA+E1eGY3RLwXSsYv Lfokz2h94MAHegRSfQyeQIyDf7d96i2+27iObyA=
X-Google-Smtp-Source: APXvYqyEb7/wKcS0LcrjSwpqGTgHaRduj4Ao9/oc0QBJT/P6XhPuEOUgp/LqIOMeSz759uv6LCHo/VfXjztM4aBE6ZM=
X-Received: by 2002:a05:6214:14ad:: with SMTP id bo13mr1467384qvb.22.1575646693547; Fri, 06 Dec 2019 07:38:13 -0800 (PST)
MIME-Version: 1.0
References: <048701d5a189$2177f9c0$6467ed40$@augustcellars.com>
In-Reply-To: <048701d5a189$2177f9c0$6467ed40$@augustcellars.com>
From: Klaus Hartke <hartke@projectcool.de>
Date: Fri, 06 Dec 2019 16:37:37 +0100
X-Gmail-Original-Message-ID: <CAAzbHvamq7hgQhEthb5dGu0xY2Us09CLghksQYWmpuSAHjZ_1A@mail.gmail.com>
Message-ID: <CAAzbHvamq7hgQhEthb5dGu0xY2Us09CLghksQYWmpuSAHjZ_1A@mail.gmail.com>
To: Jim Schaad <ietf@augustcellars.com>
Cc: draft-hartke-t2trg-coral-reef@ietf.org, "core@ietf.org WG" <core@ietf.org>
Content-Type: text/plain; charset="UTF-8"
X-bounce-key: webpack.hosteurope.de; hartke@projectcool.de; 1575646698; 60db8347;
X-HE-SMSGID: 1idFgM-0007M5-Od
Archived-At: <https://mailarchive.ietf.org/arch/msg/core/Kd_o9JNR8TBG6uGV7TdeTFAD44A>
Subject: Re: [core] Comments on draft-hartke-t2trg-coral-reef-03
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: Fri, 06 Dec 2019 15:38:21 -0000

Hi Jim,

thanks a lot for your comments!

> * I am having a problem with you saying that you are defining a new
> well-known resource.  "/.well-known/core" has already been defined.  It
> would be better to say you are expanding the capabilities I think.

This is mostly due to the fact that I haven't looked much yet into how
RFC 6690 and -coral-reef would coexist on the the same well-known
path, so at the moment -coral-reef is just assuming that it's alone in
the universe (see also the disclaimer in [1]). Of course, this cannot
stay like that if we want to work towards a WG adoption. Then we
should figure out whether -coral-reef should take over the resource
entirely (possibly with a section describing the "legacy" format (with
an opportunity to "fix" that)) or whether -coral-reef should be
presented as an extension to RFC 6690 or something else.

> *  In the first example in the document (page 4), I believe that you should
> be able to return "ct TBD3" as part of the "/sensors" resource.   This may
> or may not be covered by this document so I am not sure if you think it
> would be allowable or not.  Specifically, I believe that any place you can
> currently use application/link-format you should be able to use REEF

Not sure. Not every resource that has a Link Format representation
behaves like </.well-known/core>. But in this case (the example was
stolen from [2]) I think the intention was that </sensors> functions
like a kind of "mini" resource directory for additional resources on
the server. So it would indeed make sense here to use -coral-reef for
that too. I wonder if/how we should signal to a client that </sensors>
not just happens to have a representation in format TBD3 but also
implements the -coral-reef interface.

> * At the end of section 2.1, second to last paragraph - The last clause in
> the last sentence has a problem with matching the pronoun back to the
> correct subject.  On first read I matched one back to schema not to the
> details.  I think that use of a semicolon would fix this problem.

OLD:

   The example contains links to three resources of interest on the
   server: </sensors>, </sensors/temp>, and </sensors/light>.  For
   </sensors>, a content format hint ("ct") and a title ("title") are
   provided as resource metadata.  For both </sensors/temp> and
   </sensors/light>, a resource type ("rt") and an interface description
   ("if") are provided.  Additionally, two links are provided with
   further detail on </sensors/temp>: one to a schema describing this
   resource ("describedby") and one to an substitute ("alternate").

NEW:

   The example contains links to three resources of interest on the
   server: </sensors>, </sensors/temp>, and </sensors/light>.  For
   </sensors>, a content format hint ("ct") and a title ("title") are
   provided as resource metadata.  For both </sensors/temp> and
   </sensors/light>, a resource type ("rt"), and an interface
   description ("if") are provided.  Additionally, two links are
   provided that provide further details on </sensors/temp>: a link to a
   schema describing this resource ("describedby") and a link to a
   substitute ("alternate").

Does that fix it for you? Otherwise I'd need a bit of help since I'm
not a native speaker :)

> * In section 2.2, the registration interface is currently missing the query
> parameters.  The big ones would be ep (endpoint name) and d (domain), you
> should not need base because that can be represented in the CoRAL document.
> About the time I got to section 5.2 on the second pass, I realized that you
> did not deal with endpoint registration and queries at all.  This is a
> needed feature.

This is a feature that I don't understand. What does it do and why is it needed?

> *  There should however be a statement that the link for an rd-item when
> registering MUST NOT only be a path comment.

I assume you mean you do not want relative references. But, if I want
to register a resource that has the same authority (IP address/DNS
name and port) as the resource directory, why should I not be able to
register that using a relative reference?

> * I think there should be a statement that only the first base directive can
> include schema + authority information.  This is because you are only
> supposed to register resources for one entity at a time.

-coral-reef currently doesn't make this restriction/assumption. If you
have, for example, a commissioning tool that registers the resources
of lots of servers in a resource directory and wants to register all
of them as a single unit, then I don't see why shouldn't be allowed to
do so (given proper authorizations).

> * Section 3 - I am not sure you want to use the word "identifier" in the
> description of title.  That is not normally how I think of a title.   I
> would probably also use "title" rather than "label" in both paragraphs.
>
> * Section 3 - you need to give me something to better distinguish between
> #type and #ct as they both seem to say the same thing to me.
>
> * Section 3 - you need to say something about how to deal with #ct for
> multiple values.  I am not sure about #if

Section 3 currently sources its list of items from different places,
such as [3] and [4], and hasn't seen much work yet. For example, the
word "identifier" was just copied from [4]. Let's go through the list
sometime (maybe in a CoRE virtual interim?) and decide what to keep,
how to name it (I'm not a big fan of the acronyms), and how to
describe it.

> * Section 3 - I think that you should have all of the tags in this section.
> For example rd-item and rd-unit.

rd-item and rd-unit are not resource metadata vocabulary, so I
wouldn't add them to this section. But, yes, having a combined list of
all the vocabulary used in the document somewhere would be nice. Maybe
as an appendix?

> *  General - I know that this is supposed to be what is going to happen, an
> ?rt= query option is going to be the same as reef#rt, but I don't think
> there is anyplace in this document that makes that statement.

Section 4.2.2 [5] currently says:

   On success, the server returns a 2.05 (Content) response with a
   representation of the list of resources (see Section 4.1.1), but
   containing only the subset of links that has resource metadata of
   type <http://coreapps.org/reef#rt> with the specified text value.

Klaus

[1] https://tools.ietf.org/html/draft-hartke-t2trg-coral-reef-03#section-1
[2] https://tools.ietf.org/html/rfc6690#section-5
[3] https://tools.ietf.org/html/rfc6690#section-3
[4] https://tools.ietf.org/html/rfc8288#section-3.4.1
[5] https://tools.ietf.org/html/draft-hartke-t2trg-coral-reef-03#section-4.2.2