Improved handling of missing annotations in cards

Card widgets from Backstage plugins sometimes provide a poor experience to viewers when the annotation they need is missing. We’ve fixed this.

Adding a card — like the Pagerduty card shown below — to the entity page of components of type “service”, causes that card to be added to all services in the catalog.

pagerduty-card-dark-mode

It’s likely that some services in the catalog won’t have the PagerDuty annotation set. Often for legitimate reasons. They might be experimental services with no operational load and no need for PagerDuty.

When the annotation wasn’t set on a service, Roadie Backstage would display an ugly red error message to anybody who viewed that service in the catalog. This behavior was discouraging people from using the cards as intended.

From now on, we will hide these cards from the interface so that users don’t see this ugly error.

It’s important to inform users that it might be a good idea to add the PagerDuty annotation to their service. To do this, we’ve added an “eye” icon to the admin controls area of each service which is potentially missing an annotation.

eye-admin-controls

Clicking the eye will inform the user about the annotations they might want to add.

dialog-appears-when-clicking-eye

We’ve also added some documentation to help people learn about all of the annotations available, and the plugins which use them.