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)

Create Table: 
    • 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:
      • Select action, Delete, Assign, Share, Un-share, reparent.


One to Many Relationships:
Create relationship.
Fundraiser-------Donation (many) (table)
                             Lookup column display name (Fundraiser (Lookup created from Fundraiser table))
Referential ----- restrict.


Many to One 
Relationship:

Many to Many Relationships:


Hierarchical Relationship:
  •  When we create a One-to-Many relationship within the table then the option to set the hierarchical would be available.
  • Enable the hierarchical setting for the the table from the classic solution explorer.


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:
    1. Main form------------Default form
        • form
          • form settings
          • form order------------Move your form which position you want.
    2. Quick view  form
    3. Quick create form
    4. 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)

Class:007
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:
  1. System Views
  2. Personal Views
  3. 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

Editable grid:
  1. No need to go to table select column want you want to edit.
  2. just click on the column and edit.
  3. 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.
Create Business Rule:
  • Table
    • Business rule
      • validate
        • Scope-----Entity, all form, information
      • Save
        • Activate

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.






  • Under the Steps(1)  section we can choose columnn tables or Action Step or Workflow.



Class:010
Charts in Model Driven Apps:
  • Table
    • charts
    • Add charts.
      • Select view from dropdown.

Types of charts:
  1. Column chart
  2. Bar chart
  3. Area chart
  4. Line chart
  5. Pie chart
  6. Funnel chart
Insert chart in app:
  • App
    • Select table.
      • Show chart.
  • .
  • Drill down by

Class:011
Dashboards in Model Driven Apps:

Types of Dashboards:
  1. Standard Dashboard
    • Standard Dashboard cab be created from both new and classic experience.
  2. 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:
  • Interactive Dashboard can only be created from classic experience.
    • Power apps
      • . . .
      • Switch to classic


  • we can insert only chart.
  • under stream section we can insert no.of entities (Tables)
Global filters in dashboard:

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:
  1. Managed solutions
  2. Un-managed solutions

Class:017
Managed Properties Power Apps 
Update /Upgrade Solution 
Patch Solution 
Clone Solution PowerApps





Comments

Popular posts from this blog

My Intorduction

Canvas Apps