Future Dynamics NAV customizations: Only Extensions!

“Extensions are the only way forward enhancing NAV in the future. No matter the customer scenario”.


At least that's how Kurt Juvyns said it in a webinar a month ago. Mark Brummel and Waldo have already written about the improvements Microsoft is going to do to extensions, and the issues in regards to the current extensions. Or at least how Microsoft is planning to improve Extensions for the next release and have already done it with the Project Madeira preview.

Are extensions ready for prime time?

The short answer is No! The current NAV extensions are not really able to do all that we as solution architects and developers would expect it to be. My personal list of why we not go all-in on extensions:

  1. You cannot “customize” an Extension. Lets say that a NAV customer gets an Extension from the store. An extension that adds a new field to the customer table and a new table. While the user can see the field in the page where the fields were added, then the extension is invisible in the Development Environment. Which means that we cannot use this field or table in any other pages or reports not part of the extension.
  2. Your Extension cannot have report objects. So we basically have no way to get the data we just added out of the system again! Your extension can only contain new tables, pages, menusuites and codeunits. Query and XMLPort objects are not allowed either.
  3. You cannot remove or disable other controls in page. Let’s say the only change you want to disable/hide controls with the extension, then that's not possible today. Since you cannot add actual code to existing pages, then you can also not access the other page controls.
  4. Performance when publishing an extension into the NAV server instances takes time. Compared to how easy it is to import a changed object, then publishing new or changed extensions is something you want to do in the off hours.

There are still good usages for extensions in NAV 2016. By using “hybrids” (idea by Per Mogensen to combined installed fob’s with extension to leverage page changes etc.) and FieldRef / RecordRef to interface data from the extension to “customizations” in fob’s. Check out the links in the top of this post to Mark and Waldo’s blog for more about the impossibilities and possibilities.

What does this mean to the NAV developer?

Personally I have yet to write my first extension. It’s been on my list for some time, but not really needed it yet, and found the extensions in NAV 2016, just a bit too immature. The improvements being released in the fall, seem to change it.

So to me and many other Dynamics NAV developers it means we have to learn to write extensions. There are some videos available on YouTube. You can actually learn the basics about how to create an extension in under 12 minutes.

I think that, no matter how simple they really are, then its going to be one of those changing points, where its still going to take years, before many of our colleagues will start using it. Just like when the role tailored client was released. Today 8 years later, I know a few NAV freelancers, who still have never created a page or RDLC report. They basically found the change in technology too big. So now they are mostly working as functional consultants and helping customers on older versions.

And I would say the same here, get started now. Get familiar with extensions. Use them where you can, if you can. At least just to learn it. Because it is going to become a very important skill.

What does it mean to the NAV users?

To all the 100000’s of companies using Dynamics NAV and Navision today, this changes nothing. Their current customizations and add-on's are not turning into extensions “over night”. And just turning existing customizations into Extensions (you could theoretically do that), will neither be beautiful nor easy to fix, once live. But if already on NAV 2016, then you may start getting new smaller add-on’s as extensions.

Customers starting on the next Dynamics NAV versions (post “Project Madeira”), may be able to have their customizations done as extensions.

Will extensions make Dynamics NAV customizations cheaper?

Creating a “old fashioned” customization, like adding a field, new report, page etc. is still going to be much faster. The whole process of creating a new extension is still something that takes a lot of time.

Despite it only takes 12 minutes to explain how to do it, then it takes much more time than that. Just setting up a “unique” and controlled test and development environment, which is required if you want to work with this professionally, takes a lot of time. PowerShell will be able to automate much of the process for you.

So no, the initial cost for customizations created for individual companies using Navision is not going to become cheaper by Extensions.

So why are Extensions better than traditional customizations?

There are still a lot of reasons to use extensions over traditional customizations

  1. Extensions will make upgrades much easier.
    Extensions doesn’t change the actual NAV application code, so when upgrading just test that you extension work on the new version. NAV code will not have been changed here. So users will save on upgrades.
  2. In a Extension Only setup, everybody can use a multi-tenant cloud setup. Getting your Navision hosted could become much cheaper. 
  3. The NAV Extension Store. It’s not yet there, but both in connection with Project Madeira and previously Microsoft have announced that they are going to create an online “Store” for NAV, just as you have the Windows Stores etc. So a user my be able to find that specific customization they are requiring as something already available. All they have to do is to download and install it. Something any user will be able to do by themselves.

I’m sure there are even more good reasons to use extensions. And there are still going to be companies who will need “old fashioned” customizations for many years. Even if using NAV 2016 and later. At least with the “current” way Extensions are created and their limitations.

What happens next?

Microsoft used this in their webinar mentioned above.




Here we can see that in the “Madeira” NAV release in October then the remaining objects become available, plus a lot of other “goodies”, which really allow us to start using extensions for great stuff.

No mention about being able to “extend” extensions (directly reading information from extension for the development environment). And still not possible to control other controls in a page.

My personal guess is that we are writing 2019 or 2020, before extensions really become ready for prime time and “simple” customizations. But with the speed we have seen Microsoft deliver the last couple of years, then they may surprise me positively.

What do you think, could you imagine creating extensions for each and every single customization you make? Or maybe a big one including all deltas to a customer? There as lot’s of possible setups to consider.

Comment List