-
Notifications
You must be signed in to change notification settings - Fork 113
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
Enable recycle bin for arbitrary paths #2160
Comments
Try not to think af paths first. Let me explain: We introduced the Anyway, the Spaces to the rescue: the Every space has special folders endpoint, which in msgraph contains Listing childern in the special folder is done with IMO we should add Listing the trash for a specific space or 'project' could then be done with The id here would be the spaceid that the ListSpaces API calls return. For decomposedfs we use the nodeid of the root as the spaceid and it is concatenated with Try to think of the global namespace in the CS3 API as a tree that organizes multiple spaces into a human readable tree. The challenge in the global namespace is that users can mount shares in their The global namespace and the spaces concept complement each other. They are different ways of navigating to a resource. While it would be possible to expose something like To make a long story short: I would prefer to use |
@ishank011 we could allow sending a $base-path in the header of a The web ui would have to learn sending that base path. cc @micbar @kulmann @tbsbdr but how should the ui look for multiple trash bins anyway? |
Regarding a spaces implementation for eos: that can be done incrementally. The easiest step is to list spaces, which is what we started with for the decomposedfs: glob all user homes, stat them and fetch the eos fileid, use it as the spaceid. For projects I assume you have a dedicated storageprovider per project? no homeenabled flag, so the eos fileid of it can be the storage spaceid. Or you use a layout to define where roots are. This does lead to a storage space registry instead of a storage registry, but that is a different topic. |
@butonic yes, that is what I'm aiming for as well. Instead of a header, would it make more sense to have a query parameter? Currently, the default path that we use is the user home reva/internal/http/services/owncloud/ocdav/trashbin.go Lines 198 to 211 in 19f83bd
I can add a check that if a I also split the ref and key into two separate arguments cs3org/cs3apis#152, because joining the base, key and relative path and passing it as one string seemed like a workaround. Regarding the UI changes, we have an ocis extension that we use to display projects https://github.com/cernbox/ocis-eosprojects. What we had in mind was that in addition to displaying the list of projects, we'll add a link to their respective trash bins as well. @diocas would be better able to explain the design @kulmann @tbsbdr |
Yes, I would be very interested in taking this up for EOS but I'm afraid we don't have the bandwidth at the moment. Once we're done with our rollouts, I'd be happy to get started with this, but it won't be possible for the next 2-3 months at least. |
Currently, all recycle bin operations in oCIS are made available via the
/remote.php/dav/trash-bin/$username/$key/$path
endpoints. These are restricted to only the logged-in user's home, but access for shared spaces is not yet available.Considering a user case, in CERNBox, we have service accounts associated with project spaces and users having access to a specific project space should be able to list and restore deleted entries. This is supported by the ListRecycleRequest message in CS3APIs, so now, it needs to be added to clients.
Similar to the
/remote.php/webdav/$path
and/remote.php/dav/$user/$path
parallel,I propose to add a new API
/remote.php/webdav/trash-bin/$base-path/$key/$path
,which will allow access to the recycle spin associated with other accounts, given that the user has access to
$base-path
.For example,
/remote.php/webdav/trash-bin/projects/physics-simulations
Both the implementations can share the same code, as is the case with the old and new files endpoints.
Please let me know your thoughts about this @labkode @butonic @refs @C0rby @dragotin
The text was updated successfully, but these errors were encountered: