Bug #17595

Selecting multiple collections as inputs to a workflow

Added by Peter Amstutz 15 days ago. Updated about 10 hours ago.

Status:
In Progress
Priority:
Normal
Assigned To:
Category:
Workbench2
Target version:
Start date:
05/10/2021
Due date:
% Done:

0%

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

duplicated-selections.png (158 KB) duplicated-selections.png Peter Amstutz, 05/10/2021 07:37 PM
Untitled.jpg (81 KB) Untitled.jpg Daniel Kutyła, 05/12/2021 04:35 PM

Subtasks

Task #17636: Review 17595-Selecting-multiple-collections-as-inputs-to-a-workflowIn ProgressDaniel Kutyła


Related issues

Blocks Arvados - Story #17512: Release Arvados 2.2New05/03/2021

History

#1 Updated by Peter Amstutz 15 days ago

  • Assigned To set to Daniel Kutyła

#2 Updated by Daniel Kutyła 14 days ago

  • Status changed from New to In Progress

#3 Updated by Peter Amstutz 9 days ago

#4 Updated by Daniel Kutyła 8 days ago

New version: https://dev.arvados.org/projects/arvados/repository/arvados-workbench2/revisions/43c92c8e2518642fa1033d66a0f72fcb026c0308
Test run: https://ci.arvados.org/job/developer-tests-workbench2/399/
Branch: 17595-Selecting-multiple-collections-as-inputs-to-a-workflow

Added multiselect, added tests

#5 Updated by Peter Amstutz 2 days ago

You test cases are sort of complex. Here's the simplest possible test case:

cwlVersion: v1.2
class: Workflow
inputs:
  foo: File[]
  bar: Directory[]
outputs: []
steps: []

When I try this, I get a crash because the initial value for the "foo" and "bar" parameters is assigned "null" instead of an empty list. I tried to track down where the initial values are set, but didn't manage to find it.

I did notice that your test cases have "default" values for the arrays, which is probably why you didn't encounter this.

Here's the simplest test case, with defaults. This one doesn't crash.

cwlVersion: v1.2
class: Workflow
inputs:
  foo:
    type: File[]
    default: []
  bar:
    type: Directory[]
    default: []
outputs: []
steps: []

This is not exactly wrong, but the behavior is confusing:

There's only two collections in "Selected collections" but more than two collections are checked. I believe what is happening is that the duplicated selections have the same portable data hash as one of the selected collections. If you delete the collection from "Selected collections" it only clears the first checkbox, but not the duplicates.

For the checkboxes, it should do the comparison based on the uuid, not the portable data hash.

#6 Updated by Peter Amstutz about 14 hours ago

  • Target version changed from 2021-05-12 sprint to 2021-05-26 sprint

#7 Updated by Daniel Kutyła about 13 hours ago

Can you please verify if provided workflow is ok? As I do not see any inputs that allow me to test files and collections popups

#8 Updated by Peter Amstutz about 10 hours ago

Daniel Kutyła wrote:

Can you please verify if provided workflow is ok? As I do not see any inputs that allow me to test files and collections popups

Ah, you are right. What I posted in #note-5 is the workflow that you would use with "arvados-cwl-runner --create-workflow" and not what actually appears in the workflow record. Here's the processed/encoded version:

"{\n \"$graph\": [\n {\n \"class\": \"Workflow\",\n \"cwlVersion\": \"v1.2\",\n \"hints\": [\n {\n \"acrContainerImage\": \"7009415fdc959d0c2819ee2e9db96561+261\",\n \"class\": \"http://arvados.org/cwl#WorkflowRunnerResources\"\n }\n ],\n \"id\": \"#main\",\n \"inputs\": [\n {\n \"default\": [],\n \"id\": \"#main/bar\",\n \"type\": {\n \"items\": \"Directory\",\n \"type\": \"array\"\n }\n },\n {\n \"default\": [],\n \"id\": \"#main/foo\",\n \"type\": {\n \"items\": \"File\",\n \"type\": \"array\"\n }\n }\n ],\n \"outputs\": [],\n \"steps\": []\n }\n ],\n \"cwlVersion\": \"v1.2\"\n}"

Also available in: Atom PDF