reenhanced

Tag: model-driven app

  • What is the difference between a model-driven app and a canvas app?

    What is the difference between a model-driven app and a canvas app?

    canvas app or model-driven app?
    Building a model driven-app: session at 365 Power Up Philly conference.

    This past weekend, I was giving a presentation to Dynamics 365 system administrators and developers about how to make a model-driven app in PowerApps. I gave a very similar presentation at User Group Summit in 2019. In both sessions, the questions were mostly around the differences between model-driven apps and canvas apps. I consider myself an expert on model-driven apps. I build them often, for internal use at Reenhanced and more often for our many customers. I am not an expert on canvas apps. I default to my business partner, Nick Hance, to field those questions, since he is an expert on building them. He has experience building highly valuable canvas apps for customers and for himself to improve his own life (like here where he builds a canvas app to count daily pushups done for a challenge we are both doing!).

    Nick and I thought it would be give a definitive answer to that one question that we so often hear: what is the difference between a model-driven app and a canvas app.

    What is a model-driven app?

    A model-driven app is build on top of a data model (Dynamics 365, CDS, etc). From this data model, you can use a simple drag-and-drop interface to specify what is displayed to users in your App. Here’s a simple way to think of this: Dynamics 365 is your engine for a model-driven app. You will use Dynamics 365 components to build it. It looks and feels just like Dynamics 365. You’ll add on Dynamics 365 views, forms, charts, dashboards and reports. Use model-driven apps to streamline the user experience of Dynamics 365 and increase user adoption in your organization.

    With your data stored in Common Data Service (CDS) as a database, a model-driven app provides Create, Review, Update, and Delete (CRUD) abilities on that CDS data. The model-driven app is a layer on top of your data to control how users see, update, and delete that data.

    I’ve written a 6-part series on this blog about model-driven apps and how to build them. If you want to learn more, check out the first article here.

    What is a canvas app?

    Canvas apps are not necessarily related to Model-Driven apps. They provide a PowerPoint-type interface where administrators can build an interactive experience connected to a variety of data sources. Canvas apps offer a much wider scope in capability than model-driven apps and allow for rapid prototyping and deployment of custom applications across device types.

    If you can build a PowerPoint to demonstrate your application, you can likely build this experience using a Canvas app.

    In general terms, when you think of a simple idea for an app, you build this using a drag and drop interface in Canvas apps. Canvas apps can completely replace the need for custom development when the application workflow is relatively simple.

    What’s the difference?
    Model-Driven App
    Begin with your data model (Common Data Service).
    Quickly provide Create, Review, Update, and/or Delete (CRUD) capabilities on my data.
    A model-driven app can only do Create, Review, Update, and Delete of data using forms from Dynamics 365.
    Controlled by the security roles in Dynamics 365. It offers fine-grained and field level security.
    Controls use the form builder from Dynamics 365. You can use all custom components and form controls from there.
    Built using simple drag-and-drop of controls and components. Capabilities of what an administrator can do are exposed and easy to see.
    Canvas App
    Blank canvas: Design as you’d like. MANY database connections.
    Provide an interactive experience of my own design and am willing to invest more time to create.
    A canvas app can do everything that a model-driven app can do, but is more involved to setup and create.
    Not well suited to provide fine-grained security. It is a best practice to design a canvas app such that all users receive the same experience.
    Canvas apps have their own set of controls and have access to custom components. It’s likely there will be overlap in the future such that components can be used here and in Dynamics 365 forms.
    Use a drag and drop of simple controls but performing useful functions requires updating control attributes. It is not immediately evident what is possible and administrators must rely contextual recommendations to discover what each connector can do.
    Final Thoughts

    Model-driven apps are well suited for a Dynamics 365 System administrator. The layout and components feel familiar to what you’re already using to manage your Dynamics 365 environment.

    Canvas-apps require a more technical approach but offer a much wider set of capabilities. Once administration of Canvas apps are learned, an administrator’s capabilities are near limitless.

    Do you need help building an App for your organization? Do you have a great idea and need some help figuring out the best way to approach it? Feel free to reach out to reenhanced! Fill out our Contact Form with details about what you’re working on, or email us directly at heidi@reenhanced.com and nhance@reenhanced.com.

  • Model-driven Apps: Benefits to Your Users

    Model-driven Apps: Benefits to Your Users

    Welcome to the exciting conclusion of the model-driven app series! Today we will look at managing properties in a model-driven app. This series includes six articles that will help you to get to know and use model-driven apps and PowerApps:

    Benefits to Your Users

    A paramount part of designing your app is ensuring that your end users are part of the entire process. Follow user adoption best practices and involve your end user group in every aspect of the planning and design process. Have a few key members try out the app and record their feedback.

    Beyond simply involving your end users, how does a model-driven app help them? Here are a few ways model-driven apps are tied to an increase in user adoption:

    • Providing a customized model-driven app to experience CRM gives your end users with a streamlined way to access their data.
    • Only show users the information they need to see. Understand your user group and update your Site Map accordingly. Display areas that they use, in groupings that make sense to them and how they do their job.
    • Hide the noise they don’t need to see in order for them to complete their job successfully. Simplify the user experience.

    Following the steps within the blog series and engaging your user group will lead to a nice, streamlined way to access data, with the ultimate goal of increasing user adoption.

  • Model-driven Apps in PowerApps: Managing Properties

    Model-driven Apps in PowerApps: Managing Properties

    Welcome to the fifth and penultimate article in the model-driven app series! Today we will look at managing properties in a model-driven app. This series includes six articles that will help you to get to know and use model-driven apps and PowerApps:

    Managing Properties

    Now that we have reviewed security considerations, understood how to use the App Designer, learned about the controls and power of the Site Map and added components to the app, we can move on to reviewing some of the properties available.

    In the App Designer, we have been working in the Components tab. If you click on the Properties tab, shown in the screen shot below, you have access to a number of areas to update and customize.

    Click the properties tab in the App Designer.

    You can edit the following areas:

    • Name: The name of the App that displays to users.
    • Description: Description of the App that will appear to users.
    • Icon: By default, it will use the Default image. Follow the steps below to update icon image.
    • Advanced: Modify unique name, unified interface URL, add a welcome page and enable Mobile Offline in this area.
    Adding a logo (or other Image) to your App!

    If you want to use an image apart from the default Microsoft image (below), you can follow these three simple steps:

    Default image
    • Add New Web Resource to your solution
    Add a new web resource & select image/logo.
    • In App Properties, uncheck the box “Use Default Image”
    Uncheck this box!
    • Select the logo/image you added in step 1 and view a preview of the updated App image. When complete, click Save at the bottom of the Properties tab.
    Preview your updated App image
    Building a Model-Driven App in Dynamics 365 Using PowerApps & Out-of-the-box Functionality Series Almost Complete!

    There is only one article left in our series: focused on the Users. Stay tuned for the exciting conclusion!

  • Model-driven apps in PowerApps: Components

    Model-driven apps in PowerApps: Components

    Welcome to the fourth article in the model-driven app series! Today we will look at the Components in a model-driven app. This series includes six articles that will help you to get to know and use model-driven apps and PowerApps:

    Components

    If you haven’t already familiarized yourself with the Site Map and how it works, take a moment to read the blog here. After you have created your Site Map, the next step is to add and define the various components on the App Designer.

    Components are displayed on the right-hand side of the App Designer:

    Components are listed in the panel on the right-hand side of the App Designer.

    The Site Map is your foundation and the components are the building blocks you layer on top to build your App. Components are comprised of:

    1. Artifacts: Entities, Dashboards and Business Processes Flows
    2. Entity Assets: Forms, Views, Charts and Dashboards
    Components in the App Designer.
    Artifacts
    • Entities: In most scenarios, the Artifacts will populated based on what you have selected in the Site Map.
    • Dashboards: Select the system dashboards that should be included in the app.
    • Business Process Flows: Select any business process flows to add to your app. Any active, published business process flows
    Entity Assets

    Once you start adding entity assets to your App, you can really work on streamlining and enhancing your end user experience! Always keep in mind who your audience is for this App. What are the only pieces needed for this group of users to do their job? The minimum amount here is key. Give them only what they need in order to successfully do their job and eliminate all of the other noise. This is my favorite part about model-driven apps and Dynamics 365. This sort of thing used to require custom code – and now I can use simple configuration to accomplish the same thing.

    • Forms: Define which forms should display for each entity. At least one form must be selected for each entity.
    • Views: Select only the necessary views to be included in this App. At least one view must be selected for each entity.
    • Charts: Select any system charts for the entity.
    • Dashboards: Select dashboards for the entity.

    Now that you have created a Site Map for your app and added all components to is (both artifacts and entity assets), your model-driven app is really starting to look good! The final two parts of this series will cover properties you can set and why this is important to your end users.

  • Model-driven apps in PowerApps: Site Map

    Model-driven apps in PowerApps: Site Map

    Welcome to the third article in the model-driven app series! Today we will look at the Site Map and understand how it works from the back end / system administrator view and how that translates to the front end / end user view. This series includes six articles that will help you to get to know and use model-driven apps and PowerApps:

    Site Map

    This is the single most important component of your model-driven app. It controls which areas of Dynamics 365 are accessible in your App. When building your app, you will have two options when it comes to a site map:

    1. Use existing (from a solution)
    2. Create new

    Your map consists of three components:

    1. Area
    2. Group
    3. Subarea

    Let’s first look at these three components from the back end view for System Administrators and app builders:

    Site map back end
    The site map from the build perspective

    Utilizing a simple drag and drop interface (similar to what you see when building Business Rules and Business Process Flows), you can add new Areas, Groups and Subareas to your Sitemap Designer. But what do these mean to the end user? What is the difference between the three components and how do they display?

    To best understand the difference between an area, group and subarea on the Sitemap Designer, let’s take a look at the end user / front end view of the sitemap:

    Site map, front end
    The site map from the end user perspective

    Take a look at the image above to understand how the site map displays to users. The table below will explain how the highlighted colors relate to the Sitemap Designer.

    Highlight colorSitemap Designer Detail
    BlueArea
    GreenGroup
    YellowSubarea

    Now that you understand what each component is, build out your app’s sitemap. Once you have completed the build, make sure to Save it by clicking the Save icon in the top right-hand corner of the Sitemap Designer. Next, click Publish.

    After your site map has been saved and published, it’s time to move on to the fun stuff – adding components and setting properties. Stay tuned for the next article in our series, where we dive into components (entities, dashboards, business process flows and more)!

    Need Help?

    Do you need help planning your Site Map? Feel free to reach out to reenhanced! Fill out our Contact Form with details about what you’re working on, or email me directly at heidi@reenhanced.com. Happy building!

  • Model-driven apps in PowerApps: Using the App Designer

    Model-driven apps in PowerApps: Using the App Designer

    Welcome to our second blog in the model-driven app series! Today we will focus on getting to know the App Designer. This series includes six articles that will help you to get to know and use model-driven apps and PowerApps:

    A blank canvas to build your model-driven app!

    When you open your model-driven App in the App Designer, it will resemble the image above. You will notice a few main areas here:

    • Site Map
    • Dashboards
    • Components (Artifacts & Entity Assets)
    • Properties

    Using the App Designer is fairly simple and should be familiar to System Administrators as it uses a similar drag and drop configuration style used in building business rules and business process flows. Microsoft has done an excellent job making configurations like these accessible to the less technical System Administrator (like yours truly!).

    Let’s briefly look at each of these – as all of these areas will be covered thoroughly in subsequent articles.

    App Designer Areas
    Site MapControls which areas of Dynamics 365 can be accessed in this App
    DashboardsList of any system dashboard included in the App
    ComponentsA list of entities and entity assets (forms, views, charts) that are in this App
    PropertiesName and description of the App, custom icon (optional), unified interface URL

    Stay tuned for the rest of this series on building a model-driven app in Dynamics 365 using PowerApps, where we will dive deeper into the Site Map, Components and Properties.


  • Security Considerations when building a model-driven app in PowerApps

    Security Considerations when building a model-driven app in PowerApps

    If you’re a Dynamics 365 System Administrator, chances are you’ve played around with building model-driven apps in PowerApps. By now, it’s become glaringly clear that this is the direction Microsoft CRM has headed and will continue to head when it comes to configuration and customization.

    For those of you have not yet ventured into the world of model-driven apps, this blog series will introduce you to the components, security considerations and functionality to help you get started.

    This series will include six articles that will help you to get to know model-driven apps and PowerApps:

    Security Considerations

    Creating Model-Driven Apps. When building a model-driven app in Dynamics 365 using PowerApps, it’s important to understand security pre-requisites. You will need the System Administrator or System Customizer security role in Dynamics 365, or another role with Create, Read & Write access for Model-driven app.

    Accessing Model-Driven Apps. If you are using custom security roles in your organization, it is important to ensure your users have Read access to Model-driven apps on the Customization tab:

    Security role permissions for model-driven app
    Troubleshooting Tip! If your users report not seeing an app or getting an error message saying the app is not accessible, make sure they have the Model-driven App Read privileges on the Customization tab!

    Applying security role(s) to App. Take security a step further with model-driven apps and streamline which apps appear for your users. Make sure that they only see the apps they need to see. Here are 4 simple steps to limit access to a model-driven app by security role:

    1. Go to My Apps, then select Home

    2. In the App box, click the ellipses icon next to the App name

    manage roles in a model-driven app

    3. A panel will open on the right-hand side. Select the security roles who should access the App.

    Select security roles for model-driven app

    4. Click Save at the bottom.

    Tip! You can hide the Dynamics 365 – custom App from all users by following steps 1 & 2 above. Clicking the ellipses on this App will give you the option to “Hide for all roles.”

    Stay tuned for the rest of this series on building a model-driven app in Dynamics 365 using PowerApps.

  • Reenhanced at User Group Summit

    Reenhanced at User Group Summit

    Reenhanced is thrilled to be speaking at thee events at the upcoming User Group Summit. If you will be at User Group Summit, be sure to stop by one of our sessions!

    10 User Adoption & Training Best Practices You Can Implement Today

    Organizations of all shapes and sizes struggle with user adoption. All too often, new CRM technology is rolled out only to find that employees aren’t using it. They feel like it’s just another management tool. Join this session to learn best practices, tips and real-life examples of how organizations like yours have overcome the same struggles you are facing. This session will cover configuration, end user and training best practices and tips. “They need to learn how to use this to do their job. They will figure it out.” – Management Don’t let that be you! Come to this session and learn how to increase adoption at your organization. We will have time at the end for an interactive Q&A. Please feel free to share what has worked at your organization or ask questions to learn what your organization may be able to do better.

    Join us for a workshop-type session where you can build a model-driven app in Dynamics 365 using out-of-the-box configuration. We will review components of a model-driven app, how to work with the App Designer, use the artifacts and entity assets to build your App and limit access using your organization’s security model. Then, we will be hands-on: bring your tablets or laptops and follow along. If you have appropriate permissions in your organization, I welcome you to build an App today as part of our session (in your Sandbox environment, of course!). Model-driven apps, when designed properly have the ability to streamline the user experience and simplify their journey in Dynamics 365. I will also point out limitations when accessing CRM data via an App versus the full web experience. When you leave this session, you will be equipped with the tools to build Apps for your organization (and/or possibly your first App built in the session!), including an understanding of best practices around App design.

    You did it! After months of hard work, your Dynamics implementation is officially live. Users have licenses and have been trained. You are starting to see data flowing through the system. It’s a fairy tale ending! Or is it? Within weeks you start to hear users asking things such as “Hey, this is great, can we have a field over here for this?”, or “wait, I don’t remember how to do XYZ, can you remind me?” (or, worse yet, “do it for me?”), or “hey, I was listening to this podcast and they talked about this great product that does email marketing, let’s add that in tomorrow!”. The list goes on. Join this session to explore how to shift gears from project implementation to project maintenance and ensure your organization continues to push the envelope of organizational efficiency.

  • Adding a Logo or Custom Image to a Model-Driven App Tile

    Adding a Logo or Custom Image to a Model-Driven App Tile

    PowerApps are a great way for you to streamline the user experience in Dynamics 365. Available for Dynamics 365 Online Customers, creating an App is easier than ever with the PowerApps interface and drag-and-drop App Designer.

    Today, let’s show you in a few simple steps how you can replace the Default Image for your App to be a custom image. In this example, I will use the Reenhanced logo. You can use your company’s logo or any image that works for the App you are building.

    default app tile
    The default PowerApp Image Tile. This is what your users see when they select an App in Dynamics 365.

    1. If your image/logo does not yet exist as a Web Resource, the first thing we need to do is add it. In a Dynamics 365 Solution File, add a new Web Resource.

    Adding a new Web Resource to a Dynamics 365 Solution File.
    Name your Web Resource and upload file. Save, then Preview to ensure it looks right. Finally, Publish your Web Resource.

    2. Open your Model-Driven App. Navigate to Properties in the control panel on the right-hand side of your App Designer.

    3. Under Icon, uncheck the box next to Use Default Image.

    Uncheck Use Default Image under the Properties tab, highlighted here.

    4. In the search box above App Tile, find the Web Resource you added in step #1 and select it.

    Select your new Web Resource and preview App Tile.

    Once you Save and Publish the changes in your App, your App Tile will be updated with the new image!