Early Christmas Present – NAV Developer Tools Preview

At Directions in the US this year, Microsoft announced that they would release a preview of the new development tools for Dynamics NAV. Today, they have delivered on that promise, and you can try them out in your Azure subscription. Head on over to the Development Tools Preview for Dynamics NAV to read all about it. You will find instructions on how to get started there. Go to the New NAV Development Environment on MSDN to read more about the details.

If you decide to take the tools for a test run, and you find any issues with them, you can report on those issues in the AL Github issue tracker. Go to The Microsoft/AL Github page, click on the ‘Issues’ tab and create a new issue there. Microsoft is monitoring the issues there.

The important part to keep in mind about this preview is that it gives us a preview of how development for extensions is evolving. The goal is to simplify the process to where all we need to do is write the code and hit a build button, and all internals are taken care of by the environment.

Remember, this is just a preview of the tools. It is not supposed to be flawless. Microsoft is also working on many other tools to complement VSCode and provide a development experience that will meet the NAV developer’s needs.

NAV in VSCode – Hello World

Today marks something quite unique, at least for the NAV world. Microsoft is actually giving us a preview of a preview product that they have announced for Christmas.

During this year’s conference season, Microsoft has shown their vision of the future development tools for Dynamics NAV. We’ve seen various demonstrations of how we will be doing development for NAV in Visual Studio Code, a lightweight development tool. Today they have put some sample files on GitHub (Check it out here) for all of us to look at and to critique.

Visual Studio Code (VSCode for short) is available on Windows, but also on MacOS. Since my main computer is a MacBook, I wanted to see if it really does work. To be modifying NAV objects within VSCode on a MacBook is an almost surreal experience, but here’s proof:

screen-shot-2016-11-29-at-4-22-41-pm

The sample is a simple “Hello World” application, with a couple of codeunits and a so-called ‘page extension’ object. Part of the vision for future development is to make building extensions easier. Without going into any detail of why that is important, this will make extension and app development a LOT easier to do.

Some of my thoughts:

  • Microsoft is finally taking NAV development into a professional development tool. Hopefully this will inspire (or at least not deter) a new generation of NAV developers
  • json files for configuration and for the app signature will make automating deployment much easier
  • No more control ID’s, which means those will no longer cause upgrade headaches
  • I would like to also get rid of object ID’s, which they have said that they are looking into. Current licensing is based on object ID’s though, so I’m not holding my breath
  • It will be interesting to see if there is any automatic sorting by control type. For instance will you be able to mix fields and functions in a table object, or will the compiler automatically sort this for you. There’s potential to really mess up the object’s readability
  • This is Visual Studio Code, not Visual Studio. It is still to be seen whether C/AL will be a fully functioning .NET language, and it is still unknown whether we’ll have access to other .NET goodies from this editor
  • Lastly – we are getting just a preview of the tool. Nothing was said with certainty about when this is ready for prime time. What is REALLY cool though is that Microsoft is inviting everyone to participate in the process

Go check out the files for yourself, and if you’d like you can even contribute to the GitHub project. For me, this is a very exciting prospect, and I can’t wait to see what happens next.

NAV Techdays 2016 Recap

This past week was the NAV Techdays event in Antwerpen. If you don’t know what this is, head out to their website and read the ‘About’ section. This year’s edition was I think the 7th time, and it was the first time that there were more than 1,000 attendees! In my opinion, this event is BY FAR the best technical event for NAV, head and shoulders above any other event, not in the least because there are two days of pre-conference workshops.

Last year was the first time I had gone to NAV Techdays, and after the truly exhausting three days, I was utterly satisfied and I promised myself that I would do everything in my power to come back every year going forward.

My highlights:

  • Pre-conference workshops. I had signed up for Black Belt Powershell by Eric ‘Waldo’ Wauters, and for Deep Dive into Events/Extensions by Arend-Jan Kauffmann. Both days were very intense, there was a TON of new information for me, and I was utterly done at the end of both days. The knowledge that I have gotten out of these two workshops will help me stay relevant as a technical person in the NAV world. These two workshops alone were worth traveling to Europe for.
  • Extensions related sessions – I made it a point to attend as many sessions about extensions as possible, since I believe it is the most important technological development in our industry this year. Especially Gunnar’s session about migrating to Events and Waldo’s session about Extensions Best Practices were eye openers
  • PowerBI and NAV by Steven Renders was absolutely INCREDIBLE. The sheer amount of information that this guy put into his session was just unbelievable. I bet he could fill two days of proper training about all the things that he showed us. Well done Steven!

I would have liked to see the sessions about Office 365 and the design patterns session, but I can’t be in two places at the same time. Lucky for me (and everyone else) Luc records all of the sessions and puts them on YouTube. He even puts the videos in individual playlists per year, for instance you can see all videos for 2016 here.

NAV Techdays is my favorite event. The sessions, the pre-conference workshops, the super-comfortable venue, the amenities, the production, the expo area, meeting my kind of peeps in person. It feels like this is “my” event, and I hope to be able to go each and every year from here on out.

Update 11/20/2016: Slide decks available here

Update 11/23/2016: Added links to YouTube videos

The Skinny on Extensions

Earlier this month I wanted to write about what’s new in NAV 2017, and my fellow MVP and good friend Eric ‘Waldo’ Wauters beat me to it. So, my next plan was to write something comprehensive about extensions. I am signed up for a deep dive workshop next month, and I want to be well prepared. Again, as I am collecting information, this guy publishes a large post about extensions, and judging from the title it looks like it was the first of three posts. So…. instead of doing the work myself, I waited for him to post number three, and give you the links in here: Part 1, Part 2, and Part 3.

I could try and say something intelligent about these posts, but I’d make myself look foolish. After the workshop I’ll have plenty to share anyway. Enjoy 🙂

What’s New – NAV 2017

Directions EMEA was this past week, and I was not there, which makes me sad. I wish I were there, not in the least because it was in Prague, and I’ve never been to Prague, and I REALLY want to visit Prague…

Anyway, ever since Directions US in Chandler, AZ, I was planning to write about what’s new in NAV 2017. Then, right before the weekend that I was going to work on that, my fellow MVP and good friend Eric ‘Waldo’ Wauters beat me to it. So, please go to his website and read this post.

Most important:

  • Office 365 integration
  • Flow and Power Apps integration
  • Power BI right on the Role Center
  • Some extensions out of the box (PayPal, Ceridian, Quickbooks Migration). By the way, there are mane more capabilities with Extensions, HUGE improvement over NAV 2016
  • Cortana Intelligence

Dynamics 365 Primer

Real quick one today, basically a repost of a CustomerSource post today.

The new Dynamics 365 offerings are a bit…. shall we say…. confusing? Ambiguous? The Dynamics 365 page itself seems to have a large number of products on it, they call it all sorts of names, there seem to be a couple of different editions, for different markets. This post is a good attempt at creating some clarity around Dynamics 365.

In a nutshell:

  • Microsoft wants to re-invent business processes. Personally I think that’s BS because the processes themselves won’t really change, it’s just that those processes will be executed by a set of online integrated products. Don’t get me wrong, the technology is moving at lightning speed, and the capabilities are mind-blowing. Microsoft calls it ‘digital transformation’. Now it is REALLY awesome to be able to have a conversation with a prospect, create a quote/order right from your email, have everything posted immediately in your financial system, and see sales figures in a dashboard in real time. The technology to make that happen is now becoming a reality, but the business process itself is really not that different.
  • Clarity about the Dynamics Portfolio. Really important to understand the various products and how they connect and relate. Dynamics 365 Business/Enterprise are based on NAV/AX respectively, GP/SL will technically not have a cloud offering. The consequences for SL/GP partners is that they will have to learn NAV/AX to go into the cloud.
  • Other Microsoft technologies, such as the common data model, PowerBI, Power Apps, Flow, Azure… These will all be offered in a way that allows you to integrate them in a seamless way. You can extract data for your PowerBI dashboard from any other Dynamics offering, and present the relationships in one look. You can use Flow and Power Apps to build your custom workflow, and use data from multiple systems in real time. VERY powerful stuff.

Have a read in this article, there are a ton of links in there for you to follow down the rabbit hole.

Presenting at Directions US 2016

Just today I got word that I will be presenting at Directions US in Phoenix. Neither session has an official name yet but with this information you should be able to find them on the schedule once dates and times are finalized.

First, I’ll present a session about basic best practices for development in Dynamics NAV. Dynamics 365 comes in two flavors. The first is Enterprise Edition, which is based on Dynamics AX. The other flavor is the Business Edition,which is based on Dynamics NAV. Because there are the only two flavors, there is going to be a big influx of Microsoft partners that will need to do development in Dynamics NAV.

Eventually, the goal is to educate partners in how to set up their development practice, and the first step is to learn about some best practices of how to do the actual development itself. This is where my session comes in. Not very exciting stuff for seasoned NAV pros, but if you are a Microsoft partner that wants an introduction into NAV development, this is for you.

The other session will be a panel discussion about the current and future state of the technology for Dynamics NAV. Me and some other MVP’s will be happy to answer any questions you may have, and hopefully have a lively discussion. In my experience, there will be plenty of people in the audience who will have a lot of add to the discussion. These types of sessions are always fun to attend.

This is the view from my office in Flagstaff, AZ. I can’t wait to drive down the mountain in September and meet you at Directions in Phoenix.

Extensions! Extensions! Extensions!

Just a quick post today about something that is probably the most important thing to learn as a NAV developer, which is Extensions.

I remember going to an event where Steve Ballmer did the keynote. It was a technical conference, and he started his talk by almost screaming “DEVELOPERS! DEVELOPERS! DEVELOPERS!”. It was meant to make the people in the audience, who were almost all developers, like the most important people on the face of the earth. He kept hammering on the point that developers were THE MOST IMPORTANT to Microsoft, and showed us all kinds of evidence that this was the case.

This past year or so has seen a big push toward this new thing in NAV development called ‘Extensions’. Rather than modifying the base code of the product, which is what most of the NAV partner channel is doing for their customers, extensions allows you to create custom functionality without actually touching the base code itself. Coming back from Directions this year, it has become clear that Microsoft is ALL IN on moving NAV development toward extensions. My fellow MVP and good friend Eric ‘Waldo’ Wauters wrote about extensions as well this week, so I won’t bother repeating that part.

What I want you to know about extensions is that as a technical NAV professional it is essential for you to learn about extensions. Your ability to keep your relevance in this industry will depend on whether you are able to effectively use extensions to develop a custom solution for NAV. Apps for Dynamics 365 are only possible with extensions, but it might even become necessary to use extensions for on prem implementations.

I’m signed up for a full day pre-conference workshop at NAV Techdays this year, which will hopefully give me the necessary skills to get that started for me. What are you planning?

Registered for Directions US and NAV Techdays 2016

After careful deliberations and weighing of all options, we decided that I will attend two more events this year: Directions US and NAV Techdays. Lucky for me, they are two of my favorite events.

Directions US is organized by and for the partner channel. Partners go here to work on their knowledge, to learn about the latest development in our industry, to see what new products are available, and not in the least to network with our peers in the partner channel. Personally I like this event because there is a minimum of marketing fluff that is directed at the end user, and people are hungry for knowledge.

There were some other people that wanted to go to Directions as well. Because it will be held in Phoenix this year, which is just a 2 hour drive for me, it didn’t take long to pick me to go to this one. It is looking like I might even be able to present a session or two.

 

NAV Techdays is THE premier technical event for NAV professionals. This will only be my second time at this event (why I never went before that is still a mystery to me) but I could not look at a year as a successful one without going to Antwerpen in Belgium.

The content at NAV Techdays is second to none: two days of 90 minute sessions, all deep dives into the most geeky technical topics that you can think of. It would be an absolute honor to present at this event, but I’d have to brush up on my skills a LOT before I’d feel comfortable standing up in front of that crowd.

Before the event itself there are two days of workshops. These workshops are not included in the event price, but they are all well worth the cost of admission. I will be attending “PowerShell – Black Belt” by Eric ‘Waldo’ Wauters and “Deep Dive Eventing & Extensions” by Arend-Jan Kauffmann. I cannot wait to get those started.

See you in Phoenix and Antwerpen!!

Import Flat Files with XMLPorts

After reading this blog and watching this YouTube video, you should have enough information to start figuring out how to use XMLPorts to import flat text files, even when this file contains data for multiple tables.

When I first got started as a NAV developer, I was assigned a senior whose job it was to educate me about what it takes to be an effective NAV developer. Whenever I had a question he would always challenge me to figure it out myself, while maybe giving me a tiny little push in the right direction. At first I thought that was very annoying, but it forced me to develop what is probably the most important skill as a developer: the skill of “figuring out how stuff works”. Once he was satisfied that I had spent an adequate amount of time and brainpower to a problem, he would take the time to give me a lesson. Sometimes he would make these lessons up on the spot, because he had to figure it out himself. Those lessons are my favorite memories of my time learning how to be a NAV developer, and oddly enough most of them weren’t even about syntax or objects, but about “how to figure stuff out”.

Every day, I make my rounds through the online communities, in search of questions to answer. Sometimes, I find a question that makes me wonder myself how something works. When this happens, I take a standard NAV database, and spend some time in the evening hours to figure it out. The past few days there’s been a question about how to import data for multiple tables into the RTC from a flat file, using an XMLPort. Now, at my work, all the developers attend a weekly conference call. On these weekly calls one of us presents a technology, or some tips on how to do certain things. We had recently held one about XMLPorts for the RTC, so I felt confident that this one would not be too big of a problem for me.

While my wife took my daughter to dance class, I worked on a couple of XMLPorts for the RTC, to import Purchase Invoice information into NAV. The YouTube clip below describes the results of those efforts. Hopefully this will help you understand how this works.

First published April 24, 2012