Comments on LDP-Paging

I've split up my comments into 2 chunks (Normative and Non-normative).  I
took the liberty to just fix some grammar/typos directly in the editor's
draft.

Normative:

<#terms-from-paging>
"Paged resource"
I'm not sure what this statement is really saying, it seems to imply that
there are no guarantees and the combination of pages does not define the
paged resource.

[[When the representations of the sequence's resources are combined by a
client, the client has a (potentially incomplete or incoherent) copy of the
paged resource's state.]]
I would expect this to be written less scary, for example:
[[...the client has a (very near complete) copy ...]]
Isn't this the model we are striving for

<#terms-from-paging>
"In-sequence page resource"
There is the statement:
[[ LDP provides no guarantees that the sequence of page resources is
stable.]]
Seems like it would be good to prefix this statement with the positive
form, as I'm left wondering after reading this what DOES LDP provide?
Perhaps something like this:
[[ LDP provides a way to detect when the paged resource has changed while
traversing the sequence and a way to get a near-complete copy of the paged
resource.  LDP provides no .... ]]
Or maybe it would be good to define "stable", as I'm unsure now what
"sequence of page resources is stable" means.

<#terms-from-paging>
"In-sequence page resource", "fist page link", "last page link"
I'm not finding the terms "nearest" and "furthest" to be adding any
clarity.  I think in this case, less would be more.  So I'd suggest
striking it.

<#ldpp-client-paging-incomplete>
I find this normative statement hard to understand, at all:
[[5.1.5 LDP Paging clients SHOULD NOT present paged resources as coherent
or complete, or make assumptions to that effect.]]
I'm having a hard time with the words "present", "coherent" and "complete"
in this clause.

I would think a clause such as this might make more sense:
[[5.1.5 LDP Paging clients SHOULD NOT present a union of all in-sequence
page resource representations as equivalent to the representation for the
paged resource.]]

<#ldpr-pagingGET-sequences-change>
Says that pages can be added or removed, only says where pages can be added
(at the end) but doesn't provide any guidance/limitations on which can or
can't be removed, intentional?

I could see a case where a client makes a request with page-size=0, server
has some configuration setting saying that 200 is the default to use.
Someone changes the server setting to be 500. Now the number of pages is
quite different, ie some removed and/or sequence completely redefined. I
would assume the sequence just gets smaller, so the number of pages changes
but also the size of each one. Of course another option would be for the
server to detect this and just abandon the sequence and start fresh.

<#MISSING?>
Server indication that is has given up on paging and client should start
"fresh".
There was some discussion of allowing for a server to indicate that the
in-sequence page resource is "no longer" valid and the client should
re-initiate paging.  I believe Sandro had proposed using 410-Gone (of
course all the right paging response headers would be present, rel=first,
etc).  Is there another way a client can detect this?

<#MISSING?>
OPTIONS & HEAD
I only see the "HTTP GET" section, HEAD is pretty straightforward and not
sure we need to call it out (though we do in LDP).  I think these response
headers would be valuable on OPTIONS as well, no?  Did we ever discuss this
or has it been considered?
I'd propose we add a clause that says something of the sort:
[[LDP Paging servers SHOULD indicate that they have abandoned a sequence by
responding with at 410-Gone to any of the in-sequence pages with
appropriate paging link response headers, rel='first']]

Non-normative:

<#intro>
Should there be a reference to BPG and Primer?

<#ldpp-ex-paging-303>
Examples 6, 8, 10, 12: Is this missing?
Preference-Applied: return=representation

I see in 6.2.4 says it can be omitted if client can determine from other
values, so I assume that is why it is not there?

<#ldpr-impl>
"Paging LDPRs without maintaining server-side session state"
This seems like it would be better for "Best Practices" document, no?  This
would allow us to add to the WG-NOTE easily over time.

Thanks,
Steve Speicher
http://stevespeicher.me

Received on Thursday, 17 July 2014 17:51:15 UTC