Closed simleo closed 1 year ago
There are two main cases here:
"valueRequired": "False"
) since in most application there's a default configuration and the configuration file is only used to tweak some features.SoftwareApplication
properties, softwareConfiguration
seems the most logical name.Example:
{
"@id": "#c0080ce4-e220-44bf-92b3-c59e6d590059",
"@type": "SoftwareApplication",
"name": "StreamFlow 0.2.0.dev2",
"softwareConfiguration": "streamflow.yml"
},
{
"@id": "streamflow.yml",
"@type": "File",
"name": "StreamFlow configuration file",
"encodingFormat": "application/yaml"
}
On a side note, it seems that the application/yaml
media type is not official yet.
Maybe it is worth adding a pointer to the SoftwareApplication it refers to
Maybe it is worth adding a pointer to the SoftwareApplication it refers to
Oh sorry I didn't see it. I was looking for it the other way around :)
I've been rethinking this, and the above does not work. The reason is that the configuration is not an intrinsic property of the workflow engine, but rather one of the parameters of a specific execution of the engine, which can change from one execution to another, so the description of multiple engine runs (not forbidden by the spec, and there's been talk about a use case for it yesterday in a BY-COVID meeting) in general is not possible. The configuration file should instead be added to the object
of the OrganizeAction
that represents the engine run:
{
"@id": "#e55c4723-7814-4cef-b3b6-96c1dbf1ae9b",
"@type": "SoftwareApplication",
"name": "StreamFlow 0.2.0.dev2"
},
{
"@id": "#7ff2f0b6-0294-4da5-9ecc-5846b8aa4e66",
"@type": "OrganizeAction",
"instrument": {"@id": "#e55c4723-7814-4cef-b3b6-96c1dbf1ae9b"},
"name": "Run of StreamFlow 0.2.0.dev2",
"object": [
{"@id": "7ff2f0b6-0294-4da5-9ecc-5846b8aa4e66/streamflow.yml"},
{"@id": "#a203c665-668d-4488-bf57-5b2eedf77905"},
...
],
"result": {"@id": "#9984d778-7cd8-49ea-984d-7c58a0404f85"}
},
{
"@id": "7ff2f0b6-0294-4da5-9ecc-5846b8aa4e66/streamflow.yml",
"@type": "File",
"encodingFormat": "application/yaml"
},
{
"@id": "#a203c665-668d-4488-bf57-5b2eedf77905",
"@type": "ControlAction",
"instrument": {"@id": "predictions.cwl#extract-tissue-low"},
"object": {"@id": "#465dafb2-66cf-4af9-a6cf-b8fea0e8acc9"}
},
...
What are the configuration files used in a workflow execution step?
ChooseAction? Though maybe the crate generator should just merge the params with the other ones if it can parse the config file. To link to the config file as a black box instead we probably need a new property.