cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Django
Impactful Individual
Impactful Individual

Updating Environment Variables in Managed Solution

Documentation (Use environment variables in solutions - Power Apps | Microsoft Docs) states that we should remove Current Value of Environment Variables before exporting an Unmanaged Solution to a Managed Solution --> this will provide a popup during Managed Solution Import to enter the Environment Variable.

 

How can an Environment Variable Current Value be updated after import?

  1. In the Modern Interface it states 
    This environment variable definition cannot be edited because it is in a managed solution.
  2. In the CDS Data / Dataverse Table it states
    You do not have permission to access these records. Contact your Microsoft Dynamics 365 administrator for help.

I also mentioned this to the Center Of Excellence Starter Kit creators because there I see that Environment Variable Current Values behave in the same way when trying to update existing Environment Variable Values: [BUG]: Edit Environment variable from managed solution · Issue #591 · microsoft/powerapps-tools (git...

 

Anyh other ways that we can edit the values of these variables when imported as Managed Solution?

62 REPLIES 62
Anonymous
Not applicable

@Django  Thanks for responding.

I have tried the first option which seems to update the variable fine. When i edit the app in the maker experience it points to the correct value aka the current value. But the user experience still points toward the wrong datasource.

 

maker experiencemaker experienceuser experienceuser experienceVariableVariable

 

 

Django
Impactful Individual
Impactful Individual

I see now!

Data sources as an Environment Variable need to be considered a special type of Environment Variable... I do not have a lot of experience in using Data Source Environment Variable in Canvas Apps.

See Use environment variables in solutions - Power Apps | Microsoft Docs. Especially the Current Limitation section at the bottom because there are few limitations when it comes to SPO:

Django_0-1655896456238.png

I suggest you log a ticket with Microsoft if it does not behave as expected.

 

Just to be sure: if you are using Environment Variables in your Canvas App you should not edit the Canvas App in the target environment to change the source right? This can create an Unmanaged Layer around your Canvas App making it "ignore" changes you make to a Data Source Environment Variable. If this does not make any sense to you: investigate more on the purpose of environment variables and power platform solutions before using this.

 

A few checks:

  1. In your screenshot it states Test2 as Current Value of your Data Source Environment Variable.
    How did you achieve this?
  2. Some assumptions:
    1. You have an (development?) Environment where you created a Power Platform Solution that contains a Canvas App and a SharePoint Data Source Environment Variable.
    2. In this DEVenvironment you are referencing the SharePoint Data Source Environment Variable to the Test list.
    3. You have another (production) Environment where you imported the Power Platform and referenced the SharePoint Data Source Environment Variable to the Test2 list.

Issue:

  1. The Canvas App in PRDenvironment when playing the app is still referencing the Test list??
    1. Verify that you do not have an accidentally created Unmanaged Layer in PRDenvironment over your Canvas App.
      (it is best to not open the Power Apps Studio in your PRDenvironment because you should only edit it in the DEVenvironment --> that is the whole purpose of Environment Variables)

Sorry I cannot help into much detail.

I suggest you create an own topic where other experts can help you specific on Canvas Apps and SharePoint Data Source Environment Variables.

Anonymous
Not applicable

@Django 

  1. Imported a solution with environment variables only containing default values(from DEV --> PROD). As you point out the default value references Testsource 1.
  2. In the target environment(prod) I update the variables through the default solution so that the current value is set to Testsource 2.
  3. Expected result is that the app now points toward testsource 2, as the current value is always used if it is present(trumphs default value). As you correctly say one should not edit the managed app, so im not actually making any changes to the app, its just to find out if its a variable error or a canvas app error. The maker responds to the change in the variable, but the player doesnt. Disabling browser cache makes no difference however, when i close the browser and clear all cache, the correct reference will show, so it seems the issue might be a cache issue in the user experience.

I have even tried removing the default value(referencing Testsource 1) from the variable but the player(user experience) still somehow references Testsource 2.

In short, i have found no reliable way where you can make a change to a variable in a managed solution except when importing blank variables for the first time.

 

There are no unmanaged layers.

 

I appreciate all your effort, I will contact MS support to follow up on the issue.

Regards,

J

Disabling browser cache makes no difference however, when i close the browser and clear all cache, the correct reference will show, so it seems the issue might be a cache issue in the user experience.

So clearing the cache works? You just need to clear the cache everytime you change the Current Value?

 

This could be expected because when publishing an App with a newer version, the caching (or designed workings of Canvas Apps) seems to remember the previous version for quite some (CTRL+F5) refreshes / cache clearing before the newest version is loaded.

Anonymous
Not applicable

@Django sometimes it works, sometimes not it seems. It might be as you suggest a version memory thing for the user experience. The maker experience updates right away.

If you want to use environment variables for environment specific data eg. Test-Path vs. Prod-Path, the the way to do this is add the Environment Variables to a second unmanaged solution. These can be published to and edited in every solution independently.

The managed solution can use the environment variables published in the unmanaged solution and will not need any changes when publishing to another environment.

Hi @ThomasWi, I definitely like this as an option but I also think that Environment Variables should be importable as a managed solution so I am less inclined to say that this is "the (only) way".

Whether it is a a separate solution (which I very much like) or part of a bigger / smaller business solution ==> "It depends..." 😁

mjburley
Resolver III
Resolver III

I prefer to have environment variables in a separate solution to the main solution - I find once imported environment variables virtually never need to change, and the amount of times I forget to clear out the current values in dev before pushing to test wastes me hours!

 

Another approach I use if this is not workable (DataVerse for Teams in particular!) is to include a generic instant flow in the solution (managed) which can be run manually, and takes as an input the env variable definition and value, and then the Flow updates the values for you.

 

Its a write once deploy to any solution model which saves so much anguish.

 

I can point to my example Flow if required, using FetchXML to get back the specific env vars from the DataVerse table and then updating them.

 

Another approach I use more and more is for each app to have a config page for app admins, with fields that can be updated and triggered to update the environment variables directly from the app.

Thanks for all the research here - I have the exact same problem.  I've explored your cache suggestion a bit and one thing that works for me is to specifically remove the powerapps.com cached cookies and site data as shown below.  Once I removed all those shown below the correct data sources started showing up...

 

Arkay71_0-1658398227906.png

 

Django
Impactful Individual
Impactful Individual

Another latest update: you ALSO need to remove the Default Value from the Environment Variables to get the prompt during the Solution Import. In my multiple tests of a FIRST solution import, this gave me the modern wizard prompt to update the variables right after the step to update the Connection References with Connections.

Helpful resources

Announcements

Community will be READ ONLY July 16th, 5p PDT -July 22nd

Dear Community Members,   We'd like to let you know of an upcoming change to the community platform: starting July 16th, the platform will transition to a READ ONLY mode until July 22nd.   During this period, members will not be able to Kudo, Comment, or Reply to any posts.   On July 22nd, please be on the lookout for a message sent to the email address registered on your community profile. This email is crucial as it will contain your unique code and link to register for the new platform encompassing all of the communities.   What to Expect in the New Community: A more unified experience where all products, including Power Apps, Power Automate, Copilot Studio, and Power Pages, will be accessible from one community.Community Blogs that you can syndicate and link to for automatic updates. We appreciate your understanding and cooperation during this transition. Stay tuned for the exciting new features and a seamless community experience ahead!

Check Out | 2024 Release Wave 2 Plans for Microsoft Dynamics 365 and Microsoft Power Platform

On July 16, 2024, we published the 2024 release wave 2 plans for Microsoft Dynamics 365 and Microsoft Power Platform. These plans are a compilation of the new capabilities planned to be released between October 2024 to March 2025. This release introduces a wealth of new features designed to enhance customer understanding and improve overall user experience, showcasing our dedication to driving digital transformation for our customers and partners.    The upcoming wave is centered around utilizing advanced AI and Microsoft Copilot technologies to enhance user productivity and streamline operations across diverse business applications. These enhancements include intelligent automation, AI-powered insights, and immersive user experiences that are designed to break down barriers between data, insights, and individuals. Watch a summary of the release highlights.    Discover the latest features that empower organizations to operate more efficiently and adaptively. From AI-driven sales insights and customer service enhancements to predictive analytics in supply chain management and autonomous financial processes, the new capabilities enable businesses to proactively address challenges and capitalize on opportunities.    

Summer of Solutions | Week 3 Results | Win free tickets to the Power Platform Conference

We are excited to announce the Summer of Solutions Challenge!   This challenge is kicking off on Monday, June 17th and will run for (4) weeks.  The challenge is open to all Power Platform (Power Apps, Power Automate, Copilot Studio & Power Pages) community members. We invite you to participate in a quest to provide solutions in the Forums to as many questions as you can. Answers can be provided in all the communities.    Entry Period: This Challenge will consist of four weekly Entry Periods as follows (each an “Entry Period”)   - 12:00 a.m. PT on June 17, 2024 – 11:59 p.m. PT on June 23, 2024 - 12:00 a.m. PT on June 24, 2024 – 11:59 p.m. PT on June 30, 2024 - 12:00 a.m. PT on July 1, 2024 – 11:59 p.m. PT on July 7, 2024 - 12:00 a.m. PT on July 8, 2024 – 11:59 p.m. PT on July 14, 2024   Entries will be eligible for the Entry Period in which they are received and will not carryover to subsequent weekly entry periods.  You must enter into each weekly Entry Period separately.   How to Enter: We invite you to participate in a quest to provide "Accepted Solutions" to as many questions as you can. Answers can be provided in all the communities. Users must provide a solution which can be an “Accepted Solution” in the Forums in all of the communities and there are no limits to the number of “Accepted Solutions” that a member can provide for entries in this challenge, but each entry must be substantially unique and different.    Winner Selection and Prizes: At the end of each week, we will list the top ten (10) Community users which will consist of: 5 Community Members & 5 Super Users and they will advance to the final drawing. We will post each week in the News & Announcements the top 10 Solution providers.  At the end of the challenge, we will add all of the top 10 weekly names and enter them into a random drawing.  Then we will randomly select ten (10) winners (5 Community Members & 5 Super Users) from among all eligible entrants received across all weekly Entry Periods to receive the prize listed below. If a winner declines, we will draw again at random for the next winner.  A user will only be able to win once overall. If they are drawn multiple times, another user will be drawn at random.  Individuals will be contacted before the announcement with the opportunity to claim or deny the prize.  Once all of the winners have been notified, we will post in the News & Announcements of each community with the list of winners.   Each winner will receive one (1) Pass to the Power Platform Conference in Las Vegas, Sep. 18-20, 2024 ($1800 value). NOTE: Prize is for conference attendance only and any other costs such as airfare, lodging, transportation, and food are the sole responsibility of the winner. Tickets are not transferable to any other party or to next year’s event.   ** PLEASE SEE THE ATTACHED RULES for this CHALLENGE**   Week 1 Results: Congratulations to the Week 1 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge. Community MembersNumber of SolutionsSuper UsersNumber of Solutions @anandm08  23 @WarrenBelz  31 @DBO_DV  10 @Amik  19 AmínAA 6 @mmbr1606  12 @rzuber  4 @happyume  7 @Giraldoj  3@ANB 6 (tie)   @SpongYe  6 (tie)     Week 2 Results: Congratulations to the Week 2 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge. Community MembersSolutionsSuper UsersSolutions @anandm08  10@WarrenBelz 25 @DBO_DV  6@mmbr1606 14 @AmínAA 4 @Amik  12 @royg  3 @ANB  10 @AllanDeCastro  2 @SunilPashikanti  5 @Michaelfp  2 @FLMike  5 @eduardo_izzo  2   Meekou 2   @rzuber  2   @Velegandla  2     @PowerPlatform-P  2   @Micaiah  2     Week 3 Results: Congratulations to the Week 3 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge.   Week 3:Community MembersSolutionsSuper UsersSolutionsPower Apps anandm0861WarrenBelz86DBO_DV25Amik66Michaelfp13mmbr160647Giraldoj13FLMike31AmínAA13SpongYe27  

Updates to Transitions in the Power Platform Communities

We're embarking on a journey to enhance your experience by transitioning to a new community platform. Our team has been diligently working to create a fresh community site, leveraging the very Dynamics 365 and Power Platform tools our community advocates for.  We started this journey with transitioning Copilot Studio forums and blogs in June. The move marks the beginning of a new chapter, and we're eager for you to be a part of it. The rest of the Power Platform product sites will be moving over this summer.   Stay tuned for more updates as we get closer to the launch. We can't wait to welcome you to our new community space, designed with you in mind. Let's connect, learn, and grow together.   Here's to new beginnings and endless possibilities!   If you have any questions, observations or concerns throughout this process please go to https://aka.ms/PPCommSupport.   To stay up to date on the latest details of this migration and other important Community updates subscribe to our News and Announcements forums: Copilot Studio, Power Apps, Power Automate, Power Pages

Users online (4,709)