Dynamics 365 Mobile offline allows mobile users an enhanced experience and enables them to be more productive while working offline.
In this post, we’ll take a look at:
- How to configure mobile offline
- Things to consider and limitations
- Considerations for estimating work effort for mobile offline
Explore Dynamics 365 Services!
Dynamics 365 mobile Offline Configuration:
Mobile offline will not work with a Trail, Preview or Sandbox organization. The Dynamics 365 subscription must have at least 5 Professional licenses OR at least 1 Enterprise license.
Here is how Dynamics 365 Mobile Offline Works:
- Enable mobile offline
- Create a mobile offline profile
- Enable entities for mobile offline
- Add user to mobile offline profile
- Publish mobile offline profile
A quick look at the high-level sync:
As we can see in the above diagram, the organization filters apply before the data is synchronized with the Azure SQL database. The profile filters apply on the data that is supposed to be synced with the end user’s device. For example, If we want to show only My Active Contacts, then on the organization filters we’ll configure it to sync any record that is active and has been modified in the last 10 days and only the profile filter, we’ll configure it to “Download my records only”.
Now that we’ve had a high level understanding of mobile offline, let’s take a look at some of the limitations.
During a recent client project as Microsoft Dynamics Partner, we had to work around numerous limitations while using Dynamics 365 in offline mode. I’ll discuss a couple of them here.
You can enable editable grid on sub grids and associated view and they work fine in Dynamics 365 app but in offline mode any lookups on them won’t work. This is a major limitation of mobile offline because it forces the user to adapt to different work arounds. They must remember how to use the Dynamics 365 app one way during online mode and another way in the offline mode. This severely impacts the user adoption and their confidence in the application.
While useful we had to completely scrap this idea of using editable grids in the app and used a complete different method of editing records but critically making it the same in online and offline mode.
Mobile Offline Client SDK
Any operations involving Create, Read, Update, Delete in offline mode has to be done using Xrm.Mobile.offline. Here is the list of operations you can perform:
There are limitations for each operation which you can find at the following link:
One of the major limitation that we came across was while using retrieveMultipleRecords. We were during some aggregates in a FetchXML query and while it worked in Dynamics 365 app in online mode, the aggregate simply didn’t work in mobile offline. This again forced us to design and develop a separate logic for online mode and a separate one for offline mode.
Xrm.Mobile.offline has been deprecated since the release of July update Dynamics 365 v9.0. The new client side SDK is: Xrm.WebApi.offline
During our development, we had some custom views created on entities which didn’t work in mobile offline. If you modify any out of the box view or create a custom view to show a user their records only “Owner = Current User”. The view will not show up in mobile offline. We had to remove the criteria from the views to make them work both in online and offline mode.
Considerations for estimating work:
Mobile offline while helpful in boosting productivity of users has some serious limitations. The above mentioned limitations are just a few of many other we faced during our development and testing. One can’t just assume that the functionality and capability of Dynamics 365 app in mobile online will exactly match if offline mode. That is unfortunately just simply not the case.
These limitations are a reminder that we must consider them when estimating effort not only for development and testing but also while designing the solution, to keep it the same across Web/Mobile Online and Mobile Offline modes.
This while in some cases may not reduce the development effort but at least will provide some preciseness to the estimated work effort.
If you have any question or queries, do not hesitate to reach out to us!