Docker

Hyper-V isolation to the rescue?

A few days ago a Windows update rolled out that broke pipelines all over the place and the suggested workaround is to use hyper-v isolation instead of process isolation so that the container is not affected by whatever happened on the host.In addition to Freddy’s blog about what happened and Read more…

AL

The performance impact of events

For the people that missed out on the session called ‘Performance: Business Central reloaded for the Cloud’ at the #navtechdays this year, it’s extremely important to catch-up with the topics discussed as this was the most informative session at the event.
One key takeaway of the session is about that magic thing that solves all our problems when going from C/AL to AL, that’s right, we’re talking about events!

Oh, and by the way, the recording of that session can be found here.

(more…)

Dynamics 365 Business Central

Using upgrade tags to facilitate continuous upgrade

What do you do when you need to kill some time in a hotel before the NAV TechDays break loose? That’s right, write a blog post!
This one has been on my list for quite some time now but there were always more interesting things to blog about, but now it’s time to finally take care of the Upgrade Tags.

Somewhere in the development of Business Central the table Upgrade Tag and codeunit Upgrade Tag Mgt. appeared, but what are they meant for?
Let’s find out!

(more…)

Docker

Take your C/SIDE development to Git and Docker with NAVBaaS Git

I’m very happy to announce that my first Visual Studio Code extension called NAVBaaS Git has been released last Wednesday.
The people who attended the session about Continuous Integration at the Dutch Dynamics Community event already had their first glimpse at the brand new extension and I really hope that people are or will be excited about this extension.

Source control is step one if you want to do professional development and with source control in place you’re able to take the next step, which is Continuous Integration!
(more…)

AL

Generating AL symbols at compile time

When running AL and C/SIDE side by side you always want to have your symbols up to date, this can be done by starting up finsql.exe with the parameter generatesymbolreference=yes as described here, but it’s also possible to generate symbols at compile time when using the Compile-NAVApplicationObject cmdlet.
(more…)

AL

How do I: test code that calls external web services

With the current test framework and it’s limitations it can sometimes be hard to find a way to test your code, this gets even worse when external web services are called.
I’ve seen a number of (bad) workarounds in the last few months varying from calling a nonexistent endpoint to a self-hosted web service to test against.
Of course those workarounds do their job but we can do better than that, and let’s not forget tests must be independent of external components!

Ideally we would simply mock this web service call and return some data we can test against, but not in (C/)AL right?
(more…)

NAV2018

NAV2018: xRec in OnModify

Every now and then a developer takes the xRec bait and they’re wondering why their code doesn’t work and it usually ends up with a lot of lost time combined with a good amount of frustration.
I hope most of you do know that if you trigger the OnModify through code and xRec is used in the OnModify trigger, Rec and xRec will be the same, however it works fine when it’s triggered through the UI. (more…)

Automated Testing

Running automated tests for modified/selected objects

In the ideal world you have a nightly build, creating your entire solution from scratch, running all the automated tests that come with standard NAV and so on.
During business hours you basically want the same thing but a lot faster, you want to have feedback about your modifications as quickly as possible and running all the tests might be unnecessary and it’s very much time consuming.
(more…)