This blog is written from Reno Nevada where the folks from the NAVUG content committee asked me to talk about how to integrate add-ons with NAV. This session was intented to inspire people to think about alternative approaches to the traditional raw source code modification.
Part of the session was about Web Services and the new Eventing framework. I also wanted to show how the new extensions allow you to enhance NAV without customisations. Hence I had to figure out how this works.
Step 1 – Create the Delta
The first step is to have Delta files that are within the limitations of the extension framework. These are New tables, Pages and Codeunits and adding fields to tables and pages.
Reports, XMLPorts and Query objects are not supported.
Once we have the delta files we need aditional PowerShell
Step 2 – Manifest
The extension needs an XML file that tells us what the version of our extension is, the name and the publisher.
The easiest way to have that is to create it with PowerShell
The XML looks like this
Step 3 – Create NAVX File
That is how easy it is to create an extension.
Step 4 – Publish the Extension
Now we need a new clean database to use it in. So in PowerShell we move to a new service tier.
This makes the extension available in our database, but it is not activated
Step 5 – Install
The last step is to install the extension.
Done!
Now the extension is available in our database.
You can hopefully download this example from the new Mibuso website soon.
Here are the commands for copy/paste
New-NAVAppManifest-Name“NAVUG Summit”-Publisher“Mark Brummel”-Version“1.0.0.0”|
New-NAVAppManifestFile-Path“C:\Users\marq\Documents\DynamicsExt90\Manifest.xml”
Get-NAVAppManifest-Path“C:\Users\marq\Documents\DynamicsExt90\Manifest.xml”|
New-NAVAppPackage-Path“C:\Users\marq\Documents\DynamicsExt90\NAVUG.navx”
-SourcePath“C:\Users\marq\Documents\DynamicsExt90\Delta\”
Publish-NAVApp-ServerInstanceClean2016-Path“C:\Users\marq\Documents\DynamicsExt90\NAVUG.navx”
Install-NAVApp-ServerInstanceClean2016-Name“NAVUG Summit”–Version1.0.0.0