Abusing Images property to load HTML in control add-ins

  • Reading time:4 mins read

One of major limitations of control add-ins is not being able to define HTML. It seems so unbelievably unbelievable, that anyone looking at it from the outside of the NAV/BC playground may say “obviously, you must be missing something!”. But I am not. The one thing that you would expect to find first when defining a control add-in (and control add-ins in NAV/BC are nothing more than pieces of HTML that live within the allocated area of your browser real estate) is to be able to define the HTML. And yet, you can’t define it. The only way to show any UI from your control add-in is to procedurally create any of your control add-in HTML.

This makes no sense. No. Sense.

Continue ReadingAbusing Images property to load HTML in control add-ins

Control Add-in Dependency Demos

  • Reading time:1 min read

Yes, I keep forgetting about “stuff”. First I forget about blogging in general, then I forget how to blog properly. I’ll get it sorted out. Eventually. Solemnly swear. Kind of.

Anyway, my demos yesterday were full of screenshots. Useful stuff. You can copy a screenshot from there, paste it to OneNote 2016, then get the text from picture. Amazing stuff.

But, that’s not how code is done these days. So, I put everything on GitHub, and if you want to access all of the code you watched me build yesterday, here it goes:

https://github.com/vjekob/ControlAddInDependencyDemo

Good luck!

Continue ReadingControl Add-in Dependency Demos

Accessing a control add-in in a dependency extension

  • Reading time:8 mins read

Long time no see, eh? Time flies, what do you know…

I am thrilled to still find you here. Honestly, I wasn’t sure this morning if I was about to even find this blog where I left it seven months ago. Cool to find both my blog and you in good shape, patiently waiting for my contribution.

This morning I had a call with a partner asking if it was possible to deploy a control add-in in such a way that other partners could use its functionality from their own extensions. My answer was, and it still is – well, it should be possible, but I don’t know for a fact because I never tried it.

So let’s try it and find the answer together.

Continue ReadingAccessing a control add-in in a dependency extension

TicTacToe challenge winner announcement

  • Reading time:2 mins read

In my last post I announced a challenge: the first pull request on my TicTacToe for AL GitHub repository that contains a properly written event handler with “AI” that either beats the human player or ends in a draw gets a special reward. Honestly, I didn’t expect to see any submissions there, because NAV community is not too GitHub savvy. I rarely get any hands up in the air when in my sessions or workshops I ask who uses GitHub. But, three forks arrived soon and one submission quickly followed. It provides a clean and working solution that properly applies the handler pattern and never loses a game.

And, the winner is: Bartel de Leeuw!

Continue ReadingTicTacToe challenge winner announcement

A couple of AL controladdin demos – Google Maps and Tic Tac Toe

  • Reading time:4 mins read

As a part of preparation for my last event of this year that concludes the conference season 2017 for me, I played around with the latest addition to the AL language stack for VS Code: control add-ins.

If you haven’t already tried it out, or heard about it, then you should get yourself a copy of NAV developer preview, and then visit the Control Add-In Object documentation for AL on MSDN to learn a little bit about how it works. The demo provided over there is, well, basic, to say the least, so I prepared two demos.

Continue ReadingA couple of AL controladdin demos – Google Maps and Tic Tac Toe

NAV TechDays 2015 sessions available on Mibuso and YouTube

  • Reading time:1 min read

If you didn’t have a chance to attend NAV TechDays 2015 in Antwerp last month, don’t worry – you won’t miss much, at least as the conference content goes.

As always, Luc has published all the conference content on both Mibuso and YouTube, so you can download it for offline use or watch it online. Either way, it’s all must-see content.

Download from Mibuso: http://mibuso.com/downloads/category/navtechdays2015

Watch at YouTube:

https://www.youtube.com/channel/UCeFUrL4JZsOa39TQVmrw2ww

Of course, the first session you’ll want to watch is mine, about client add-ins, so here’s the direct link:

https://www.youtube.com/watch?v=UCNdJJzI2kw

As I said during the session, I plan to dig deeper into the concepts I explained there, when I find time. And time is so difficult to find, or maybe I am looking at all the wrong places?

Continue ReadingNAV TechDays 2015 sessions available on Mibuso and YouTube

Visual Studio Control Add-in Project Template

  • Reading time:2 mins read

If part of your daily job includes creating control add-ins for Microsoft Dynamics NAV, then you know that creating control add-ins that target all clients requires quite a lot manual work. There are a lot of small steps that you must do every time.

To avoid all that work that adds no value, only frustration, here’s a Visual Studio project template that you can use to automate the process of creating a new control add-in.

Continue ReadingVisual Studio Control Add-in Project Template

NAV TechDays 2015 wrap up

  • Reading time:2 mins read

Another NAV TechDays is over, and this one was the best so far. 950 people from all over the world all passionate about NAV and technology and eager to learn and share and discuss the latest in NAV. It was amazing, Luc did a great job again, and I am looking forward to the next year, hoping this conference makes it beyond 1000 attendees.

This year I have delivered a yet another “Black Belt” session named “Client Add-ins Black Belt: bringing .NET and JavaScript together” and as promised, I deliver the session material here on my blog.

Continue ReadingNAV TechDays 2015 wrap up

Deploying control add-ins during development in NAV 2016

  • Reading time:13 mins read

Microsoft Dynamics NAV 2016 brings many new features, one of which is a set of PowerShell cmdlets to manage add-ins. These are:

While these cmdlets are certainly useful for installation and deployment, I find them even more useful during development. When I blogged about deploying resource files automatically during development some months ago, I showed how you could use PowerShell during build process in Visual Studio to invoke a codeunit that registers control add-ins. Now, in NAV 2016, these tasks are a lot simpler with these new cmdlets.

Continue ReadingDeploying control add-ins during development in NAV 2016

Sorting out the DLL hell, Part 1: The Problem

  • Reading time:6 mins read

Let me tell you right away if you need to read this post at all. If you never wrote a single .NET class library intended to be used as a .NET interoperability assembly from C/AL, or if you never ever deployed a .dll file into the Add-ins folder of either Service or RoleTailored Client, then you probably don’t want to read this post.

Good, since you are still reading it means that you either deployed your own or somebody else’s .NET stuff into NAV’s client or server’s Add-ins folders. If you ever did so, you probably did not enjoy the experience too much. If you did enjoy the experience, maybe you should not read any further either.

Even better! Since you are still here it means that you didn’t enjoy deploying assemblies. Let me break some good news – all your problems are now gone! And I am not talking NAV 2016, I am talking NAV 2013 and anything newer.

Continue ReadingSorting out the DLL hell, Part 1: The Problem