So, where is step 1? Step 1 was converting C/AL code to AL code. This we did with AdvaniaGIT and was demonstrated here.
First thing first! I received the following email from Microsoft.
The decision has been made by our SLT, that the use of a Prefix or Suffix is now a mandatory requirement. If you are already using this in your app(s), great. If not, you will want to do so.
We are coming across too many collisions between apps in our internal tests during builds and have seen some in live tenants as well. It makes the most sense to make this a requirement now. If you think about it in a live situation, if a customer installs an app before yours and then tries yours but gets collision issues, they may just decide to not even continue on with yours.
Also, I have been made aware that adding a prefix or suffix after you already have a v2 app published can make the process complicated for you. Therefore, since you all have to convert to v2 anyway, now is a good time to add in the prefix/suffix.
The following link provides the guidelines around using it here
If you haven’t reserved your prefix yet, please email me back to reserve one (or more if needed).
Since my brand is Objects4NAV.com I asked for 04N as my prefix and got it registered. Since we got this information from Microsoft, every object that we develop in NAV 2018 now has our companies prefix in the name.
Starting my AL development by opening Visual Studio Code in my repository folder. I updated my setup.json to match the latest preview build as Docker container and then selected to Build NAV Environment using AdvaniaGIT.
After download and deployment of the container I noticed that the container had a brand new version of the AL Extension for Visual Studio Code. I looked at the version installed and that was an older version.
I uninstalled the AL Language extension and restarted Visual Studio Code.
As you can see on the screenshot above we now don’t have any AL Language extension installed. I executed the Build NAV Environment command from AdvanaiGIT to install the extension on the Docker container. In this case I already had a container assigned to my branch so only three things happened.
uidOffset in the container database was updated. This is recommended for C/AL development.
- License file is updated in the container database and container service. The license used is the one configured in branch setup.json or the machine settings GITSettings.json
- AL Language Extension is copied from the container to the host and installed in Visual Studio Code.
Again, restarting Visual Studio Code to find that the latest version of AL Language Extension has been installed.
I then executed two AdvaniaGIT actions.
- Update Launch.json with current branch environment. This will update the host name and the service name in my AL Launch.json file to make sure that my AL project will be interacting with the branch container.
- Open Visual Studio Code in AL folder. This will open another instance of Visual Studio Code in the AL folder.
Immediately after Visual Studio Code was opened it asked for symbols and I agreed that we should download them from the container.
Everything is now ready for AL development using the latest build that Microsoft has to offer.
I started Edit – Replace in Files in Visual Studio Code. All my objects have a name that start with G/L Source Name. I used this knowledge to apply the prefix.
By starting with the double quote I make sure to only update the object names and not captions. All captions start with a single quote. I got a list of all changes and needed to confirm all changes.
The field name I add to G/L Entry table does not match this rule so I needed to rename that my self. Selecting the field name and pressing F2 allows me to rename a field and have Visual Studio Code update all references automatically.
Pressing F5 started my build, publish and debug.
My extension is installed and ready for testing.
There are a few more steps that I need to look into before publishing the new version of G/L Source Names to Dynamics 365. These steps will appear here in the coming days. Hope this will be useful to you all.