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

What’s New in NAV 2016: Control Add-ins

  • Reading time:4 mins read

Well, control add-ins are not new in NAV 2016, they have been around for a long time now. But, they have been improved and this blog post is about these improvements.

Of course, the improvements are exclusively in the Web client framework, not the Windows client, and I am educated-guessing here that we won’t really see many improvements in the control add-in framework for Windows in the future. Why would we? All control add-ins should target all clients and use the Web framework, anyway so the case for Windows client is getting weaker and weaker.

Continue ReadingWhat’s New in NAV 2016: Control Add-ins

Directions EMEA 2015 Session Content

  • Reading time:2 mins read

For me, Mannheim was always a yet another German city, one that beyond its name I knew nothing else about. When it was announced that Directions EMEA 2015 would be in Mannheim, my first reaction was “say what?” And yet, just as last year in Poznan, I was pleasantly surprised, and realized that every place has something to show, spirit to share, and energy to bring.

There are very few conferences that matter to me. One of them is Directions EMEA, and this year it’s the fourth time that I got a chance to speak and share my ideas and hacks with the community. As promised, and in line with my never-broken tradition, I’m publishing all my content on my blog for you to download.

Continue ReadingDirections EMEA 2015 Session Content

Capturing unhandled errors in JavaScript Control Add-ins

  • Reading time:3 mins read

Not that I am saying it’s a good thing, but trial and error is a fairly common approach to debugging in the NAV world. We’ve all done it. Heck, even with the comprehensive testability framework built in, we all still do it more often than we’re happy to admit while sober.

But the overlord of trial and error in NAV is development of control add-ins in JavaScript. JavaScript itself is making it difficult in the first place, and then integration with NAV makes it even harder.

There is one situation in particular that’s adding a cherry on top of all of problems, and it’s the creepy “A script error has occurred” error message. It’s the equivalent of the BSoD.

Continue ReadingCapturing unhandled errors in JavaScript Control Add-ins

Client Extensibility Demos

  • Reading time:2 mins read

On Monday, June 15th I have delivered another session in Microsoft’s Road to Repeatability series of online demos about technical NAV features, this time covering Client Extensibility. The session went through both the .NET and JavaScript aspects of client extensibility, and again – I promised to post all of the demos and content from the session on my blog.

So, here it is, given as-is, with no guarantees or strings attached, just the plain content for you to see if you can make any sense out of it.

Now my to-do list has grown quite big with the stuff that I want to blog, and it includes presenting and explaining most of the concepts I showed in my presentation. So, keep your fingers crossed that I find just enough time to blog about all those small things that have found their way into my presentation, but never into real blog posts that take them inside out and explain in-depth what they are and how really they work.

Of course, you are still free to use any of this in any real, or unreal life scenarios.

Continue ReadingClient Extensibility Demos

Control Add-ins and Version Compatibility–Update

  • Reading time:2 mins read

Yesterday I posted a quick tip, which quickly got some comments about it being wrong. Since I know people who commented were unlikely to say something incorrect, I went to check on, because I myself experienced difficulties that made me write that post.

So, I analyzed to see who’s right and who’s wrong, or better yet – to see why different people might get different results.

Here’s the results.

Continue ReadingControl Add-ins and Version Compatibility–Update

Control Add-ins and Version Compatibility

  • Reading time:1 min read

(Update, 20.4.2015: As it turns out – this post is not entirely accurate, as pointed out by Johannes Sebastian. Please read the next post to learn more about which parts are, and which aren’t correct.)

Control Add-ins written in C# are not cross-version compatible. You cannot use an assembly compiled for 2013 R2 with 2015 (or the opposite way around, or any other version combination for that matter) without recompiling it with correct extensibility framework assembly reference.

Control Add-ins written in JavaScript don’t have to be recompiled, are mostly interchangeable, and are (so far) guaranteed to be forward compatible. You can always use a version built for 2013 R2 in 2015. You can use a version built for 2015 in 2013 R2, but the opposite way around is only true if you don’t use any of the new JavaScript extensibility features not supported in earlier versions.

Continue ReadingControl Add-ins and Version Compatibility