No more Export as Unmanaged

Ever since “CRM 2011” Microsoft has been pushing the message that we should have unmanaged solutions only in Development environments. That message is being emphasized even more as we walk into the new Power Platform era.
Ideas have been raised that one day we might not be allowed to import unmanaged solutions to an environment that is not explicitly tagged for Development.

I would suggest completely removing the possibility to export solutions as unmanaged.

Remove the possibility to manually export unmanaged solutions.

There is a clear ambition from the platform team to provide the tools and features we need to implement a really solid ALM story, including Visual Studio (and hopefully also VS Code) extensions with tight integration to Azure DevOps and our Common Data Service environments.
We have already seen that they are opening up the Solution System for any component types without having to explicitly build “solution awareness” into the components themselves. The first new members of the solution family are of course Canvas Apps and Flows. And very recently a number of new implovements to the ALM and automation capabilities for the platform.

Unmanaged solutions have one valid use case – they are required when we are spinning up new development environments. And this one use case could very well be handled by AzDO (or other repository / automation systems) features for extracting development solutions from source environments, possibly even completely abstracting away the whole concept of unmanaged solutions by unpacking the artifacts under the hood into the structure of xml fragments we use to get useful versioning of our customizations.

So we really shouldn’t need unmanaged solutions.

Of course all features required to perform these actions must be exposed in the SDK, since the SDK is the one and only way to interact with the CDS backend. So technically it would still be possible to export the development solutions, if you just write the code to do it.

We should deliver through solutions.
We should get our deliveries under control.
Why not go all the way and make sure we follow best practice?

I hope we are going to see a semi-near future where the whole process of “export unmanaged, extract with Solution Packager, update the repository” are integrated features of the Power Platform and Azure DevOps.

There is no longer any need for the possibility to do manual (or automated!) export of unmanaged solutions.

Okay, I already hear Gus Gonzalez screaming all the way across the Atlantic Ocean. I hear you.

This should of course come with an opt in policy. You can continue to deliver in a rogue partner shoot from the hip fashion, many customers love the idea of being “super agile” and accept they don’t really have control of their delivery cycles.

But if this proposed change would see the light of day, I sure would want to go on the opt-in path.

5 thoughts on “No more Export as Unmanaged

  1. What about smaller customers or citizen developers who do not have a ProDev alm process?

    1. I would LOVE to see the AzDO integration being made so simple that it wouldn’t be much harder than the clicks required to manually export unmanaged today, including keeping a repository updated etc.
      But I guess there will always be a space for the ones that will not opt in to the structured path. And my guess is even if MS would actually do something like I wrote above, they would never shut the door on the ones wanting to continue unmanaged.

  2. I can’t wait to read your Gus Gonzalez-style “Top 10 Benefits of Managed Solutions”. I haven’t found one yet. I’ve been criticised by Microsoft engineers for using unmanaged solutions but those same engineers couldn’t explain one single benefit of managed solutions. C’mon, Jonas! Sell me managed solutions!

    1. Sorry Neil, I really can’t sell their best practice.
      But assuming MS continues to pursue it and want to “help” us deliver according to it, this is a suggestion that I think would make sense.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.