Skip to content
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

🚀 Feature: Catalog UI should consistently use metadata.title for entity hyperlinks #15965

Closed
2 tasks done
bforbis opened this issue Jan 25, 2023 · 8 comments
Closed
2 tasks done
Labels
area:catalog Related to the Catalog Project Area enhancement New feature or request stale

Comments

@bforbis
Copy link
Contributor

bforbis commented Jan 25, 2023

🔖 Feature description

The UI currently lacks consistency when rendering hyperlinks or autocomplete pickers for entities.

Catalog table
Uses metadata.title for the name column, but uses metadata.name for the linked owner column

Catalog Graph
Consistently uses metadata.title for all entities in the catalog graph

User overview page
Uses metadata.name for the groups that the user is part of

Group overview page
Uses metadata.name for the parent and child groups

Scaffolder OwnerPicker

Uses metadata.name for all users / groups in the autocomplete picker

It seems like this really needs to be made consistent and should prefer metadata.title always to metadata.name. For my use case in particular, metadata.name uses uuids imported from other systems and often are not helpful at all to the end user.

🎤 Context

My organization imports Groups and Components into backstage from external systems. For these imported entities, the metadata.name is usually incomprehensible and unsearchable to an end user, often times being a UUID. These entities also have human readable display names which are set in the metadata.title, however these could not have been used for the metadata.name because they aren't unique.

✌️ Possible Implementation

No response

👀 Have you spent some time to check if this feature request has been raised before?

  • I checked and didn't find similar issue

🏢 Have you read the Code of Conduct?

Are you willing to submit PR?

None

@bforbis bforbis added the enhancement New feature or request label Jan 25, 2023
@github-actions github-actions bot added the area:catalog Related to the Catalog Project Area label Jan 25, 2023
@benjdlambert
Copy link
Member

Hmm - I think this could require some larger refactoring here for us to use the data that we already have in place when making the query to the Catalog. For instance we don't want to enrich the EntityLink component directly, as it doesn't make sense to query the catalog again when we already have the data like we might do in the CatalogTable. It certainly should batch all these together if it's going to do it, and have some form of caching too.

Happy for some explorations on how we can do it the best through contributions however 🙏

@drodil
Copy link
Contributor

drodil commented Jan 26, 2023

Somewhat related #15987

@sennyeya
Copy link
Contributor

sennyeya commented Feb 10, 2023

FWIW: I've run into a similar issue with no resolution. Would love to see the title for owner links.

@benjdlambert I wonder if #16021 would start the ball rolling with this? The new EntityStreamContext would allow for caching and could be used to pull Group/User owner definitions. It would probably end up with more round trips to the catalog API, but that could be mitigated if we exposed another method on the useEntityStream hook to pull through the by-refs endpoint.

Related: #16301

@Rugvip
Copy link
Member

Rugvip commented Feb 23, 2023

I think more generally some form of lightweight client-side caching is the way to get this snappy enough for it to make sense. We'd definitely want to avoid refetching the same entities for multiple table cells etc.

Caching is always hard though, so requires a bit of an investigation into how to do it safely. If we can build caching into the system then implementing this should be a quite simple followup.

@github-actions
Copy link
Contributor

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@github-actions github-actions bot added the stale label Apr 24, 2023
@drodil
Copy link
Contributor

drodil commented Apr 24, 2023

Not stale, still waiting for proper caching :)

@github-actions github-actions bot removed the stale label Apr 24, 2023
@awanlin
Copy link
Collaborator

awanlin commented Apr 24, 2023

Feel like this is related: #17474

@github-actions
Copy link
Contributor

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area:catalog Related to the Catalog Project Area enhancement New feature or request stale
Projects
None yet
Development

No branches or pull requests

6 participants