My first Dynamics 365 Extension – In maintenance mode

This morning I got this email:

Hi Gunnar,

I just wanted to inform you that your extension passed validation on US, CA, and GB. We will now get your extension checked in and it will go into the June (Update 7) release.

I am excited to see if users will start to install my app.  As more markets will open for Dynamics 365 for Financials (D365) I will need to support more languages to my App.

If you can help me with your local language please ping me.  The App is available on my GitHub site; https://github.com/gunnargestsson/nav2017/tree/GLSourceNames.  If you would like to install this extension or merge the deltas into your solution, again just ping me.

If you are in the process of creating an Extension for Dynamics 365 for Financials you can now request a Financials sandbox environment.  I installed this on my local virtual machine and this was an essential part of validating the extension.  You will need to sign up for the CTP program, which provides you with a prerelease version of Dynamics 365 for Financials. After you have signed the CTP Agreement, you are directed to a page that contains information about how to download the latest builds and configure a local computer or a Microsoft Azure VM for Dynamics 365 for Financials. If you have questions or feedback regarding this, please send an e-mail to: d365-smb@microsoft.com.

Also, take a look at the updated aka.ms/AppsForFinancials page for more information.

Finally, if you take a look at the source for G/L Source Names you will find a setup.json file.  This file has all the information needed for my GIT Source Control.  As promised in NAV TechDays 2016 I am releasing the AdvaniaGIT to be community project.  Stay tuned to Dynamics.is as I will be writing blogs about this project in the coming days and weeks.

 

Building Assisted Setup for Dynamics 365 for Financials

I had my Assisted Setup wizard up and running on NAV 2017.  Everything looked fine but when the extension was being validated nothing worked.

So, there is a difference between NAV 2017 and Dynamics 365 for Financials.

Remember the session on Design Patterns in NAV 2017 on NAV TechDays 2016?  Microsoft showed what they where planning in regards to assisted setup and manual setup.  This has been implemented in Dynamics 365 for Financials but has not been released for NAV 2017.

One of the feedback Microsoft got from us MVPs was about the Assisted Setup not using the discovery pattern (you will know what I am talking about after watching the session above).  The Assisted Setup table (1803) in NAV 2017 is the one used to register all assisted setup pages.  The problem was that a record for an extension in this table was not removed during uninstall.

Now we have a new table, Aggregated Assisted Setup (1808) that is a temporary table using the discovery pattern.  We also have a new discovery pattern for the Manual Setup with another new table, Business Setup (1875).  You can download these new tables from here (NewD365SetupTables) or wait for them to be released in one of the upcoming NAV 2017 Cu releases.

Here you can also download the guidelines for the new setup pattern (AssistedSetupGuidelines).  My code looks like this.

The Icon file that I created is 240x240px with foreground (RGB 55 55 55) and background (RGB 250 250 235).

More to come, stay tuned…

My first Dynamics 365 Extension – Approved for publishing

Yes!  I have passed all validation steps and Microsoft will publish my app soon.

These are my marketing validation results.

Marketing Validation_Objects4NAV – GL Source Names, 3.2.2017

Remember to look for this image in AppSource and try out my Extension.

As I promised, all the source code is now available on GitHub.

https://github.com/gunnargestsson/nav2017/tree/GLSourceNames

This concludes my blog series on “My first Dynamics 365 Extension”.  Stay tuned for more information on how to design and publish your extension.  I will have more to share in the coming weeks and months.

 

My first Dynamics 365 Extension – Mistakes I made

There are a few things to look out for – things not that obvious.

Look at the extension settings in my Source Control.

the “appName” must match the name in Azure Publishing.

The “appPublisher” must match the publisher short name.

The “appVersion” must be in this format and identical to the version of you app in Azure Publishing.

Also make sure to only select Canada and US even if your app can support more.  Also make sure to only select English as the language.  There can only be two industries and sub-categories.

There must be a web site for the extension.  The “appHelp” Url needs to land in a place where it is easy for the user to find help.

We would recommend to make the videos more prominent on the top of the side. The help link is intended to provide online customer help.”

Now, when you follow the help link you will see a video that will show the benefits of installing this Extension.

Also make sure to have a proper page for privacy, terms and conditions and the publisher website.

All videos must be Dynamics 365 only, both in speech and image.  Never mention Dynamics NAV nor NAV.  Using the Dynamics 365 shell or the upcoming Dynamics 365 for Financials testing environment to make your screenshots and videos.

The documentation must include a user story for the testing team to follow.  The testing team must be able to follow a guided path to test the Extension with new releases of Dynamics 365.  The user story should also show the gains by installing the extension.

Then there is the Lead Management.

There is a document describing how to do this.  You can download it from here, but this is a static document and will not be updated by Microsoft.  AppSource Publishing Guide for Dynamics CRM Solutions.

I am using Azure Table.  Sample final connection string:

{“connectionString”:”DefaultEndpointsProtocol=https;AccountName=spzademoaccount;AccountKey=Ld4mIh4DVrsFEaSw21HKbqn05bl5hLVKcw0fJ4DIsa6RuvwlSMZJzQZM312IHersOIMof4DEouEmc0jw==”}

After correcting all my issues I have restarted the request approval to push to production process…

 

Updates to my Object Renumbering Tool

Back in the end of 2014 I published a renumbering tool for NAV objects.  Using DotNet I was able to increase the renumbering speed for text object files dramatically.

Since then I have been asked if I could upgrade it to work with IDs and Field Numbers.

Now I have.

What’s more, it is also on GitHub.

The Process functions are the following;

  • Read Object Lines – Creates renumbering lines base on the objects in the selected object file.
  • Suggest IDs – Suggest new object numbers in the range from 50.000 based on the available objects in the current license.
  • Read from Excel – Reads object renumbering lines from Excel Sheet created with the Write to Excel process.
  • Write to Excel – Writes current renumbering lines to a new Excel Sheet to me managed within Excel and reread into the renumbering lines.
  • Renumber Using Lines – Prompts for a file to read and for a new file to save with renumbered objects based on the rules in the renumbering lines.
  • Renumber Using Controls – Prompts for a file to read and for a new file to save with renumbered objects based on the rules in the control IDs setup.

I have done some fixes to the renumbering function and have added support for the EventSubscriber.

Go to GitHub to download Page and Table 50000, try this out and submit improvements.

When I am processing an object file I have it open in my text editor.  When I see something to renumber I update the control ranges and execute the renumbering process, reading and writing to the same object file.  My editor will reload the file and I can see the results immediately.

 

NAV Http Web Request

In my post about Json and Rest web services I showed how to use the standard Codeunit no. 1297 for web service communication.

Today I was asked to do this in NAV 2015.  I must admit, I forgot that this Codeunit was not available in NAV 2015.

So I made one.

This one has identical functionality to the one delivered with NAV 2016.  To catch and handle the errors I use the NAV Web Request Add-in that I created and published here on my blog.

Now I can easily move that Json code down to NAV 2015.

Download here –> COD1297-NAV2015

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.