-
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
Federation Extension #419
Federation Extension #419
Conversation
just FYI: the aggregator now includes this under "federation": {
"eodc": {
"url": "https://openeo.eodc.eu/v1.0/"
},
"vito": {
"url": "https://openeo.vito.be/openeo/1.0/"
}
}, |
Another thing to consider: in the aggregator there is currently a priority difference between backends (currently VITO and EODC), which is used when there is a (metadata) "conflict" (e.g. title of a "merged" collection) or there is no obvious back-end for a query (e.g. https://twitter.com/matthmohr/status/1451589229721661444). At the moment the VITO back-end has highest priority. It might be relevant to formalize this priority better here, e.g. with an explicit back-end order, or with defining a main/reference back-end |
Long-term I think there should be no order. Process differences could partly be solved by checking against the official specification. And all other cases probably would work best if they are not solved automatically but instead be logged somehow so that we can check what the issue is and solve them. To some degree, we may also need to specify processes and collections "manually" if an automatic merge doesn't work well (e.g. different descriptions with warnings/notes per back-end). |
From the meeting today: It seems we also need a flag that the user can set for batch jobs/sync proc/web services so that they can choose explicitly which back-end to send a process graph to (e.g. similar to the billing plan option). Or should this be done via load_collection properties? The latter seems a bit weird. |
indeed, that feature is focused on specifying the backend to use for providing a particular collection, which currently directly implies the back-end to execute the whole graph
Another idea that crossed my mind is having back-end specific connection urls in addition to the general one, e.g. so you can interact with an explicitly chosen backend, but still use the general platform features (auth, billing, ...). |
Another note from the meeting today: I'm not sure we need it here or in the core API? |
sounds like something that is not (only) related to federation |
Added a new issue: #429 |
Yeah, I see pros and cons for both approaches. I think we need to discuss this in detail and check what is the better way forward. Some that come to mind right now: Back-end URLs: Flag in requests: |
I don't think this will a big issue in practice: the choice to work on a specific back-end instead of working with the federated one will be very conscious decision, so it's a good thing to make that clear. |
Indeed, this might be biased from a Web Editor standpoint although as a user I'd personally still prefer to have a simple switch. This could be something to leave out for now and then ask our users what they would prefer. |
6f87404
to
818fb9f
Compare
Merged for now, let's discuss further issues in separate PRs. |
…filtering (#58) * Add documentation on backend selection with load_collection property filtering ref: openEOPlatform/architecture-docs#268, Open-EO/openeo-api#419 * PR #58 add R code example * fixup! PR #58 add R code example
A first draft for the federation extension, all up to discussion, it's really just capturing ideas right now.
Rendered version: https://github.com/Open-EO/openeo-api/blob/federation-extension/extensions/federation/README.md
Related issue: https://github.com/openEOPlatform/architecture-docs/issues/188