Basic understanding of Kinetic based UI

probably the way it should have been. It’s going to be a lot of digital grunt work, but will probably result in a better and more accessible system.

While you probably CAN do the same exact customizations in Kinetic, it is BETTER to rethink how you do any “large” customizations so that there is no strong logic in the UI. it is better to move any logic out to BPMs or Functions, and then trigger/call the BPM/Function from the UI. This way, the logic is separated from the UI.
The largest problems I have seen with customizations that are not upwards compatible happens when the custom logic is buried in the UI.

2 Likes

The general principal is the UI is all about presentation and business logic lives on the server. So lets say you want the ability to add a line on a sales order but then have a slide in panel or new tab that lets the user decide how best to fulfill the demand. Ideally you would have a function that takes the order and line number then provides a list of options for how to bundle / source the releases (some from a plant stock, some to make, some to buy direct based on customer preference). Based on the choice you add the releases via a function. The function should do the heavy lifting and events on the client side can trigger the actions as needed.

This allows you to easily test the function independently and allows for atomic actions. Likewise keeping the UI pure allows for simple upgrades.

You would add dataviews and hook into events to get extra context into the app like (on change of OrderDtl.PartNum call a BAQ or business object to get context. On change of values in that dataview push that back the business object. Or when a hot key is pressed or a button clicked or a page loaded etc.
Everything that an application like order entry, quote, job entry etc does is modeled the same way via meta data describing the application which means you can do everything that is done in any application.

Classic Customization where powerful but had no guard rails and were limited when you wanted to change something the base application did. As an example, you may hide something and it re-appeared or you wanted to change a row rule that was already existing or add a new tool into the actions menu. These were all difficult to do now they are simple.

7 Likes

Makes sense.