A few days ago I was talking with a Dynamics NAV colleague who was quite proud on something called “NAV Extensions”. As it turned out, these extensions are the same concept as “Solutions” in Dynamics CRM. Without having specific knowledge on both software solutions it might be a bit hard to see the similarities, but I’ll outline the general idea in this post. Moreover, I’ll explain why I think NAV’s future lies beyond its extensions.
NAV Extensions… CRM Solutions… say what?
Waldo, a fellow Belgian blogger, but then on the subject of Dynamics NAV, has written a nice blogpost on the concept of NAV extensions, called: “The Future of Dynamics NAV Extensions“. His post might be a few months old, but still stands as one of the most read posts concerning NAV extensions. But lets first understand what these extensions are by digger deeper into MSDN Developer Network:
You can extend and customize a Microsoft Dynamics NAV deployment without modify the original application objects. With extension packages, you install, upgrade, and uninstall functionality in on-premises deployments or for select tenants in a multitenant deployment. Customers can easily add or remove horizontal or customized functionality to their solution that upgrade much easier than past solutions.
So lets compare this with the Solutions functionality in Dynamics CRM:
Solutions are how customizers and developers author, package, and maintain units of software that extend Microsoft Dynamics CRM Online 2016 Update and Microsoft Dynamics CRM 2016 (on-premises). Customizers and developers distribute solutions so that organizations can use Microsoft Dynamics CRM to install and uninstall the business functionality defined by the solution.
So how could you get these NAV extensions?
Just as with Dynamics CRM solutions, you could develop NAV extensions and deploy them on your organisation. The MSDN Developer Network has already a body of information containing useful tips on how Dynamics NAV consultants can develop these extensions and even on how they can expand functionality upon other extensions built by other parties. This is very similar to the fact that Dynamics CRM consultants can also create their own solutions which they can deploy and expand upon.
An other way to get these extensions, according to Waldo, is by going to the “Business Apps Marketplace for Dynamics NAV Extensions”. Now, I have been looking online for this marketplace, but without result. So I hope somebody could fill me in on this one. For those of you who are familiar with Dynamics CRM, you might see a similarity with the “Dynamics Marketplace”, which is available in every CRM organisation:
How will these extensions be packaged?
So lets dig deeper into these NAV extensions which you could get from a market place. According to MSDN they will:
This includes providing the extension with metadata, such as name, publisher, and version, in a manifest, and packaging that with the application elements of the extension, such as DELTA files and permission set export files. The end result of that process is a package of type .NAVX .
Hmm, for any CRM consultant this sounds like a solution. Don’t believe me? Take a better look to a CRM solution, e.g. the managed solution “Resco MobileCRM Woodford”:
It clearly has:
- a name: Woodford
- a publisher: Resco spol s.r.o.
- a version: 18.104.22.168
- a package type: Managed
Moreover, it also contains the application files which hold the customizations which will be done and even some info concerning security:
What about the license cost?
So what will these extensions cost if you would get them from the Market place? It is clear that you can develop them for free, but lets say I see an interesting solution online which will extend my own Dynamics NAV environment. Can I just download and use them? Well, According to MSDN:
Licensing is the same for functionality that is made available in an extension package as in an. fob file. You must have the relevant license to create and export objects as TXT files. Similarly, your consumers must also have the appropriate licensing to use your extension. We strongly advise against using object IDs in the customization range (50,000-99,000) for objects that are intended to be distributed to multiple end customers.
So it is not entirely clear to me what MSDN specific means with this (NAV customers need special licenses for objects in the customization range from 50.000 to 99.000, whereas CRM customers don’t have this customization range) and Waldo was not entirely sure either: “All we know, is that “Extensions” needs a completely new licensing model .. and Microsoft is still “whiteboarding” to make it what they think you would like it to be ;-).”.
So my guess would be that they will create a license model such as in Dynamics CRM; you’ll be able to deploy a NAV extension from a thirth party and you’ll pay a x money for x users for x time (e.g. $3 per user per month).
What about multiple extensions?
So lets say you have multiple extensions in which you are interested and you want to have them in your NAV environment. How will those extensions work related to each other? Lets call in the help of MSDN for the last time in this post:
You can publish multiple extensions to a Microsoft Dynamics NAV deployment and, in multitenant deployments, install any combination of published extensions for each tenant.
In most cases, two extension packages can coexist and work independently of each other; however there is the possibility that two apps will try to modify the same object properties. In those cases, if the conflict cannot be resolved, the installation of the conflicting extension fails.
So this is a bit different on the part of Dynamics NAV, compared to Dynamics CRM. Both softwares can handle multiple extensions, but whereas conflicting extensions will fail in NAV, the story is a bit more complex in Dynamics CRM. I will not dig deeper into the entire behavior of the CRM application when you have multiple solutions, as this isn’t the time or place to so.
So what about the future of these NAV extensions?
Well, I do think that NAV extensions will enrich NAV environments a lot, but I think that they will be sculped just as Dynamics CRM solutions. It is clear from the examples given in this post that the NAV extensions are based on CRM solutions. So why not go all the way and use the same package system as in Dynamics CRM (e.g. managed solutions VS unmanaged solutions, default solution, system solution, …)? Moreover, CRM solutions allowed for an entirely new market of 3th pary solutions to truly expand the environment in which you are working, whether that environment is Dynamics CRM or Dynamics NAV. So finally, I do not think that the future of NAV lies at these extensions, buy beyond them as they can do a lot more as thought of currently by the Dynamics NAV community.