Thanks to everyone who attended my live blog yesterday, and to everyone who subscribed. It was so encouraging to see that you like this idea.
As announced yesterday, my live blog will run on a fixed schedule – every Friday, at 14:00 CET (8:00 AM EST) I’ll get online to present a topic and discuss it live with you. This is the schedule for the next two Fridays:
November 20: Migrating Control Add-ins from C/SIDE to AL
This is going to be a live coding session. I’ll take a working control add-in developed in a mish-mash of tools we used to develop them back in the stone age, and migrate all that into AL. I’ll present two viable approaches for this, that I’ll call a “white box approach” and a “black box approach”.
While doing this, I’ll also discuss what can be done, what can’t be done, and things you want to watch out for while performing the migration.
November 27: Fun with Interfaces
Again, a mostly live coding session. I’ll present AL interface type, what it’s good for, and how to use it. Of course, I’ll address the usage through enum type, but I’ll also talk a lot about other use cases. Interfaces allow us to fix some old and long-standing anti-patterns, and introduce some nice new patterns, and you can expect me talking about that, too.
It was great to see that – when I asked about what topics you’d like to see me cover – there were both interfaces and design patterns in AL. It tells me we are on the same page here.
December: You tell me
I have no firm plan for December yet. I actually want you folks to have most of say in what my live blog will be about. Yesterday, you gave me some ideas and today I want to let you choose.
In the poll below, select up to two topics you’d like me to cover in the first two live slots in December.
Pick your favorite live blog topics for December 2020
- AL design patterns (29%, 22 Votes)
- Add-ins best practices and anti-patterns (26%, 20 Votes)
- Setting up DevOps for Control add-ins (25%, 19 Votes)
- Adding own code actions to VS Code (13%, 10 Votes)
- Troubleshooting Azure Functions (8%, 6 Votes)
Total Voters: 47
The poll runs until noon on November 19th, the top two answers will be my topics for December 4 and 11.
What topics do I have in mind?
Other than the topics you (will/have) suggest(ed), I have a few topics of my own that I’d like to bring some attention to:
- Communicating between AL and JavaScript: this is something that every control add-in author encounters, and the documentation is practically non-existent. Usually, I cover this to great depth in my control add-in trainings and I’ve talked a lot about this in my TechDays sessions, but still I want it properly documented here as well. This has almost been my very first topic for my live blog, but then I changed my mind. Still, I may cheat a bit – it’s very likely I actually pick this for my December 4th session, and push your suggestions a week further. Let’s see.
- Musings around transaction control in AL. We’ve had
AssertError Error('')
for a long time, and now we don’t (really) have it anymore. We need to fall back to (or simply keep relying on)if Codeunit.Run()
. But this is very limited in terms what and how we pass state between caller and callee. This will be a “let’s code and theorize together” kind of session, more about discussing what we have and where we would like to go from here and why, than presenting actual “how to this or that”. - TypeScript vs JavaScript when developing control add-ins. Could be an interesting topic, I don’t know. I have been coding in JavaScript since 1996, practically from the beginning. Obviously, I got used to all of its quirks. TypeScript didn’t at first seem to convince me, but recently I’ve written far more TypeScript than JavaScript. Let me know if this is something you want us to discuss. This could be a Q&A session with some code.
- What happens to your JavaScript code when browsers run it. This would be a deep dive into browser runtime, how it processes your JavaScript, how it runs it. Here, I’d address some misconceptions people have about it. I think this could be a nice session to cover an important aspect of the web client runtime. It’s crucial to understand how things work to be able to pull the maximum out of them.
- Musings around event infrastructure in AL and BC runtime. Personally, I’ve never been totally convinced that the events – the way they work – are the best we could possibly have. Don’t get me wrong – they are amazing at allowing us to build loosely-coupled architectures and to seamlessly plug in our code into other people’s code. But there is much more they could be if Microsoft wanted to take an extra step. I’d love to discuss this topic with you. Who knows, maybe we manage to convince Microsoft that we need a bit more push here. Or maybe you manage to convince me that I am getting it all wrong. Who knows.
Let me know in the comments what other topics you’d like me to cover, and also what you think of these topics I suggest here. Enjoy the weekend, and see you next Friday!
Pingback: Live Schedule for Period Ahead - Vjeko.com - Dynamics 365 Business Central/NAV User Group - Dynamics User Group