The team behind the “Dynamics 365 for Financials” service will share their experiences of building and running a modern SaaS service. We will explain how and why “Dynamics 365 for Financials” was built, show you what it is running on and how the NAV product was enhanced to work at scale and with Azure SQL. We will offer a glimpse of some of the methods and technologies we used to build the service and give you insights into how it is run today. You will also have a chance to ask us technical and operational questions about the service.
Control Add-ins are often far more than simple widgets that help visualize the data in different ways. Whenever you want your custom user interface to do more than display data and as soon as you expect your users to interact with the application through your control add-ins, you’ll start experiencing issues. And the more complicated your JavaScript code gets, the more likely it is that you’ll hit very hard walls. At the heart of the problem is the fact that JavaScript and C/AL execute asynchronously. On top of this add the fact that all back-end C/AL code that interacts with JavaScript (until very recently) had to reside in the page objects. All this results in bunches of very clumsy C/AL code crammed into page objects – something you typically cannot attach words “design” and “architecture” to. And yet, the more complex cloud-based use case scenarios demand good, stable, scalable designs and architectures. The overall net effect is that developing robust user interfaces turns out to be extremely painful experience for developers.
This session will address these issues and will present several design patterns that help mitigate the issues inherent in JavaScript to C/AL communication. It will show how to properly decouple C/AL code from the page objects to make it possible to place C/AL code in codeunits (where it belongs) rather than pages (where it does not belong), and especially how to take advantage of eventing to enable some pretty cool design patterns.
How do I build from my source code? How do I manage and rebuild object properties and my version list? Should I store my version list? How do I manage translations? How do I manage what and when things are promoted to User Acceptance testing or Production? How do I deal with customers doing their own development? How do I maintain discipline so things don’t go wrong?
If you ever asked yourself any of these questions or others here is your chance to get into a helicopter get airborne and take a fresh look on how to approach this.
In this session I will talk about the events Microsoft delivers with NAV 2016 and 2017. I will talk about some important do‘s and don‘ts in using events and how new NAV capabilities allows us to use methods in code that we used to avoid. You will see some examples of customizations in earlier versions and how this could be migrated to extension friendly events.
Note:This is a one-day workshop which will be repeated on Wednesday.
Both workshops are SOLD OUT!
Prerequisites:
Either if you are a Microsoft Dynamics NAV System Administrator or a Microsoft Dynamics NAV Developer (or both?), since a few years now, PowerShell has come into our life and is here to stay to make our life easier – or should I say “more automated”.
The previous few years I have been doing an introduction on PowerShell at the Pre Conference Day of NAV TechDays. Now, it’s time to take it to the next level and actually do some really productive stuff. And we can do a lot.
During this one day, we will dive into useful scripts out of the field. Even more, when registered, you will get an introduction mail that will give you the chance of giving proposals for scripts or automation challenges you would like to see solved.
We will also use the waldo’s PowerShell modules to be as productive as we can.
Note: This is a one-day workshop which will be repeated on Wednesday.
This workshop is SOLD OUT!Prerequisites:
Knowledge:
Laptop with:
With Extensions in Microsoft Dynamics NAV we have a new method of distributing and deploying customizations or add-ons. The technology heavily depends on Eventing, another new technology that was introduced in Microsoft Dynamics NAV 2016.
In the next release of Microsoft Dynamics NAV the capabilities of Extensions will be expanded to enable more scenario’s. And according to Microsoft, Extensions become the way in which any project is customized and every add-on/vertical solution is built. And what’s more, Project ‘Madeira’, the SaaS offering of Microsoft Dynamics NAV only supports Extensions.
In this workshop we will deep dive in both Eventing and Extensions. In just one day we will cover the next topics:
Eventing
Extensions
Note: This is a one-day workshop which will be repeated on Wednesday.
This workshop is SOLD OUT (both days)!
Prerequisites:
Knowledge of
Laptop with
With an advent of web, and especially the tablet and the phone clients, it became obvious that we won’t be able to pretend the Web world has infiltrated our sacred C/AL ground for much longer. All the Web technologies, HTML5, CSS, and above all – JavaScript – have entered into our world and now we need to learn how to make this new animal behave in our own backyard. But JavaScript is not an easy beast to tame. Easygoing to the point of sloppiness, and flexible as a chewing gum, cryptic even before you minify it, as beautifl and elegant as it is cruel and scary, with functions that are variables that are also properties, and expressions, and at the same time behave as if they are all booleans, where everyting is either truthy or falsy, and where == was not good enough as an operator so it also came up with ===, if JavaScript gets you royally confused, don’t worry – it’s all by design.
If there was ever a language that was as powerful as to allow you to do absolutely any kind of craziness you could come up with, but at the same time allowing you to mess things up beyond all reason, then it’s JavaScript. It can do whatever you want it to do, and it’ll let you do whatever you want to do to it. And it now talks directly to C/AL, so you better get to know it well before it starts making fun of you.
This one-day workshop led by Vjekoslav Babić, who had been a seasoned Web developer for years before jumping on the C/AL wagon 13 years ago, you will learn all the intrinsics of JavaScript that can confuse a C/AL developer. Not only you’ll learn all the important language features such as callbacks and closures, or harness the immense power of expressions – you’ll also learn how to write efficient code, how to not make common mistakes, and how to take advantage of amazing development features embedded into every modern browser. And above all, you’ll learn how to properly use all this together with the good old C/AL.
This workshop is SOLD OUT!Prerequisites:
The following must be installed on your machine:
There are many situations when a simple C/AL developer needs to open Visual Studio and write a few lines of C# code to make things work. Even though writing simple hello-world-level things is often not a big deal, more often than not you may feel that there is much more that C# as a language and .NET as a programming framework have to offer. And you are right! There are so many things that C# does that is completely foreign to C/AL folks, many hidden gems, many best practices to adopt, much power to harness.
Whenever there is a problem that only C# can solve, and if C# is not a part of your arsenal, you may either attempt to guess the solution, or you might find a chunk of code on Stack Overflow or somewhere which does something. And it often solves your problem, but you still stare at it as into a cuneiform tablet, and you know it works but you don’t really understand why. You do not want your code to own you. You want to own your code.
This one-day workshop led by Vjekoslav Babić, a veteran in both C/AL and C#, who has worked with C# since it was still in its digital diapers, will unveil the secrets and the power of this language, that is as elegant as it is powerful, and that is – above all else – useful. You will learn how to write C# the way C# folks do, with all the syntactical twists and logical tricks. You’ll learn all about delegates, anonymous methods, lync, generics, and a lot more other concepts that until yesterday might have been all Greek to you. Whoever told you can’t teach an old dog new tricks, come and prove them wrong.
This workshop is SOLD OUT!Prerequisites:
The following must be installed on your machine:
In this workshop Steven will introduce you to the world of Power BI for Dynamics NAV. Learn how you can create stunning dashboards in Excel or the Power BI Designer, so you can find answers to your most important questions using natural language and make decisions based on the right data anytime, anywhere, on any device.
Topics
The workshop is SOLD OUT!
Prerequisites:
In this workshop we built further upon the knowledge learned in the introduction workshop. Learn how you prepare your data model depending on the type of analysis and dashboard you want (DAX Design Patterns). Connect to your data source using Power Query (M). Create and share content packs on Power BI.com. Connect Power BI.com to Dynamics NAV and Project Madeira.
Topics
The workshop is SOLD OUT!
Prerequisites:
The workshop will deal with four main tasks; importing bank statements, importing currency exchange rates, exporting bank payments and general import.
For bank statements import we will cover different file types including text, xml and Excel document. We will explore different sources like file prompt, reading from a file path and importing from a web service.
For currency exchange rates import we will learn how to extend that functionality to JSON file type support in a way that can be useful for all import types. We will break down the simplified user experience that is built on top of the data exchange framework to figure out if that model can be used for other import tasks.
We will look at the process for bank payment export and see how to implement our own file format and web service delivery.
General import includes OCR results and PEPPOL invoices and we will break that process apart to understand how to customize those import functions. When we understand the steps we can build our own custom import using general methods that are easilly extensible.
Note: This is a one-day workshop which will be repeated on Wednesday.
The workshop on 16 Nov is SOLD OUT! Still seats available for 15 Nov.Prerequisites:
In this workshop Vincent will introduce you to agile principles and Scrum basics for team and product development. You will explore the scrum roles, artifacts and ceremonies. You will play agile games and compare agile with waterfall principles.
Workshop topics
Prerequisites:
Susanne Priess , Mergetool.com , United States