In Capsul v3:
Metadata are currently propagated in a pipeline through inputs to outputs (more or less). A pipeline output gets all metadata from its ancestor processes. This is sometimes too much.
For instance in the Morphologist pipeline, all outputs get the extension ".han" because only one process (the histo analysis process) specifies the extension ".han" for one of its outputs. This forces us to overload individually the extension of all output parameters of the pipeline (and possibly also in other sub-pipelines).
We must provide a way to specify how metadata propagate, or do not propagate, from inputs to outputs of a process.
We could perhaps use the same idea of "metadata inheritance" used in Populse Mia: a process schema could specify that one of its parameters gets given metadata from one given input.
In Capsul v3: Metadata are currently propagated in a pipeline through inputs to outputs (more or less). A pipeline output gets all metadata from its ancestor processes. This is sometimes too much. For instance in the Morphologist pipeline, all outputs get the extension "
.han
" because only one process (the histo analysis process) specifies the extension ".han
" for one of its outputs. This forces us to overload individually the extension of all output parameters of the pipeline (and possibly also in other sub-pipelines). We must provide a way to specify how metadata propagate, or do not propagate, from inputs to outputs of a process. We could perhaps use the same idea of "metadata inheritance" used in Populse Mia: a process schema could specify that one of its parameters gets given metadata from one given input.