cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
ravdemo
Frequent Visitor

Solution import export

Which is a best practice of customization: do we need to import solution into sandbox environment as an unmanaged solution from production environment and then after export as a managed to production environment? Should a clone to patch and clone a solution is better option? will all the records created by a user in production during our time in customization and upgrade to newer managed solution will be lost or will stay?? Thank you 

2 ACCEPTED SOLUTIONS

Accepted Solutions
Pstork1
Most Valuable Professional
Most Valuable Professional

The best practice would be to develop the Solution in a Developer or Sandbox environment to begin with. then when ready to deploy to production export the solution as a managed solution and import it into Production. If you want you can also import it into a test or QA environment before importing to production.  If you already developed it in production then export it as an unmanaged solution and import it to a developer environment. After making changes delete the solution from the production environment and import a managed solution back to production. The unmanaged solution should remain in dev.



-------------------------------------------------------------------------
If I have answered your question, please mark your post as Solved.
If you like my response, please give it a Thumbs Up.

View solution in original post

parvezghumra
Super User
Super User

@ravdemo Best practice states that all customisations should be made within an unmanaged solution in the dev environment, this should then be exported as managed and imported into non-development (ie. test and Production) environments.

 

Patches are no longer recommended for use by Microsoft. They were originally introduced into the solution framework in order to optimise the deployment experience. But now that they have significantly improved the performance of managed solution deployment and because patches introduce unnecessary complexity, their use is no longer recommended.

 

The upgrade of a managed solution in a non-development environment can only result in the loss of data when the new version removes any schema (tables, columns, relationships). For example, if a table component is removed in the new version of the solution, the upgrade will result in the deletion of all data in that table in the target environment. Likewise, if a column is removed in the new version, the upgrade will result in the deletion of all data in that column in the target environment.



Parvez Ghumra, XRM Solutions UK
Microsoft Power Platform | Dynamics 365 CE/CRM | Azure - Developer | Technical Consultant | Technical Architect
Power Apps Community Super User | Blogger

If this response helped you in any way, please give kudos by clicking the 'Thumbs Up'/'Like' button and/or marking it as an 'Accepted Solution'. This helps others by providing a quick way to identify likely solutions to their issues.

Also, for more useful content, please free to add me as a friend on this forum, follow my blog, follow me on Twitter and connect with me on LinkedIn

View solution in original post

10 REPLIES 10
Pstork1
Most Valuable Professional
Most Valuable Professional

The best practice would be to develop the Solution in a Developer or Sandbox environment to begin with. then when ready to deploy to production export the solution as a managed solution and import it into Production. If you want you can also import it into a test or QA environment before importing to production.  If you already developed it in production then export it as an unmanaged solution and import it to a developer environment. After making changes delete the solution from the production environment and import a managed solution back to production. The unmanaged solution should remain in dev.



-------------------------------------------------------------------------
If I have answered your question, please mark your post as Solved.
If you like my response, please give it a Thumbs Up.
parvezghumra
Super User
Super User

@ravdemo Best practice states that all customisations should be made within an unmanaged solution in the dev environment, this should then be exported as managed and imported into non-development (ie. test and Production) environments.

 

Patches are no longer recommended for use by Microsoft. They were originally introduced into the solution framework in order to optimise the deployment experience. But now that they have significantly improved the performance of managed solution deployment and because patches introduce unnecessary complexity, their use is no longer recommended.

 

The upgrade of a managed solution in a non-development environment can only result in the loss of data when the new version removes any schema (tables, columns, relationships). For example, if a table component is removed in the new version of the solution, the upgrade will result in the deletion of all data in that table in the target environment. Likewise, if a column is removed in the new version, the upgrade will result in the deletion of all data in that column in the target environment.



Parvez Ghumra, XRM Solutions UK
Microsoft Power Platform | Dynamics 365 CE/CRM | Azure - Developer | Technical Consultant | Technical Architect
Power Apps Community Super User | Blogger

If this response helped you in any way, please give kudos by clicking the 'Thumbs Up'/'Like' button and/or marking it as an 'Accepted Solution'. This helps others by providing a quick way to identify likely solutions to their issues.

Also, for more useful content, please free to add me as a friend on this forum, follow my blog, follow me on Twitter and connect with me on LinkedIn

johnnylo
Frequent Visitor

I followed the dev environment first approach and imported my canvas app as managed solution into default environment.  After import, there is connector configuration error when running the app in the default environment.  Posts on forums and docs on microsoft (at least those that I manage to find) suggest to edit the connector references, which I am unable to do on the solution in the default environment.  The Edit option is tinted.  I can however edit the app directly and publish it.  But the same errors persist.  I believe the fix is to edit the solution?  What permission am I missing?  I will be sharing this app with a few other users.  I had make sure they have read access to the flows involved in

the same environment and read access to the PowerBI dataset that one of the flows uses.

 

Velegandla
Impactful Individual
Impactful Individual

@johnnylo 

 

I followed the dev environment first approach and imported my canvas app as managed solution into default environment. 

Recommend you to move your solutions from Dev environment to a dedicated Prod environment not to a default environment.

 

After import, there is connector configuration error when running the app in the default environment.  Posts on forums and docs on microsoft (at least those that I manage to find) suggest to edit the connector references, which I am unable to do on the solution in the default environment.

Ideally you don't have to edit the connection references. Can you post the error the message here?

 

You should try to fix it in Development environment. 

 

Last option you could try: All artefacts (including connection references) of solutions will be available in "default solution" and you can edit the reference from here.

Velegandla_0-1707861805664.png

 

I will be sharing this app with a few other users.  I had make sure they have read access to the flows involved in the same environment and read access to the PowerBI dataset that one of the flows uses.

You can share the apps and Power BI dashboard. No need to share the flows with users unless they need to manage those as owners. There is no read access to flows.

 

====================================================

If this response helped you in any way, please give kudos by clicking the 'Thumbs Up'/'Like' button and/or marking it as an 'Accepted Solution'. This helps others by providing a quick way to identify likely solutions to their issues.

https://www.linkedin.com/in/devendravelegandla/ 

johnnylo
Frequent Visitor

@Velegandla Thank you for your respond.  Yesterday afternoon, for some magical reason, everything works as it expected.  Someone told me sometimes there is lag time on Azure.   How can we checke that status during development and deployment?

 

About read access to flows.  In PowerApps navigatioin > Solution, then in my solution object list, in Detail of a flow objects, there is a Run only users setting.  I had this set to the user I want to give access to on all the flow.  That is now removed.  Could removing this setting the reason why there is no Connection not configured error?  I wish I had the exact wording of the error while it was still occuring.

This is the flow detail page where it contains a Run only users setting

johnnylo_0-1707932705868.png

 

Velegandla
Impactful Individual
Impactful Individual

@johnnylo 

You can check the Azure status using the link https://azure.status.microsoft/en-us/status .

 

Add it to your deployment checklist.

 

Run only User feature in Power Automate:

You can use this feature to run the flows based on one account rather than the user's account triggering the flows. This has nothing to do with access to the flow.

 

This setting will be used if you elevate the privileges and perform actions for users. 

 

====================================================

If this response helped you in any way, please give kudos by clicking the 'Thumbs Up'/'Like' button and/or marking it as an 'Accepted Solution'. This helps others by providing a quick way to identify likely solutions to their issues.

https://www.linkedin.com/in/devendravelegandla/ 

 

ON-Eagle
Frequent Visitor

Jump in a quick question for @parvezghumra : "Patches are no longer recommended for use by Microsoft. They were originally introduced into the solution framework in order to optimise the deployment experience. But now that they have significantly improved the performance of managed solution deployment and because patches introduce unnecessary complexity, their use is no longer recommended."

 

so if we have only a minor change in dev, e.g. change a table main Form, and we want to deploy this to production env, what should we do if not to used the solution patch? right now we create a temporary solution, e.g. App_name_bugfix, and add the modified Form component to it, then export/import this  temporary solution to prod. at some point later ( after a major development ), we deploy the main solution to prod, which already contains the changes in the temporary solution "App_name_bugfix", then after the deployment, we delete the temporary solution in prod. Is this a good practice? if not, what's the method to deploy minor changes to prod? as we don't want to deploy the main solution everytime for a bug fix. Thank you! 

@ON-Eagle Apologies for the delayed response.

 

The approach you have described is valid. The only thing you need to be careful about with this approach is to ensure that the objects included in your 'temporary' solution do not contain any changes or objects that are not ready for deployment.

 

Ideally, if you have adopted a fully source control centric approach, you could branch your code base based on the build that is in the Production environment. This branch can act as your maintenance/hotfix stream and can then be used to spin up a corresponding development environment for you to make your bug fix in. You can then deploy the entire solution from this environment confidently as you know that the delta between the Production environment and this solution you are exporting from this environment is just the change you have made for this bug fix. This approach can be a lot of overhead though.

 

I'm curious as to why you don't wish to deploy the entire solution though. If it's due to the time it takes to deploy the managed solution, there are a couple of other things you should consider:

1. Try to remove any bloat from your solution to reduce it's size and complexity. Generally solutions should only contain custom objects or objects you have customised. Sometimes creating relationships with managed tables can cause the platform to bring in the entire target table including all assets into your solution without you knowing. Use the 'Solution Table Integrity Manager' tool from the XrmToolBox to identify such problems and resolve them. This will help reduce the size of your solution

2. Consider breaking up your solution into smaller ones. This can give you more granular control over the deployment cadence of the solution. Be careful of any dependency issues this may cause though.

3. Use the 'Update' option and don't use the 'Overwrite unmanaged customisations' or 'Convert to Managed' options. This will significantly reduce your managed solution import times. These should be your default configuration for regular managed solution imports, but then every once in a while I would recommend doing a managed solution import using the 'Upgrade' option with 'Overwrite unmanaged customsations' checked - this will ensure your environment is clear of any deprecated objects and isn't littered with unmanaged changes.



Parvez Ghumra, XRM Solutions UK
Microsoft Power Platform | Dynamics 365 CE/CRM | Azure - Developer | Technical Consultant | Technical Architect
Power Apps Community Super User | Blogger

If this response helped you in any way, please give kudos by clicking the 'Thumbs Up'/'Like' button and/or marking it as an 'Accepted Solution'. This helps others by providing a quick way to identify likely solutions to their issues.

Also, for more useful content, please free to add me as a friend on this forum, follow my blog, follow me on Twitter and connect with me on LinkedIn

Helpful resources

Announcements

Celebrating the May Super User of the Month: Laurens Martens

  @LaurensM  is an exceptional contributor to the Power Platform Community. Super Users like Laurens inspire others through their example, encouragement, and active participation. We are excited to celebrated Laurens as our Super User of the Month for May 2024.   Consistent Engagement:  He consistently engages with the community by answering forum questions, sharing insights, and providing solutions. Laurens dedication helps other users find answers and overcome challenges.   Community Expertise: As a Super User, Laurens plays a crucial role in maintaining a knowledge sharing environment. Always ensuring a positive experience for everyone.   Leadership: He shares valuable insights on community growth, engagement, and future trends. Their contributions help shape the Power Platform Community.   Congratulations, Laurens Martens, for your outstanding work! Keep inspiring others and making a difference in the community!   Keep up the fantastic work!        

Check out the Copilot Studio Cookbook today!

We are excited to announce our new Copilot Cookbook Gallery in the Copilot Studio Community. We can't wait for you to share your expertise and your experience!    Join us for an amazing opportunity where you'll be one of the first to contribute to the Copilot Cookbook—your ultimate guide to mastering Microsoft Copilot. Whether you're seeking inspiration or grappling with a challenge while crafting apps, you probably already know that Copilot Cookbook is your reliable assistant, offering a wealth of tips and tricks at your fingertips--and we want you to add your expertise. What can you "cook" up?   Click this link to get started: https://aka.ms/CS_Copilot_Cookbook_Gallery   Don't miss out on this exclusive opportunity to be one of the first in the Community to share your app creation journey with Copilot. We'll be announcing a Cookbook Challenge very soon and want to make sure you one of the first "cooks" in the kitchen.   Don't miss your moment--start submitting in the Copilot Cookbook Gallery today!     Thank you,  Engagement Team

Announcing Power Apps Copilot Cookbook Gallery

We are excited to share that the all-new Copilot Cookbook Gallery for Power Apps is now available in the Power Apps Community, full of tips and tricks on how to best use Microsoft Copilot as you develop and create in Power Apps. The new Copilot Cookbook is your go-to resource when you need inspiration--or when you're stuck--and aren't sure how to best partner with Copilot while creating apps.   Whether you're looking for the best prompts or just want to know about responsible AI use, visit Copilot Cookbook for regular updates you can rely on--while also serving up some of your greatest tips and tricks for the Community. Check Out the new Copilot Cookbook for Power Apps today: Copilot Cookbook - Power Platform Community.  We can't wait to see what you "cook" up!      

Tuesday Tip | How to Report Spam in Our Community

It's time for another TUESDAY TIPS, your weekly connection with the most insightful tips and tricks that empower both newcomers and veterans in the Power Platform Community! Every Tuesday, we bring you a curated selection of the finest advice, distilled from the resources and tools in the Community. Whether you’re a seasoned member or just getting started, Tuesday Tips are the perfect compass guiding you across the dynamic landscape of the Power Platform Community.   As our community family expands each week, we revisit our essential tools, tips, and tricks to ensure you’re well-versed in the community’s pulse. Keep an eye on the News & Announcements for your weekly Tuesday Tips—you never know what you may learn!   Today's Tip: How to Report Spam in Our Community We strive to maintain a professional and helpful community, and part of that effort involves keeping our platform free of spam. If you encounter a post that you believe is spam, please follow these steps to report it: Locate the Post: Find the post in question within the community.Kebab Menu: Click on the "Kebab" menu | 3 Dots, on the top right of the post.Report Inappropriate Content: Select "Report Inappropriate Content" from the menu.Submit Report: Fill out any necessary details on the form and submit your report.   Our community team will review the report and take appropriate action to ensure our community remains a valuable resource for everyone.   Thank you for helping us keep the community clean and useful!

Community Roundup: A Look Back at Our Last 10 Tuesday Tips

As we continue to grow and learn together, it's important to reflect on the valuable insights we've shared. For today's #TuesdayTip, we're excited to take a moment to look back at the last 10 tips we've shared in case you missed any or want to revisit them. Thanks for your incredible support for this series--we're so glad it was able to help so many of you navigate your community experience!   Getting Started in the Community An overview of everything you need to know about navigating the community on one page!  Community Links: ○ Power Apps ○ Power Automate  ○ Power Pages  ○ Copilot Studio    Community Ranks and YOU Have you ever wondered how your fellow community members ascend the ranks within our community? We explain everything about ranks and how to achieve points so you can climb up in the rankings! Community Links: ○ Power Apps ○ Power Automate  ○ Power Pages  ○ Copilot Studio    Powering Up Your Community Profile Your Community User Profile is how the Community knows you--so it's essential that it works the way you need it to! From changing your username to updating contact information, this Knowledge Base Article is your best resource for powering up your profile. Community Links: ○ Power Apps ○ Power Automate  ○ Power Pages  ○ Copilot Studio    Community Blogs--A Great Place to Start There's so much you'll discover in the Community Blogs, and we hope you'll check them out today!  Community Links: ○ Power Apps ○ Power Automate  ○ Power Pages  ○ Copilot Studio    Unlocking Community Achievements and Earning Badges Across the Communities, you'll see badges on users profile that recognize and reward their engagement and contributions. Check out some details on Community badges--and find out more in the detailed link at the end of the article! Community Links: ○ Power Apps  ○ Power Automate  ○ Power Pages  ○ Copilot Studio    Blogging in the Community Interested in blogging? Everything you need to know on writing blogs in our four communities! Get started blogging across the Power Platform communities today! Community Links: ○ Power Apps  ○ Power Automate  ○ Power Pages  ○ Copilot Studio   Subscriptions & Notifications We don't want you to miss a thing in the community! Read all about how to subscribe to sections of our forums and how to setup your notifications! Community Links: ○ Power Apps  ○ Power Automate  ○ Power Pages  ○ Copilot Studio   Getting Started with Private Messages & Macros Do you want to enhance your communication in the Community and streamline your interactions? One of the best ways to do this is to ensure you are using Private Messaging--and the ever-handy macros that are available to you as a Community member! Community Links: ○ Power Apps  ○ Power Automate  ○ Power Pages  ○ Copilot Studio   Community User Groups Learn everything about being part of, starting, or leading a User Group in the Power Platform Community. Community Links: ○ Power Apps  ○ Power Automate  ○ Power Pages  ○ Copilot Studio   Update Your Community Profile Today! Keep your community profile up to date which is essential for staying connected and engaged with the community. Community Links: ○ Power Apps  ○ Power Automate  ○ Power Pages  ○ Copilot Studio   Thank you for being an integral part of our journey.   Here's to many more Tuesday Tips as we pave the way for a brighter, more connected future! As always, watch the News & Announcements for the next set of tips, coming soon!

Hear what's next for the Power Up Program

Hear from Principal Program Manager, Dimpi Gandhi, to discover the latest enhancements to the Microsoft #PowerUpProgram, including a new accelerated video-based curriculum crafted with the expertise of Microsoft MVPs, Rory Neary and Charlie Phipps-Bennett. If you’d like to hear what’s coming next, click the link below to sign up today! https://aka.ms/PowerUp  

Users online (3,261)