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.
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.