Power Apps Mobile App: Mobile Offline Capability for Model-Driven Apps

You are currently viewing Power Apps Mobile App: Mobile Offline Capability for Model-Driven Apps

Mobile offline synchronization capability is one the common requirements these days. Although our network and internet connections have improved a lot in last few years, there are always few scenarios like internet disconnection or weak signals due to which our device might not be able to connect to server proper and hence customers would love to have some basic functionalities when they are temporarily offline like some minor updates, quick notes etc.

Before we continue, I would like to highlight that this offline feature isn’t supported for Dynamics 365 Customer Engagement (on-premises).

Configure Mobile Offline capabilities

1. Enable entities for mobile offline synchronization

First thing is to enable entities, especially custom once, so that the data under these entities will be available to users in offline mode.

  • In the Power Apps, on the left navigation pane, expand Data tab and then select Entities.
  • Select/Open an entity and click on Settings in the command bar.
  • On the Edit entity pane, expand More settings > Offline and then make sure Enable for mobile offline check box is selected and then select Done.
Enable entities for mobile offline synchronization
2. Create at least one mobile offline profile

Now we have to create or update a mobile offline profile as it defines a list of entities along with the type of data that will be available to a certain set of users.

  • Navigate to Power Platform Admin center as an admin
  • Select an environment and click on Setting. Expand the User Permission tab and click on the Mobile Configuration.
  • Create a new Profile (with Name and Description) or select an existing one.
  • Under the Data available offline area, select entities one by one and add them to the profile.
    • For each entity select the records and relationship carefully based on your business requirement, but try to keep it simple and minimal for smooth syncing.
  • Now, add users to the offline profile under the People with offline access area that will use this feature.
  • Once we are done with the configuration of the offline profile, we need to Publish it.

A user must have a security role that has Read permissions on the mobile offline profile to be able to use their mobile device in offline mode.

Create at least one mobile offline profile
3. Set conflict detection for mobile offline

We need to use the web app and Navigate to Settings > Administration and then select System Settings.
To configure conflict resolution behaviour, select the Mobile Client tab.
When there is a mismatch of data between client and server, conflict errors occur. To resolve those, you can choose one of the following settings:

  • Select No – Conflict detection for mobile offline is turned off, so whatever changes are made by a user in offline mode are automatically synced to the server when the user is back online, and client wins over the server.
  • Select Yes – Server wins over the client.
Set conflict detection for mobile offline
4. Finally, Enable an app module for offline access

We are done with most of the configuration. All that’s left is to enable a Model-Driven app for offline and to do that we need to go to Power Apps.

  • Select a Model-Driven app and click on Edit to open the app in App Designer.
  • Select the Properties tab and scroll down to select the Enable Mobile Offline check box. Then select the drop-down menu and choose a mobile offline profile.
    • You can add more than one profile for an app module.
  • Save and Publish the app. We are good to go.
Enable an app module for offline access

Offline Supported Capabilities

As per official documentation, here are the features that will be available during offline mode:

  • Business rules: Business rules are supported in mobile offline.
  • Lookup support: Lookups are supported for the entities that are mobile offline-enabled. All the entities participating in the lookup should also be offline-enabled.
  • Supported view: Only System views and Quick view are supported in mobile offline. Personal views are not supported.
  • Offline search: Available only for offline entities. User can only search one entity at a time. Only categorized search is supported in offline mode and not relevant search.
  • Notes on the Timeline control: Notes on the Timeline control is available in offline mode. You can take pictures, read notes, and add/remove attachments in offline mode.
  • Custom entities: These commands are available on edit the form, Mark CompleteRefreshConvert To- Opportunity, and Delete.

Limitations

Well offline mode has a lot of limitations too that we need to consider like:

  • Business Process Flows: Business process flows are not supported for mobile offline.
  • Qualify a lead: When a lead created in mobile offline is qualified and when the user goes online, the business process stage will still show the qualify stage. The user will have to manually click Next stage to move to the next stage.
  • Views are not supported for the following entities in offline mode:
    • Email, Task, Fax, Letter, Serviceappointment, Campaignresponse, Campaignactivity, Recurringappointmentmaster, Socialactivity
    • Any views that have linked entities (related entity) that are not available offline are also not supported.
  • Add Existing on subgrids: Add Existing is not supported for mobile offline for certain types of relationships. When you are offline, certain relationships such as relationships that are N:N are read-only, and the Add Existing command will be hidden on subgrids for those relationships. Even if the button is unhidden via customization, the command will not work offline.

Configuration Tips

Here are a few configuration tips and consideration we need to keep in mind while enabling offline mode:

  • The time for initial metadata download is determined by the number of total entities in offline-enabled app modules. Make sure to enable only those entities and app modules for offline that are necessary to optimize the experience for end-users.
  • Ensure that any view that you want to work in offline doesn’t reference the entities that are not offline enabled. For example, assuming Account is in the offline profile, then an Account view that references the primary contact when Contact is not in the profile will not be available.
  • Any changes to a user’s privilege to view a record won’t take effect on the mobile device until the next synchronization cycle.
  • Mobile offline honours the mobile-app security model. It also supports the hierarchical security model.
  • Field level security and attribute sharing are not supported for offline mode.

For a complete list of all capabilities, recommendations and limitations, please check out Microsoft’s official documentation on this.

Well, I hope everyone would be excited to use this feature soon for our customers. Please check out all the tips and tricks as well as limitations carefully and cross-check them with your business requirements before making any promises to your customers.

Microsoft’s team is working on many enhancements to improve offline capabilities even further and we might see them very soon.
Till next time, Cheers 😉

Manish Rawat

Microsoft Certified: Dynamics 365 + Power Platform Solution Architect Expert, with little Knowledge of Scrum (PSM-I) & keen to learn about Power Platform 😎