weave-gitops-enterprise icon indicating copy to clipboard operation
weave-gitops-enterprise copied to clipboard

[Pipelines UI] Add Icon that shows promotion progress

Open joshri opened this issue 2 years ago • 18 comments

Followup to #3428

  • Determine criteria for the stages of the icon
  • Ideally icon can be used in both cases seen here: image

joshri avatar Oct 03 '23 20:10 joshri

@joshri Do we need to discuss?

lasomethingsomething avatar Oct 06 '23 13:10 lasomethingsomething

We need to determine the criteria for the different stages of progress for promotion so I can know what to look for

joshri avatar Oct 06 '23 17:10 joshri

Hi @mmoulian and @joshri: These buttons should operate as either/or, yes/no, succeeded/not-succeeded-yet, instead of as markers tracking progress. So the behavior for now should be that the button remains light green until the promotion has succeeded, then switches dark green to indicate that the promotion has succeeded. Does that help?

lasomethingsomething avatar Oct 09 '23 13:10 lasomethingsomething

If needed, I can prototype this behavior in Figma

mmoulian avatar Oct 09 '23 14:10 mmoulian

Please do @mmoulian

lasomethingsomething avatar Oct 09 '23 14:10 lasomethingsomething

@LappleApple and @joshri This is an initial prototype showing the behavior of the buttons and icon, maybe a little naive. It should be reviewed with someone with technical knowledge...

Actions: -The user clicks the button to Approve promotion. -While the promotion is taking place, we show a progress indicator (flashing circle animation) -When the promotion ends, the progress icon will appear in the circle and the text "Pull request merge"

-The user clicks the button to Approve promotion in the STG column -While the promotion is taking place, we show a progress indicator (flashing circle animation) -When the promotion is notified, the progress icon appears in the circle and the text "Notification sent"

-While the promotion is completed, we show a progress indicator (flashing circle animation) -When the promotion is complete, a full circle icon and the text "Promotion completed" will appear

https://github.com/weaveworks/weave-gitops-enterprise/assets/95616291/f250e372-30ba-4df8-b88a-e770f039bbd0

mmoulian avatar Oct 10 '23 14:10 mmoulian

@mmoulian Heya, thanks for working on this. However, it should behave exactly as I wrote earlier. The button should either be light green (promotion not successful yet) or green (promotion is successful).

lasomethingsomething avatar Oct 10 '23 15:10 lasomethingsomething

@LappleApple Sorry, I'm a little confused about it. I understand that in design we have two areas of interaction.

  1. to do the action (button)
  2. to receive feedback. Typically, a button only has three states (enable, disable, active). So I guess the second area (feedback) has to change.

Then in the feedback area: -The circle should be light green and put the text "the promotion has not yet been successful." -Or green and put the text “successful promotion” It is right?

Does it happen in the first development column?

What happens in the Stg column?

Captura de pantalla 2023-10-10 a las 17 54 06

mmoulian avatar Oct 10 '23 16:10 mmoulian

Hi @mmoulian and @joshri: spent some time this afternoon digging into this one. Here's the Miro mockup with requested changes:

  • Pipelines status tab: https://miro.com/app/board/uXjVMFiEhxc=/?moveToWidget=3458764566496135169&cot=14
  • One minor related change on the new create/edit pipelines view: https://miro.com/app/board/uXjVMFiEhxc=/?moveToWidget=3458764566500249683&cot=14

As the mockup shows, behavior in the middle area between envs gets a bit busier now. We want to enable a few different prompts around the green promotion button, based on whether there's manual or automated approvals or whether there's a PR or notification strategy. I can explain in person if necessary.

lasomethingsomething avatar Oct 11 '23 16:10 lasomethingsomething

@LappleApple and @joshri. I did a couple of prototype tests trying to follow Laurie's notes. It is an Automated Pull Request pipeline. I worked the first step between Dev and Stg.

  1. With a progress indicator (circular animation)
  2. Without progress indicator. @LappleApple Let me know if I'm on the right track

https://github.com/weaveworks/weave-gitops-enterprise/assets/95616291/9b6d2673-de84-45f8-b573-8cf99eb3f3be

https://github.com/weaveworks/weave-gitops-enterprise/assets/95616291/6694f751-c01b-4a5c-8782-12c21b36c9bb

mmoulian avatar Oct 12 '23 12:10 mmoulian

@mmoulian I like the first one because it suggests "things are happening right now"

lasomethingsomething avatar Oct 12 '23 12:10 lasomethingsomething

@LappleApple @joshri I made an example of manual approval behavior...

https://github.com/weaveworks/weave-gitops-enterprise/assets/95616291/8fde0a98-23f5-4916-b23b-67152b3587b0

mmoulian avatar Oct 18 '23 16:10 mmoulian

In the event that we have an error in the PR... the message disappears after a few seconds and the user can start again... wdyt?

https://github.com/weaveworks/weave-gitops-enterprise/assets/95616291/1c5b87c3-23e0-45db-8e1f-4f3685e20b2f

mmoulian avatar Oct 18 '23 16:10 mmoulian

@mmoulian Button progress is on the right track. :)

Next for the manual approval option, we'll want (repeating what's in the Miro, but moving over here):

  • to see the PR number (hyperlinked) so users can know that the PR exists and go directly to it. It would look like this: "PR CREATED #123."
  • A prompt UNSUCCESSFUL—TO RETRY by the button for situations like an inability to reach GitHub or a notification that doesn’t go through.

lasomethingsomething avatar Oct 19 '23 13:10 lasomethingsomething

@LappleApple Please, check these movies:

-Manual approval: The PR is created (shows the link) -Manual approval: PR failed (a message shows the error) -Manual approval: The PR is not successful and is retried (not sure if it should be manual in this case)

https://github.com/weaveworks/weave-gitops-enterprise/assets/95616291/8ebe1edb-7d68-409c-85c7-ae7c87c24069

https://github.com/weaveworks/weave-gitops-enterprise/assets/95616291/5cc9e51b-e7a0-458e-9287-f736708fdd26

https://github.com/weaveworks/weave-gitops-enterprise/assets/95616291/73a3a0e9-cb0c-4d16-afb3-1567d787f89e

mmoulian avatar Oct 20 '23 13:10 mmoulian

@mmoulian Thanks much -- all good except one nit. We need the hyphen in the prompt, so that it says: UNSUCCESSFUL—TO RETRY

If that messes up the design, then this could work: UNSUCCESSFUL: TO RETRY

lasomethingsomething avatar Oct 23 '23 12:10 lasomethingsomething

Fixed it

https://github.com/weaveworks/weave-gitops-enterprise/assets/95616291/5fd6df52-8647-4805-8800-3cf763a8003c

mmoulian avatar Oct 23 '23 16:10 mmoulian

Blocked by weaveworks/pipeline-controller#197

lasomethingsomething avatar Oct 30 '23 13:10 lasomethingsomething