Monday, November 27, 2017
When Dynamics NAV 2016 was launched, Extensions were introduced as the new way to build Add-Ons. At that time, Extensions had too many restrictions, so developers were playing around with them, but only the brave actually started developing real Extensions implementations.
With NAV 2017, the number of restrictions have significantly decreased. Now the Extensions Marketplace (App Source) is growing at a rapid pace.
Following 1ClickFactory‘s vision, all companies will someday run on the latest version(s) of their software(s), 1ClickFactory‘s NAV developers commenced several Extension development projects to make it easier to upgrade Add-Ons. Through this work, a couple of peculiarities surfaced that you may want to make note of for your own Extensions development.
NAV Extension Peculiarity 1: #Hashtags# aren’t just for Twitter
The first peculiarity appeared when we developed the first Extension. This is relevant for those building either Extensions V1 or V2. This Extension passed internal testing, which was performed on a Windows client, but once it was launched on Web client we encountered a surprise: the buttons in the wizard page were missing!
You may already know the reason for this, if not – find the answer here. It is actually quite ironic since most of the 1ClickFactory developers are quite skeptical when our marketing team advises us to use hashtags while sharing information on a social network. Now our 1ClickFactory developers will be forced to use them not only for comments in Powershell or those quite rare cases in C/AL, but also they will be essential when developing new objects in NAV 2017 and later versions.
NAV or Nav Extension Peculiarity 2: Size Certainly Does Matter
Another interesting peculiarity related to Extensions development, which by the way concerns only those building Extensions V1, was found with the assistance of students from our 1ClickFactory summer academy. The students were tasked to build a very simple Extension. Even though there was no requirement to ensure that Extension could be upgraded, the students still needed to develop a dummy upgrade codeunit (otherwise it is impossible to create an Extension, find more info here). One student received the following error while creating a navx file and asked for help because all the “Google-able“ solutions, or perhaps I should say “Bing-able” solutions, did not work.
Figure: Extensions V1 error
After further investigation, I was quite surprised to learn that the reason for this error was that one of the mandatory functions in the upgrade codeunit is case-sensitive! To be more specific:
OnNAVAppUpgradePerDatabase throws ERROR!
OnNavAppUpgradePerDatabase no error.
Yes, those 2 letters end up being several hours of troubleshooting and headaches. Save yourself some time and make sure you know that the size matters, in particular case-size. J It seems that from now on Dynamics NAV should be written Dynamics Nav.
Share Your Own NAV Extensions Development Peculiarity
I hope you have found these NAV Extensions Development peculiarities somewhat humorous, but more importantly you can learn from our headaches. Good luck with your Dynamics NAV, or should I say Dynamics NAV, Extensions development.
In case you run into any other Extensions development peculiarities we’d love to hear about them. Please comment below or email us at firstname.lastname@example.org
Special thanks to Sigita Mažonaitė for contributing to this blog post.