I'd like to be able to use an output directory, rather than an output file, so that a task can write arbitrary output files to be saved. In the XML spec it seems the way to do this is the <directory> tag with <channel>output</channel>. However, the argument received by the task is always an empty string, and instead of a directory picker in the web UI, a default file output widget is created.
I think this is because the UI doesn't handle folders/directories as outputs:
|
if ((type === 'file' || type === 'image') && channel === 'output') { |
|
type = 'new-file'; |
|
extra.extensions = $param.attr('fileExtensions'); |
|
extra.reference = $param.attr('reference'); |
|
} else if (channel === 'output') { |
|
opts.output = true; |
|
opts.params = _.extend(opts.params || {}, { |
|
[id]: type |
|
}); |
|
return null; |
I'm not sure if fixing the front end is the only thing that would be needed for this to work. Or, is there a different way I can achieve this instead?
I'd like to be able to use an output directory, rather than an output file, so that a task can write arbitrary output files to be saved. In the XML spec it seems the way to do this is the
<directory>tag with<channel>output</channel>. However, the argument received by the task is always an empty string, and instead of a directory picker in the web UI, a default file output widget is created.I think this is because the UI doesn't handle folders/directories as outputs:
slicer_cli_web/slicer_cli_web/web_client/parser/param.js
Lines 31 to 40 in 245692c
I'm not sure if fixing the front end is the only thing that would be needed for this to work. Or, is there a different way I can achieve this instead?