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 repository
button into amore actions
button dropdown at the top of the page.- component:button ellipsis: https://design.gitlab.com/components/button/#ellipsis
- Clicking the
more action
button 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 actions
dropdown button.- component:button ellipsis https://design.gitlab.com/components/button/#ellipsis
- Clicking the
more action
button 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 all
checkbox. - Clicking one or more checkboxes displays the
Delete all
button at the top of the table/list view.- component:button type secondary, danger
- Deselecting all checkboxes hides the button.
- Clicking
Delete all
triggers 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.