PL-100 Microsoft Power Platform App Maker – Solutions

  1. Describe Dataverse solutions

Hello and welcome to this section all about Solutions. So you can see that I’m in the PowerApps portal, make powerapps. com and I can go to solutions by going to the bottom left hand corner and going to solutions. I can also do this in Power automate. So what are solutions? Well, solutions enable you to transport apps and components from one environment to another. They contain things like sitemaps tables, processes, web resources, flaws and more. Now there are two types of solutions unmanaged solutions and managed solutions. You might also want to call them unlocked and locked. The official name is unmanaged and managed but it gives you a better idea of what the big differences are.

So, unmanaged solutions, these are the unlocked versions and they are used in development environments. Now you can see in the Solutions section, we’ve got all of these solutions and managed externally. And there is a lock and an unlock only on these bottom too. And these are the two default unmanaged solutions. First of all, we have the common data service. So nowadays that would be the data verse default solution. It has a random publisher prefix. Here you can see the publisher prefix is CRE 93. Then we have got the default solution.

This contains all of the components in the system. You may miss a few. For instance, if you create canvas apps outside of solution, they won’t be in the default solution. If I click on all, you can see all the different types of things that can be created. But there aren’t any canvas apps in there at the moment. Now, just to note, the default solution cannot be exported. So we’ll look at exporting solutions later. These two unmanaged solutions use the default publisher and the publisher prefix assigned to the solution. So it’s very much just the defaults.

Now, solutions contain things if an onmany solution is deleted and we’re not saying you’re going to be deleting any of the two default ones, but maybe we’ll create our own and if we would delete it, only the container, only the solution container is deleted. All of the customizations then go into the default solution. So I can have my own unmanaged solution, but if I delete it, I’m not actually deleting any of the components. Now, the alternative to an unmanaged solution is a managed solution. And here you can see managed externally. All of these are managed solutions.

They are used to deploy to other non development environments. So test user acceptance testing or UAT system integration testing, sit and production. You can see right at the top, you cannot directly edit the components within a managed solution. So you can edit them from another unmanaged solution, but only if they are set to allow customization. We’ll have a look at that later. So, managed solutions, you might also think of them as controlled. They should be generated by exporting an unmanned solution and then just saying this is going to be managed so components cannot be directly edited, you can add them to an unmanaged solution.

Now, if you do that, then that creates a dependency, managed solutions where the dependency cannot be uninstalled. So you might want to avoid that if you can. Now, you might find that you can customize some elements, some components of managed solutions. And you can see that by clicking on the dot, dot, dot next to the component and going to managed properties. And you can see here things that you could have allowed to be customized.

So can you allow any customizations? Can you change the display name, additional properties? Can new forms, charts or views be created? Can you change a hierarchical relationship? Can change tracking be enabled? And can you enable sync to an external search index? All of those. When you create your own managed solution, you could allow to be added. So in other words, you could allow somebody to add their own view to a managed solution component. Now, managed solutions cannot be exported, they can only be deleted.

Now, when a managed solution is deleted, it deletes not just the container, but all of the components. So if I was to delete the AI sample data, then it wouldn’t just delete the container, it would also delete all of the items in it. So many solutions, they come as one package, sort of like a black box. Some of the components might be able to be customized for development purposes. You use an unmanned solution and we’re going to create our new unmanned solution and import some items into it in the next video.

  1. 22, 23, 25, 34, 48. Create a solution, and add new and existing apps and flows

Now, in this video, we’re going to create a new solution. It would be a what type of solution? Unmanaged or managed? It would be an unmanaged solution because we’re using this for development purposes. And a money solution is a package we have already exported. So this is a new solution and we put the display name. So let’s call this my unmanaged managed solution and we select a publisher. So I’m going to add a new publisher. So this is going to be File Cats Limited. And I get to have a prefix. So this is what goes at the beginning of all of the names.

So you can see Ms. Dyn underscore previously we saw, I think it was CRE 93. So I’m going to call this SC. Let’s call it SC falcats. And we’ve also got a value prefix for choice. So when we’re creating choice or choices, then we also have a prefix here. So I’m just going to leave that as is. So let’s save that. I think name needs to not have any spaces. So now we need to select it. So even though we’ve added a new publisher, it doesn’t automatically get selected. And then a version, we’ll have a look at versions later on. And you can also put in a description. So the package type unsurprisingly is unmanaged. So let’s create it. I’ve got a space right at the beginning of there can’t do spaces in the names here. So there is my solution and if I click on it, it will find that there are no components.

Okay? So if I wanted to create a new Canvas app in my solution, I just go to New and go to App and Canvas app and it gives me the choice of phone or tablet factor. If I wanted to create a new model driven app within the solution, again, I’ll just go to New app, model driven app. If I wanted to create a new instant, automated or scheduled floor, I would go to New Cloud Floor and notice I’m in PowerApps. I can do that in PowerApps and it takes me through to Power Automate. So I can do that within Power apps, or at least I can launch it. But suppose I don’t want to create new apps or new dashboards. I want to incorporate existing ones. Well, I can click on Add Existing.

So what do I want to add an existing I want to add an existing Canvas app. So I’ve got two tabs from solutions. So Canvas Apps which are already in solutions, or Canvas Apps that aren’t in solutions yet.

So I’m going to add my Accounts app. So let’s just click Add adding solution components. And here you can see it’s done and it’s got the prefix of FC for File cats. Let’s add another existing thing. Well, let’s add a model driven app. So I’m going to add my accounts and expenses. So let’s click add. Now, you notice there that there was no such thing as model driven apps that I had created that aren’t in solutions yet. So they were all in a solution, it was the default solution. And now let’s add an existing cloud floor as well. And again you can have the ones from solutions.

So I created one when we were talking about business process flaws or outside solutions and we’ve got the data verse and weather conditions recorded. But hang on, that’s not all the flaws I’ve got. I’ve got three instant flaws as well. Flaw Twitter language count and send email. Well, unfortunately you can’t add instant flaws created outside of solution where the floor trigger goes set to manual. So each of these three flaws, and in fact these other two were created outside of a solution. I didn’t go to solutions and then I didn’t click on a solution and then go to new anything. Instead I just created them outside of a solution.

So if they’re created outside of a solution and if the floor trigger is set to manual, so if I edit it, you can see manually trigger a floor, then I cannot import them into my solution. So let’s add both of these two, click Add and now these are part of my solution as well. So now I’ve got this list, I can filter it. For instance, suppose I just want to see canvas apps or model driven apps or anything else really cloud flaws.

Once I have a list of what I want and I will for example, want to edit this, I can just click on the dot dot and you can see I’ve got various things including remove from this solution, delete from this environment, so that’s in my case, the per user environment. And I can edit and play and I can do all the other things that I used to be able to do when they were outside of a solution. So to create your new solution, just go to solutions on the left hand side, click New Solution, put in your display name and your name. By the way, this name has to be a unique solution name.

It cannot be changed. After creating the solution, select your publisher and your version. You can also select a description if you want. You can create a new publisher that allows you to create a new prefix and a choice value prefix. This is a number that goes between 10,099 and then click Create. And then when you’re in your solution, you can then create new apps, new dashboards, new floors, and you can add existing components as well.

  1. 24. Run Solution Checker and interpret results

In this video, we’re going to have a look at the solution checker. So the solution checker is for unmanaged solutions that can be exported from an environment. The default solution cannot be exported from an environment and therefore the solution checker does not work for this. So I’m going to go to my unmanned solution. I’m going to click on the dot dot and solution checker and run. You’ve also got solution checker up here at the the top as well.

So now you can see solution checker is running. It will take a few minutes and you can cancel it if you wish to do so. Now, while it’s running, let me talk about the solution checker. So the solution checker looks at data verse largely. Why is that? Well, you have created your model driven apps. You haven’t had the benefit as you’ve got in canvas apps of the app checker. So what the solution checker does is it checks your model related apps for things that could affect it.

And because we’re talking about forms and views and charts and dashboards and business procedures and sitemaps, what it does is it checks the dataverse. It checks for data verse, plugins, data verse, custom workflow activities, data verse, web resources and data verse configurations. It does all this to make sure that your model driven apps work as fine as can be. So let’s break this down. So first of all, plugins and custom workflow activities. So some of these are going to be really high level.

So why, if you don’t understand it, selecting all columns via programming. So if you just do a select all columns, that’s generally not good. Are there duplicate data? First, plugin registrations are using batch request types in plugins and workflow activities. Those are the sort of things it’s looking for there. For web resources, we’re talking HTML and JavaScript.

So for instance, are you using model dialogues? So that is a dialogue that you have to click OK or cancel to get rid of. Are you using Absolute Database endpoint URLs in opposite it’s this web address? Exactly. And are you using features or functions such as Eval or alert? We’re looking at configurations such as SDK, message steps and we’re also looking at Canvas apps as well. So for instance, are there formal issues? Does it take too long to load and are there too many app controls? Maybe you can improve performance that way. So let’s go back to our solution.

So the solution checker is well, it says it’s not finished, but actually let’s go in this way and you can see we can now view the results. So here are the results and we’ve got a few things that we might want to have a look at in our Canvas app. In fact, a lot of these will find in the accessibility area of the app checker. So the solution checker, it looks at dirt averse, it looks at plugins and custom workflow activities, HTML, and JavaScript web resources and configurations to try and improve your model driven apps. It can also look at some things like Canvas app formula issues, delayed lord and whether there are too many app controls.

So if that’s the case, you might want to break down your Canvas app into two smaller apps. And finally you can see what columns it includes. So the issue so that’s the title of it, the severity in category. So is it really high severity or is it low medium? The category in fact another severity is informational and the component and the location. You may also have additional things like guidance. And finally you can download these results so that will download it into a zip file. So you can see it contains CSV comma, separated values and a spreadsheet. And you can also do that by going back to solutions and going into solution checker download results.

 

img