Project

General

Profile

Actions

Bug #22202

closed

Removing a process from process view should navigate to parent or root project

Added by Lisa Knox 2 months ago. Updated about 2 months ago.

Status:
Resolved
Priority:
Normal
Assigned To:
Category:
Workbench2
Story points:
-
Release:
Release relationship:
Auto

Description

Currently, when viewing the process details page and using the action menu (3 dots) to remove the process, the process is removed but the view does not change. Trying to edit or remove the process from this point generates errors that are handled appropriately, but ideally the user would be navigated back to their root project, since there is nothing useful the user can do here.


Subtasks 1 (0 open1 closed)

Task #22244: Review 22202-delete-process-navigationResolvedPeter Amstutz10/30/2024Actions
Actions #1

Updated by Peter Amstutz 2 months ago

  • Target version set to Development 2024-11-06 sprint
Actions #2

Updated by Stephen Smith 2 months ago

  • Assigned To set to Stephen Smith
  • Status changed from New to In Progress
Actions #3

Updated by Peter Amstutz about 2 months ago

  • Subject changed from Removing a process from process view should navigate to Root Project to Removing a process from process view should navigate to parent or root project
Actions #4

Updated by Stephen Smith about 2 months ago

Changes at arvados|393f785a96ad789983c6c153b1ff2425b414418e branch 22202-delete-process-navigation
Tests developer-run-tests-services-workbench2: #1321

  • All agreed upon points are implemented / addressed.
    • Bumped rollup for dependabot
    • Changed the delete action to delete in parallel instead of sequentially
      • This allows grouping the notifications, instead of a success/error snackbar for each item it shows a separate one for each status (success, access denied, generic error) with a count if more than 1
      • Also changed refreshing DE to once after all deletions finished
    • Added check for current process being open, navigates to home project
    • Broke one cycle of imports by moving get project panel uuid to a file that doesn't import workbench actions
      • There are some obvious import loops in workbench actions but commenting out the obvious ones didn't fix the unit test run so I went with this solution since the alternative is going through each of the imports in workbench-actions, of which there are too many. DPDM also didn't seem to list the specific import loop path I was tracing though it had many going through workbench-actions
  • Anything not implemented (discovered or discussed during work) has a follow-up story.
    • none
  • Code is tested and passing, both automated and manual, what manual testing was done is described
    • manually tested deletion notification grouping, added cypress tests to verify navigation to home and DE refresh in the project panel WF tab
  • Documentation has been updated.
    • n/a
  • Behaves appropriately at the intended scale (describe intended scale).
    • no change
  • Considered backwards and forwards compatibility issues between client and server.
    • none
  • Follows our coding standards and GUI style guidelines.
    • Improved by doing away with the "starting to remove" snackbar and grouping the final result notifications
Actions #5

Updated by Peter Amstutz about 2 months ago

22202-delete-process-navigation @ 4c8c6d12cfd31b8613f4498650b027b354f9db1b

This looks good, but going to the root project seems disruptive. Could it invoke a "back" navigation? And/or navigate to the parent project (when then history is empty).

Actions #6

Updated by Stephen Smith about 2 months ago

There seem to be some challenges with navigating back - there is no way to check if there is history to go back to, you can see the history length but not know where in the history you are. The browser's landing page can also count as history so even if you could know that history.back() works you could be directing away from WB (if someone navigated from somewhere else directly to a process link and then deleted the process).

Navigating to the parent project seems more doable, but could require more error checking. I think currently you usually have at least read access to the parent project but I think it would be possible to create a permission link directly to a process, which would cause a navigateTo error - if we want to handle that case, I can change navigateTo to return success and have it navigate to home project on failure. I think that may be the best way to handle it.

Actions #7

Updated by Stephen Smith about 2 months ago

Changes at arvados|d3a2ed445a3ef4e45b4158e1049ddf5f3e690166
Tests developer-run-tests-services-workbench2: #1324

  • Changed delete process to navigate to parent project on success if currently viewing the deleted process
    • In the current system you can't grant permission to just a process so we assume they have access to the parent project
  • Added delete process in subproject test
Actions #8

Updated by Peter Amstutz about 2 months ago

Stephen Smith wrote in #note-7:

Changes at arvados|d3a2ed445a3ef4e45b4158e1049ddf5f3e690166
Tests developer-run-tests-services-workbench2: #1324

  • Changed delete process to navigate to parent project on success if currently viewing the deleted process
    • In the current system you can't grant permission to just a process so we assume they have access to the parent project
  • Added delete process in subproject test

LGTM.

Actions #9

Updated by Stephen Smith about 2 months ago

  • Status changed from In Progress to Resolved
Actions #10

Updated by Peter Amstutz about 2 months ago

  • Release set to 70
Actions

Also available in: Atom PDF