Re: Call for consensus for the pagination design (ISSUE-42)

2015-10-18 21:18 GMT+02:00 Markus Lanthaler <markus.lanthaler@gmx.net>:

>  - replace PagedCollection with PartialCollectionView

Good.

>  - replace firstPage/nextPage/previousPage/lastPage with
> first/next/previous/last

The intent is not to align this with IANA link relations, neither
semantically, nor in serialization (naming)?

>  - associate totalItems with Collection instead of PagedCollection

Good.

>  - remove itemsPerPage for the time being (we will likely re-introduce it
> with a different name)

What about "skip" and "top"? More on that; has any work been done to
see how hydra:Collection fits with OData querying[1]? While it would
be fairly easy to stuff OData queries inside hydra:Collection
properties, using similar naming for the properties that describe the
same concepts, could perhaps be smart.

Even though hydra:Collection and OData Queries are orthogonal, I think
it would be good to have a look at OData as a whole while designing
Hydra, just to get as much input into the process as possible. It's an
OASIS standard and although it doesn't build on RDF, it tries to solve
many of the same problems as Hydra.

>   {
>     "@id": "http://api.example.com/an-issue/comments",
>     "@type": "Collection",
>     "member": [ ... ],
>     "totalItems": 150,
>     "view": {
>       "@id": "/an-issue/comments?page=3",
>       "@type": "PartialCollectionView",
>       "first": "/an-issue/comments",
>       "previous": "/an-issue/comments?page=2",
>       "next": "/an-issue/comments?page=4",
>       "last": "/an-issue/comments?page=498",
>     }
>   }

I'm not opposed to this. But if we could make this interoperable with
OData, it could make uptake faster and implementation easier.

> This serves as a call for consensus. Before I proceed with marking ISSUE-42
> [2] as resolved and implementing the changes in the spec, I would like to
> ask if anyone has any concerns or objections against this proposal.

Not objections per se and I wish I had seen the correlation to OData
sooner, but given that OData is a rather popular protocol (NuGet runs
on it, for instance), it would be unwise of us not to consider it,
imho.

____
[1] http://docs.oasis-open.org/odata/odata/v4.0/errata02/os/complete/part2-url-conventions/odata-v4.0-errata02-os-part2-url-conventions-complete.html#_Top_and_Skip

-- 
Asbjørn Ulsberg           -=|=-        asbjorn@ulsberg.no
«He's a loathsome offensive brute, yet I can't look away»

Received on Monday, 19 October 2015 06:00:45 UTC