-
-
Notifications
You must be signed in to change notification settings - Fork 4.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
A dav plugin to allow pagination of multipart responses #10880
Conversation
Usually XML can be parsed while reading the stream as well. 🤔 |
The problem is not parsing the xml, the problem is that the mobile client will have to keep the full file listing in memory. |
True point 👍 |
Could you rebase this one? |
Moved to 16. |
So um, what happened with this one? Can I help to make it happen? It was done so early in the cycle that I really thought it'd get in :( |
Getting it rebased and reviewed tomorrow morning would make it happen. Otherwise I’m sorry, but sometimes things go under the radar and are forgotten somehow. |
I have now rebased this. Please let me know if I can assist any further @icewind1991. |
Yes yes yesssss, for me this is very very gooooodddddd |
e5eb98d
to
aff3f79
Compare
@icewind1991 this will not speed up first search?
Is there something I can do from client side to get this faster? I already ask for as few properties as possible. |
@icewind1991 Any news here? |
@icewind1991 Any news here? for mobile its very important |
Signed-off-by: Robin Appelman <robin@icewind.nl>
@tobiasKaminsky can you give me the xml for the search request you're making |
@icewind1991 What is the status here? We are close to the beta 1. Should this go into 17 or 18? |
😴 |
One hour after last usage, or one hour after creating the first query? |
One year without any update? GUess we can close this 🤡 |
I'm going to close this due to lack of activity. |
Can we reopen ? After 5 years the clients still no have a pagination ... |
Adds the option for clients to get paginated results for
PROPFIND
,REPORT
andSEARCH
, the server will still query everything at once, but only sending the first page worth of data to the client while caching the rest.Proper pagination is needed to be able to properly handle large responses on mobile clients that can otherwise run into memory issues while handling the response.
How to use
Initial request
PROPFIND
,REPORT
orSEARCH
request as usual to thedav
endpoint (the oldwebdav
endpoint isn't supported by this)X-NC-Paginate: true
header to tell the server we want paginationX-NC-Paginate-Count: X
header with the number of results to return (defaults to 100)The result will contain the first X items and the following headers
X-NC-Paginate: true
: to signify that the response is paginatedX-NC-Paginate-Token: XXXXXXX
: the token to request the rest of the resultsX-NC-Paginate-Total: X
: the total number of itemsFollow up requests
X-NC-Paginate-Token: XXXXXXX
header with the returned tokenX-NC-Paginate-Offset: X
the first item to returnX-NC-Paginate-Count: X
to control the number of items returned.The result will have the requested items and the
X-NC-Paginate: true
header.Note that any follow up request will not reflect any changes that are made on the server since the original request.
Support for pagination on the server can be determined from the
DAV
header ofOPTIONS
requests, which will containnc-paginate
if the feature is supported.Cached results are cleaned up after an hour.