Open fmigneault opened 1 year ago
The connection between WorkflowStep.in and WorkflowStepInput
is defined at https://github.com/common-workflow-language/cwl-v1.2/blob/4a715dd348cd6fcb03f8002cc13048e5ce02c721/Workflow.yml#L574-L579
The source
field is defined at https://github.com/common-workflow-language/cwl-v1.2/blob/4a715dd348cd6fcb03f8002cc13048e5ce02c721/Workflow.yml#L283-L293
(It is interesting that Sink
is only used by WorkflowStepInput
, @tetron is there any reason to not combine them directly? )
The definition of OutputSource is at https://github.com/common-workflow-language/cwl-v1.2/blob/4a715dd348cd6fcb03f8002cc13048e5ce02c721/Workflow.yml#L228-L241 And it is not involved with any abbreviated form.
If we replace source
with string?, string[]?
(the type definition of source
) in the rendering of the in
field then the reader won't have the conceptual meaning of the value.
Options could include
id
and source
would be hyperlinks to their entries under WorkflowStepInput
.array\<WorkflowStepInput> | map<
id
(string),source
(string?, string[]?) | WorkflowStepInput>
@mr-c I found this case: https://raw.githubusercontent.com/common-workflow-language/cwl-v1.2/1.2.1_proposed/tests/count-lines4-wf.cwl While working on https://github.com/opengeospatial/ogcapi-processes/pull/329
Which has:
But the doc: https://www.commonwl.org/v1.2/Workflow.html#WorkflowStep Shows:
in
: array<WorkflowStepInput> | map<id
,source
| WorkflowStepInput>While the
outputSource
: string | array<string> is explicitly defined as potentially a string/list of string in https://www.commonwl.org/v1.2/Workflow.html#WorkflowOutputParameter, thesource
does not show explicitly thearray<string>
variant.There is this part of the text that identifies it as a possibility, but I find that the missing
array
in the definition makes its somewhat counter intuitive (and in fact, it was not a use case I covered until I got the error because I didn't notice it as something that was possible).I propose to add the
array
variant explicitly to the table.