Create a model-driven app from tables

Completed

Model-driven apps are always built from data that is stored in Microsoft Dataverse. Model-driven apps use a data first design. This means that design focuses on adding components such as forms, views, charts, and dashboards to tables using an app designer tool.

Stages of building a model-driven app

As you prepare to build a model-driven application, they're often built in stages. By following these stages, you can ensure that your application best fits the needs of your users. Typically, there are five stages in building the app. Let's look at each of the stages in more detail.

Stage Purpose
Model business data Ensure data is structured to address the business problem
Define business processes Help users update tables and complete work efficiently and accurately
Compose the app Create the app and select relevant tables and elements
Configure security roles Ensure users access only data relevant to their roles
Share the app Distribute the app
  1. Model business data

    Modeling your business data is where you identify the data your app manages. Data modeling is also the point in the process where you will, as needed, create the necessary tables in Dataverse to store it. Once your tables are created, establishing relationships between tables ensures data is structured and connected effectively

    For example, if you were going to build a model-driven app for managing real estate properties, your data model might include tables for the property listings, showing, and open houses. Creating relationships between the property listings table and the showing and open houses tables ensure that individual showings are associated with the correct property listing.

  2. Define business processes

    Business processes act as guides for users ensuring that your preferred practices are being followed. By defining and enforce consistent business processes, you can enhance your model-driven app design. While you can create the app without workflows, designing them to match your organization's needs is essential. They help ensure all users follow consistent steps, whether the tasks are simple or involve complex operations across multiple tables.

    For example, when a real estate property has a showing, the goal of the showing is to get an offer. By using a business process, you can ensure that agents are following the correct procedures and capturing the necessary data. You may have a checklist to stage the property properly and need the agent to gather client details, helping you negotiate more effectively when an offer is made.

  3. Compose the app

    Once you have you data and processes in place, you can use Power Apps Studio to create a new model-driven app. From within the designer, you can perform tasks like adding pages, such as table-based views, forms, or dashboards, to display and interact with the data. Additionally, you can configure the application navigation and layout to provide an intuitive user experience.

  4. Configure security roles

    Not all the data and information stored in a data verse table should be accessible to everyone. Security roles are used to ensure that individuals are only able to perform tasks, and access data necessary for their role. Assigning one of more appropriate security roles users have the necessary permissions to view, edit, or manage data based on their roles.

    For example, a real estate agent likely needs to be able to create offers on properties for their clients, only needs to see that other offers on the same home are made. By using security roles, we can ensure that agents can create and make changes to their offers, and can only see the details of other offers, but can't modify them.

  5. Publish and share

    The final step in the design process is to publish the app to make it available to users within your organization. Until an application is published, the changes in the application aren't visible to users. This step allows you to ensure that the application is ready to go before making it available to users.

By following these stages, you can efficiently build a model-driven app tailored to your organization's needs.