Tag Archives: Control Add-in

Client Extensibility Demos

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.

Control Add-ins and Version Compatibility–Update

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 reading Control Add-ins and Version Compatibility–Update

Control Add-ins and Version Compatibility

(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.

Passing strongly typed data to a JavaScript control add-in

Many cool things often go undocumented. I’ve just stumbled upon one of those, and it comes in handy to close this year of blogging.

Imagine this situation: you have a server-side .NET object, that you want to pass on to the client. With the .NET System.Windows.Forms-based objects, you have to make the object serializable, deploy the object to the client-side Add-in folder, and then set the RunOnClient property on the C/AL variable to Yes.

However, if the client is not .NET-based, if it is a cross-client JavaScript-based one. You may think that it’s not possible to pass the custom object on to JavaScript code. And you may be wrong.

Continue reading Passing strongly typed data to a JavaScript control add-in

Goodies from the Control Add-ins session at NAV TechDays 2014

First of all, thank you all who attended my session today. It was a lot of people in the room, and with the competition from Microsoft talking about a very hot topic in the other, bigger room, I really wouldn’t expect to see all of you there. I hope you found the things you saw useful, and that you’ll take advantage of all the free stuff that I am posting today here on Vjeko.com.

Continue reading Goodies from the Control Add-ins session at NAV TechDays 2014