Story #12125

Client support for deleting projects

Added by Peter Amstutz 2 months ago. Updated 7 days ago.

Status:In ProgressStart date:08/08/2017
Priority:NormalDue date:
Assignee:Peter Amstutz% Done:

25%

Category:-
Target version:2017-10-25 Sprint
Story points-Remaining (hours)0.00 hour
Velocity based estimate-

Subtasks

Task #12441: Review arv-mount trashed supportNew

Task #12091: [Workbench] Add Projects tab to trash pageResolvedPeter Amstutz

Task #12266: Review 12125-workbench-project-trashIn ProgressPeter Amstutz

Task #12092: [arv-mount] Add support Trashed event for projectsNewPeter Amstutz


Related issues

Related to Arvados - Story #12032: [API] Allow projects to be deleted (ie placed in the tras... Resolved 08/08/2017

History

#1 Updated by Tom Morris about 1 month ago

  • Target version changed from Arvados Future Sprints to 2017-09-27 Sprint

#2 Updated by Peter Amstutz about 1 month ago

  • Assignee set to Peter Amstutz

#3 Updated by Peter Amstutz 22 days ago

  • Target version changed from 2017-09-27 Sprint to 2017-10-11 Sprint

#4 Updated by Peter Amstutz 15 days ago

12125-workbench-project-trash @ 71da9f42b396e6ae8d7ef83b1855d5bb407c2a17

Adds "Trashed projects" tab to trash page.

Also adds check to 404 page if an item is in the trash, and offers to untrash it.

Adds tests.

https://ci.curoverse.com/job/developer-run-tests/474/

#5 Updated by Lucas Di Pentima 15 days ago

  • On the 404 page, do you think that adding the date when the trashed item is going to be deleted is something that could be useful to the user?
  • When accessing a collection that’s inside a trashed project, the 404 doesn’t notify the user this fact, and visiting the Trash page doesn’t show the collection, even searching it by uuid. Maybe the easier path to allow the user find those kind of lost collections is to inform that it’s parent project is trashed?
  • The above also happens with projects inside a trashed project, it doesn’t appear on Trash and the 404 page just says that’s not found.
  • If the previous points are valid, maybe it would be convenient to write tests about them.

#6 Updated by Peter Amstutz 13 days ago

Lucas Di Pentima wrote:

  • On the 404 page, do you think that adding the date when the trashed item is going to be deleted is something that could be useful to the user?

Sure, can't hurt.

  • When accessing a collection that’s inside a trashed project, the 404 doesn’t notify the user this fact, and visiting the Trash page doesn’t show the collection, even searching it by uuid. Maybe the easier path to allow the user find those kind of lost collections is to inform that it’s parent project is trashed?

Yes, the 404 page could follow the ownership links to find the trashed project and offer to untrash it.

  • The above also happens with projects inside a trashed project, it doesn’t appear on Trash and the 404 page just says that’s not found.

We have an include_trashed flag which would allow us to search for items regardless of whether they are trashed or not. However, this creates a couple of challenges with the current API:

  • We can't efficiently determine if an item is inside a trashed project
  • We can't efficiently determine which trashed project contains an item

Doing this for a single items (on the 404 page) isn't so bad, but doing it across sets of items is much more expensive.

I think the ideal API would be to add a "inside_trashed_project_uuid" field that is returned on all objects when include_trashed=true, however that will require reopening #12032 first.

  • If the previous points are valid, maybe it would be convenient to write tests about them.

They are valid, I'm just not sure whether to address them or not.

#7 Updated by Peter Amstutz 13 days ago

Strategy

  • When listing/searching trashed collections
    • use include_trashed
    • collect owner uuids and query that without include_trashed
    • trashed collections will either
      • have trashed_at set (trashed directly)
      • have a owner uuid that isn't in the list (trashed indirectly)
    • may need to iterate a few times so we have enough items to show

#8 Updated by Peter Amstutz 8 days ago

  • Status changed from New to In Progress
  • Target version changed from 2017-10-11 Sprint to 2017-10-25 Sprint

Also available in: Atom PDF