Project

General

Profile

Actions

Feature #16073

closed

[Process view] Panels for inputs and outputs

Added by Lucas Di Pentima almost 3 years ago. Updated about 1 month ago.

Status:
Resolved
Priority:
Normal
Assigned To:
Category:
Workbench2
Target version:
Start date:
07/22/2022
Due date:
% Done:

100%

Estimated time:
(Total: 0.00 h)
Story points:
-

Description

In a panel of the process view, display the contents of cwl.input.json (found in the mounts).

If the process is completed, the output collection should have a "cwl.output.json" which can be rendered in a similar fashion on its own "Outputs" panel.

Proposed design

Two tabs.

1st tab

List each input parameter with 3 columns

  • label
  • description
  • value (e.g. links to files)
    • if the value is an image, display as thumbnail

2nd tab

raw JSON with clickable links like it works in wb1.


Files

images.tar (550 KB) images.tar Stephen Smith, 08/30/2022 10:51 PM
untar-tarred-pngs.cwl (224 Bytes) untar-tarred-pngs.cwl Stephen Smith, 08/30/2022 10:52 PM
Screenshot_20220901_120703.png (151 KB) Screenshot_20220901_120703.png IO panels with image output Stephen Smith, 09/01/2022 04:07 PM
Screenshot_20220901_121347.png (103 KB) Screenshot_20220901_121347.png Input panel with all input types Stephen Smith, 09/01/2022 04:14 PM
Screenshot_20220901_121453.png (48.5 KB) Screenshot_20220901_121453.png Intermediate steps with input mount and output collection browser Stephen Smith, 09/01/2022 04:15 PM
iopanel-subprocess-collections.png (54.6 KB) iopanel-subprocess-collections.png Stephen Smith, 09/15/2022 08:12 PM
iopanel-output-images-expanded.png (128 KB) iopanel-output-images-expanded.png Stephen Smith, 09/15/2022 08:12 PM
iopanel-output-images-collapsed.png (54.9 KB) iopanel-output-images-collapsed.png Stephen Smith, 09/15/2022 08:12 PM
iopanel-inputtest.png (101 KB) iopanel-inputtest.png Stephen Smith, 09/15/2022 08:12 PM
Screenshot from 2022-09-16 16-41-45.png (192 KB) Screenshot from 2022-09-16 16-41-45.png Peter Amstutz, 09/16/2022 08:53 PM
Screenshot from 2022-09-16 16-45-03.png (208 KB) Screenshot from 2022-09-16 16-45-03.png Peter Amstutz, 09/16/2022 08:54 PM
Screenshot from 2022-09-16 16-51-41.png (171 KB) Screenshot from 2022-09-16 16-51-41.png Peter Amstutz, 09/16/2022 09:04 PM
Screenshot from 2022-10-03 16-09-20.png (6.06 KB) Screenshot from 2022-10-03 16-09-20.png Peter Amstutz, 10/03/2022 08:14 PM
Screenshot from 2022-10-03 16-10-43.png (87.7 KB) Screenshot from 2022-10-03 16-10-43.png Peter Amstutz, 10/03/2022 08:14 PM
Screenshot_20221013_141232.png (56.2 KB) Screenshot_20221013_141232.png Stephen Smith, 10/13/2022 06:13 PM
Screenshot_20221013_141213.png (85.5 KB) Screenshot_20221013_141213.png Stephen Smith, 10/13/2022 06:13 PM
Screenshot from 2022-10-14 17-46-08.png (29.6 KB) Screenshot from 2022-10-14 17-46-08.png Peter Amstutz, 10/15/2022 09:25 PM

Subtasks 1 (0 open1 closed)

Task #19002: Review 16073-process-io-panelsResolvedPeter Amstutz07/22/2022

Actions

Related issues

Related to Arvados Epics - Story #16945: WB2 Workflows / containers feature parityIn Progress08/01/202112/31/2022

Actions
Related to Arvados Workbench 2 - Feature #19531: Add "un-maximize" button that gets the previous panels' visibility state backDuplicate

Actions
Related to Arvados - Feature #19466: Record input & output object on workflow steps as container request propertyResolvedPeter Amstutz10/06/2022

Actions
Has duplicate Arvados - Feature #18883: Move display of input objects (cwl.inputs.json) into panelDuplicateStephen Smith

Actions
Actions #1

Updated by Lucas Di Pentima almost 3 years ago

  • Related to Story #15333: Workbench2 feature parity with Workbench added
Actions #2

Updated by Peter Amstutz almost 3 years ago

  • Target version deleted (Arvados Future Sprints)
Actions #3

Updated by Lucas Di Pentima over 2 years ago

  • Description updated (diff)
Actions #4

Updated by Lucas Di Pentima over 2 years ago

  • Release changed from 20 to 31
Actions #5

Updated by Peter Amstutz over 2 years ago

  • Category changed from Workbench2 to 0
  • Subject changed from Inputs show cwl.input.json with links to collections to [Process view] Inputs show cwl.input.json with links to collections
Actions #6

Updated by Peter Amstutz over 2 years ago

  • Category changed from 0 to Workbench2
Actions #7

Updated by Peter Amstutz almost 2 years ago

  • Related to Story #16945: WB2 Workflows / containers feature parity added
Actions #8

Updated by Peter Amstutz over 1 year ago

  • Related to deleted (Story #15333: Workbench2 feature parity with Workbench)
Actions #9

Updated by Peter Amstutz about 1 year ago

  • Release changed from 31 to 46
  • Category deleted (Workbench2)
Actions #10

Updated by Peter Amstutz 10 months ago

  • Release deleted (46)
  • Category set to Workbench2
Actions #11

Updated by Peter Amstutz 9 months ago

  • Description updated (diff)
Actions #12

Updated by Peter Amstutz 9 months ago

  • Target version set to 2022-04-27 Sprint
  • Category changed from Workbench2 to Workbench2
  • Project changed from Arvados Workbench 2 to Arvados
  • Tracker changed from Bug to Feature
Actions #13

Updated by Peter Amstutz 8 months ago

  • Assigned To set to Peter Amstutz
Actions #14

Updated by Peter Amstutz 8 months ago

  • Assigned To changed from Peter Amstutz to Stephen Smith
Actions #15

Updated by Peter Amstutz 8 months ago

  • Target version changed from 2022-04-27 Sprint to 2022-05-11 sprint
Actions #16

Updated by Peter Amstutz 7 months ago

  • Target version changed from 2022-05-11 sprint to 2022-05-25 sprint
Actions #17

Updated by Peter Amstutz 7 months ago

  • Target version changed from 2022-05-25 sprint to 2022-06-08 sprint
Actions #18

Updated by Peter Amstutz 6 months ago

  • Description updated (diff)
Actions #19

Updated by Peter Amstutz 6 months ago

  • Description updated (diff)
Actions #20

Updated by Peter Amstutz 6 months ago

  • Description updated (diff)
  • Subject changed from [Process view] Inputs show cwl.input.json with links to collections to [Process view] Panels for inputs and outputs
Actions #21

Updated by Peter Amstutz 6 months ago

  • Has duplicate Feature #18883: Move display of input objects (cwl.inputs.json) into panel added
Actions #22

Updated by Stephen Smith 6 months ago

  • Status changed from New to In Progress
Actions #23

Updated by Peter Amstutz 6 months ago

  • Target version changed from 2022-06-08 sprint to 2022-06-22 Sprint
Actions #24

Updated by Peter Amstutz 6 months ago

  • Target version changed from 2022-06-22 Sprint to 2022-07-06
Actions #25

Updated by Peter Amstutz 5 months ago

  • Target version changed from 2022-07-06 to 2022-07-20
Actions #26

Updated by Stephen Smith 5 months ago

Changes at arvados-workbench2|1e6d5bc0ce92a7575030b299193b99cbad50e810 branch 16073-process-io-panels
Tests developer-tests-workbench2: #815

  • Adds the process IO panels
  • Changes integration test config to TrustAllContent: true for inline image tests
  • Includes "Empty value" display when params are missing
  • Handles files and file arrays of files with secondary files
Actions #27

Updated by Peter Amstutz 5 months ago

  • Target version changed from 2022-07-20 to 2022-08-03 Sprint
Actions #28

Updated by Peter Amstutz 5 months ago

  • For each input/output I want to be able to navigate to the collection in workbench in addition to linking to the file directly
  • When I click on a workflow step, the "Inputs" and "Outputs" are empty. We should put something useful here, or hide them, not just take up space to say "No parameters found"
    • In the future, we could store the CWL input parameters for individual steps on the container request, then Inputs would be able to show something more useful -- but we don't have that yet
    • For now, the "Inputs" could be populated by going through "mounts" and providing supplying links to the ones that are {"kind": "collection"}
    • The "Outputs" should display the contents of the collection in "output_uuid" -- could we embed a read-only version of the file browser component used on the Collection panel? Or at least display a link to navigate to the Collection panel.
    • The "mounts" and "output collection contents" views should be additional tab on Inputs/Outputs -- so they are available in the workflow view as well
  • The "Details" panel has "Inputs" and "Outputs" links.
    • Remove the "Inputs" link, I think what it used to do was open the "Inputs" dialog, which we're replacing here.
    • Change the text of the "Outputs" to use the name of the output collection in output_uuid.
  • I didn't get a chance to test how image thumbnails work, do you have an example you were using to test with?
Actions #29

Updated by Peter Amstutz 4 months ago

  • Target version changed from 2022-08-03 Sprint to 2022-08-17 sprint
Actions #30

Updated by Peter Amstutz 4 months ago

  • Target version changed from 2022-08-17 sprint to 2022-08-31 sprint
Actions #31

Updated by Stephen Smith 3 months ago

Changes at arvados-workbench2|ee347878e1ad3b6f82787ac27b6d3b6510401ecd
Tests developer-tests-workbench2: #868

  • Add input collection mounts tab to inputs panel, shows mount path and clickable pdh
  • Split pdh/path into 2 links
  • Add output collection file browser tab to output panel
  • Move preview images above links
  • Remove details attribute inputs link
  • Load output collection into store to display output collection name in details attributes

Here's a test workflow and input tarfile that outputs 2 image previews

Actions #32

Updated by Peter Amstutz 3 months ago

  • Target version changed from 2022-08-31 sprint to 2022-09-14 sprint
Actions #34

Updated by Stephen Smith 3 months ago

IO Panels feedback:
  • Split links potentially confusing, pdh leads to wb2 collection view, filename links to keepweb preview.
  • Rename label to Name (shows the input ID)
  • Show label and doc in separate columns
  • Add type column
  • Add size column
  • Add column selector to disable doc / type / size(?) columns
  • Lazy load images when scrolling to images
  • Collapse image to a small height with expandability - should we add a global collapse/expand all images button?
  • Hide empty tabs (Empty input mounts on main process input card, preview/raw on subprocess input and output if empty)
  • Add sort by param name
  • Reduce space between table header row and dividing line
  • Use inbox/outbox icons for io cards
  • Rename Input Mounts and Output Collection tabs to Collections and Collection
  • Rename Raw tab to JSON
  • Rename Preview tab to Parameters
  • Add link to collection in output collection tab
  • Make tabs symmetrical
Actions #35

Updated by Peter Amstutz 3 months ago

Things that are hopefully easy to do:

  • Rename label to Name (shows the input ID)
  • Collapse image to a small height with expandability - should we add a global collapse/expand all images button?
  • Hide empty tabs (Empty input mounts on main process input card, preview/raw on subprocess input and output if empty)
  • Reduce space between table header row and dividing line
  • Use inbox/outbox icons for io cards
  • Rename Input Mounts and Output Collection tabs to Collections and Collection
  • Rename Raw tab to JSON
  • Rename Preview tab to Parameters
  • Add link to collection in output collection tab
  • Make tabs symmetrical

This is probably easy to change but I don't know what we want to change it to?

  • Split links potentially confusing, pdh leads to wb2 collection view, filename links to keepweb preview.

Things that seem like more effort and we should think about some more:

  • Show label and doc in separate columns
  • Add type column
  • Add size column
  • Add column selector to disable doc / type / size(?) columns
  • Lazy load images when scrolling to images
  • Add sort by param name
Actions #36

Updated by Sarah Zaranek 3 months ago

Hi all -

Collection Pane:
I have been thinking about this - and I think I have a solution to one of the issues that has been bugging me. I really like the preview and the raw/JSON but I find the collection view pretty unsatisfying since it is just a poor view into a normal collection page. I think for the main workflow you don't need it because you see the inputs and outputs in the preview and if you have the link there you can go to the collections (see below how I would like to do that). The argument is for steps we aren't ready yet to have the preview pane because we don't have the values. Then I wouldn't have the Input pane at all until we are ready to have it properly.

All we are showing is the collection view which is confusing for everyone. When Peter gets the code working to see the step inputs then we view like we do the workflow inputs.

Hyperlink and Columns:

I strongly feel that (1) you need to break up the link (2) You can fix this by making three columns. I would just make that Name, Value and Collection Link/Collection/Keep something like that. Name - would be what is now shown as ID. Value - would be just the tail end of the link that allows you to download it , for images the preview and name of the file, or for single values the existing view. Collection Link - Would be the full URl that links you access it in Keep. That I think would solve the issue and it would seem obvious to me that clicking the file name would download it and clicking the full path would go to the collection. To make it even more obvious -- could you add a hover that tell you that when you click you are either downloading it or going to the collection.

Max and Minimum of Graphic Peek:
I think you best would be just a toggle button near the X that allows you to toggle on and off the image view. If the image view is off - then the image view is off - then it would either just show the name of the file hyperlink and when on then show it. You could probably use an icon like this. https://www.shutterstock.com/search/view-icon or https://thenounproject.com/icon/photo-library-230056/ -- and have the view OFF by default.

Small note:
I probably would center the name of the image under the image instead of left justified but if we have a habit of always left justifying in the entire WB2 then keep it.

Actions #37

Updated by Sarah Zaranek 3 months ago

Also - for the labels/doc -- I understand that there is more work making another panel but you should plan for (1) an input/output having both a label and doc and which one you will be showing - as a user I would expect by label to show before my doc (2) if only doc is present, then cut it off at a reasonable size otherwise there will be a mess.

A good example to use perhaps is our https://github.com/arvados/arvados-tutorial/blob/main/WGS-processing/cwl/wgs-processing-wf.cwl which has labels but not doc.

Actions #38

Updated by Peter Amstutz 3 months ago

  • Target version changed from 2022-09-14 sprint to 2022-09-28 sprint
Actions #39

Updated by Stephen Smith 3 months ago

Changes at arvados-workbench2|74da68a31fc788818cab7276e67db8951cb28220 branch 16073-process-io-panels
Tests developer-tests-workbench2: #881

  • Changed input/output panel icons to use import/export icons (stacking fontawesome icons to recreate the paid inbox/outbox icons created alignment issues)
  • Renamed tabs to "Parameters", "JSON", and "Collection(s)"
  • Made collections tab hidden on main process, and parameters/json on subprocesses
  • Reduced spacing between table header and content
  • Added tooltips to distinguish between links to WB collections and links to keep-web
  • Styled panel tabs to be symmetrical
  • Added hide images toggle in panel header
  • Renamed label to Name
  • Added separate columns for label vs description (doc), truncated doc to 50 characters
  • Split links into value and collection columns
  • Added uuid link to output collection above the subprocess output panel in the output collection tab file browser
Actions #40

Updated by Peter Amstutz 3 months ago

16073-process-io-panels @ commit:74da68a31fc788818cab7276e67db8951cb28220

I really like this overall. I do have a few issues with space management. I'll put these notes here and then run them past Sarah on Monday.

Horizontal layout

The Inputs panel is very crowded horizontally. It's really bad when the right panel is expanded. This is especially tragic given that on many workflows the label and/or description columns will empty.

Even full width things can run off the right edge pretty easily. Also note that you need to scroll horizontally, but the scrollbar is off screen.

My suggestion would be to merge "Name" and "Label" into a single column and render it as "Label (Name)" or just "Name" when there's no label, and reconsider whether or how to include "Description".

Name Value Collection
Reference VCF for ClinVar (clinvarvcf) clinvar.vcf.gz whatever

Vertical layout

My other issue is that the intended design was for panels to be half-height (so you could fit 2-3 of them on screen at once). Because it's fit to content, the input panel may not be able to share space with anything else. Also, as mentioned, because the "Inputs" panel is too tall, the horizontal scrollbar is off screen.

You then can go full height when you hit the "maximize button" (e.g. see how the Logs panel behaves). The inputs/outputs panels don't implement the maximize button, but they probably should.

Similarly, the "Output" panel doesn't adjust to content size, so there's a bunch of wasted whitespace you have to scroll past:

Actions #41

Updated by Sarah Zaranek 3 months ago

Hi all -

For #1 -- it seems like a workaround for us to do the proper thing and offer a way to show or not show columns which is what I would suggest. It would be good for other panels, so I think we should implement it now. I am not happy with connecting them since Descriptions are very large. If you force me to do something I would just do Label - but seriously I think we need an option to select or not select columns instead of doing these workarounds.

For #2 --
For vertical - I am not sure why they can't adjust to size and that what I would want. But if we can't do that - I would adjust them to some reasonable number of inputs / outputs lets say 5 and then do a maximize button with both having a scroll wheel. Ideally for either inputs/outputs the panel would not appear and/or would appear quite small if there are no inputs or outputs. I am not sure what the question is here. But this is how I would like it to behave.

Actions #42

Updated by Sarah Zaranek 3 months ago

Also having an eye with a cross through it doesn't mean minimize and maximize (or preview images?)-- it looks like "don't want to see" and I would be confused as a user with the difference between a crossed out eye and the X.

Actions #43

Updated by Sarah Zaranek 3 months ago

Also as a side note -- there is no button to minimize a panel after you maximize it -- which is super annoying and hard to figure out.

Actions #44

Updated by Peter Amstutz 3 months ago

From discussion:

For both inputs and outputs:

  1. Eliminate "description" column
  2. Hide the "label" column if all the values are blank.
  3. Set max-height to half height and add the maximize button which makes it full height
  4. When the inputs or outputs is entirely empty, the panel should take up minimal space (not a 100px icon that says "nothing here!")
  5. The file browser for outputs should also toggle half height / full height instead of always full height.
Actions #45

Updated by Peter Amstutz 3 months ago

The behavior of the maximize button will be addressed in ticket #19531, so for this ticket we add a maximize button but it follows the existing "maximize" behavior that the log and subprocess panels uses.

Actions #46

Updated by Peter Amstutz 3 months ago

  • Related to Feature #19531: Add "un-maximize" button that gets the previous panels' visibility state back added
Actions #47

Updated by Stephen Smith 3 months ago

Changes at ce2ea2b32bdbaa8a9156ca80f8bf2eb33308ba89 16073-process-io-panels

The current issue is the extra space in the output panel collection file browser - since the panel isn't very tall at 50% when un-maximized, I've set the scroll area to scroll past the path and search box to give more space when scrolling.

When viewing this process with a few output files ce8i5-xvhdp-es8zwqbfkks11u6 I tried reducing the min-height of wrapper and dataWrapper, but then the autosizer seems to simply use that min-height as the height for the list of files even though the contents are taller, creating a second scroll bar and not auto-expanding to the content.

It seems if I remove any height restrictions, the auto sizer components collapse to 0 height - hiding all of the content and not propping open the parent elements, so I'm not sure how to get the file browser to behave more like a normal div and just be as tall as the content, which would let the user scroll within the panel without extra space at the end.

Also, I added an empty styles override section in process-output-collection-files.ts for adding styles to the file browser that apply only to the process output panel

Actions #48

Updated by Stephen Smith 3 months ago

Changes at arvados-workbench2|80052fec619ff95dda77e5b9b030fd39c8d26057

Tests developer-tests-workbench2: #924

  • Removed doc column
  • Use materialdesignicons for input/output icons
  • Remove icon from "no parameters" message
  • Hide tabs when not relevant
  • Conditionally hide label column when there are no labels
  • Reduce collection file browser padding to save space
  • Add maximize to io panels
  • Update tests
Actions #49

Updated by Peter Amstutz 2 months ago

Input panel -> JSON

[
  {
    "type": "File",
    "id": "#main/clinvarvcf",
    "label": "Reference VCF for ClinVar",
    "value": {
      "basename": "clinvar.vcf.gz",
      "class": "File",
      "format": "http://edamontology.org/format_3016",
      "location": "keep:18657d75efb4afd31a14bb204d073239+13611/clinvar.vcf.gz",
      "size": 25161134
    }
  },

This is the wrong format. It should be the plain contents from mounts[/var/lib/cwl/inputs.json], e.g.

{
  "clinvarvcf": {
      "basename": "clinvar.vcf.gz",
      "class": "File",
      "format": "http://edamontology.org/format_3016",
      "location": "keep:18657d75efb4afd31a14bb204d073239+13611/clinvar.vcf.gz",
      "size": 25161134    
  }
...
}

Parameters->Value column

If this is a link to a file, I need to be able right-click and select "copy link" or "open link in new tab". The problem here is that it is an <a> tag without href, it uses a onClick to navigate. Either it needs a correct href or we need to provide own context menu on right click.

Parameters->Collection column

You can drop the "keep:" prefix to save space.

We might want to set the column to draw an ellipsis when it is going to overflow to the right.

Other Parameters column notes

I think Sarah mentioned this, we could reduce the whitespace separating all columns bet 30%-50% so that things fit better by default.

The label column feels really crowded. It should be wider.

Performance

I feel like it is taking much longer for the entire process panel to load. It kind of feels like it is loading them one after another instead of spinning out a bunch of asynchronous calls and then handling them as they come in. In particular, the logs panel doesn't seem to load contents until after the outputs panel has loaded contents.

I wish these panels started by rendering a spinner that made it really clear that it was waiting for something to load, not that there wasn't any content. Because outputs say "No parameters" and logs says "no logs" when actually it is waiting to get a response back.

Actions #50

Updated by Peter Amstutz 2 months ago

  • Target version changed from 2022-09-28 sprint to 2022-10-12 sprint
Actions #51

Updated by Stephen Smith 2 months ago

Changes at arvados-workbench2|927f7b8743df91a181130328857123c72e52ebd2
Tests developer-tests-workbench2: #931

  • Correctly fetch raw inputs without processing
  • Use link element for keep-web links to allow open in new tab
  • Remove keep: prefix from io param pdh links
  • Reduce process io preview table padding
  • Add min-width to label column
  • Add loading indicator for preview tab
  • Parallelize loading of output requests

I ended up not adding ellipses to the collection column since the column sizing is fluid, so it's hard to have the last column shrink without assigning static sizes to the other columns / keep them fluid.

Actions #52

Updated by Peter Amstutz 2 months ago

  • Related to Feature #19466: Record input & output object on workflow steps as container request property added
Actions #53

Updated by Peter Amstutz 2 months ago

One more thing!

That thing we said we would do but I hadn't done yet? I did it: #19466

In properties, it records "cwl_input" when a job starts, and then "cwl_output" when the job ends.

Here's an example run:

https://workbench2.ce8i5.arvadosapi.com/processes/ce8i5-xvhdp-jx0dihjon1kflll

Please add a check on properties for "cwl_input" and "cwl_output" and use them in the I/O panels if you find them. The current ways of getting input and output remain valid for the top level workflow runner -- I haven't decided if cwl_input and cwl_output should be added in this case, I would prefer to not store input/output records redundantly.

I noticed the properties chips get rendered as "cwl_input: [Object object]". I suggest, as a general policy, hide the property chips which have an [Object] value.

Other comments

There's an unnecessary amount of whitespace between the header and the top of the tabs.

SecondaryFiles (in this screenshot, all the files ending in .tbi) need to be rendered differently on the inputs/outputs tables. It makes the table much longer, but those files are just supplementary index files. They should be rendered underneath the file they are attached to, indented, and possibly in a smaller font -- or maybe they should be hidden entirely. (I'm not 100% sure, if a user was using this UI to download the files individually, they might be frustrated if some files were hidden).

Actions #54

Updated by Peter Amstutz 2 months ago

I'd like to merge this sooner rather than later but another thought I had is when showing a list of files, if the collection is the same for every one (which is especially almost always going to be the case for output parameters) it should just render the link on the first row and leave the subsequent rows blank.

Actions #55

Updated by Sarah Zaranek 2 months ago

I agree that secondary files should be linked to the primary inputs. I like the idea of having them indented. Also you could do a pull down where you can shut them if they are too annoying or a toggle button to turn on/off showing them - something this -- https://thenounproject.com/icon/linked-154435/

Actions #56

Updated by Peter Amstutz about 2 months ago

  • Target version changed from 2022-10-12 sprint to 2022-10-26 sprint
Actions #57

Updated by Stephen Smith about 2 months ago

Changes at arvados-workbench2|3c6ea6ded33b5740035d059d7d9812ed951ab215
Tests developer-tests-workbench2: #958

  • Add display of parameters from container request properties
  • Hide preview tab when workflow definition is absent from mounts
  • Filter out objects from process properties chips
  • Maintain ordering of secondary files below main files
  • Indent secondary files
  • Hide PDH links on secondary files which have the same pdh as the main file
  • Also hides PDH of files in file array when pdh matches the first file in the array

Examples of the secondary files ordering, indenting, and pdh link hiding:

Actions #58

Updated by Peter Amstutz about 2 months ago

Stephen Smith wrote in #note-57:

Changes at arvados-workbench2|3c6ea6ded33b5740035d059d7d9812ed951ab215
Tests developer-tests-workbench2: #958

  • Add display of parameters from container request properties
  • Hide preview tab when workflow definition is absent from mounts
  • Filter out objects from process properties chips
  • Maintain ordering of secondary files below main files
  • Indent secondary files
  • Hide PDH links on secondary files which have the same pdh as the main file
  • Also hides PDH of files in file array when pdh matches the first file in the array

I am extremely motivated to get this merged, so I'm limiting this to the most important things --

  1. I really like how the secondary files are listed now, but there is way too much empty space between the lines. Digging into the styling it looks like there's a row height of 48px which I'd consider cutting in half to 24px
  2. It seems like if there is no content for "Outputs" (for example, the container was cancelled) it will spin forever. In that case it should actually say "Nothing here"
  3. How hard would it be to use the "DefaultCodeSnippet" control to render the input/output JSON tab? It would be handy to have it turn the uuids and pdhs into hyperlinks. However if this is more than 5-10 minutes of work, let me know.
Actions #59

Updated by Peter Amstutz about 2 months ago

One more thing, this looks weird. Both the 1st and 2nd items are Directory parameters but the 1st one is shown as "No value". It should have a link to the keep-web page the same way the 2nd one does. (I'm not exactly sure what the link text should be, just a "/" might be a small target to click, but something like that).

Actions #60

Updated by Stephen Smith about 2 months ago

Changes at arvados-workbench2|e4db3c32b3bc4590ce43357739d95b6d2784f9f9
Tests developer-tests-workbench2: #968

  • Fix infinite loading on empty i/o
  • Fix showing no params when definitions are present for "Empty Value"
  • Add guards against null files
  • Display root collection directories as "/"
  • Use default code snippet for auto linking json view
  • Shrink secondary value row height
  • Reduce padding between card title and tabs
Actions #61

Updated by Peter Amstutz about 2 months ago

arvados-workbench2|e4db3c32b3bc4590ce43357739d95b6d2784f9f9

  • you need to merge main
  • Containers which are queued/cancelled before running seem to still have a forever spinner on the outputs panel. Example: ce8i5-xvhdp-iyoj9wffcpitf4b
    If the output_uuid field is null I'm not sure we should show the outputs panel at all.
  • Here, the contents of the inputs panel displayed briefly and then disappeared. Strangely, if I hit "refresh" then it is displayed. After refreshing, the inline image preview doesn't seem to be working here:

ce8i5-xvhdp-54ttl3sfnma366y

Actions #62

Updated by Stephen Smith about 2 months ago

Changes at arvados-workbench2|868a6881bba9107eaf25e2b055dec55bf1fda42d
Tests developer-tests-workbench2: #972

  • Merged main
  • Fixed incorrectly setting empty inputs to prevent infinite spinner
  • Avoid applying empty inputs when inputs already loaded when mounts temporarily disappear while process executes
  • Cache output definition and only allow loading updated definitions to avoid missing mounts causing definitions to disappear (should show a preview of output parameters with "No value" while process is still executing)
Actions #63

Updated by Peter Amstutz about 1 month ago

Stephen Smith wrote in #note-62:

Changes at arvados-workbench2|868a6881bba9107eaf25e2b055dec55bf1fda42d
Tests developer-tests-workbench2: #972

  • Merged main
  • Fixed incorrectly setting empty inputs to prevent infinite spinner
  • Avoid applying empty inputs when inputs already loaded when mounts temporarily disappear while process executes
  • Cache output definition and only allow loading updated definitions to avoid missing mounts causing definitions to disappear (should show a preview of output parameters with "No value" while process is still executing)

This LGTM!

Actions #64

Updated by Stephen Smith about 1 month ago

changes at arvados-workbench2|c8d7659860af3b12d87ef29478bc1b825a9b3d2f
Tests developer-tests-workbench2: #977

  • Refactored useeffects into actions and reducers to use the store instead of component state - this avoids infinite loop issues when checking current state for updates (now done in the reducer) and simplifies clearing state between page changes (added a reset process panel action that gets called at the beginning of each loadProessPanel)
Actions #66

Updated by Stephen Smith about 1 month ago

  • Status changed from In Progress to Resolved
Actions

Also available in: Atom PDF