Model Driven Apps
Class:001
What are Model Driven Apps?
- Model Driven Apps are not pixel perfect apps like canvas app.
- (In canvas app we have full control about the app, like properties, font, color, screens.)
- (In Model Driven app are back by the data, based on that data we will create this Apps.)
- These data strored in dataverse/ CDS. (Common Data Services)
- Model Driven Apps focuses on adding components such as forms, view,charts etc.., to using tables using an app desinger tool.
Benefits of Model Driven Apps:
- Apps are responsive automatically.
- User experience is consistent accross all model driven apps. Layouts are pre defined.
- Migrating apps between development, UAT and production is relatively easy using solutions.
- Detaverse supports a strong and flexible data model.
- Security wise
- Data model wise it will be flexible.
- integration with office 356
- integration with Canvas app (preview)
- Extensible with code.
Create a Environment:
we can easily move our customizations from one environment to another with the help of Solutions.
- Settings
- Admin Center
- Environments
- Name
- Type---------Trail, Sandbox, Production
- Region
- Create a database for this environment? ---------yes!
- Deploy sample apps and data -----------------------yes!
Class:002
Create a Tables in Dataverse:
- Tables are used to store business data/model driven app data.
- we can create custom tables in Dataverse.
- Types of Tables:
- Standard
- (We can change the display name of the standard table to match the organization standard).
- (We cannot delete standard tables, columns and table relationships.)
- Account,
- Address,
- Contact,
- Mailbox,
- User,
- Team,
- Appointment,
- Managed
- Cannot Customize.
- Imported into the Environment as part of managed solution.
- AI Model
- AI Builder Dataset
- AI Configuration
- Connection reference
- Environment Variable Definition
- Environment Variable value
- Model Driven App Element
- Model Driven App Settings
- Model Driven App user settings
- Model Driven App Component Node
- Custom
- New tables created directly in Dataverse.
- Or imported as part of unmanaged solution.
Create solutions:
- Solutions are isolated from the other solutions.
- Solutions are having
- tables,
- Site maps,
- apps,
- Cloud flow,
- chatbots,
- Security
- Dashboard.
- We can export the solution and import the same solution into to new Environments.
- Solutions are Two types:
- Managed Solutions
- Un-managed Solutions.
- .
- New solution
- Display Name---------------RR Technologies Demo
- Publisher--------------------
- Select solution --------------------Which you have created (RR Technologies Demo)
- Table----------------------Fundraiser
- Table----------------------Donation
- Prinary Column---------------Name
Fundraiser:
Name/Cause----------------Text
Description----------------- Text Area
Category ------------------- Choice/ Option Set (Education, Health, Well-being, animals, Society)
Fundraiser Goal ---------- Currency
Currency ------------------- Currency
Status ---------------------- Choice
Total Donation --------- Currency (Rollup Column)
Donation:
Subject/Name ----------- Text
Donation Amount ------ Currency
Currency ------------------ Currency
Activity Choice---------- Choice (Open, Completed, Cancelled)
Donation From --------- Lookup (Contact, user)
Whenever we create a table in Dataverse we have to select the type:
- Standard
- The main and most common table type.
- Many standard tables come out of box in Dataverse.
- Activity
- The activity table is a time duration scope table that has a start and end dates.
- An activity can be thought of as any action for which an entry can be made on a calendar.
- User 0r Team, but can't be owned by an organization.
- Primary column should be "subject".
- It cannot be change.
- Start data, End data, Dutation (Columns.)
- Appointment table
- Virtual
- A virtual table is a custom table in Dataverse.
- That column contains data from an external data source.
1. Standard Table & Activity Table?
Class:003
- Columns defined the individual data items that can be used to store information in a table.
- Whenever we create a table, we will get pre-defined columns.
- Primary columns also.
- While create a column.
- One would be the "display name."
- Another would be the "Internal name."
In Model Driven app there is no people picker column.
so, we can choose "customer" column type.
Columns in Dataverse:
- Tables we are called in Model Driven app "Entity".
- Columns we are called in Model Driven app "Fields".
1. Text Vs Text Area (4000) Vs Multi line of text?
2. Decimal number Vs floating point?
3. Choice (Option-Set)?
- Global Choice
- If you want to use multiple tables.
- Local Choice
- Whatever you created it will be available only for that particular table.
4. Auto numner?
- If you want to any incremental number.
- IND-1001
- IND-1002
- IND-1003
- Prefix------------------------------------Sting or value
- Seed Value-----------------------------1000
- Minumum number of digit--------3
5. Calculated Columns Vs Rollup Columns?
- Calculated Columns:
- It is use to automate manual calculations.
- Use values, dates, or text..,
- Go to column----Select
- Calculated or Rollup.
- Action
- Tolal Units --- Sold Units =======Tolal Units
- Rollup Columns:
- Use to get an aggregate value calculated over the records related to a specific record,
- similar to using sum, min, max and count in Microsoft Excel.
- Eg:- Min, Max, Avg.
- Roll up calculation is done by system job that runs background asynchronously.
- Rollup column it will display the results depends on the Roll up Jobs in backend.
- To See the job for Rollup Column
- Settings
- Advance Settings
- System Jobs (Dynamic 356)
- view
Class:004
Tables Relationship in Dataverse:
- Tables Relationship defines the way rows in one table can be associated with rows of the other table (or) same table.
- After creating a relationship, we cannot modify and delete.
- As soon as you create a relationship, lookup column will create automatically.
- There Three types of relationships.
- One to Many
- Many to Many
- Many to One ---------- Default Relationships
- Advance Options:
- Types of behavior
- Referential
- Parental
- Custom
- Referential, Remove Link:
- Action taken on one, Will have no impact on the other.
- If you delete the record from parent table it won't be any impact on child table.
- Referential, Restrick Delete:
- Action taken on parent row will have no impact on the child row.
- But parent row cannot be deleted until child row exist.
- .
- Parental:
- Action taken on row in parent table is also taken on any child rows that are related to the row in the parent table.
- Whatever we have changes in parent table, the same changes are applicable in child table also.
- Custom:
One to Many Relationships:
Create relationship.
Fundraiser-------Donation (many) (table)
Lookup column display name (Fundraiser (Lookup created from Fundraiser table))
Referential ----- restrict.
Hierarchical Relationship:
Class:005
Create Model Driven app & Site Maps Overview:
Creata a Model Driven app?
- Apps
- Model Driven app
- Classic app designer
- Model app designer
- Name----------------- RR_Technologies
- Unique name-------
- Use existing solution to create the app
- Choose a welcome page for the app
- Enable Mobile Office
- Mobile Offline Profiles
- Select solution--------------------RR_Technologies_Solution (From drop-down)
- Choose site map later ----------tick
- It will navigate to Model Driven app desinger.
- Click on Site Map
- It will navigate to Sitemap_Desinger
- New Area
- New Group
- New Sub-area
- New Area (Rename it )
- Title-------
- Icon-------
- ID----------Fund Raiser Area
- New Group
- Title------- Tables
- ID----------Tables
- Sub-Area
- Type----------Dashboard, Entity, Web Resource, URL (Select Entity)
- Entity--------Donation
- Advanced
- Privileges
- Entity-----------
- Site map is nothing but navigation for you application.
- We have to create a number of areas.
- Under the Areas we have to create a no.of New Groups
- Under the New groups have to create a no.of sub-areas.
Class:006
Main Form in Model Driven Form:
- Forms in Model Driven apps provided the use information for the user to interact with the data.
- Forms types in Model Driven Apps:
- Main form------------Default form
- form
- form settings
- form order------------Move your form which position you want.
- Quick view form
- Quick create form
- Card form
- Main form:
- This is the from used to data, view and interacting with the table data/ Model Driven app.
- We can add the data using main form.
- Table (Fundraiser)
- Froms (component, Table Column, Tree View, Form libraries)
- After creating a form by default, we have sections.
- Header
- General
- Section
- Footer
- Components
- Under the Components we have below mentioned sections.
- Layout ----------------(1,2,3 column-Tab------1,2,3,4 column-section)
- Input ------------------(Toggle, Number input, Star Rating, Rich Text Editor control,)
- Related data --------( Canvas App, Quick view, Sub grid, Timeline, Knowledge search)
- Form libraries ------------Here we can write our Custome code (java)
Quick Create Form, Quick View form & Card From:
- Quick Create form.
- This form provides a basic optimized form for creating new records.
- From the table settings enable the quick create form option.
- Quick create form can't be assigned to security roles.
- Quick create form is different from main form.
- It only have one section with 3 columns and 1 tab section.
- Formtting enable in Quick Create Form.
- It will be appear on creating a record from a lookup or subgrid
- Enable the form from the table settings.
- From Field
- Component
- Go to table
- Add form
- Quick Create Form
- Enable Quick Create form form table settings.
- Go to table
- settings
- Advance option
- For this table
- Leverage quick-create from if available.
- Quick view form
- This form will appear within the main form to display data that is referenced by lookup column.
- User can view the data from the related tables without leaving the form. (Using quick view component).
- Data in Quick view form can't edited.
- Security roles can't be assingned.
- Required columns can't be deleted.
- If you want to remove the required columns delete the form and recreate it.
- They can be added to a main form.
- Create form in parent table.
- We have only one tab in Quick view form.
- Other formating are not available.
- We can add subgrid only in Quick view form.
- Quick View forms are embedded into a Main form and show related read-only information on the record being viewed.
- Card form
- Card forms are light-weight forms that are used in views for mobile experiences.
- Card form not available in Model Driven apps. (Google it- they released or not)
- in Each section it will allow to add 4 fields.
Class:008
Views in Model Driven Apps:
- Model Driven apps use view to define how a list of rows for a specific table are displayed in the application.
- A view defines: The columns to display. The order of the columns.
- .
- View can be used to define.
- Columns to display
- Sorting of columns
- Width of columns
- Filter condition to fetch only relevent data.
- Order of columns
- Creata a view.
- Table
- View
- Add view
Types of View:
- System Views
- Personal Views
- Public Views
Personal View are created by individual users and only be visible to them unless they share.
Public views are available to all users and can be used in a sub-grid
or
as a list in dashboard.
Some public views gets created automatically with custom tables.
They cannot be deleted but con be edited.
Public view -----------------Default View
Advanced find View -----Default View
Assoicates view --------Default View
Lookup view --------------Default View
Quick find view ----------Default View
Advanced find View -----Default View
Assoicates view --------Default View
Lookup view --------------Default View
Quick find view ----------Default View
Editable grid:
- No need to go to table select column want you want to edit.
- just click on the column and edit.
- It will available in classic experience, not in model experience.
- solution
- all (switch to all)
- entities (select table)
- controls
- add control.
- editable grid
- publish
Class:009
Business Rules in Model Driven Apps.
- We can create business rules to apply logic and validations without writing a code.
- Business rules added to a Dataverse table will be applicable to both canvas and Model Driven app if used in the app.
- .
- With the help of condition and actions we can do the following.
- Show/Hide column.
- Enable/disable column.
- Create business recommendation based on business logic.
- Validation logic & show error message.
- Cleare column values
- Set column requirement level.
- Set column values.
- All action is applicable in Model Driven App but on canvas app all actions are not applicable.
- Business rules does not support choices (multi-select), files and language.
- If you want to any changes in business rules you must deactivate it and then modify it.
- create a column (Pan Card-text)
- Add in to main form.
Scope of Business Rules:
- Table --------------------- Model Driven app, Canvas app & Server (Dataverse Server)
- All Forms ---------------- Only that Model Driven form
- Specific Forms ---------- Model Driven app forms
- Business rules will not execute before on-load script.
- Business rules run on client side.
Business Process flow (BPF)in Model Driven Apps.
- If you want to create a Business Process Flow
- First you shuld go to flow.microsoft.com
- Here you can able to see Multiple optons (Cloud flow, Desktop flow, BPF,)
- Select BPF
- Select the appropriate table to create BPF.
- Once click on save it will navigate into designar page.
Class:010
Charts in Model Driven Apps:
- Column chart
- Bar chart
- Area chart
- Line chart
- Pie chart
- Funnel chart
Insert chart in app:
- App
- Select table.
- Show chart.
- .
- Drill down by
Class:011
Dashboards in Model Driven Apps:
Types of Dashboards:
- Standard Dashboard
- Standard Dashboard cab be created from both new and classic experience.
- Interactive Dashboard
- Interactive Dashboard can only be created from classic experience.
- Interactive Dashboard are further two types.
- Single-Stream Dashboard:
- In Single-Stream Dashboard data can be pulled by only from one table.
- Multiple streams cannot be added.
- Streams means view only.
- Multi-Stream Dashboard:
- In Multi-Stream Dashboard, we can add data from multiple tables.
- we can add multiple streams.
- Each stream can display data from different table.
- Add chart only from one table.
- Display view from different tables (or) different names of views.
Create Standard Dashboard:
In dashboard we can insert below mentioned components:
- charts
- insert lists.
- Insert Assistant
- insert web Resources.
- Insert I frame.
Eidt component:
With help of this we edit each component separately. How we want it.
- Interactive Dashboard can only be created from classic experience.
- Power apps
- . . .
- Switch to classic
Class:012
Security Roles:
- System Administrator: Create, Read, Write, Delete, Customizations Security roles.
- System Customizer: Create, Read, Write, Delete (Self), Customizations.
- Environment Maker: None
- Basic User: Create, Read, Write, Delete (Self)
- Delegate: Act on behalf of another user.
- Environment
- Solution
- Settings
- Admin center
- Security roles
Create role:
- Environment
- Solution
- Settings
- Admin center
- Security roles
- New role
Class:013
Row Level Security:
- Environment
- Solution
- Admin Center
- Environment (Select Environment which you want to modify security.)
- Security roles
- Select role (Created by you)
- Edit
- Custome Entity (Create, Read, Write, Delete, Append, Append To, Assign, Share)
Class:014
Column Level Security:
- Environment
- Solution
- Table (Select column, which you want to give column level security.)
- Edit column.
- Advance Option
- General
- Enable column security (Tick the option)
- Settings
- Advance settings
- System (Under)
- Security
- Field Security Profiles
- New (Create Field security profile)
- Common
- Field permissions (Select Field Security Profiles, created by you)
- Edit (Allow Read, Allow Update, Allow Create) (yes/no)
- .
- .
- Add user to whom you want to give column level restir.
- Members
- Add user or team.
Class:015
Restrict Users from Modifying Dataverse Table Schema:
Class:016
Export-Import Solutions from one environment to another:
Types of solutions:
- Managed solutions
- Un-managed solutions
Class:017
Managed Properties Power Apps
Update /Upgrade Solution
Patch Solution
Clone Solution PowerApps
Comments
Post a Comment