NLeSC / cwl-compute-service-api

API definition for generic compute service of workflows (most likely CWL workflows)
0 stars 0 forks source link

Move workflow query parameter to body as cwl:tool #3

Closed sverhoeven closed 8 years ago

sverhoeven commented 8 years ago

The submit requires a query parameter workflow with an IRI of the workflow/tool and a body with the input object.

The spec allows the input object to contain a key called cwl:tool which hold the IRI of the workflow/tool.

We could mimic this in our submission request and cwl-binding definition.

This makes the web service more like the cli runner.

LourensVeen commented 8 years ago

Oh, I like that! That would also make room for that comment/description as a query parameter maybe...or can we also put that into the input by any chance?

sverhoeven commented 8 years ago

No, comment/description are not allowed in input as the input object will be validated against the inputs schema. See step 3 of http://www.commonwl.org/v1.0/Workflow.html#Generic_execution_process

LourensVeen commented 8 years ago

It seems like it might be okay if it's in its own namespace, like cwl:tool is in the cwl namespace; that'll get taken out during preprocessing. This SALAD part of the spec seems to say something about that, but I haven't looked at it in enough detail to say for sure.

sverhoeven commented 8 years ago

See https://github.com/NLeSC/compute-service-api/tree/issue-3

LourensVeen commented 8 years ago

Idea from Berend (CC-BY-4.0): Have a JSON object as input in the body like this:

{
    id: .../jobs/1
    name: string
    workflow: URI
    input: {
        ...
    }
}

Everyone thinks that that is a good idea.