Loading...

Everything as Code - ALM with Canvas Apps

Everything as Code - ALM with Canvas Apps

With the recent experimental announcement of the PowerApps Solution Packager, we now have a much better way of managing Canvas Apps in your source code repository. This moves us much closer to a better ALM story for the whole of the Power Platform so that my top 3 principles can be followed:

  1. Everything as code – The single point of truth for all artifacts (solution metadata, apps, code, data, versioning, releases) should be under source control.
  2. Environments as cattle, not pets – When the entire solution is under source control, environments can be built and deleted for specific purposes – e.g. features, experiments, testing. I wrote a recent post on this.
  3. Define your Branching Strategy – A branching strategy is defined as describing how features/releases are represented as branches. Each time a new feature (or group of linked features) is worked on, it should happen in a source code branch. Code can be merged between each branch when ready to be integrated, built and released. Branches normally would have an associated PowerPlatform environment to allow you to work in parallel to other changes without the risk of introducing changes that should not be released. The gitflow branching strategy is a great starting point to use.

The Power Apps Solution Packager (pasopa) brings us closer to the 'everything as code' mantra - by unpacking a Canvas App into source code files that allow you to merge in changes from other branches and then re-pack. Eventually, this will make its way into the Power Apps CLI and Solution Packager.

Here are a couple of videos I've done on the subject of the PowerApps Solution Packager:

 

 

 

Published on:

Learn more
Develop 1 - Dynamics 365 Architecture Services
Develop 1 - Dynamics 365 Architecture Services

Share post:

Related posts

New quality updates to modern controls in canvas apps

This release delivers quality and reliability improvements across nine modern controls in canvas apps, including Combo Box, Text Input, and Da...

2 days ago

How to change the attachment on a note in canvas apps

Changing the attachment of a note is super easy in a model-driven app, not so much in a canvas app. Learn how to do it! The post How to change...

15 days ago

How to add a title and description when uploading an attachment in canvas apps

Uploading attachments through model-driven apps allows you to specify title & description but canvas app doesn't. Learn how you can! The...

16 days ago

How to work with Dataverse Attachments in canvas apps

Learn how to work with the Attachments Dataverse table in canvas apps. We will review how to create, delete, and view existing attachments! Th...

17 days ago

How to work with Dataverse Notes in canvas apps

Learn how to work with the Notes Dataverse table in canvas apps. We will review how to create, edit, delete, and view existing notes! The post...

17 days ago

Best Practices: Canvas Apps & Power Pages Integration

Golden Rule:Canvas Apps are NOT designed for external users. Power Pages is.Most best practices focus on when to avoid integration and how to ...

19 days ago

Integrating Canvas Apps into Power Pages

Step-by-Step Guide & Limitations Overview Power Pages and Canvas Apps solve different problems: However, in some scenarios, you may want t...

23 days ago

5 Dataverse Date Fields and the Date Picker in Canvas Apps

Within Dataverse we can configure date fields in 5 different ways. When we use these fields in a Power Apps Canvas App they will behave slight...

29 days ago

Generating and Sharing Screen in PDFs from D365 Sales Using Canvas Apps

In many Dynamics 365 Sales implementations, sales users need a simple and intuitive way to preview a quote, generate a PDF, and share it with ...

1 month ago

Power Apps – Deprecation of Preview Copilot Controls in Canvas Apps

Starting on February 2, 2026, the following preview Copilot features in Power Apps Canvas Apps will be removed: Copilot Control: Add a Copilot...

1 month ago
Stay up to date with latest Microsoft Dynamics 365 and Power Platform news!
* Yes, I agree to the privacy policy