Design: Create a consistent tag, image, and package delete experience throughout the registries
Release notes
Problem to solve
Consider removing or moving this dangerous function from the Gitlab container registry web page. The buttons look dangerously similar and are placed precariously close to each other.
Container registries contain months of container image versions and simply clicking the "delete" button by mistake can cause them to be lost in a moment.
We can consider either renaming this button to "Delete Registry" or adding another confirmation alert, or adding a grace period for this action.
Intended users
User experience goal
It should be more obvious for the user that the "delete" button will delete the whole container registry.
Proposal
Delete image repository (boring solution)
- Move the
Delete image repositorybutton into amore actionsbutton dropdown at the top of the page.- component:button ellipsis: https://design.gitlab.com/components/button/#ellipsis
- Clicking the
more actionbutton displays the Delete image repository option.- Clicking Delete image repository triggers the existing flow for deleting the repository.
- Clicking anywhere outside the dropdown closes it.
Delete individual tags
- User should be able to delete tags individually in the list/table view.
- The button with a trash bin icon should be replaced by a
more actionsdropdown button.- component:button ellipsis https://design.gitlab.com/components/button/#ellipsis
- Clicking the
more actionbutton displays the Delete tag option.- Clicking Delete tag triggers the existing flow for deleting an individual tag.
- Clicking anywhere outside the dropdown closes it.
Bulk delete tags
Since what we have seems like a combo selection (like Gmail, you can select multiple row items and hit bulk delete in this view), we need to address how the user interacts with multiple actions in the page.
You can find similar bulk actions on the vulnerability report although this interaction is slightly confusing (clicking the row to check the box feels strange).
- User should be able to delete multiple tags in the list/table view.
- Add a header to the list/table and include a
select allcheckbox. - Clicking one or more checkboxes displays the
Delete allbutton at the top of the table/list view.- component:button type secondary, danger
- Deselecting all checkboxes hides the button.
- Clicking
Delete alltriggers the existing flow for deleting multiple tags. - Clicking anywhere outside the dropdown closes it.
Further details
This will improve the overall user experience of package registry, as well as provide alignment with our design guidelines and other product pages.
Permissions and Security
Documentation
Yes, this will need a documentation update.
Availability & Testing
Available Tier
What does success look like, and how can we measure that?
Fewer errors/mistakes when deleting the image repository and individual tags.
What is the type of buyer?
Is this a cross-stage feature?
No.
