How to design solutions

From Power Wiki
Revision as of 19:24, 12 January 2022 by CarinaMClaesson (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

You might think that you need an app, but should you choose a model-driven app or a canvas app? You know that you need some business logic to be implemented, but how do you choose the way to implement the business logic when there are so many different possibilities and ways to design and build a solution? On this page, we've tried to gather information about choosing the right technology.

General

  • Look at the requirements, what are the actual needs?
  • Have licensing in mind. Can we use Dynamics? Can we use Dataverse etc.?

Power Apps

So you think you need an app and now you need to figure out which app type to choose. Here follows some guidelines.

  • Model-driven apps have Dataverse as data source. Dataverse means a relational database which comes with built-in functionality for setting up security. But it also comes with a licensing cost.
  • If you want to be able to have several different data sources then it might be a canvas app you need.
  • If mobility is important, then it might be a canvas app that you need.
  • If flexible UI is important, then it might be a canvas app you need.
  • If the users of the app are not within your own organization, perhaps you want your customers to update information about themselves. Then you might need Power Apps Portals.

Data Modeling with Dataverse

Model-driven apps

This chapter contains guidance for designing model-driven apps. Model-driven apps starts from a Dataverse data model with pre-defined tables, relationships in between, views, forms, columns etc. Then the app is generated and what you see is pretty much already determined. You have a menu with entries to view data within Tables, you have views, dashboards and the forms as you have designed them.

UI extensions

Microsoft has released the framework they use to create the UI components of model-driven apps, Power Apps Component Framework. That means, we can create (develop) our own components. Another option we have is to use Custom Pages. That is almost like embedded Canvas apps, you will be able to choose another data source than Dataverse.

Data Sources

As mentioned in the previous chapter, you can use Custom Pages to have another data source than Dataverse. There is also the option to use Virtual Entities.

Business Rules

Business Rules can be used e.g. in order to set a column as mandatory or hide/display a column depending on some certain logic. Used for more simpler form logic/manipulations.

Form Scripting

When you reach limitations in Business Rules (e.g. you need to hide/show a column based on the value of a related table's column) developers can use JavaScript to implement the form logic.

TypeScript

Business Logic for model-driven apps

Low-code

Develper

Other

User Notifications in model-driven apps

In-app notifications give the user notifications within the model-driven app and these notifications can be seen when using the app.