dav.propfind.depth_infinity --> developer documentation
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.
@phil-davis ping, requesting help as I have no clue how to properly doc this
@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
@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