Last November I was in Antwerp attending NAVTechDays. During the pre-conference workshops I hosted a workshop on Json & NAV.
All the exercise code, both for CAL and AL you can download here -> NAVTechDays2017-JsonMeetsNAV
We where using the Development Preview image. Try your own by following http://aka.ms/navdeveloperpreview.
So, you are not the only one in your company doing development, right?
Essential part of being able to develop C/AL is to have a starting point. That starting point is usually where you left of last time you did some development. If you are starting a task your starting point may just be the localized release from Microsoft.
A starting point in AdvaniaGIT is a database backup. The database backup can contain data and it should. Data to make sure that you as a developer can do some basic testing of the solution you are creating.
AdvaniaGIT has a dedicated folder (C:\AdvaniaGIT\Backup) for the database backups. That is where you should put your backups.
If you are working in teams, and even if not you might not want to flood your local drive with database backups. That is why we configure an FTP server in C:\AdvaniaGIT\Data\GITSetting.json.
"sigToolExecutable": "C:\\Program Files (x86)\\Windows Kits\\10\\bin\\x64\\signtool.exe",
When we start an action to build NAV development environment the AdvaniaGIT tools searches for a database backup.
The search is both on C:\AdvaniaGIT\Backup and also on the root of the FTP server.
Using the function Get-NAVBackupFilePath to locate the desired backup file it will search based on these patterns.
$FilePatterns = @(
The navRelease is the year (2016,2017,…). The navVersion is the build (9.0.46045.0,9.0.46290.0,10.0.17972.0,…)
The projectName and navSolution parameters are defined in Setup.json (settings file) in every GIT branch.
Combining these values we can see that the search will be done with these patterns.
$FilePatterns = @(
And these file patterns are applied both to C:\AdvaniaGIT\Backup and to the FTP server root folder. Here are screenshots from our FTP server.
Looking into the 2017 folder
And into one of the build folders
My local backup folder is simpler
This should give you some idea on where to store your SQL backup files.
There is a new kid in town. His name is Docker.
Microsoft is saying:
We are currently investigating how we can use Docker for deploying NAV. For test purposes we have created a Docker Container Image with the NAV Developer Preview, which you can try out.
Docker Containers is a technology where you, instead of virtualizing the entire machine, only virtualize the services and share resources from the host computer. Read more about it here: https://www.docker.com/what-docker
Read more about how to get started with Docker here: https://docs.docker.com/docker-for-windows/install/
So what does this mean?
We can install NAV environments as container both in Azure and on premise. We can have multiple NAV versions to work with without having to install, so there is no conflict. We can also get access to container images that are still in preview.
Note what Microsoft says, they are investigating. The NAV Container Image service is not public yet. You need authentication to get access. This project has a place on GitHub. To get access please contact Microsoft or send me a line and I will point you in the right direction.
The easiest way to get started is to try the NAV Developer Preview template on Azure, http://aka.ms/navdeveloperpreview. This will give you a full development environment for NAV Extension2.0 using VS Code.
It should be straight forward to install AdvaniaGIT on top of the NAV Developer Preview and start from there. We can also start from Azure template called “Windows Server 2016 Datacenter – with Containers”.
The local option is to install Docker on our Windows laptop. If you would like to use Docker on your laptop you need to change one setting after installation. You need to switch to Windows containers. Your laptop will most likely restart during installation and configuration of Docker so make sure to have your work saved.
If you are planning to run a Docker-Only environment you don’t need to install NAV. Still there are prerequisite components that you must install. These components can be found on the NAV DVD folder “Prerequisite Components”. From the “Microsoft SQL Server” folder install sqlncli64.msi and ReportBuilder3.msi. From the “Microsoft Visual C++ 2013” folder install vcredist_x64.exe. From the “Microsoft Visual Studio 2010 Tools for Office Redist” install vstor_redist.exe. From the “Microsoft Report Viewer” folder install both SQLSysClrTypes.msi and ReportViewer.msi. You should now be ready for the next step.
So, let’s get started
In your C:\AdvaniaGIT\Data folder open DockerSettings.json
That’s all. Your are now ready to use Docker with AdvaniaGIT. Make sure to always have the latest version of AdvaniaGIT installed.
You can even use the “devpreview” build of NAV TENERIFE to do vNext development both in C/AL and AL.
Stay tuned, the AdvaniaGIT journey will continue…
In our past videos we have seen how to install and configure AdvaniaGIT. We have also seen how to create localization and solution branches.
Now it is time to start development in C/AL.
Out next question is, how can be develop in AL using VS Code and AL Extension. We will look at that soon…
Yesterday I did a webcast with Mark Brummel courtesy of Rick Williams from Liberty Grove Software.
The recording is available on YouTube.
If you are in need of assistance feel free to make contact.