When Microsoft introduced events and extensions in Microsoft Dynamics NAV in 2016, it was a big deal. This technology continues to be critical in Microsoft Dynamics 365 Business Central, and in LS Central. But what do those two words really mean in the LS Central environment?
What are events in Microsoft Dynamics 365 and LS Central?
Events are remarkably logical when you understand them. They are notifications, or signatures, from LS Central or the Dynamics ERP that let subscribers know that something has happened in the system. “Subscribers” are other programs, apps, or add-ons that want to be notified when an event happens. Once the subscriber detects the event, then it can run whatever programming it needs to run.
Still confused? Perhaps, you subscribe to events or updates from your favorite people or groups on Facebook, or other social media. When an event pops up in your notification list, you take action by either saying that you will attend, or that you can‘t make it. You can also choose to ignore the event and go about your day. The events that you subscribe to are triggers for you to take some sort of action. There are also thousands of other events taking place which you may not know, or may not care, about. We all have our preferences, and computer programs can be set to have preferences, too – that’s called subscribing to events. In this context, events are pieces of computer code that other computer programs can understand. Once the code is sent out, the programs that subscribe to that event pick it up. Once picked up, the waiting program is triggered to follow whatever instructions it has in its code.
A retail-specific example could be that LS Central sends out an event from the sales module of the program. The finance module has been set to subscribe to that event, so it activates and records the sale. As this example shows, even different modules, or bits of code, within the same program can be set to subscribe and react to events.
What are extensions in Microsoft Dynamics 365 and LS Central?
The programs, apps, and add-ons that are waiting for the events are types of extensions. They all take the core program, and extend its functionality in some way that fits with the specific needs of the user. An extension could be something as simple as an automatic email which is sent out to customers in a loyalty program when new products or promotions are available. An extension can also be something as large as a complete module on top of Dynamics 365 Business Central and LS Central.
Let’s look at another analogy. You work hard and finally have a break, so you book a vacation at your favorite resort. You don’t want the all-inclusive option: you like to tailor your vacations to fit exactly your needs. You book a room, and the hotel website suggests an upgrade to a suite. You decide to take the suite. By doing that, you have extended your base vacation package to your tastes. Maybe you go on to book a table at the resort’s restaurant, or tickets to concert taking place nearby. Each offer of an upgrade can be thought of as an event. The events that you say “yes” to trigger extensions – of room upgrades, table bookings, and concert tickets.
Events and extensions simplify upgrades
Extensions built off events help keep your customizations separate from the core of LS Central and of the ERP. To expand on the vacation analogy, if upgrading to a suite required the hotel to break down the wall of the original room to make it larger just for you and you had to pay for the renovations, the resort would be much less likely to offer that extension – and you would be much less likely to order it. That may seem like a stretch, but that is how many customizations and extensions were done in the past – and how they are still done with legacy technology. A developer would have to enter the core code of the program and insert its code directly into the core.
Now, events allow subscribed programs to follow what happens as a result of the core program, or other add ons, and to react as needed. If, in the past, Microsoft changed the core code of the Dynamics ERP, then all the code used to create customizations would have to be reinserted into the new core code, a lengthy and expensive process. However, thanks to events and extensions, the solutions become more modular and independent. This means they keep functioning even with major changes in the ERP code, as long as the events stay the same. Even more powerful, extensions can be upgraded independently of the core code, giving users and developers increased control over their technology.
Quicker, safer, cheaper
Breaking extensions out of the core code via events addresses three concerns LS Central users have had about upgrading their systems – the time upgrades took, the risk, and the cost. Some LS Central users hold on to older versions of the program because of the time and manpower needed for upgrades. With events and extensions, a user can have the most up-to-date system almost automatically, especially with the use of automated testing. That means that users can take advantage of newer, industry-specific technologies, such as mobile POS systems, much sooner and without a major time and money investment in upgrading. Finally, the extensions are independent of the core code, meaning that the chance of glitches when upgrading are reduced.
This relatively simple change in how LS Central functions means a big change in the ease of upgrades and customization for our users. If you want to know how events and extensions in LS Central can help you reduce the time, risks, and cost of upgrading, or have technical questions about the technology, contact our experts today!