Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Revamp Copy Pull Command #21155

Open
wants to merge 13 commits into
base: main
Choose a base branch
from
Open

Revamp Copy Pull Command #21155

wants to merge 13 commits into from

Conversation

bupd
Copy link
Member

@bupd bupd commented Nov 8, 2024

Overview

1 click > 3 clicks

UX should prioritize simplicity and clarity. By adding a copy button above and in the datagrid, similar to DockerHub and other registries, users can quickly copy exactly what they need with clear feedback, eliminating unnecessary clicks and improving overall UX.

After reviewing the discussion (#21284), the consensus is clear:

  • 70% support having the copy button near the digest, tag, and a copy field above the table.

This design reduces friction and enhances usability.

To-do:

  • Add custom keyword for pull command selection to allow users to enter their own prefix for pull command.

Note

This design is based on thorough user feedback. As one user mentioned,

"We often need to copy the digest, remove it from the command, and use the version tag to pull the image. A copy button above the table and in the table, would be helpful for us."

Before

ss pr fix

After

Updated copy pull command Flow

2024-11-25_14-44-18
2024-11-25_14-44-18 (1)

Added Preference Settings

add preference
items

Summary of Changes Made

  • Added a new User Preferences section under User Settings.
  • Moved Language Selection and Datetime Rendering (ISO 8601) to the new User Preferences section.
  • Simplified "Copy Pull Command" button.
  • Added an copyable field with a copy button above the table, similar to Docker's pull command format (docker pull project/repo).
  • Included additional container runtimes (nerdctl, ctr, crictl) alongside docker and podman.
  • Made Config options clear and easy to use.
  • Placed a Copy Button near the tag and digest in the table.

These changes revamp the user experience, reducing clicks and improving the flow for copying pull commands.

Issue being fixed

Fixes #21146

Please indicate you've done the following:

  • Well Written Title and Summary of the PR
  • Label the PR as needed. "release-note/ignore-for-release, release-note/new-feature, release-note/update, release-note/enhancement, release-note/community, release-note/breaking-change, release-note/docs, release-note/infra, release-note/deprecation"
  • Accepted the DCO. Commits without the DCO will delay acceptance.
  • Made sure tests are passing and test coverage is added if needed.
  • Considered the docs impact and opened a new docs issue or PR with docs changes if needed in website repository.

Copy link

codecov bot commented Nov 8, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 46.21%. Comparing base (c8c11b4) to head (9d9ce81).
Report is 352 commits behind head on main.

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main   #21155      +/-   ##
==========================================
+ Coverage   45.36%   46.21%   +0.84%     
==========================================
  Files         244      248       +4     
  Lines       13333    13945     +612     
  Branches     2719     2880     +161     
==========================================
+ Hits         6049     6445     +396     
- Misses       6983     7157     +174     
- Partials      301      343      +42     
Flag Coverage Δ
unittests 46.21% <ø> (+0.84%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

see 492 files with indirect coverage changes

@bupd
Copy link
Member Author

bupd commented Nov 8, 2024

Screenshot

ss pr fix

@Vad1mo Vad1mo added the release-note/enhancement Label to mark PR to be added under release notes as enhancement label Nov 19, 2024
@bupd bupd force-pushed the pull-cmd branch 2 times, most recently from 61337ab to 5f4a463 Compare November 23, 2024 16:16
@bupd bupd marked this pull request as ready for review November 25, 2024 08:51
@bupd bupd requested a review from a team as a code owner November 25, 2024 08:51
@bupd bupd changed the title [WIP]: Update "Copy Pull Command" Button Location Revamp Copy Pull Command Nov 25, 2024
@bupd
Copy link
Member Author

bupd commented Nov 25, 2024

Screenshots for Reference

Overall View

complete

Change preference settings

add preference

change preference

items

tootlip

copy cmds

Working GIFs

Copying pull command for Images

2024-11-25_14-44-18

Copying pull command for Tags

2024-11-25_14-44-18 (1)

@bupd
Copy link
Member Author

bupd commented Nov 25, 2024

ready for review

Copy link
Member Author

@bupd bupd left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

.

@bupd bupd force-pushed the pull-cmd branch 2 times, most recently from 92e89c8 to b0bab10 Compare November 27, 2024 11:05
@bupd
Copy link
Member Author

bupd commented Nov 27, 2024

We can certainly discuss this from different angles, but at the end of the day, UX should always prioritize simplicity and clarity.

1 click > 3 clicks.

Our focus should always be on what's best for the user. The UI should be intuitive, easy to understand, and foolproof, not a guessing game.

For example, having a copy button above the datagrid, similar to Docker Hub, makes it much easier for users to copy exactly what they need, with clear feedback. This saves them unnecessary clicks and results in better UX overall.

Thanks for considering this perspective!

@bupd
Copy link
Member Author

bupd commented Nov 30, 2024

Removed copy field present on top of the datagrid as discussed in community meeting.

Previously (copy field included)

copy cmds

After (copy field removed on top of the table)

removed copy field datagrid

Thanks for the feedback.

@Vad1mo
Copy link
Member

Vad1mo commented Dec 3, 2024

Did you also implement and took into consideration the copy & paste for pull of the helm chart?

image

@bupd
Copy link
Member Author

bupd commented Dec 3, 2024

Yes I do.

@Vad1mo
Copy link
Member

Vad1mo commented Dec 6, 2024

There is a poll going regarding some UX aspects:

Please vote if you didn't do so:
#21284

@brandonbiggs
Copy link

This is something we really want. I did just want to make a suggestion and I hope it isn't too much work. In the preferences section, can you add "apptainer" and "singularity"? Or let those be defined by something in the config so the admins can set?

As a harbor admin, I'd like to set a default container runtime based on the container tools we use for all users as well.

@bupd bupd added the area/ui label Dec 16, 2024
@Vad1mo Vad1mo enabled auto-merge (squash) December 17, 2024 21:54
@Vad1mo
Copy link
Member

Vad1mo commented Dec 20, 2024

This is something we really want. I did just want to make a suggestion and I hope it isn't too much work. In the preferences section, can you add "apptainer" and "singularity"? Or let those be defined by something in the config so the admins can set?

As a harbor admin, I'd like to set a default container runtime based on the container tools we use for all users as well.

This is a good idea. We will add a option in the dropdown where the user can define their prefered container runtime

@Vad1mo Vad1mo added the target/2.13.0 issues that are targeting v2.13.0 label Jan 6, 2025
bupd added 13 commits January 10, 2025 14:54
* This commit moves "Copy Pull Command" button inside the table
* and add a separate column for better usability

Signed-off-by: bupd <[email protected]>
* This Commit adds Preferences in navbar
* Updates the navbar

Signed-off-by: bupd <[email protected]>
Signed-off-by: bupd <[email protected]>
Signed-off-by: bupd <[email protected]>
* Updates title of preference settings
* Updates container runtime to pull cmd prefix

Signed-off-by: bupd <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/ui release-note/enhancement Label to mark PR to be added under release notes as enhancement target/2.13.0 issues that are targeting v2.13.0
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Feature Request Proposal: Improve "Copy Pull Command" Functionality for Enhanced User Experience
5 participants