We are interested in developing a web service that automatically renders CWL workflows and interfaces selected parameters for the user to set via the web service's UI (e.g. by rendering parameter-specific Angular components). In the interest of user experience and security, the values set by the user for a given parameter must be valid (i.e. not causing the Workflow
or at the very least the corresponding CommandLineTool
to fail).
In order to achieve this, I am currently seeing some potential problems (see related questions), and I am wondering if there are CWL-compliant solutions existing or under discussion for these:
Is there a consensus on how to specify the set of allowed values for a given parameter? Examples for allowed values would be sets of strings, number/integer intervals, regular expressions, globs or mathematical series.
I think that defining a corresponding parameter field and syntax in the CWL specification has a lot going for it, as it would help to enforce the correct usage of CommandLineTools
and allow specification-conforming validation routines to be developed, both at the level of frontends and at execution level.
While I am aware that we can come up with our own custom solution, I would feel more comfortable following a consensus on this, so if there isn't already a discussion going on for this, please let me know your opinion and where would be the right place to discuss/develop such a feature.
I have identical needs.