Project

General

Profile

Actions

Bug #21642

open

Outputs panel does not show output collection

Added by Peter Amstutz 28 days ago. Updated about 5 hours ago.

Status:
In Progress
Priority:
Normal
Assigned To:
Category:
Workbench2
Story points:
-

Description

Observed on tordo:

1. For a workflow step, it shows "JSON" and "Collection" but the "Collection" tab doesn't do anything, it continues to show the "JSON" content.

2. For a toplevel workflow, it shows tabs for "Parameters" and "JSON" but not "Collection". For consistency, it should show "Collection" as well.


Subtasks 1 (1 open0 closed)

Task #21672: Review 21642-io-panel-collection-tab-bugIn ProgressLisa Knox04/29/2024Actions
Actions #1

Updated by Peter Amstutz 28 days ago

  • Description updated (diff)
Actions #2

Updated by Peter Amstutz 20 days ago

  • Target version changed from Development 2024-04-24 sprint to Development 2024-05-08 sprint
Actions #3

Updated by Peter Amstutz 20 days ago

  • Target version changed from Development 2024-05-08 sprint to Development 2024-06-05 sprint
Actions #4

Updated by Peter Amstutz 20 days ago

  • Target version changed from Development 2024-06-05 sprint to Development 2024-04-24 sprint
Actions #5

Updated by Peter Amstutz 19 days ago

  • Assigned To set to Stephen Smith
Actions #6

Updated by Stephen Smith 6 days ago

  • Status changed from New to In Progress
Actions #7

Updated by Stephen Smith 6 days ago

Changes at arvados|a72bfc2cc90e0155ac7ea7ea9aa21390d2c18c19
Tests developer-run-tests-services-workbench2: #755

  • All agreed upon points are implemented / addressed.
    • Fixed the non-working collection tab by creating a new conditional tab component, this lets us abstract away the conditional rendering and prevents errors in constructing complex conditions for rendering tab contents when the tab position can change - it's more robust because the abstracted implementation keeps the tab set in an array and filters out non-visible tabs before conditionally rendering only the selected tab contents, eliminating the possibility of misaligned selected and rendered tab
    • The top level process seems to correctly show the collection tab on outputs panel, so I assume the issue was just that outputUuid was missing on some processes. Nevertheless, I added a unit test to make sure top level processes show the outputs tab when outputUuid is available.
  • Anything not implemented (discovered or discussed during work) has a follow-up story.
    • n/a
  • Code is tested and passing, both automated and manual, what manual testing was done is described
    • manually checked fix on steps, verified collection tab on main process outputs
    • Added tests to check conditional tabs and main process outputs
  • Documentation has been updated.
    • n/a
  • Behaves appropriately at the intended scale (describe intended scale).
    • n/a
  • Considered backwards and forwards compatibility issues between client and server.
    • n/a
  • Follows our coding standards and GUI style guidelines.
    • no changes
Actions #8

Updated by Peter Amstutz 5 days ago

  • Target version changed from Development 2024-04-24 sprint to Development 2024-05-08 sprint
Actions #9

Updated by Lisa Knox 4 days ago

The only real issue I see is that the fetch for the collection tab happens when clicking the collection tab. This makes the highlight-slider-thing chug as it transfers from one tab to another. If you click back and forth between tabs, the same data is re-fetched every time. I'm not sure how viable eager loading is in this situation (I imagine the amount of data in the collection tab is conceivably huge), but it would prevent the chug. We should at least be storing the fetched data in redux so we're not making the same fetch twice.

Actions #10

Updated by Stephen Smith about 5 hours ago

Changes at arvados|b7e59d3a314347e3ede2a683294a466b05ca5c90
Tests developer-run-tests-services-workbench2: #775

So instead of going down the path of caching the results in the store which would then require managing clearing out that data I decided to make it so that switching tabs doesn't un-render any content but just hides it - that way all tabs are rendered all the time (which, between the virtual list and data explorer with capped page size, shouldn't be too much of a performance impact, as loading the data explorer is a single request), and switching tabs won't cause the collections tab to re-render. It also means that the collections tab will already be loaded when the user switches to it.

Actions

Also available in: Atom PDF