After returning home from NAVUG where I tried to inspire people to develop software in a less intrusive way I found out that you cannot just start working with the new extension model. The DLL you need in PowerShell is disabled when you install RTM.

I am still running CTP20 on my laptop which I used for the demo.

What are Extensions?

Extensions are packages of Delta files that you can run as an “App” inside NAV. They are compiled on top of your NAV code. In other words, you can customise NAV without doing raw source code modifications.

I’ll post a video on YouTube about this as soon as all the conferences are over

Who is this for?

People have different opinions about this, but my own is that ISVs should start using this first to ship their horizontal solutions as extensions. In future we might also be able to ship vertical solutions or localisations.

Can I customise an extension?

No! This is one major change compared to shipping raw sourcecode modifications. You cannot make changes except personalisation. The Delta files (which are text files) are scrambled so you cannot change them either.

So why would I do this?

To make upgrades easier. With Liberty Grove Software (the partner I work for) we do the integration for some ISVs, and their interface is typically not to be changes. Another example is Anveo which is also designed not to be modified by partners, except for one module which could work as events.

Events? Are you making this more complex now?

Eventing is another new model that we have in NAV2016 which is stolen from .NET. We can now subscribe to triggers in the product. This, in combination with Extensions might be a new model to develop modifications in our product.

So how do I get started?

This was the intention of the blog. The DLL you need to create your own extension as described in my previous blog is (apparently) disabled when you install RTM.

Thanks to Erik Hougaard for trying to figure this out:

 Erik Hougaard (@eHougaard) says:

  • For those how cannot find the commands, use this to register the missing DLL from the RTC folder:

    Import-Module .\Microsoft.Dynamics.Nav.Apps.Tools.dll

    Then it should works (It did that on my machine).

More soon

I will post more about this since I think we should all start experimenting with this and give our feedback to Microsoft.

Meanwhile, please start reading MSDN:

Download Example

UPDATE: Download the files and script from the new Mibuso