One click upgrades in NAV 2018 - Game Changing
Today I’m actually going to go into a little bit different things than normal. Normally we kind of go through the business function of something within NAV and follow it through, try to go deeply into it, explain it and things like that but of course there is the other side of the coin, we do have development, that happens within NAV a lot of development normally and I want to touch base on that from a functional standpoint.
The only reason why I’m getting into this today is because there is a big change within the NAV community when it comes to development that will affect how the functional side will pay forward.
Visual studio code
I would like to show something right here, what we have is something called visual studio code, this is an editor from Microsoft a development editor just like Visual Studio, this is kind of like a lightweight version of that. But what it allows you to do is do development in different languages inside this editor so you could have PHP you could have C-sharp, Power Shell all kinds of different things, but what has been done is that the NAV development has been moved into this.
Know we are actually coding inside visual studio code instead of actually coding inside NAV which we used before, I think that is a huge thing, Why is that good?
For example Visual Studio connects to source code management like git and I have connected to git so if you go ahead and see this hello world app that I just created, if I delete here to test and save it, I can then go into my source code management and I can see that hello world has been modified and then I actually add that into staging and put a message like version 4 and then log that into my base so I’ve actually worked through source code management.
I know we are functional talking. People are talking oh what really is that?, What that does it automates the version control, which makes for a better coding mechanism and hopefully better code within NAV the least better-managed code. More things that we can get into for example is that all of the development that happens in 2018 when it's done through extensions which all development should be, is outside the base.
Page extension on the existing customer list
You can see this is a programming that happens on the customer list and what we are doing is doing a page extension on the existing customer list, right here, it's extending the list inside NAV, which is going to allow us to display a message when the page opens.
Here I’m not looking at any code inside NAV, I’m just extending that code, so how is that important? Well think about it this way, if the core code of Microsoft is never touched the NAV core is never code, then upgrading that code is gonna be one click, because there is no modification needs to be merged over. Now, of course, any modification or an extension that has been done has to then go over the upgraded code and be tested. But there are ways to even automatically test that.
We are moving closer to one-click upgrades, this is finally becoming real. In this environment here, Visual Studio code, it actually makes it very easy to work with these extensions, it comes automatically when I created a demo environment for this little extension and if I want to see how this works, I actually have created a docker container.
A docker container actually runs a service and almost like a virtual machine or it is a virtual machine that runs NAV on my machine and I can connect it to visual studio and publish my app into that. If I just go ahead and say here debug and start without debugging, so I’m running my code it actually connects to this environment, runs up the web client and shows my extension here. I published hello world which is the message that I wanted to see and then if I go to the web client it actually goes into customer list.
Now further if I take a look at Missy as the extensions, extension management which is inside NAV I can see that my little AL project that I created is Installed, and here I have descriptions and stuff like that. If I wanted to take this away I can just uninstall or unpublish this extension and it goes. So my customization wash published onto this service NAV service and if I want to take it away I just unpublish it, one-click way, my customization is cone so no merging of code or unmerging or things like that.
The merging control is so easy, so I think this is absolutely revolutionary, I just wanted to touch base on this, I know we are gonna keep going with functional stuff but this is gonna be critical. But maybe in my coffee mug demos, I’ll install some extensions and play through them because I can do that with more ease and then actually using custom code or getting our own code to be merged into the system.
So looking forward to this, I think it’s brilliant that Microsoft has done this, I think we are ahead of the rest ahead of the pack when it comes to technology and I hope you got sort of the jive on this, basically the takeaways are one click upgrades are coming and customizations and code are gonna be safer and less problematic.