Story #9043

Updated by Tom Clegg about 5 years ago

CWL input form offer significantly more options than the existing Arvados pipeline template forms. Major points include arrays and union types (where more than one type of value is acceptable), which are characterized by the user needed to edit a list or select among different types which may offer different editing controls.

For now, Crunch v2, I think we will adapt (or, if needed, copy) should ignore the existing Rails-based pipeline template form so it can operate on code and write a container request that has an embedded CWL workflow (as provided by #9766). new standalone form editor in Javascript.

The first version must support: Benefits:

* Can support editing complex input forms with lists and alternates without requiring AJAX.

* text entry Can be developed independently from workbench and added in when tool selection / execution is ready, instead of being dependent on the tool selection flow
* number entry More future proof, more likely to be usable in a future Workbench 2.0 which will likely be a single-page javascript application

Implementation strategy:

* Get the "inputs" section from the CWL document of interest

* file selection The structure of an input parameter descriptor is described at
* directory selection (where Walk each top level field and invoke a "render" function
** The "render" function looks at
the desired directory "type" field
** If the "type" field
is a union type, render a type selector
** Render
an entire collection)

The first version might not support:
editing control for the selected type
* checkbox
* control that wraps list of individual
** Compound types (such as arrays) recursively render editing controls to add/reorder/remove items for each item in arrays the type
* control that wraps above controls Provide "load" and "save" capabilities to enable/disable optional parameters
* directory selection (where
populate and dump the desired directory is not an entire collection) form contents