Let’s cover the tools available when creating and managing PowerApps. We’ll begin with design tools and transition to what Microsoft provides.
Part one of a series.
PowerApps Development Tools
If you’re reading this, either you’re interested in PowerApps, or one of your business users has created a PowerApp that is now critical to the company and thrown at you to manage. Either way, it’s time to get comfortable with managing these apps!
PowerApps Design Studio (Web and App Versions)
So, I was originally going to compare and contrast the differences in using the app version or the web version of the PowerApps Design Studio, and then Microsoft went ahead and deprecated the app version. Probably because it was a memory hog, and they realized that web performance provided a better experience, especially for very complex PowerApps.
I’m not going to dive into how to design a PowerApp with Design Studio, but it’s important to understand that all development and management of PowerApps should be performed through the web version from now on.
In PowerApps, you have the ability to segregate your PowerApps, connections and data policies into different environments. The environments are containers that wall off environments from each other. For example, if you have a development environment and a production environment, you can create PowerApps and connections with the same names.
But the PowerApps and connections have no knowledge of ones in the other environment. This makes it easy to develop in one environment, and then promote to another environment without having to make too many changes.
With data policies, you can create environments to apply distinct policies to. You can also allow users to use business data depending on the environment they have access to.
Every time you save a PowerApp, it creates a new version of that PowerApp. I know because I make mistakes like this all the time. With versioning, it’s easy to roll back to a previous version with a button click.
This also can come in handy when the underlying PowerApps platform is upgraded. For example, lets say you make a bunch of changes to your PowerApp on Friday. On Saturday, Microsoft upgrades the PowerApps platform. When you edit the PowerApp on Monday, PowerApps automatically upgrades your app to the latest version, which you save and publish.
Users then begin to complain of an issue that was introduced by that PowerApps platform upgrade. With versioning, you can also roll your PowerApp back to the last good version, on the specific version of PowerApps you know was working.
The ability to import and export PowerApps is an invaluable tool for managing across different environments (and tenants). Export will package up and save your PowerApp (and connections and Flows) into a zip file, which you can then use to create a new PowerApp in a different environment (or update one that is already there).
Manually Editing PowerApps Files (not supported)
Believe it or not, if you’re in a pinch, you CAN actually edit the files PowerApps gives you when a PowerApp is exported.
As far as I know this is NOT supported by Microsoft, and it is a bit tricky to do. But, if you’re adventurous, here’s how you can do it:
- Export your PowerApp. This will save it as a zip file to your local machine.
- Extract the files to a folder. This will extract a manifest.json file and a Microsoft.PowerApps directory.
- In the Microsoft.PowerApps directory, there will be subfolders, where you will eventually find various files. The one you want to focus on is the .msapps file.
- Download 7-Zip. This will allow you to edit a file without removing it from the zip file. This is important, as I haven’t found a way to repackage .msapp files.
- Change the file extension on your .msapp file to .zip.
- Open 7-Zip and then open the newly renamed .zip file.
- Most of the rules, controls, and more that make up your PowerApp are defined in the Entities.josn file. Right-click that file, and click edit. This will open the file up in Notepad. You can copy and paste it into an editor of your choice, but you need to make sure you copy back any changes you make into the same Notepad file you opened.
- Save the Notepad file. When you return to 7-zip, it will ask you if you want to update the file in the archive, click OK.
- Rename the .zip file back to a .msapp file.
- Re-zip the whole package (manifest.json and Microsoft.Powerapps directory).
- Import back into PowerApps.
Congratulations! You just edited a PowerApps JSON file, which you shouldn’t really do – unless you need to make bulk wholesale changes throughout a PowerApp. (For example, I wanted to change how a variable was defined, and it was much easier and faster to do a find and replace in Notepad rather than changing it in the designer.)
The next installment will cover the type of planning and guidance that can help make your PowerApps journey successful.