Project

General

Profile

Feature #13272

Updated by Tom Clegg almost 6 years ago

Continue where #13111 leaves off, bringing the /users/ tree exported by keep-web up to (at least) a level of functionality and performance similar to arv-mount. 

 Functionality: 
 * Add/remove/update files/dirs in collections 
 * Add/remove collections by name using mkcol/delete 
 * Copy/move files/dirs from one collection to another (possibly /users/* to /c=*/) 
 * Access shared projects and collections (i.e., ones not reachable through /users/$myusername/) by name 
 * /by_id/$project_uuid/ (like #12320) 

 Performance: 
 * Cache the filesystem layout, so a sequence of N webdav requests with the same token and same/overlapping paths don't need to retrieve the whole filesystem layout from API server N times 
 * Use a single cache entry for any given {collection, token} tuple, regardless of whether it's accessed via /c=UUID/, /by_id/UUID/, /by_id/PDH/, /users/alice/foo/, etc. 

 Unlike arv-mount, webdav writes should continue to be atomic: after concurrent requests to write content A to F and write content B to F, F should contain either A or B, not a mix of the two. 

Back