Skip to content

Implement support for the Federation Extension #230

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

Open
3 of 12 tasks
m-mohr opened this issue Jan 7, 2022 · 6 comments · May be fixed by #353
Open
3 of 12 tasks

Implement support for the Federation Extension #230

m-mohr opened this issue Jan 7, 2022 · 6 comments · May be fixed by #353
Assignees
Labels
enhancement New feature or request
Milestone

Comments

@m-mohr
Copy link
Member

m-mohr commented Jan 7, 2022

See Open-EO/openeo-api#419 and https://github.com/Open-EO/openeo-api/blob/draft/extensions/federation/README.md

An intiial implementation: https://github.com/openEOPlatform/architecture-docs/issues/179#issuecomment-1007453499


In the EOEPCA+ project, we made an evaluation of the federation-related functionality available through the openEO Web Editor.

The following issues have been identified:

  • federation:missing can't be accessed through the corresponding functions for the following endpoints:
    • GET /collections (high prio)
    • GET /processes (high)
    • GET /file_formats (high)
    • GET /process_graphs (high)
    • GET /files (high)
    • GET /jobs (high)
    • GET /jobs/:id/logs (low, missing upstream in Vue Components)
    • GET /services (high)
    • GET /services/:id/logs (low, missing upstream in Vue Components)
  • federation:backends can't be accessed through the corresponding functions for the following endpoints:
    • POST /validation (medium)
    • GET /udf_runtimes per version (low, missing upstream in Vue Components)
    • GET /services/{id} (low, missing upstream in Vue Components)

Related issue for the upstream issues in Vue Components: Open-EO/openeo-vue-components#97

@m-mohr m-mohr added this to the v0.11 milestone Jan 12, 2022
@m-mohr m-mohr self-assigned this Feb 4, 2022
@m-mohr m-mohr modified the milestones: v0.11, v0.12 Apr 7, 2022
@m-mohr m-mohr modified the milestones: v0.12, v0.13 Oct 12, 2022
@m-mohr m-mohr removed their assignment Oct 18, 2022
@m-mohr m-mohr modified the milestones: v0.13, 0.14.0 Dec 8, 2022
@m-mohr m-mohr added enhancement New feature or request and removed Platform labels Mar 15, 2025
@m-mohr
Copy link
Member Author

m-mohr commented Mar 16, 2025

Add a warning icon with the FA icon (<i class="fa-solid fa-triangle-exclamation"></i>) to the following places could work for cases where a missing backend is reported. The button/icon can be hidden if everything is okay.

Image

For jobs, services, files, UDPs a button with icon should work, for collections, processes, file formats it might just be a clickable icon without button style as it might look more pleasing.

The JS client v2.7.0 supports the functionality to retrieve the properties since some months, see also Open-EO/openeo-js-client@fd78bb8 and Open-EO/openeo-js-client@2a14de7

The list of missing backends with a short explanation could be shown in a modal, toast or tooltip.

High prio tasks should be implemented first.
This can be implemented directly to the openeo-web-editor as PRs to the main branch, we can merge this later into the gdc-web-editor repo.

christophfriedrich added a commit that referenced this issue Apr 9, 2025
This can already be used with the version of the js-client on the `federation-as-object` branch there.
@christophfriedrich christophfriedrich linked a pull request Apr 10, 2025 that will close this issue
@m-mohr m-mohr linked a pull request Apr 10, 2025 that will close this issue
christophfriedrich added a commit that referenced this issue Apr 17, 2025
And one more in the DiscoveryToolbar
@christophfriedrich
Copy link
Collaborator

christophfriedrich commented Apr 22, 2025

Regarding the issue that we don't really like a tooltip on a button, but a modal would also be overkill:

How would you like a "compact" version of the FederationMissingNotice for the panels? Which styling is desired could be set via a boolean compact prop.

Consumes one line of space (two if the availability situation is really bad or the screen particularly small), but would be consistent with the rest and IMO fairly pleasing visually.

Image

@m-mohr
Copy link
Member Author

m-mohr commented Apr 22, 2025

I like that. I'd also expect that usually it's only a single backend, so the text should usually be a bit shorter.

@christophfriedrich
Copy link
Collaborator

Nice, then I'll finish implementing that.

For now I made it as a separate component in the templates of the panels (requiring to wrap everything in a new <div> to ensure only 1 root element), e.g. like this in JobPanel:

<template>
	<div id="JobPanel">
		<FederationMissingNotice ... />
		<DataTable ... >
			<template slot="toolbar">
				...
			</template>
			...
		</DataTable>
	</div>
</template>

Or would you prefer adding a new slot to DataTable? Would then look like this:

<template>
	<DataTable ... >
		<template slot="notice">
			<FederationMissingNotice ... />
		</template>
		<template slot="toolbar">
			...
		</template>
		...
	</DataTable>
</template>

The latter would give the option to switch the places of toolbar and notice, but I prefer the current layout anyway (tools to manipulate the table are directly above it, not split from it by an annoying notice). Semantically I think one could find arguments for either version.

@m-mohr
Copy link
Member Author

m-mohr commented Apr 23, 2025

I think I'd go with the first option, that seems a little more clean.
You'd need to make sure that the scrolling etc still works as before.

@christophfriedrich
Copy link
Collaborator

First real-world displaying of fed:missing information :)) [when connecting to openeo.cloud, i.e. no stump]

Image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants