My first Dynamics 365 Extension – NAV vs 365

I am now in the validation of my app.  Unfortunately I don’t have enough time to make this go any faster so please be patient.

This process will take time.  Here is an example of the expected time frame.

As you may have read in my previous post I created a few videos.  These are the first comment from Microsoft  about these videos.

The obvious information from here is that I can’t use Dynamics NAV anywhere in my Dynamics 365 for Financials extension.

I asked and this is the solution they gave me.

If you add &aid=fin to the end of your Web Client URL it will add the Dynamics 365 shell.

When I start my web client the normal Url is “http://tfw107131:8080/NAV2017DEV0000077/WebClient/”.  By adding the suggested switch to the Url and starting the web client with “http://tfw107131:8080/NAV2017DEV0000077/WebClient/?aid=fin” I will get the Dynamics 365 shell.

The parameters that are added to the Url start with a question mark (?) and after that each parameter starts with the ampersand (&).  As an example, I have opened the Customer List and the Url says: “http://tfw107131:8080/NAV2017DEV0000077/WebClient/?aid=fin&bookmark=27%3bEgAAAAJ7CDAAMQAxADIAMQAyADEAMg%3d%3d&page=22&company=CRONUS International Ltd.&dc=0”.  The parameter order does not matter, the “aid=fin” can be placed anywhere in the parameter part of the Url.

Now I am back at creating screen shots, videos and documentation.  All with the new Dynamics 365 for Financials look and feel.

Twenty different Menu Suites

In an effort to give better support to NAV Extensions Microsoft have added support for ten more MenuSuite objects.

MenuSuites

I have given my opinion to Microsoft on the MenuSuite design and how it could be improved.  I guess everything can be improved in one way or another.

To quote Microsoft: “This simple update doesn’t pretend to solve the underlying problem described. It mitigates by doubling the number of add-ons to 20, already accounted for in existing licenses. We are aware that this is not the long term solution, but it is a quick way to mitigate some partners’ problems with MenuSuites and Add-ons.” 

Waiting for a server warmup – no more

One of the problems NAV users face is that the client is to slow after the NAV service starts.

The reason for this is that NAV uses just-in-time compilation of the source code.  The source code is compiled on the server when the server needs to use it.

If you want the server to be warm when the demoing NAV you need to make sure that the server compiles all needed code before showing off.

On the Microsoft Dynamics NAV 2015 Azure Demo Template you can see that Microsoft has added a WarmUp script to take care of this problem.  This solution includes a solution that will open a list of pages with the web client to make sure that the server compiles the basic functionality for the demo.

If you want to play with this yourself on your own installation just download the zipped warmup folder (WarmupNAV) and start investigating.

Sharing a NAV Web Client server

A part of the NAV 2015 Web Client is to be able to use part of the host header to decide wich tenant to connect to.  For example the domain name kappi.example.com will look for that Alternate Id in the tenant registration to find the correct tenant Id to connect to.  This requires a small change in the WebClient web.config file.

This week I was installing a new NAV environment on Azure.  I wanted to be able to use the Remote App to access and manage the server machines and since I can’t create a NAT rule to use more than one machine for a single port I must install the Remote Desktop Gateway and the Remote Desktop Web Access on that same Web Server.

I use a different host name for the Remote Desktop deployment and by defining the host header in the Default Site binding I make sure that all my Remote Desktop Services are working correctly.

In the Web Client binding I clear the host header to make sure that everything else is directed to NAV.

When starting up the Web Client everything looks fine until the NAV Role Center starts.  Then I get the error “Communication with the server failed, and the content cannot be displayed. Refresh the page or open a new browser window.” and everything stops.

CommunicationFailed

To fix this I needed to update the web.config file in the WebClient folder.  There I found the line

<serviceHostingEnvironment aspNetCompatibilityEnabled=”true” />

and modified to

<serviceHostingEnvironment aspNetCompatibilityEnabled=”true” multipleSiteBindingsEnabled=”true” />

Now everything works fine.

 

Install Client and Server update with PowerShell

It is time to share with you the scripts that I am using to install and update the NAV application in the company network.  In the attached ZIP packages you will find a lot of files.

In the root folder I keep the settings files.  These files must be customized.  The folders are as follows;

  • Edge3-Internet – my internet facing server.  Here I install ClickOnce, WebClient and NAV Service.
  • Fjarvinna-Domain – my remote desktop server.  Here I install KB updates remotely.
  • Localhost-Domain – my intranet server.  Here I install NAV Service for the domain.
  • NAVCmdLets – my collection of PowerShell scripts for NAV.  Some a copied from the NAV DVD.
  • Install-KBLocally – scripts to install a KB package to the local computer.

If we first look at the Edge3-Internet folder, here I have scripts to remotely install NAV on a server.  I usually create a ClickOnce container in the folder ‘c:\inebpub\ClickOnce’ and keep all my ClickOnce subfolders in there.  In the Set-MachineSettings.ps1 file I set the machine name.

Next, in Fjarvinna-Domain folder I only have scripts to upload and install a KB package.  Also in here I have the Set-MachineSettings.ps1 to define the machine name.

The Localhost-Domain folder includes scripts to install NAV Service and NAV Users to the localhost.

Then there are the functions that I use in the above scripts.  In the NAVCmdLets folder I have a collection of scripts to handle ClickOnce, KB install and some SQL administration tasks.

Finally the Install-KBLocally folder.  As the name suggest, the contained scripts are used to install a KB package on the localhost.  I usually create a folder that contains this folder, the NAVCmdLets folder and for example the KB2955941 folder.  The KB2955941 can be downloaded from Microsoft.  I usually delete all sub folders except ADCS, NST, OUTLOOK, RTC and WEB CLIENT after I add this folder to the update package.

Also, in my KB package I have two CMD files.  One to install to a 64bit machine (default) and the other to a 32bit machine.  If you put this package on your network and modify the CMD files to point to the correct file share you should be able to use this for all the computers on the domain.  The KB package without the Microsoft binaries is attached below.  Make sure to right-click on the install CMD file and run as administrator for a succesful install.

If you are running an old operating system, you might need KB2506146 or KB2506143 installed before using the KB package.

With your network administration tools you should be able to use some of these scripts to install a KB package on all your domain computers to make sure that everyone is running the latest version recommended by Microsoft.

NAVPowerShellScripts KB

Web Client not in the installation language

I have installed the Web Client on several computers.  It was not until yesterday that I finally got to check why the client was not displaying my Icelandic language.  I always got English even if the Icelandic language module was installed.

As I looked at the Web.Config file (in the folder C:\Program Files\Microsoft Dynamics NAV\70\Web Client) I saw that the Icelandic installer change the Language and RegionFormat to France !

[code] <add key="TimeZone" value="UTC" />
<add key="Language" value="fr-FR" />
<!– The locale for formatting dates, times, numbers and currency. This is required. –>
<add key="RegionFormat" value="fr-FR" />[/code]

Now, change the fr-FR to is-IS and save (requires elevated access) and now I have Icelandic Web Client. I have reported this to Microsoft and they will most likely fix this soon. If I will be notified I will also let you know.

WebClientIcelandic