Post written by Sergi Puig and Juanjo García.
As usual, this past November two members of the Grup de Serveis Triangle team attended the NavTechDays congress that takes place at the end of each year in the Belgian city of Antwerp. On this occasion the main novelty for us is that for the first time we attended the pre-conference workshops that take place the days before the congress and that is why, apart from bringing us a big cold and an extensive list of good Belgian beers, we also have a series of comments and impressions on technical issues that we want to explain in this blog.
Our first experience in the pre-conference days
First of all, we would like to indicate the great experience of attending the courses or workshops the days before the congress. The assistance is completely profitable since they are characterized by being all-day courses (about 8 hours with small breaks) focused on a single theme, interactive and with few students (between 10 and 20). In this way, if we go to previous notions of the course where we attend and defining clearly what we want to learn, we obtain more profitable results than in other workshops of similar conferences of 2-3 hours and with much more people, or attending conferences where only speakers present in a keynote format. In our concrete case we attend the following workshops:
- Automated Microsoft tests: We were introduced to the tool that Microsoft provides from Dynamcis NAV 2017 to perform automatic tests and different exercises were performed to detect errors in the objects provided for the course. This tool is a daily type page (page 130401) that executes the “test” codeunits and informs us of its result. With the term codeunits of test we refer to the new property FunctionType = Test available in codeunit type objects. We can create our own test codeunits, or start with those provided by Microsoft, in the external objects package available in the TestToolKil folder of the NAV / BC installer. These objects contain a series of basic circuits, such as creating invoices, liquidating movements… and so on to the more than 21,000 that are available in the BC package!
- VisualStudio: an extensive explanation was made about this new development environment (not to confuse the program, with the new A / L language) and its main features: wide configuration and extensibility, design of new snippets, creation of new extensions for VisualStudio, proposals of the best existing extensions for developers of NAV / BC, keyboard shortcuts, or their management of code (source code management), all in the hand of a reference such as teacher Eric Wauters (Waldo). For those interested, I would only add that the recommendations of the extensions that gave us were the A / L Language (obviously, because otherwise you can not develop with this language).
- Docker: Although it was a workshop for people with advanced knowledge, the practical part started from 0 in an Azure Virtual Machine. In general, it was very interesting. It solved many doubts that we had and that we now have to put into practice to continue with the analysis of implementing Docker in Triangle. This Workshop directed by Tobias Fenster was 90% practical, so we were able to try many interesting things like:
- Create a shared folder with our container
- Copy files from inside to outside and vice versa with docker cp
- Create network connections for containers
- Limit the CPU and RAM so that it does not exceed consumption
- Assign a Label to the container to reference it
- Install the latest BC containers
- Change the database to a non-standard one in our container
- Change some configuration of the 2nd Tier
- Import our BC license to the container
- GIT: good workshop to see first-hand some of the use cases to manage files through VSCode or using GIT Extensions. This workshop was fundamentally practical, but as time was limited and the agenda was extensive, we reviewed together with Kamil Sáček the different scenarios on the screen. As a feedback of the workshop, I would like you to check the web application with which we carry out the tests by clicking here, since you will be able to carry out tests on real cases and see how the “tree” of our file would turn out. In summary, we learned how GIT manages files by creating hash keys, how to move our head to create new branches and several commands such as: GIT Pull, push, commit, branch, merge, etc.
And … NAV Tech Days?
With all this baggage in our backpack we continue with the main part of NavTechDays, which are the conferences that take place on Thursday and Friday. In them we could find several issues related to NAV / BC, both present and future, which are essential knowledge to not be outdated in a world where the change is as fast as ours. This year the main topics were focused on the one hand to the launch of BC and the new interface of the web client, or as they have baptized it: MODENA (MODErn NAvision). And on the other hand, and following the path that began about 4 years ago, in everything that refers to the environment focused on the Cloud and its extensibility: new features in A / L, examples of code reorganization focused on events, performance in Cloud , Azure and his “Machine Learning”…
And the last aspect that should never be underestimated, is to take advantage of the times of meals and breaks to interact with colleagues and other partners to share experiences, doubts, problems … and check that this community is not a series of companies that compete for the same market, but rather an immense family that go together towards the same goal. And we only hope that in future congresses more Spanish comrades will come, that this year we were only 19 …
How does the future Triangle?
Finalmente, las conclusiones que sacamos de esta edición de NavTechDays y que debemos aplicar en Grup de Serveis Triangle es la inminente puesta en marcha de distintas herramientas como es la gestión de Docker y los tests automatizados y empezar las nuevas actualizaciones de versión enfocadas a BC y la interface MODENA. Además, el reto es adaptarnos al nuevo entorno de desarrollo, al código A/L y desarrollo enfocado solo en extensiones en cuestión de 6 meses, aprovechando el lanzamiento a la primavera de 2019 del nuevo release de Business Central.