Difference between revisions of "How to design solutions"
(2 intermediate revisions by the same user not shown) | |||
Line 2: | Line 2: | ||
== General == | == General == | ||
− | * Look at the requirements, what | + | * Look at the requirements, what are the actual needs? |
− | * Have licensing in mind. Can we use Dynamics? Can we use | + | * Have licensing in mind. Can we use Dynamics? Can we use Dataverse etc.? |
== Power Apps == | == 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. | 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 | + | * 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 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 mobility is important, then it might be a canvas app that you need. | ||
Line 18: | Line 18: | ||
== Model-driven apps == | == Model-driven apps == | ||
This chapter contains guidance for designing 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 === | === 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 === |
Latest revision as of 19:24, 12 January 2022
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
- Plugins Some examples are validation, data manipulation, integration
- (Custom) Classic workflows
- Azure Functions
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.