Lifecycle preview when environment names match phase names

(mike) #1

Hello,

I don’t know if this is by design or maybe a bug, but I’ve just spent a few hours trying to troubleshooting an issue with the “lifecycle preview” image / tree when the names of environments match the names of lifecycle phases.

The current behaviour seems to be that if a lifecycle phase contains only one environment, and that environment’s name matches the lifecycle phase name, it doesn’t show a child “environment” node in the phase. For example if you configure the following lifecycle:

* Lifecycle: My Lifecycle
  * Phase: DEV
    * Environment: DEV
  * Phase: UAT
    * Environment: UAT
  * Phase: LIVE
    * Environment: LIVE

The lifecycle preview on the lifecycle editing page looks like this:

image

and on the “Process” tab of a Project Details page it looks like this:

image

I spent a long time trying to troubleshoot roles, teams and permissions to check my setup didn’t allow me for some reason to deploy to the DEV, UAT and LIVE environments on the basis that was why the environment nodes weren’t appearing, but in the end I took a wild guess and renamed my phases and the environments suddenly appeared in the lifecycle preview.

For example, I rename the lifecycle phases with a “x” suffix I see this:

image

And just adding my TEST environment to the DEV phase in the original lifecycle I get this:

image

This means that you can’t easily distinguish between a phase with no environments in it versus a phase with an environment with the same name. For example, both lifecycles below result in the same lifecycle preview image:

* Lifecycle: My Lifecycle
  * Phase: DEV
    * Environment: DEV
  * Phase: UAT
    * Environment: UAT
  * Phase: LIVE
    * Environment: LIVE

gives this lifecycle preview:

image

whereas

* Lifecycle: My Lifecycle
  * Phase: DEV
    * Environment: DEV
  * Phase: UAT
    * Environment: UAT
  * Phase: LIVE
    * Environment: <none>

gives:

image

as does

* Lifecycle: My Lifecycle
  * Phase: DEV
    * Environment: DEV
  * Phase: UAT
    * Environment: <none>
  * Phase: LIVE
    * Environment: UAT

and

* Lifecycle: My Lifecycle
  * Phase: DEV
    * Environment: <none>
  * Phase: UAT
    * Environment: DEV
  * Phase: LIVE
    * Environment: UAT

What I’d personally prefer to see for lifecycle phases with a single matching environment is the explicit environment nodes:

image

(which, incidentally, I got the application to draw by appending a space onto my Phase names so they didn’t match the spaceless environment names :slight_smile: )

Anyway, sorry if I’ve rambled on a bit - could you confirm if the current behaviour of “hiding a solitary environment node if its name matches the parent phase” is by design?

Thanks,

Mike

N.B. The actual deployment process behaves as expected in terms of progression through the lifecycle phases - the issue above only seems to apply to the visual rendering of the lifecycle preview diagram.

1 Like
(Fletch) #3

You should reward / pay him for finding this bug for you.

I don’t see how this can be by design.

#4

Hi @Mike,

Thanks for getting in touch, and great work with the post! I can see a lot of effort went into it.

The behavior you are seeing here is 100% by design. We made the decision to collapse the view when the phase and environment name where a match as that reduced redundant visual data. I can see your point that when troubleshooting it leaves a bit (probably a lot) to be desired, so I have passed this through to our usability team to see if there is a better way that we can present this information.

If there is anything else you would like help with please let me know!

Regards,
Alex

(mike) #5

Hi Alex,

Dont clap, just throw money :slight_smile:

Thanks for clarifying the behaviour. I’ll certainly remember to check this the next time I come across the same symtoms in future!

Not wanting to do your usability team’s work for them, but adding a “plus / minus” to the Phase node would help massively, and also help with long lists of environments in a Phase. You could collapse a Phase node by default if it just has one environment node with same name as the Phase, and hide the “plus / minus” if there are no environments. It’d also be clearer when a Phase is empty vs single matching environment without increasing the clutter (beyond the extra plus / minus sign in the Phase bullet).

For example:

Single Matching Environment

Phase nodes collapsed by default…

* Lifecycle: My Lifecycle
  * Phase: DEV
    * Environment: DEV
  * Phase: UAT
    * Environment: UAT
  * Phase: LIVE
    * Environment: LIVE

image
which could then be expanded to show:
image

Non-Matching Names

Phase nodes expanded by default…

* Lifecycle: My Lifecycle
  * Phase: DEVx
    * Environment: DEV
  * Phase: UATx
    * Environment: UAT
  * Phase: LIVEx
    * Environment: LIVE

image

Empty Phase

Hide the “plus / minus”…

* Lifecycle: My Lifecycle
  * Phase: DEV
    * Environment: DEV
  * Phase: UAT
    * Environment: UAT
  * Phase: LIVE
    * Environment: <none>

image

Phases with more than, say, 5-10 environments then could also be collapsed by default…

Hope this helps.

M

#6

Hi Mike,

I’ve passed this through to the team, so look out for changes in the future :slight_smile:

Regards,
Alex

(mike) #7

Perfect, thanks Alex.

M