4 Lessons Learned from the Field Service v8 Upgrade
We just completed a round of updates of Dynamics 365 Field Service from version 7 to 8 and wanted to share some of our lessons learned. Although this is the last of the manual updates – from here on, Microsoft will be updating Field Service in April and October with the rest of the Customer Engagement platform (details here) – we think these lessons learned may still apply.
Lesson #1: Upgrading “Field Service” means upgrading many components
Field Service upgrades are not as simple as upgrading a typical solution; there are many components involved that are all interrelated. The following components were involved with the v8 upgrade:
Customer Engagement Platform
This last manual update of Field Service needed to be timed around the April and October updates of the D365 CE platform. Now that both Field Service and the CE platform are on the same cadence, this should be less of an issue moving forward.
Field Service Solution
This is the main solution file for the Field Service application. Upgrading from v7 to v8 had some hoops to jump through – Microsoft wanted to make sure everyone was prepared to move to the new Unified Client Interface, which v8 requires. But moving forward, this piece should be similar to the early opt-in process for the April & October updates.
Woodford is the configuration tool for the Field Service Mobile app. This tool is provided by Resco, and receives periodic updates. Typically, Woodford can be updated on its own without requiring updates to any of the other components. After some Woodford upgrades the Mobile Projects (explained below) also need to be updated, but to-date this has been an automated process that just takes a few seconds.
While Woodford is the configuration tool, the Mobile Project is the file that contains the actual configurations. This file is much like a D365 Solution file, and contains the forms, views, form rules, and all other configurations that make up the user experience of the Field Service Mobile app. Most organizations will customize this file to suit the needs of their field technicians. So when Microsoft provides a new version of the file, it’s important to go through the process of merging in your changes, so you can keep what you have today and still reap the benefits of the newest features. More on this below.
Field Service Mobile App
The Field Service Mobile app, obtained from the Apple App Store or Google Play Store, is what the field service tablet users know as the main Field Service app. For those looking closely, you’ll notice that this app is a modified version of the Resco Mobile app, which Microsoft licenses from Resco and includes with the Field Service licensing. With the jump from Field Service v6 to v7 or v8, a new mobile app was required. The older “Field Service Mobile (2017)” was replaced with “Field Service Mobile.” Downloading and signing in to the new app might seem like a trivial step, but for customers with large field service teams, making sure that the hundreds of tablets get the new app installed and ready to use on time after the upgrade is no small task. It’s unclear if another app change will be needed in the future, but we expect that the current app will be in use for some time. Updates to this app will be pushed out through the app stores just like any normal app.
Many of the components of the latest version of Field Service were created to only work in the new Unified Client Interface (UCI), which required Field Service schedulers, dispatchers, managers, and other desktop users to begin using Field Service in the new UCI. This was he first app to require the UCI, with all other apps following suit this year.
Moving forward, we anticipate that the automated update process will cover the CE Platform, Field Service Solution and Field Service Mobile app, with some manual effort still required to keep Woodford, and the Mobile Projects up-to-date with the latest features.
Lesson #2: The new Mobile Project required a manual update process
As mentioned above, a new Mobile Project file from Microsoft was included with the v8 upgrade. The Mobile Project contains all the screens, views, automations and standard functionality of the Field Service Mobile app (powered by Resco), which gets installed in the Woodford configuration tool.
If the original Mobile Project file has been changed or customized in any way, all those changes will need to be migrated to the new Mobile Project. Changes can include reorganizing the home screen, adding views, updating view filters, adding form rules, customizing the theme, etc. It’s a good idea to keep a running list of your Mobile Project updates so you can easily know what updates need to be migrated.
Currently there is no way to automatically apply existing customizations to the new Mobile Project. You will either need to manually move your customizations to the new Mobile Project, or use GitHub to compare the two projects and copy over files into the new project. You can find the steps to use GitHub here.
We found that a hybrid of the two approaches worked well. We would compare the files with the GitHub method to locate where changes were made, and then manually make each change.
Here are the high-level steps we followed to set up the new Mobile Project:
- Import the new Mobile Project provided by Microsoft and publish
- Select the new project and click “Derive” to create a child project. This will be the project that you will customize and publish to your users.
- Compare and merge any existing customizations. If merging manually (or using the hybrid approach mentioned above), you can open both projects (your previously customized project and the new project) and compare side by side. You can export the XML for forms and views from the old project and import into the new, however keep in mind that this import will override any new standard customizations included in the new field service mobile project. The GitHub comparison was helpful in identifying which forms and views had changes.
As Microsoft adds new features to Field Service, it’s likely that updated Mobile Projects will also ship with the updated main solutions. We hope to see a more automated way to merge in Mobile Project changes in the future, but until then, we’ll need to continue with the manual merges.
One common error we have seen is “Cannot read property ‘getFormContext’ of undefined”. This error may pop up on Work Order, Bookable Resource Booking, and Resource forms as soon as the form loads.
To resolve this error:
- Navigate to the form editor and open “Form Properties”
- Under “Event Handler”, double click to open the event
- Check off “Pass execution context as first parameter” and then click OK
- Repeat for each event handler listed in the form properties, and for each form that displays this error
Another error you may see is “head is not defined”. This error requires a support ticket to Microsoft, who need to run a script to correct the issue. After Microsoft runs the script, they will direct you to check off “Pass execution context as first parameter” on the form event, as described in the previous example. Be sure to clear your browser cache after Microsoft runs the script, otherwise the error will still appear.
Hopefully these types of errors will be resolved in later versions, but if we run into them again, the same steps above are a good starting point for resolution.
Lesson #4: New features are not automatically enabled
With this update and with future updates, Microsoft will release new features which will usually be disabled or will require some setup in order to work properly.
As an example, one of the new features included in the Field Service version 8 upgrading is Geofencing. Geofencing workflows automatically create a perimeter around a work location, and we can use this perimeter to trigger push notifications or custom workflows whenever a technician moves in or out of this area.
There are a few geofencing solutions that were installed with the Field Service upgrade, which include the entities and workflows required.
To enable Geofencing:
- Confirm the 3 geofencing solutions are installed and activate the geofencing processes (these will be in “Draft” status by default).
- Navigate to “Geofencing Settings” and “Entity Configuration” to review and update the default radius, unit, etc. as needed.
- Open the Mobile Project within Woodford for the Field Service mobile application, then navigate to “Auditing”. Confirm that “Enable Auditing”, “Include GPS Location”, and “Log Synchronization Event” are checked.
- In the mobile project navigate to “Location Tracking”, then check “Enable background GPS monitoring” and uncheck “Enable real-time position flushing via Resco web service”. Please note that you may see a warning that Location Tracking is only available with a Resco Routes license, but this function is covered by the Microsoft Field Service license.
Once these steps are completed, you should see “Geofence” records created when a work order is booked and “Geofence Event” records created when a user enters or exits a service location.
Of course, each new Field Service feature that rolls out in the future will have different steps to implement, but this is a great example of the level of effort required to get a new feature up and running.
The 2020 Wave 1 round of updates is scheduled for North America to release over the weekend of May 22, which for many of us will be the first experience with the automatic updates for Field Service. If you haven’t already, we recommend opting in a Sandbox environment at least 30 days beforehand to test and iron out any issues.
If you need help moving to Field Service v8 or have questions about any steps in the process, please feel free to Contact Us.