Skip to content
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

dav.propfind.depth_infinity --> developer documentation #4144

Open
1 of 3 tasks
mmattel opened this issue Oct 15, 2021 · 3 comments
Open
1 of 3 tasks

dav.propfind.depth_infinity --> developer documentation #4144

mmattel opened this issue Oct 15, 2021 · 3 comments
Assignees

Comments

@mmattel
Copy link
Contributor

mmattel commented Oct 15, 2021

WHAT Needs to be Documented?

The new setting in core for 10.9: owncloud/core#38583 ([full-ci] Enable streaming for propfind) may need to find its way into the developer documentation.

WHERE Does This Need To Be Documented (Link)?

Not sure but: https://doc.owncloud.com/server/next/developer_manual/core/apis/ocs-capabilities.html

WHY Should This Change Be Made?

The impact is not only great for the server, but if a client can use the new setting it will bring a lot of benefits. If the client cant use it, there is no change in behaviour.

For a quick and dirty explanation I just sent the answer to my question from deepdiver thru google translate but this gives a hint what it is about.

without streaming:

  • server collects all information for the propfind
  • information is stored in the RAM
  • when everything is collected an xml is built
  • the xml is sent to the client
    i.e. client waits until everything is ready

with streaming:

  • while the server is still running through the file tree and collecting the information, xml elements are sent directly to the client
  • i.e. the client receives the answer immediately and can already process it
  • Impact on our clients (who can do that - ios only at the moment): they can immediately parse and process the xml
  • effects on the server: significantly lower memory consumption
  • the whole thing now allows the initial propfind to be sent with depth infinity
    i.e. the client can process the first sync in a request and does not have to send a request for each folder

(Optional) Which Manual Does This Relate To?

  • Admin Manual
  • Developer Manual
  • User Manual

@EParzefall fyi
@phil-davis mind to help as you have done many updates of the dev docs.

@mmattel
Copy link
Contributor Author

mmattel commented Nov 3, 2021

@phil-davis ping, requesting help as I have no clue how to properly doc this

@phil-davis phil-davis self-assigned this Nov 3, 2021
@michaelstingl
Copy link
Contributor

@mmattel in some scenarios, this is causing more load on the server, and admins wants to avoid this. Maybe also add admin docs how to disable the capability. (see owncloud/core#38583 (comment))

/cc @xoxys

@michaelstingl
Copy link
Contributor

@mmattel in some scenarios, this is causing more load on the server, and admins wants to avoid this. Maybe also add admin docs how to disable the capability. (see owncloud/core#38583 (comment))

/cc @xoxys

Ah, it's already there:
https://doc.owncloud.com/server/10.9/admin_manual/configuration/server/config_sample_php_parameters.html#allow-propfind-depth-infinity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants