You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently, listing large folders (10k+) becomes slow when expensive properties are requested. Not only because the server may internally have to make more requests, but also because parsing XML with 10k+ entries and handling them in browsers becomes challenging.
Add WebDAV pagination
We could use the Range header to let clients request a certain range of collections, eg. Range: rows=2-3 and in the response return Content-Range: rows 2-3; total=9. And we can announce range suppurt using Accept-Ranges: rows It would be compatible with the webdav RFCs, as long as we assume collections are ordered. The problem is that the web ui allows ordering by different properties and there is no example for how to specify the order of a collection in a PROPFIND request.
Regardless of the approach, sorting would have to happen on the server side, which would make the ocdav or graph services consume a lot more memory. However, we can then use ListContainer together with an If-Match etag and reduce number of requests to the storage.
Currently, listing large folders (10k+) becomes slow when expensive properties are requested. Not only because the server may internally have to make more requests, but also because parsing XML with 10k+ entries and handling them in browsers becomes challenging.
Add WebDAV pagination
We could use the
Range
header to let clients request a certain range of collections, eg.Range: rows=2-3
and in the response returnContent-Range: rows 2-3; total=9
. And we can announce range suppurt usingAccept-Ranges: rows
It would be compatible with the webdav RFCs, as long as we assume collections are ordered. The problem is that the web ui allows ordering by different properties and there is no example for how to specify the order of a collection in a PROPFIND request.So we would have to introduce
OC-OrderBy: <property>
to let clients tell the server how to order the list.Use /graph/ driveItems
It already has
$top
&$skip
for client driven pagination, server driven pagination and$orderby
specified. (as well as$filter
ing and$expand
ing of resources)common consequences
Regardless of the approach, sorting would have to happen on the server side, which would make the ocdav or graph services consume a lot more memory. However, we can then use ListContainer together with an
If-Match
etag and reduce number of requests to the storage.related problems
The text was updated successfully, but these errors were encountered: