Re: [regext] WG LAST CALL: draft-ietf-regext-rdap-sorting-and-paging

Mario Loffredo <mario.loffredo@iit.cnr.it> Wed, 04 March 2020 10:25 UTC

Return-Path: <mario.loffredo@iit.cnr.it>
X-Original-To: regext@ietfa.amsl.com
Delivered-To: regext@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 4A34F3A0B97 for <regext@ietfa.amsl.com>; Wed, 4 Mar 2020 02:25:42 -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, 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 GjgbvPHZj5cF for <regext@ietfa.amsl.com>; Wed, 4 Mar 2020 02:25:40 -0800 (PST)
Received: from smtp.iit.cnr.it (mx3.iit.cnr.it [146.48.98.150]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id B841C3A0B8C for <regext@ietf.org>; Wed, 4 Mar 2020 02:25:39 -0800 (PST)
Received: from localhost (localhost [127.0.0.1]) by smtp.iit.cnr.it (Postfix) with ESMTP id 33D576002D6; Wed, 4 Mar 2020 11:25:37 +0100 (CET)
X-Virus-Scanned: Debian amavisd-new at mx3.iit.cnr.it
Received: from smtp.iit.cnr.it ([127.0.0.1]) by localhost (mx3.iit.cnr.it [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 7P5szclhd1UU; Wed, 4 Mar 2020 11:25:34 +0100 (CET)
Received: from [192.12.193.108] (pc-loffredo.nic.it [192.12.193.108]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by smtp.iit.cnr.it (Postfix) with ESMTPSA id 36B066000CD; Wed, 4 Mar 2020 11:25:34 +0100 (CET)
From: Mario Loffredo <mario.loffredo@iit.cnr.it>
To: Tom Harrison <tomh@apnic.net>
Cc: regext <regext@ietf.org>
References: <CF97D334-4E2B-4411-AA68-A92F42A70732@antoin.nl> <20200301234929.GG5595@tomh-laptop> <12131388-d7dc-a953-8aa1-3381b6134ac4@iit.cnr.it> <20200303043751.GA15511@tomh-laptop>
Message-ID: <25bf745b-9b29-cead-337d-6e1c3ff9a6a0@iit.cnr.it>
Date: Wed, 4 Mar 2020 11:23:28 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.4.2
MIME-Version: 1.0
In-Reply-To: <20200303043751.GA15511@tomh-laptop>
Content-Type: text/plain; charset=iso-8859-15; format=flowed
Content-Transfer-Encoding: 8bit
Content-Language: it
Archived-At: <https://mailarchive.ietf.org/arch/msg/regext/kSuirpOqtZqGQrwgRzWZF9fvPtA>
Subject: Re: [regext] WG LAST CALL: draft-ietf-regext-rdap-sorting-and-paging
X-BeenThere: regext@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Registration Protocols Extensions <regext.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/regext>, <mailto:regext-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/regext/>
List-Post: <mailto:regext@ietf.org>
List-Help: <mailto:regext-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/regext>, <mailto:regext-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 04 Mar 2020 10:25:42 -0000

Hi Tom,

sorry for the slow reply but I needed to furtherly investigate about 
JSONPath features.

My responses to your comments are below.

Il 03/03/2020 05:37, Tom Harrison ha scritto:
> Hi Mario,
>
> On Mon, Mar 02, 2020 at 01:30:41PM +0100, Mario Loffredo wrote:
>> Il 02/03/2020 00:49, Tom Harrison ha scritto:
>>> Some questions/comments on section 2.4.2 ("Paging Responses to POST
>>> Requests"):
>>>
>>>    - 'Therefore, an RDAP response element which is meant to represent
>>>      the pagination information should also consider the POST method':
>>>      does this mean that even for requests submitted using the GET
>>>      method, server implementers may respond with the "cursors" element
>>>      in the "paging_metadata" section?
>>>
>>>    - 'As a consequence, the "paging_metadata" element MUST include an
>>>      additional property, alternate to "links", that contains the cursor
>>>      values used for pagination': does this mean that the response MUST
>>>      include either "links" or "cursors", but not both?
>> I think the two points above are related.
>>
>> The basic concept is that "links" must be provided when GET is used
>> while "cursors" must be provided when POST is used instead and both
>> "links" and "cursors" must not be included in the response.
>>
>> I will rearrange the sentence to clarify it.
> If it's not open to a server that receives a GET request to return the
> 'cursors' element, and no POST search requests are defined in any
> current RDAP documents, then I think it would be better to omit
> section 2.4.2 from the document.  This is mainly because the lack of
> any current POST search requests makes it difficult to evaluate the
> approach.  If a later document defines a POST search request, then the
> appropriate sorting/paging changes could be defined there.  Having
> said that, if this section is retained, your suggested changes sound
> good.

I added that section because, in my opinion, the specification would 
have been more comprehensive.

However, I admit that it is probably too early if compared to both the 
capabilities described in RFC7482 and current RDAP implementation 
experiences.

That said, I will remove that section unless someone disagrees.


>> Please let me know if all the responses sound good for you so I can
>> go ahead and post the new version.
> Putting aside the issue of whether to omit section 2.4.2, all of the
> responses sound good to me, thanks.

With regards to the specification of JSON Paths for the events, I found 
out that picking the Nth element of a filtered JSON Path is still an 
open issue.

See for example here: https://github.com/json-path/JsonPath/issues/272 
and https://github.com/json-path/JsonPath/issues/375

In addition, I think it makes more sense to talk about the 
earliest/latest event rather than the first one. If we take into account 
the first event, we are implicitly thinking about a pre-ordered list of 
events.

To fix this issue, I report here in the following the possible solutions:


1) Leaving Table 2 as-is

Even if some events might potentially  appear more than once, we can 
imagine that in most of cases only the latest will be included in the 
response. See for example trDate information in RFC5731 and RFC5733.

Anyway, to disambiguate the case of multiple events of the same action, 
I could add the following text:

".. Multiple events with a given action on an object might be returned. 
When it occurs, sorting MUST be applied to the latest event.."


2) Removing the sorting properties related to the events which, in 
theory, might appear more than once.

According to RFC7483, the "registration", "last changed" and 
"expiration" events can't be multiple and, at the same time, are most 
likely to be returned in RDAP responses and, consequently, more likely 
to be considered for result set sorting.  Therefore, only  
"registrationDate", "lastChangedDate" and "expirationDate" should be 
included among the sorting properties derived from RDAP events.


3) Any other?


I look forward for WG comments.

Personally, I have no preference.

Mario

> -Tom
>
> _______________________________________________
> regext mailing list
> regext@ietf.org
> https://www.ietf.org/mailman/listinfo/regext

-- 
Dr. Mario Loffredo
Systems and Technological Development Unit
Institute of Informatics and Telematics (IIT)
National Research Council (CNR)
via G. Moruzzi 1, I-56124 PISA, Italy
Phone: +39.0503153497
Mobile: +39.3462122240
Web:http://www.iit.cnr.it/mario.loffredo