-
Notifications
You must be signed in to change notification settings - Fork 12
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
How to expose which version of openeo-processes is available/targeted #517
Comments
Hmm... Globally doesn't make a lot of sense as we often have the case that we implement processes from different versions, e.g. when new processes get added (e.g. you are on 1.x and add just one or two new processes from 2.x). Has happened in the past. So I would try to avoid adding version numbers for processes. What's the use case? Wouldn't the client just read the process and detect that it's 1.2 or 2.0 e.g. based on the raster-cube / data cube subtype etc? It think that's the way to go and was always intended that way. This doesn't prevent you from adding a custom property "version" or so to the processes though. |
Yes indeed, in practice the bag of provided processes is a bit a mix of 1.0, 1.1, 1.2, 2.0 and non-standard processes. Certainly the case in VITO backend for example. Still there is probably some kind of target upper bound a back-end wants/can provide. However, in Open-EO/openeo-aggregator#118 we found out that v1.x and v2.x processes don't mix nicely, because of rastercube (v1 style) vs datacube (v2 style) mismatch. Note that this will be especially challenging in the aggregator where processes of multiple backend have to be combined, making the synchronization exercise considerable harder. |
Yes, in a federated interface this needs either good alignment and a migration path that is followed by all back-ends or a good strategy in the aggregator to "mix" them. I'm not sure how version numbers would help here though. If you have a version number you'd still need to merge somehow, right? Isn't it enough there to just replace raster/vector-cube with datacube in comparison? |
The path we're currently trying in the VITO backend is
(Note: I think we did the same when we supported both v0.4 and v1.0 of openEO API and processes) We could do the same in the aggregator:
That implies that we set up the convention to have a hard link between API version and processes version: a given an API endpoint version, you also know if you get v1 or v2 processes. This goes a bit against the spirit of the openEO API, but it could be a workable more practical alternative to trying to introduce a new API to declare the version level of the processes. |
Maybe we just add a |
yes something like that would certainly help with the discussed use cases |
See PR #549 |
* Add openEO processes version #517 * Update openapi.yaml * Update openapi.yaml Co-authored-by: Stefaan Lippens <[email protected]> * Update openapi.yaml --------- Co-authored-by: Stefaan Lippens <[email protected]>
I'm working on adding openeo API 1.2 and processes 2.0 to the VITO backend and the current goal is:
It would help (e.g. for user support) if we could make the linking between these versions more explicit in the metadata in some way.
Is there a way to expose the (target) openeo-processes version explicitly, e.g. globally in capabiltiies doc, or per process?
The text was updated successfully, but these errors were encountered: