Params from the DataPortal need to exist in the Ewoks graph
The following workflow descriptions contain the same workflow with and without the params needed for the dataPortal re-execution process. We need to not delete them when editing and saving the workflow in ewoksweb. Since all these things have not much to do with a workflow I would suggest to put them in a different json file and serve them together with the workflow in a new REST endpoint. In that way the workflow description stays clean.
It can be the same REST endpoint /workflows?requestingApp=dataPortal that will merge the appropriate jsons to serve.
The same can happen to uiProps of the ewoksWeb in order to also exlude them from the pure ewoks workflow description. In the same way each application requesting access to ewoksserver can have the needed metadata without affecting the workflow description.
MXDataReductionPipelines_ID30A-2.json.orig5
MXDataReductionPipelines_ID30A-2.json
{
"scanType": "*",
"cardinality" : "1",
"definition":"*",
"instrumentName" : "ID30A-2",
"queue" : "id30",
"engine" : "ppf",
"_slurm_spawn_arguments":{
"parameters": {
"partition": "nice",
"time_limit": 360,
"current_working_directory": "/tmp_14_days/opid30",
"environment": { "USER": "opid30", "EDNA_SITE": "ESRF_ID30A2" }
},
"pre_script": "ORG_PATH=$PATH;module load bes_id30a2;PATH=$PATH"
},
"ui_schema": {
"mx_pipeline_name": {
"ui:widget": "checkboxes"
},
"ui:order": [
"mx_pipeline_name",
"start_image",
"end_image",
"low_res_limit",
"high_res_limit",
"forced_spacegroup",
"anomalous", "*"
]},
"input_schema":{
"title": "Demo POC",
"description": "This is a simple example of Reprocessing by using Ewoks. ",
"type": "object",
"properties": {
"start_image": {
"type": "number",
"title": "Start image"
},
"end_image": {
"type": "number",
"title": "End Image"
},
"low_res_limit": {
"type": "number",
"title": "Low resolution limit"
},
"high_res_limit": {
"type": "number",
"title": "High resolution limit"
},
"forced_spacegroup": {
"title": "Forced spacegroup",
"type": "string"
},
"mx_pipeline_name": {
"type": "array",
"title": "Pipeline",
"default":["EDNA_proc"],
"items": {
"type": "string",
"enum": [
"EDNA_proc",
"autoProc",
"XIA2_DIALS",
"grenades_fastproc",
"grenades_parallelproc"
]
},
"uniqueItems": true
},
"anomalous": {
"type": "boolean",
"title": "Anomalous",
"description": "",
"default": true
}
}
}
}