I am playing around with Solution Layering and Solution Segmentation in the Power Platform.
Let me set the stage.
I have an environment called AdventureWorks - Core
.
In this environment, I have the following solutions:
AdventureWorks Solution (Core)
– contains the Dataverse Tables, Choices and Data flows.AdventureWorks Solution (Flows)
– contains the Flows that update additional fields in the Dataverse Tables.AdventureWorks Solution (Security)
– contains the Security Roles for the Dataverse Tables.AdventureWorks Solution (Publisher)
– contains the Publisher information, I export this as an unmanaged solution and then import it into every environment so I can create a consistency in my Publisher information.
I have another environment called AdventureWorks - Dev
.
In this environment, I have imported the previous solutions, as managed, excepted for the AdventureWorks Solution (Publisher)
, that was imported as unmanaged.
I added another solution called AdventureWorks Solution (Universal App)
, which will contain my Model-Driven App, along with any Form or View customizations.
Fast forward.⏩
Everything was working fine.
I wanted to turn on auditing for my Tables, so I went back to my Core
environment, made the necessary changes, did an export from my Core
environment and then an import into my Dev
environment, and then took a peek to see if the changes were applied.
Something didn’t look right, all my other Tables had been updated, except for the SalesLT Address
. 🤔
Auditing was still disabled on this Table.
I did several more exports and imports with the same result. ☹️
Still nothing.
I was starting to get frustrated. 😤
It was late in the day, so I decided to just hang it up for the day and revisit it the next morning – this always seems to work for me.
Fast forward … again.⏩
In my Dev
environment, I took a look at the Solution Layers for my SalesLT Address
in the AdventureWorks Solution (Core)
I was curious to see what they looked like.
And that is when I saw the problem!💡
Seems like I had messed something up and added a customization for that Table in my Flows
solution.
I navigated back to my Core
environment, removed and then added back the SalesLT Address
Table to my AdventureWorks Solution (Core)
Solution.
I again exported the Solution from my Core
environment and then imported the Solution into my Dev
environment.
I navigated back to the Solution Layers, and was glad to see that Solution Layer for the Flows
was no longer there. 😊
That did the trick! 🪄
While Solution Layering and Solution Segmentation are great practices for complex applications, this is just a reminder that they can come back to bite you if you are not careful.
As always, appreciate any feedback or comments.
Discover more from Matt Ruma
Subscribe to get the latest posts sent to your email.