On October 27th 2017, I posted the first announcement which introduced NAV on Docker. For approx. 3 years we published Docker images first to Docker Hub and later to Microsoft Container Registry for both Windows Server 2016 and Windows Server 2019. Many 1000 images was pushed to the container registries until we during the summer of 2020 changed strategy to use artifacts together with the generic image.
Yesterday I bumped into an intermittent issue on our Jenkins CI server where some Business Central containers where not getting removed after use. This led me to find a way of removing Business Central Docker containers with PowerShell, and a topic for a blog post. The issue seems to be with a process keeping the NavContainerHelper container folder open, which is stopping the script from removing it.. anyway, that’s not what this post is about.
Today I was helping a customer with a problem that seemed quite simple on the surface. She had a data table containing historical customer sales orders (each customer has many orders on different dates). The objective was to filter this table in Power Query and just load one record for each customer – the one that was the last order date. To illustrate the problem more clearly, I have adapted the scenario using the Adventure Works database.
Recently I found I needed to remove all the HTML tags from some text in Power Query. I searched and found a great – if complex – function from Marcel Beug here, but I realised that since that post was written the Html.Table M function has been added to the language and that it makes the task very easy. In fact it’s basically the same as the solution I blogged about here for extracting URLs from a web page.
We all know that we can remove the Departments button from NAV Window Client (RTC). This subject was discussed many times on other blogs.
But, what if you need to restore the Departments button? The answer you can get on internet is: Go to configuration mode and restore the profile to default. Unfortunately, if you apply this solution, you will lose all the personalization you already did (how many hours of hard working? ;))
Today, I was prepping for my 2-day Masterclass about developing Extensions in Visual Studio Code. And finally, I made some time to make a first version of a function that I have been wanting for quite some time: a function to remove all the custom apps from a docker image.