After swearing this site would never contain news, this is where I eat my words. This is the first news based article, but this wont be in the format of “here’s a new feature, this is how to use it”, as there’s plenty of people who already do that and you can find Microsoft blogs to do the same thing.
These news posts will be my real world perspective of why I think they are useful, i.e. how the previous version worked (likely poorly) and how this improves on that. Like all my articles, it will have a practical focus.
What happened before?
If you’re not aware, when you use environment variables in a solution, there’s 2 options – default value and current value. Default value means the content will be retained in all environments you import the solution into and cannot be overridden. Current value can be changes per environment on import (if default isn’t set). That’s how Microsoft advertised it, but it wasn’t how it worked.
In reality, default was fine, but current values could only be set once. After that, on 2nd and further imports, you could never set the variable value again, regardless of the source. So both were effectively acting like default values, but based on the target value not the source. It was very bizarre and made no practical sense, with the only way around it being deployment settings files in DevOps pipelines (highly recommended, with a 4 part series recently published, hint hint).
What has changed?
The main detail is in this article from Microsoft. I’m not going to repeat it here and pass it off as my own. You will see that they have now allowed the ability the set the current value of the variable, regardless if anything is set in the source environment. This is massive when you’re importing manually and should have been the behaviour all along.
I have tested this with a current value set and on 1st import, it uses that value, but allows you to edit it. One thing that’s not mentioned in the article, is if you do change it, a button appears for “reset”. On subsequent imports, it has the value you have set in the target environment, which is excellent as you have no risk of setting it incorrectly.
My second test was having a default and current value set in the source environment. This doesn’t seem to make any difference and behaves the same as above during import. However, after import the value is actually set to the default. This is what you would expect, but is very confusing as it is letting you set the current.
My final test was a default set, current not. This showed exactly the same as the 2nd test.
Summary/Next…
Ultimately, this is a massive improvement and if anyone from the MS product team read this, well done, it will be very useful to people. Sadly, due to the very odd default value behaviours, it’s a little 2 steps 1 back situation. Still, we’ll take what we can get.
Next time I’ll have another small news item about the new cloud flow editor, covering the key differences I’ve found day to day.
0 Comments