Support Multipart CWL Deployment #717
Labels
feature/CWL
Issue related to CWL support
process/OAP-Part2: DRU
OGC API - Processes - Part 2: Deploy, Replace, Undeploy (DRU)
process/workflow
Related to a Workflow process.
triage/enhancement
New feature or request
triage/feature
New requested feature.
Description
When a CWL consists of a
class: Workflow
composed of multiple CWL files, the deployment process can be painful, since users must deploy each child step (to ensure they resolve without missing dependencies) before deploying the final root workflow.Furthermore, although CWL can be deployed on their own, embedding it within the
executionUnit
allows the deployment to provide additional/complementary metadata and process description details. However, embedding the CWL within the process description must be done manually by the user, or using the CLI that happens to offer this capability.Instead,
Content-Type: multipart/*
could be used. This would allow uploading all workflows steps simultaneously, as separate CWL parts, as well as any additional process description metadata. Usingmultipart/related
and/ormultipart/mixed
(either in conjunction or separately), it is also possible to employContent-ID
(https://datatracker.ietf.org/doc/html/rfc2392.html) to provide relationships between the various child-CWL and their respective descriptions. It is also possible to use a nested hierarchy, as follows:multipart/mixed
application/cwl+json
multipart/related
application/cwl+json
application/json
application/cwl+json
To Do
multipart/*
process deploymentmultipart/*
Content-ID
to match corresponding CWL and ProcessDescription definitions (since they are not necessarily next to each other in the contents){cid:[...]}
cross-references if neededmultipart/related
must be enforced as top level ? https://datatracker.ietf.org/doc/html/rfc2387Content-Type: multipart/related; type="..."; start="<cid>
is available in the top-level of the request, which can indicate which is the root workflow.Content-Disposition
of each part for relevant CWL file references used forrun:
of the workflowReferences
The text was updated successfully, but these errors were encountered: