NAV Upgrade Anxiety. Anyone running Dynamics NAV has experienced it. And it’s no wonder – with issues around backwards compatibility, object merging, and customizations, to name a few – upgrading NAV isn’t always an easy feat. In fact, in the past it was often faster and easier to re-implement than to upgrade.
However, with the release of Dynamics NAV 2017 those days are over. New NAV upgrade tools mean that major obstacles facing upgrades have been removed, and consequently, that upgrades are much less stressful and time consuming.
In this blog post, I’ll outline some of the issues facing NAV upgrades in the past and explain how NAV 2017’s new upgrade tools are mitigating these issues.
Top Notorious, Anxiety Provoking NAV Upgrade Issues
The most recent versions of Dynamics NAV have typically included changes that were not backwards compatible with older versions. Some examples include changes to the way NAV handles variable names, depreciated or redesigned functionality, database schema changes, and changes to data validation and system tables.
Before updating your NAV ERP solution, it’s necessary to compare your original version (e.g. NAV 2013 R2) to the same version without customizations. Then, you need to estimate the effort to jump to each successive version. More specifically, to NAV 2015, then to NAV 2016 and finally to the newest version – NAV 2017.
Prior to NAV 2017, Microsoft offered no standard method of doing a merge analysis. A variety of third party tools were available, meaning that each NAV partner had their own way of analyzing the differences between versions. However, given their reliance on developers even the most complete object merge tools left a significant margin of error. More specifically, they relied on developers to search for cases of code asymmetry to identify custom code from hotfixes, which were potentially rolled into the next version by default, and to identify function changes implemented by Microsoft in new versions.
NAV Customizations & Add-on Solutions
Customizing NAV required either changing standard NAV objects, such as codeunits or tables, or adding new user-defined ones prior to NAV 2017. These custom objects didn’t always upgrade to the newest version and often needed manual intervention or at worst, required the customization to be re-written. Historically, custom functionality has been delivered by ISVs (Independent Software Vendors) in the form of additional customizations through add-on solutions in a different code range and may or may not upgrade to the newest NAV release, depending on whether the ISV has gone through the upgrade process for their add-on solution.
2017’s NAV Upgrade Tools
As with most Dynamics NAV version releases, Microsoft has packed a wealth of new features and feature enhancements into this release. Workflow, electronic documents, document sending profiles, deferrals and social engagement are just a few. However, while this new functionality is certainly exciting, the real benefit lies in the new NAV upgrade tools.
Microsoft Publishes In-house NAV Upgrade Tools
As part of the NAV 2015 release Microsoft liberated all their in-house internal upgrade tools. What does this mean? Consider Microsoft’s own challenges in maintaining a worldwide, synchronized version of NAV. The Microsoft development team works on a base worldwide version of NAV, as well as twenty-five different localized versions. Whenever a modification is introduced in the base system, it needs to be pushed out to each localized version. It’s no surprise then that the NAV Development Team has built some irreplaceable and advanced tools to make this upgrade process more efficient.
Native “Smart” Merge Tools
In the past, when it came to merging objects between NAV versions every consultant had his/her own way of approaching the merge analysis. They used tools such as: WinMerge, Beyond Compare, Mergetool and Notepad. The problem with this approach is that none of these tools are context aware. More specifically, they can identify the existence of modified objects, but the objects themselves are black boxes. Consultants had very little ability to determine exactly what the modification was unless documentation was available.
With NAV 2015 and newer versions, Microsoft has included sophisticated tools to compare your version with the base version, producing a delta file which is then applied to the target version. You can now use Windows PowerShell cmdlets to compare different sets of Microsoft Dynamics NAV application objects and identify the differences. Then, you can choose to apply all or some of the differences to a target solution.
The included PowerShell cmdlets are context and content aware and can identify the exact difference(s) to complete the merge more effectively.
Take the example of a NAV solution that includes a modified table with a custom field. If the next NAV version has added another field to that table, the older merge approaches wouldn’t be able to put that new field in the right spot because there is something else there that doesn’t match the text before or after the field. Historically, this would have had to be completed as a manual merge. Now, Microsoft’s new merge tools will recognize that there is a custom field and merge it with the new automatically.
Stay Tuned: Future Proof Customizations with Events and Extensions
As part of NAV’s propulsion to the cloud, Microsoft needed to create a way to deal with modifications in a multi-tenant environment. Specifically, a safe and secure way to apply a modification to a specific tenant without impacting others. Microsoft has done this through the improvement of Events and Extensions in Dynamics NAV 2017. In our next NAV Upgrade Tools blog post, I’ll explain how you can leverage these powerful new tools.