docs icon indicating copy to clipboard operation
docs copied to clipboard

dav.propfind.depth_infinity --> developer documentation

Open mmattel opened this issue 4 years ago • 3 comments

WHAT Needs to be Documented?

The new setting in core for 10.9: https://github.com/owncloud/core/pull/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
  • [x] Developer Manual
  • [ ] User Manual

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

mmattel avatar Oct 15 '21 06:10 mmattel

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

mmattel avatar Nov 03 '21 12:11 mmattel

@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 https://github.com/owncloud/core/pull/38583#issuecomment-975394067)

/cc @xoxys

michaelstingl avatar Apr 08 '22 08:04 michaelstingl

@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

michaelstingl avatar Apr 08 '22 09:04 michaelstingl