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

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

Open
bupd opened this issue Nov 7, 2024 · 5 comments · May be fixed by #21155
Open

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

bupd opened this issue Nov 7, 2024 · 5 comments · May be fixed by #21155
Assignees
Labels

Comments

@bupd
Copy link
Member

bupd commented Nov 7, 2024

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.
384727106-0fc3a1cd-96d3-4a48-b2e7-f50c9b8732ab

Addtionally,

  • The "Copy Pull Command" button is represented as an icon with a brief label indicating "Docker" or "Podman," but without displaying the actual command text.
  • Solution: Display the full pull command in a readable format next to the "Copy" button for each artifact entry.

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

@bupd bupd linked a pull request Nov 8, 2024 that will close this issue
5 tasks
@Vad1mo
Copy link
Member

Vad1mo commented Nov 10, 2024

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
Copy link
Contributor

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.

@Vad1mo
Copy link
Member

Vad1mo commented Nov 19, 2024

I think it would also make sense that if the data is copied to the clipboard, there would be toast popup as a feedback.

The Clarity framework has something similar:

https://clarity.design/documentation/notifications#snackbar

@Vad1mo
Copy link
Member

Vad1mo commented Nov 19, 2024

To cope with the different container runtimes and make the UI simpler, the user should have a new section "Preferences"
image

In the Preferences, the user can select his favorite container runtime (docker, podman, nerdctl. etc.)

All preferences should be stored in browser local storage.

@bupd
Copy link
Member Author

bupd commented Nov 30, 2024

The PR #21155 is ready for review.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants