Hi Tom,

thank you for the feedbacks. My comments are below.

Best,

mario

Il 24/07/2019 16:28, Tom Harrison ha scritto:
Hi Mario,

On Wed, Jun 12, 2019 at 12:20:40PM +0200, Mario Loffredo wrote:
in this new version "cc" has been added to the list of sorting properties
and RFC8605 has been added to the Normative References.
Thanks for putting this together.  Some comments/feedback:

  - Is there a need to be prescriptive about the 'cursor' parameter?
    The draft could simply have text along the lines of "a server that
    implements paging will include at least a 'next' link for fetching
    the next page, and optionally 'first'/'prev'/'last' links for
    accessing other pages in the set of search results".  That way, a
    server can use whatever suits it best, whether that be limit/offset
    parameters or a more generic cursor parameter (or something else).
Yes, it's true and it is the reason why the cursor value has been modelled as an opaque string. A server can implement pagination as it sees fit.

However, offset and keyset are currently the most popular pagination methods. In addition, as I have outlined in the "Implementation Consideration" section, they don't require the server to handle the result set in a storage area across the requests . For such reasons, the draft mentions them as probable backend methods.

I will furtherly clarify the concept that the implementation of the cursor parameter is not limited to the use of those methods.

  - This draft takes a different approach to country/cc values than
    that taken by the reverse search draft.  Why are these values
    treated separately here?  Should servers that don't currently use the
    'cc' parameter, but which do have country name values in their
    jCards, be prevented from sorting based on the country name if a
    client requests that sorting be done by cc?

It's not clear to me what you mean when you say the two approaches are different. In the reverse search poposal, "cc" is an an address property and can be used individually or together with another address property to submit a reverse query based on an address rather then on a single property each time. I'm not sure this is the right approach. I mean, is it better to allow a reverse search based on the entire address or on one of its properties and leave AND joined predicates to a future capability? This is a question I'm going to make to the WG tomorrow.

In the sorting-and-paging draft, "cc" can be a sorting property like some other properties. It can be used joined with other sorting properties to compose a complex sort criterion.

I think it isn't a good idea to let a server to sort the results based on the country name when the client requests for a sort based on cc. In the "Negative Answer" section it is stated that the server SHOULD return an error in that case.

  - I think it would be useful to document explicitly what happens when
    sorting is carried out on a field for which a record can have
    multiple values.  For example, with jCard properties, the draft
    currently has text about using the value that is most preferred
    (per the 'pref' parameter), but there could be instances of
    multiple values for a property where no 'pref' parameter has been
    set.  This may be as simple as saying "the server will sort based
    on the first value for a given field that appears in the object".

I agree. I have already planned to update the draft in that sense. I was waiting for more feedbacks coming from tomorrow's meeting. In fact, I'm going to talk about the SORT-AS parameter as well.

If the server returns more values for a field and the pref parameter is missing, the first value must be taken by the server as the basis to sort the results.

  - Along similar lines, I think it would be useful to go into more
    detail about the exact logic for sorting.  For example, clients
    will typically want IP addresses to be sorted based on their
    numeric value, rather than on their string value, but the current
    text isn't prescriptive about this.
Good quaestion. I think the sort ordering should be consistent with the field JSON type. If the field is a JSON string, the lexicographic ordering should go. If the field is a JSON number, the numeric ordering should go.
  - The ABNF for 'cursor' is:

     "cursor=" ( ALPHA / DIGIT / "/" / "=" / "-" / "_" )

    which appears to limit it to a single character.  It looks like it
    should instead be:

     "cursor=" 1*( ALPHA / DIGIT / "/" / "=" / "-" / "_" )
Right. It is a typo.
  - I don't understand the text in section 2.4 about the problems with
    cursor pagination.  What is a "key field" in "it needs at least one
    key field"?  Also, what is a "key" in "it does not allow to sort
    just by any field because the sorting criterion must contain a
    key"?

In that sentence, "cursor" means "keyset". To avoid ambiguities, I will change the term "cursor" with the term "keyset". Keyset pagination needs a key field to work properly.


-Tom

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

--
Dr. Mario Loffredo
Servizi Internet e Sviluppo Tecnologico
CNR - Istituto di Informatica e Telematica
via G. Moruzzi 1, I-56124 PISA, Italy
E-Mail: mario.loffr...@iit.cnr.it
Phone: +39.0503153497
Web: http://www.iit.cnr.it/mario.loffredo

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

Reply via email to