goharbor / harbor

An open source trusted cloud native registry project that stores, signs, and scans content.
https://goharbor.io
Apache License 2.0
24.17k stars 4.76k forks source link

Feature Request Proposal: Improve "Copy Pull Command" Functionality for Enhanced User Experience #21146

Open bupd opened 1 week ago

bupd commented 1 week ago

Is your feature request related to a problem? Please describe.

Users frequently express frustration with the current "Copy Pull Command" functionality in the Harbor artifact datagrid. The option to copy the pull command remains greyed out until a specific artifact is selected, which has caused confusion as many users do not immediately understand why this action is unavailable. Additionally, the current location of the "Copy Pull Command" button (above the table) requires multiple steps and is less intuitive compared to solutions like Docker's, where the command is integrated directly with each tag entry.

Related User Issues: Issue #12763 Issue #20585

Describe the solution you’d like

The goal is to make the "Copy Pull Command" feature both accessible and straightforward for users. We propose moving the "Copy Pull Command" option directly back into the datagrid as a column. Each row (artifact) in the table should have an individual "Copy" button beside each tag, similar to Docker's approach, where users can easily select the desired tag and instantly copy the pull command with a single click. Most users also prefer tags over digest information, as tags are concise and familiar identifiers, so providing a "Copy" button next to each tag would streamline the user experience.

Describe the main design/architecture of your solution

To address these usability concerns, we propose implementing the following improvements:

  1. Integrate "Copy Pull Command" Directly Back to Each Row
    Place a copy button directly within each artifact row. This button should allow users to instantly copy the pull command for each tag or digest without needing to select the artifact first. Each tag or digest entry would have a "Copy" button on its right side, streamlining the process and reducing clicks.

image

image

  1. Add Tooltips for Greyed-Out Buttons
    For any actions that remain greyed out until a prerequisite is met (such as artifact selection), provide a tooltip that explains why the action is unavailable. This approach would guide users on the required steps and improve overall clarity in the interface. image

Describe the development plan you’ve considered

Additional context Add any other context or screenshots about the feature request here.

Addtionally,

This approach would align the "Copy Pull Command" interface with the "Push Command" layout, making it more intuitive and user-friendly by providing users with visibility into what they are copying. image

Vad1mo commented 5 days ago

image

I am throwing ideas around Why not putting the copy command next to hash and/or tag?

so people can copy and paste the tag or hash.

Also I think the user should be able to set in his personal profile what type of pull commands he wants to have e.g. docker, podman, nerdctl. etc.

reasonerjt commented 5 days ago

Thanks for pointing out the issue. I think an icon for each artifact is good enough, though I don't have a strong opinion about which column the copy icon should be placed in.