-
Notifications
You must be signed in to change notification settings - Fork 684
Description
Currently, the config-UI let user select one set of domain types for all scopes. This is enough for the majority of cases and the UI is simple.
However, there are some cases where one domain type makes sense for one scope but not for another. The question is how to handle this in the UI.
One example is with azure devops plugins. In this plugin, a scope corresponds to
a repository and it supports two domain types: CICD and CODE_REVIEW.
Right now, it only support repositories hosted in azure devops. But we have users who use azure CICD server for repositories hosted elsewhere, so we'd like to support them soon.
The UI issue is that the user can only select one set of domain types for all selected scopes. But in this case, the CODE_REVIEW domain type does not make sense for external repositories. So if the user selects some internal repositories and some external ones, the user can select CODE_REVIEW but it will won't apply to external repositories. If the user selects only external repositories, that domain type will be totally ineffective.
The question is whether the UI should let the user know that some domain types are not available on some scope.
One way to let bring this information to the front-end is to include a set of available domain types to each scope returned by the remote scopes endpoint.
Then there are several things we can do to adapt the UI:
- gray out the domain types that are not available for any of the selected scopes
- decorate the domain types that are available for some selected scopes but not for others
- show which domain types are available on a given scope, for example with a tooltip on hover or as small icons depicting the domain types next to each scope
So what do you think? Is this an issue worth considering? If so, what do you
think is the best way to handle it? Should we find a generic UI that handles
this case or should we handle it only in Azure devops plugin? How likely is it that current and future plugins will have a similar issue?