community-plugins icon indicating copy to clipboard operation
community-plugins copied to clipboard

🚀 Tech Radar: Un-deprecate `entries[*].url` and officially support external URL

Open dotboris opened this issue 8 months ago • 7 comments

Workspace

tech-radar

🔖 Feature description

Currently, the url field in RadarEntry is marked as deprecated: https://github.com/backstage/community-plugins/blob/816a4ab3bca73332fb7688a3dbfbb2b6132c0c3b/workspaces/tech-radar/plugins/tech-radar-common/src/model.ts#L60-L69

I depend on this field and its behavior and I think that it should be kept around.

🎤 Context

In my org, we're building a Tech Radar on top of Jira with custom "Blip" work items. With this approach, each blip has a name, description, history, status (representing the ring) and quadrant (as a custom field).

What's great with this approach is that we get a bunch of UI and functionality for free. The jira work item already tracks changes and lets users leave comments or link to other work items (ex: when they're starting an exploration).

In our case, we're better off just linking to the Jira work item directly from the tech radar instead of relying on the built-in modals from the plugin. We can already achieve that by setting the url field.

✌️ Possible Implementation

I think that the simplest solution here is to remove the deprecation notice on url and keep it around for good with the current behavior.

I've tried looking back to see where the deprecation came from and it seems to date back to before the migration to the backstage/community-plugins repository. I haven't dug deeper as to why it was deprecated.

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

  • [x] I checked and didn't find similar issue

🏢 Have you read the Code of Conduct?

Are you willing to submit PR?

Yes I am willing to submit a PR!

dotboris avatar Apr 14 '25 14:04 dotboris

Just did some more digging and url was deprecated in https://github.com/backstage/backstage/pull/16190

dotboris avatar Apr 14 '25 14:04 dotboris

Hi @dotboris, can you share an example of where the URL is being used? Trying to better understand why you can't use the Links property.

awanlin avatar Apr 22 '25 14:04 awanlin

@awanlin Sure thing, I've recorded a video showing off how our implementation works:

https://github.com/user-attachments/assets/cc192061-32ed-4887-84f8-e32e0b098f29

When someone clicks on a blip or link in the radar, they're taken directly to Jira where the blips are represented as work items. This includes the description, history and additional metadata. On top of this, we also get comments and users are able to collaborate on the blip and make changes.

When the description property is not set, the radar links directly to the value of the url property. Otherwise, it opens the modal with the description, history and links. From what I understand, the links are only rendered in the modal and don't allow you to directly link from the blip.

https://github.com/backstage/community-plugins/blob/2d8d4ec77cbe837ce34ebe349ea75b57fe5d2b96/workspaces/tech-radar/plugins/tech-radar/src/components/RadarEntry/RadarEntry.tsx#L122-L139

In our case, having the modals doesn't really make sense because the work item view in Jira provides us with all the information we need and users are better able to interact with it.

dotboris avatar Apr 22 '25 16:04 dotboris

Thanks for sharing this @dotboris, I'm now totally following how this works for you and why you would like this change. I'd like to confer with the other maintainers at the next SIG next week to agree on a plan forward.

awanlin avatar May 02 '25 20:05 awanlin

Sounds good to me.

I should add that I'm not attached to the url property specifically. What I care about is being able to bypass the modal and make the blip on the visualization directly link to some URL (Jira in my case).

I mention this because I realize that the url property and the logic around it is a little awkward because of the dependency on description. I'm perfectly happy with url going away / staying deprecated if it gets replaced by something else that lets me bypass the modal and directly link from the blips in the visualization.

dotboris avatar May 03 '25 16:05 dotboris

now I see it, thanks for sharing this @dotboris 🙏 We could remove the deprecated option and clarify this use case in the documentation. Otherwise another option I see is to use links?.[0]?.url as a fallback for url

vinzscam avatar May 07 '25 11:05 vinzscam

Both options seem perfectly fine to me. I think that explicitly documenting the behavior is a great idea. It'll make the behavior "officially supported".

dotboris avatar May 09 '25 10:05 dotboris

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[bot] avatar Jul 08 '25 12:07 github-actions[bot]