Feature #13272

[keep-web] read/write support for /by_id and /users

Added by Tom Clegg 9 months ago. Updated 8 months ago.

Status:
New
Priority:
Normal
Assigned To:
-
Category:
-
Target version:
Start date:
Due date:
% Done:

0%

Estimated time:
Story points:
-

Description

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=*/)
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.


Related issues

Related to Arvados - Story #13218: Support browsing of projects shared with me in WebDAVNew

Blocked by Arvados - Story #13111: [WebDAV] Support browsing of project hierarchiesResolved2018-03-27

History

#1 Updated by Tom Clegg 9 months ago

  • Tracker changed from Bug to Feature

#2 Updated by Tom Clegg 9 months ago

  • Blocked by Story #13111: [WebDAV] Support browsing of project hierarchies added

#3 Updated by Tom Clegg 9 months ago

  • Subject changed from [keep-web] Full featured /users/ filesystem tree to [keep-web] Expose all collections and projects by name and ID
  • Description updated (diff)

#4 Updated by Tom Morris 8 months ago

  • Subject changed from [keep-web] Expose all collections and projects by name and ID to [keep-web] Finish up loose ends, including writable support, expose all collections and projects by name and ID
  • Target version set to To Be Groomed

#5 Updated by Tom Clegg 8 months ago

  • Subject changed from [keep-web] Finish up loose ends, including writable support, expose all collections and projects by name and ID to [keep-web] read/write support for /by_id and /users
  • Description updated (diff)

#6 Updated by Tom Clegg 8 months ago

  • Related to Story #13218: Support browsing of projects shared with me in WebDAV added

Also available in: Atom PDF