UDPs and especially remote process definitions (URL based UDPs) are becoming an important feature in a lot of use cases.
A problem however is that UDPs (both under the /process_graphs endpoint and URL based ones) can change over time, which is bad for traceability, reproducibility, etc: if you get a batch job or result from some time ago with a process graph that refers to UDPs, you can not be certain what the actual process graph was at the time of execution because the UDPs might have changed.
What could help here is a feature e.g. in the python client to "unroll" all UDPs in a given process graphs to produce a process graph that only consists of pre-defined processes.
This can be useful both for users/clients and backends that want a representation of an openEO workflow that is immune to future changes in UDP definitions, for better traceability, debugability, ...
UDPs and especially remote process definitions (URL based UDPs) are becoming an important feature in a lot of use cases.
A problem however is that UDPs (both under the
/process_graphsendpoint and URL based ones) can change over time, which is bad for traceability, reproducibility, etc: if you get a batch job or result from some time ago with a process graph that refers to UDPs, you can not be certain what the actual process graph was at the time of execution because the UDPs might have changed.What could help here is a feature e.g. in the python client to "unroll" all UDPs in a given process graphs to produce a process graph that only consists of pre-defined processes.
This can be useful both for users/clients and backends that want a representation of an openEO workflow that is immune to future changes in UDP definitions, for better traceability, debugability, ...