Bug #16510

Indirectly trashed item's context menu show editable actions

Added by Lucas Di Pentima over 1 year ago. Updated 8 months ago.

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

0%

Estimated time:
(Total: 0.00 h)
Story points:
-
Release relationship:
Auto

Description

Projects or collections belonging to other projects that happen to be trashed are accessible on WB2 via the "Trash" section on the left panel, by navigating through those trashed projects.
The context menu code on wb2 assumes that something is trashed only when its is_trashed field is set to true, but that's not always the case. On wb2, when this happens, a "Restore" menu item is offered that calls the untrash API call, and that's possible only on directly trashed objects, and it isn't on objects that belong to trashed projects.
So, we should come up with a way of fixing this behavior difference, as users will surely want to recover some objects from within trashed projects.

Talked on eng meeting:

  • Implement a virtual read-only field on the API side to tell the client when something is indirectly trashed
    • This would be included not always but when using “include_trash” or passing another special flag
  • On wb2’s side, that would allow us to easily know when any object is trashed.
  • A virtual field won’t necessarily be useful as an event from websocket, so we may need to use some cache invalidation strategy

More discussion 2020-12-01

Nico’s suggested checking: https://swr.vercel.app/

Workbench2, when displaying a collection, project, or other record (technically this could apply to container requests and workflows too), should be aware of the entire ownership chain (that is visible to the user). Then wb2 can determine if any of the owners have "is_trashed" set and determine the correct behavior. (It's also possible the parent project is not readable unless include_trash is set and that's also a signal that it belongs in the trash).

For this to work well, we'll want to start caching requests and use a stale-while-revalidate policy (#17172).


Subtasks

Task #16816: ReviewNew


Related issues

Blocked by Arvados - Feature #17172: Stale-while-revalidate caching strategy for requestsNew

History

#1 Updated by Lucas Di Pentima over 1 year ago

I've pushed a WIP branch that's related to what we'll decide for this ticket: handling trashed collection views: arvados-workbench2|259a52af (branch 16118-collection-panel-trash-view)

#2 Updated by Lucas Di Pentima over 1 year ago

  • Target version changed from 2020-07-01 Sprint to 2020-07-15
  • Assigned To set to Lucas Di Pentima

#3 Updated by Lucas Di Pentima about 1 year ago

  • Target version changed from 2020-07-15 to 2020-08-12 Sprint

#4 Updated by Peter Amstutz about 1 year ago

  • Target version changed from 2020-08-12 Sprint to 2020-08-26 Sprint

#5 Updated by Peter Amstutz about 1 year ago

  • Target version changed from 2020-08-26 Sprint to 2020-09-09 Sprint

#6 Updated by Lucas Di Pentima about 1 year ago

  • Target version changed from 2020-09-09 Sprint to 2020-09-23 Sprint

#7 Updated by Lucas Di Pentima about 1 year ago

  • Description updated (diff)

#8 Updated by Peter Amstutz about 1 year ago

  • Target version changed from 2020-09-23 Sprint to 2020-10-07 Sprint

#9 Updated by Lucas Di Pentima about 1 year ago

  • Target version changed from 2020-10-07 Sprint to 2020-10-21 Sprint

#10 Updated by Lucas Di Pentima 11 months ago

  • Target version changed from 2020-10-21 Sprint to 2020-11-04 Sprint

#11 Updated by Lucas Di Pentima 11 months ago

  • Target version changed from 2020-11-04 Sprint to 2020-11-18

#12 Updated by Peter Amstutz 11 months ago

  • Target version changed from 2020-11-18 to 2020-12-02 Sprint

#13 Updated by Peter Amstutz 10 months ago

  • Target version changed from 2020-12-02 Sprint to 2020-12-16 Sprint

#14 Updated by Peter Amstutz 10 months ago

  • Related to Feature #17137: Field that indicates when a record is part of a trashed project added

#15 Updated by Peter Amstutz 10 months ago

  • Related to deleted (Feature #17137: Field that indicates when a record is part of a trashed project)

#16 Updated by Peter Amstutz 10 months ago

  • Blocked by Feature #17137: Field that indicates when a record is part of a trashed project added

#17 Updated by Peter Amstutz 10 months ago

From discussion:

Workbench2, when displaying a record, should be aware of the entire ownership chain. Then the app can determine if any of the owners have "is_trashed" set.

Related: should optimize object access by adding a caching and stale-while-revalidate policy.

#18 Updated by Peter Amstutz 10 months ago

  • Blocked by deleted (Feature #17137: Field that indicates when a record is part of a trashed project)

#19 Updated by Peter Amstutz 10 months ago

  • Target version changed from 2020-12-16 Sprint to 2021-01-06 Sprint

#20 Updated by Peter Amstutz 10 months ago

  • Related to Feature #17172: Stale-while-revalidate caching strategy for requests added

#21 Updated by Peter Amstutz 10 months ago

  • Related to deleted (Feature #17172: Stale-while-revalidate caching strategy for requests)

#22 Updated by Peter Amstutz 10 months ago

  • Blocked by Feature #17172: Stale-while-revalidate caching strategy for requests added

#23 Updated by Peter Amstutz 10 months ago

  • Description updated (diff)

#24 Updated by Peter Amstutz 10 months ago

  • Description updated (diff)

#25 Updated by Peter Amstutz 10 months ago

  • Target version changed from 2021-01-06 Sprint to 2021-01-20 Sprint

#26 Updated by Peter Amstutz 9 months ago

  • Target version changed from 2021-01-20 Sprint to 2021-02-03 Sprint

#27 Updated by Peter Amstutz 8 months ago

  • Target version changed from 2021-02-03 Sprint to 2021-02-17 sprint

#28 Updated by Peter Amstutz 8 months ago

  • Release set to 31
  • Target version deleted (2021-02-17 sprint)

Also available in: Atom PDF