About this Course

So, let me tell you a story:

I have been working with the Dynamics CRM/Dynamics 365 product since 2005 and am amazed at the amount the product has grown and changed over the years. Even the name as progressed to what we have today: Power Platform Model-Driven Apps. (and of course, Dynamics 365 is still there as well.)

With Microsoft’s continued emphasis on the Power Platform (both model-driven and canvas apps), I thought it a good idea to revisit an old topic of mine called The Art and Science of Model-Driven App Design. So, I updated my PowerPoint deck and held a free webinar in January of 2020. As I was preparing for that webinar, I realized there was just a lot of material to cover and an hour would just not do it justice.

Designing a Dynamics 365 or Model-Driven Power App is not rocket science, but there are a lot of details to consider.

And what started off as an expansion of my webinar turned into something entirely different!

I have included everything that I have learned over the years in designing the user interface for a Model-Driven application (Dynamics 365).

This includes:

  • The hard-technical details
  • Design philosophies
  • Code snippets
  • Tools that I use to help me get things done
  • And much more

By the time I was done, I had added twice the content as was originally planned.

So, take a look at the information below and let me know what questions I can answer for you.

Thanks, Mitch

Module 1: Community

Each of my courses has a built-in community forum where you can post questions and have discussions with the instructors and other students.

This is also where course additions and changes are made.

Module 2: Overview

This module is mostly recordings of recent webinars that i have posted on my YouTube channel.

I wanted you to have as much background as possible before starting your work. I mention these webinars throughout the course.

Here are the one's I ask you watch:

Module 3: Using Apps

An App is the foundational-layer of a Model-Driven app. We discuss the App Designer, components, and using security roles.

Module 4: SiteMap

The SiteMap provides the navigation for a Model-Driven App. Here we will review the SiteMap designer and its use. 

Module 5: Themes

Themes allow you to change the application logo and basic color schemes. 

To help with your theme customization, I actually created a theme generator that allows you to create themes far easier than the buit-in theme configuration tool.

Module 6: Icons

Icons can really help you distinguish your custom entities from one another. In this module we look at the tools and processes that can help you create icons for the Unified Interface. 

Module 7: Dashboards

Many times, a dashboard is the first thing someone sees when they open a Model-Driven app. In this module we discuss dashboard design basics and the components you can add to your dashboard.

Module 8: Views

In this module we discuss how to design effective views and how to add a little color to the views using icons.  We also cover the tools you the customizer or administrator can use when working with views. 

Module 9: Forms - Technical Review

The topic of Forms is so large I had to break it into two separate modules. In this module we discuss the technical aspects of form design and layout.

Module 10: Forms - Design Review

In this module we discuss the design aspects of working with forms, some modern components (PCF) to help us achieve a desired design, and some tips and tricks when working with specific data types.

Module 11: Business Process Flows (BPFs)

In this module we review how to define your organizations processes, how to create a BPF, and how they can be used to help guide the user through 

Module 12: Command Bar/Ribbon

Even though the Command Bar / Ribbon is mostly controlled by the system, you can customize it. We view the Ribbon Workbench tool, and how you can use it to perform modifications to give users extra functionality.

Module 13: Testing and Deployment

Testing, Testing, Testing. That's how you do this process. In this module we discuss testing and deployment scenarios to help ensure your changes go as planned.

Module 14: Technical Walk-Throughs

In this module you see me change the Account, Contact, and Opportunity forms to [hopefully] make them easier to use and more productive to the user. I also review a real-world example of how we changed the Lead entity to make it more productive and use-specific.

Module 15: Technical Discussions

In this module I dive into several of the more technically-focused topics.

Module 16: Sample Source Code

This module contains downloadable source code to give you a head-start on your UI-customization efforts.

I also have the Theme Generator solution I created for this course in 

Module 17: Resources

The other sections are styled to help you create beautiful, high-converting pages. If you already know exactly what you want, use this section to add text, images, video, audio, etc. and build something completely custom. This is your sandbox — create what you want!

Ready to Invest in Yourself?

Click the button below to get started today!

Course curriculum

  • 1


    • Community Discussions

  • 2


    • Webinar Replay: The Art and Science of Model-Driven App Design

    • Webinar Replay: Eliminating Technical Debt

    • Webinar Replay: Join the PCF Revolution

    • Webinar Replay: Design Session - Designing a Theme Generator

    • Things to consider before you start

    • Focus On Areas

  • 3

    Using Apps

    • Focus On: Apps

    • Microsoft Docs: Customize or create apps

    • Model-Driven App Overview

    • Creating a New Model-Driven App

    • Using Security Roles to Limit Application Access

  • 4


    • Focus On: SiteMap

    • Sitemap Overview

    • Working with Areas

    • Working with Groups

    • Working with SubAreas

    • Using Security Role Privileges to show and hide Sub-Areas

    • Additional Notes on the SIteMap

    • Creating a New Entity Record Directly from the SiteMap

  • 5


    • Focus On: Themes

    • Overview of Built-In Themes

    • Introduction to the Theme Generator

    • Use Different Themes for Different Environments

  • 6


    • Installing and using SyncFusion Metro Studio

    • Changing the Icon for a Custom Entity

    • Using the XrmToolbox Iconator tool to work with Entity Images

  • 7


    • Focus On: Dashboards

    • Microsoft Docs: Working with Dashboards

    • Dashboards Overview and Component Discussion

    • Built-In Dashboards

    • Personal vs System Dashboards

    • Creating a Single-Stream Interactive Dashboard

    • Creating a Multi-Stream Interactive Dashboard

    • Interactive Dashboard Implementation and Testing

    • Interactive Dashboards - Enable a field to be displayed in the Global Filter

    • Enabling Power BI integration

    • Using Security Roles to Secure Dashboards

  • 8


    • Focus On: Views

    • Layout and Presentation

    • Adding and Removing Views to Match Your Data and Business Requirements

    • Adding Icons to a View Column

    • Tech Tip: Using the XrmToolBox Personal User Views Migration Plugin

    • Tech Tip: Using the XrmToolBox View Layout Replicator Plugin

  • 9

    Forms - Technical Review

    • Focus On: Forms

    • Forms Overview

    • Backups and choosing which form to use

    • Should you have more than one form?

    • Showing forms only to specific Security Roles

    • Using the Quick Create Form

    • Introduction to the Quick View Form

    • Tab Formatting

    • Section Formatting

    • Show line at the top of the section

    • Field Formatting

    • Showing and Hiding Form Elements

    • Hiding vs Disabling a Form Element

    • What exactly makes a field required?

    • Working with Multi-line text fields

    • Using the Spacer Component

    • Dynamic Forms - Using Security Roles to show and hide form components

    • Dynamic Forms - Showing and Hiding screen elements programmatically

    • Dynamic Forms - The dark side

    • Exploring the Related Entities Navigation

    • Microsoft Docs: Add or remove the SharePoint documents tab to the main form for any entity

    • Adding Sharepoint Documents to a form in a supported manner

    • Is Tab Order Still a Thing?

    • Solved - What to do when you can't move a section into a blank area on a Tab

    • Hiding the Related Entity Navigation

    • Using Emojis in Option Set Fields

    • Form Editor Keyboard Shortcuts

  • 10

    Forms - Design Review

    • Design Considerations

    • Use PCF Components to enhance the user experience

    • Tab Design Basics

    • Section Design Basics

    • Walkthrough of the Theme Generator Design Process

    • Tying together data from the Entity View and the Entity Form

    • Exploring Two-Option Control Options

    • A deeper dive into using different field types for a mobile device vs the web

    • What is the ROI of a design decision?

    • Design choices when dealing with a single-column form

  • 11

    Business Process Flows (BPFs)

    • Focus On: Business Process Flows

    • Article: Adding Custom Controls to a BPF

    • Business Process Flow Overview

    • Defining Your Process(s)

    • Testing and Validation

    • Do you need the same field on the Form AND on the BPF?

    • PCF Components to Enhance Business Process Flows

    • Implementing the new Opportunity Kanban Board Feature (Spring 2020 Release)

  • 12

    The Command Bar / Ribbon

    • Focus On: The Command Bar/Fibbon

    • Webinar Replay: The 5 Top Dynamics CRM Ribbon Customizations

    • Article: Introduction to the Ribbon Workbench Smart Buttons

    • Creating a Solution for Ribbon Editing

    • Introduction to the Ribbon Workbench

    • What exactly do you customize on the Ribbon/Command Bar?

  • 13

    Testing and Deployment

    • Deployment Strategies Discussion

    • Iterate, Iterate, Iterate

    • Communication

    • Using the Dynamics 365 Windows App to Test Tablet Functionality

    • Problem Solved - Error loading control

  • 14

    Technical Walk-Throughs

    • Re-imagining the Account Form

    • Re-imagining the Contact Form

    • Re-imagining the Opportunity Form

    • Real-World Re-Imagination of the Lead Entity

  • 15

    Technical Discussions

    • Business Rules vs. Hand-Written JavaScript

    • When do you apply a PCF Component?

    • Installing the Theme Generator Solution

    • Adding the Custom Theme Entity to the Sales Hub App

    • Troubleshooting Custom Theme Saving Errors

    • Reloading Pages in Google Chrome and New Edge Browser

    • Application Keyboard Shortcuts

  • 16

    Sample Source Code

    • JavaScript Library to Retrieve Security Roles

    • JavaScript Library to Show and Hide Form Elements

    • JavaScript function to add an icon to a view (no LCID considered)

    • JavaScript function to add an icon to a view (LCID considered)

    • Theme Manager Solution

  • 17


    • Tools

    • PCF Components

  • 18

    2020 Wave 2 Release

    • 2020 Wave 2 - Preview 1

    • 2020 Wave 2 Preview 1a (Customer Service Workspace App Preview)

  • 19

    Notes from the Field

    • Notes from the Field - 25 August 2020

    • A lesson in Responsive Design

    • Caching, browsers, and private sessions

    • Hitting the Wall of Customizations

    • Circumventing Calculated Field Display Limitations

So What Are You Waiting For?

Click the button below to get started today!


Head Coach

Mitch Milam

Hi Everyone, My name is Mitch Milam and I want to personally thank you for looking at my  courses. The main goal of these courses is to teach you what I know about Dynamics  CRM/365 and to enhance your knowledge of the product and the skillsets required  to do your job.I started working with Dynamics CRM in November of 2005 when version 3.0 was  still in pre-release and I turned knowledge of that product into an entirely new  career for myself. I am very active in the Dynamics community, have written a  few books on the topic, and can be found hanging out at most of the  Dynamics-related conferences either teaching or presenting. For my community efforts, Microsoft awarded me the Microsoft  MVP title for Dynamics CRM, for eleven years and it has been an honor to be  listed among the ranks of such a group of talented and generous people. Thanks again for stopping by and please let me know if I missed anything. Mitch