Product Configurator Advice for the New Year

I am working on several Kinetic Configurators for clients and continue to be frustrated with its current state. Some bugs lead to lost work while others require work arounds or at a minimum explaining to clients about the odd behavior.

Main advice is save early and often. In prior versions of Epicor saving was rarely needed as the configurator even if you didn’t want it to did saves after pretty much any action. Not so in Kinetic, so you need to remember to save.

For example if you add a new control and don’t save and then go into another control’s on change event, that control will not see the new control you just added until you save.

Second reason is the configurator designer will lock up from time to time requiring you to exit and come back in. Any work since the last save is likely gone.

If you use the property search to locate a single property and that search results in one result if you select another control the designer will freeze and only way to recover is to exit and come back. If you haven’t saved, any new work is lost. Remember to cancel you search before clicking anywhere else.

If the configurator in the designer isn’t doing what you think your code should be doing, save, exit and come back in.

Remember to publish. Approving isn’t enough, you have to publish. I have gotten into the habit of approving and unapproving only in the designer.

Do more exports.

One bug that is really annoying is args.Cancel doesn’t work to prevent user from exiting if you are validating things on page leave. Work around create a text box, make it required, make invisible. Populate it programmatically if things are good, leave it blank if not ready to leave. You will need to explain to your users what the message means. I usually pair it with a text box that lists what still needs to be done with a label that says “Must be empty to save”

Edit client side user defined methods in the designer. The menu user defined methods will be confused with use of the “await”. With that said they only place you can build server side UD methods that use the “out” and “ref” modifier is in the menu UD method screen. You can’t call server side methods that use the “out” and “ref” modifier from the client but thankfully you can call them on the server side from method and document rules. If we couldn’t I would likely consider retiring.

10 Likes

Thanks for the heads up. About to embark on configurator project this year, and I see I have a lot of fun to look forward to :grin:

You poor soul…

2 Likes

@kve has been building a ton in the new configurators.

1 Like

This is a hell of a write-up, and I appreciate @Jkinneman posting it. I fully agree with the advice to SAVE, PUBLISH, APPROVE frequently, and export often. I’ve been using as many workarounds as I can in some cases to avoid code editing in the client, since it is so buggy. Sometimes I’ll do editing directly in the .jsonc or .xml files of a configurator export, then re-import. Or I’ll create UD Methods in a classic configurator and use the Copy UD Method function to copy it to the Kinetic Configurator. I’ll work on a tips and tricks write-up as well.

7 Likes

I haven’t tried editing the xml recently, as for cloud based environment there was a checksum that would prevent edited exports from being imported…

If hosted on-site you could edit and import, since most of my clients are now cloud based stopped being an option. It was super handy for things like renaming of controls and doing mass search and replaces.

If you are cloud based are you able to get around that? It would be nice to have that option back.

Is the UI stuff still XML or did it go JSON with kinetic? I’ve never looked.

Combination two files in a zip file. One is the xml other is the ui