Solutions—The Glue, the Guardrails, and the Occasional Nightmare

Iain ConnollyDyn365CE10 months ago22 Views

Welcome back to Nevermore Technology’s grand ALM adventure. We’ve covered the what of ALM and how Nevermore uses a four-tier environment strategy to keep things civilised.

Now we’re cracking open the real magic of the Power Platform: Solutions.

They’re powerful. They’re necessary. And they’ll absolutely ruin your weekend if you don’t treat them right.

What Are Solutions Anyway?

In Power Platform, a solution is a container for your apps, flows, tables, components, and (very often) your mistakes.

They’re the mechanism that lets you package up customisations, move them across environments, and apply updates in a structured way. Think of them as the zip file of your business logic—only with a lot more layers.

Solutions come in two forms:

  • Unmanaged: Your editable working copy, used in development
  • Managed: The locked-down version, used in Test, Pre-Prod, and Production

The Nevermore Strategy: Manage It Like You Mean It

At Nevermore, no one builds directly into the Default Solution unless they’re actively trying to get sacked.

Each team has their own dedicated unmanaged solution in the Dev environment. Once work is completed, the solution is exported as managed and pushed through the pipeline.

This does three important things:

  1. Prevents rogue changes from sneaking in
  2. Makes every deployment traceable
  3. Lets you roll back updates cleanly (without performing a ritual)


Managed vs Unmanaged: It’s Not Just a Checkbox

Let’s get this straight:

UnmanagedManaged
Editable?YesNo (and that’s the point)
For Dev?AbsolutelyNo, unless you enjoy chaos
For Prod?Never, ever (seriously)Yes, 100%
Rollback?AwkwardStructured (if you’ve done it right)

When you install a managed solution, it sits on top of your environment like a tidy little layer of control. Until you try to uninstall it and realise there’s a sneaky dependency. But we’ll get to that in another blog.

For now, just remember: build unmanaged, deploy managed.


Solution Layering: A Stack of Problems (If You Ignore It)

Every time you install a solution, update a component, or patch something “just quickly,” you’re adding another solution layer. These layers are stacked inside Dataverse, and they control how components behave at runtime.

The golden rule? Last one in wins. Unless it’s a form, in which case merge logic applies and your tabs may end up in Narnia.

[Placeholder for Image: Diagram of layering: System > Base Managed > Patch > Upgrade > Unmanaged]

That’s why Nevermore avoids using clone solutions or patch chains longer than your granny’s shopping list. Instead, they treat each release as a versioned, managed solution, with changes tracked in source control.

If a component gets too spicy, they create a clean new solution, repackage, and re-deploy. No Frankenstein layering allowed.


Segmenting Solutions: Keep It Tidy

One of the best things Nevermore did was to adopt segmented solutions. That means splitting apps, flows, and data models into functional blocks—like:

  • SalesApp-Core
  • SalesApp-Flows
  • SalesApp-Reports

This means smaller, focused solutions that are easier to manage, test, and deploy.

More info here: Segmented Solutions

[Placeholder for Image: Screenshot of the “Add Existing” screen in Power Apps showing segmented selection]


Default Solution? Just Don’t.

If you’re still building in the Common Data Service Default Solution, stop what you’re doing, go outside, and have a word with yourself.

It’s tempting. It’s there. It works. And it will betray you the minute you try to export anything or run a pipeline.

Set a preferred solution, create a publisher with a proper prefix, and keep your components in something you control.

Nevermore’s publisher is nvrmr_, which is far better than cr8a3_, new_, or the always charming zzz_.


And About Those Dependencies…

Solutions track dependencies between components. If App A relies on Table B, and Table B comes from another solution, then uninstalling Table B will throw a fit.

Nevermore’s golden rule: never delete a component without checking its dependencies first. Use the “Show Dependencies” option in Power Apps like it’s your best mate.

More on this when we dive into dependency hell in a future blog. Spoiler: it involves workflows, model-driven apps, and mild panic.


TL;DR – Your Solution Strategy Needs a Strategy

To wrap it up:

  • Build in unmanaged, deploy as managed
  • Use a single publisher across all solutions
  • Segment where possible
  • Avoid solution layering spaghetti
  • And for the love of all that is maintainable, stay out of the Default Solution

Next Up: Canvas App Mayhem—Managing 50+ Apps Without Losing the Plot

In Blog 4, we’ll walk through how Nevermore handles over 50 canvas apps—how they group them, test them, push updates, and avoid the dreaded “Who changed this?!” moment.

Spoiler: it’s not by using Excel and memory.

0 Votes: 0 Upvotes, 0 Downvotes (0 Points)

Leave a reply

Follow
Sign In/Sign Up Sidebar Search
Popular Now
Loading

Signing-in 3 seconds...

Signing-up 3 seconds...