Are Epicor Widgets Broken? šŸ¤

Just do not forget, that code generated now can be completely different from the code that BPM/EFx will generate in the next release.

1 Like

I do like widgets or coding in blocks, it also lets me visualize the BPM Flow better. I do appreciate your time SAD. I am not bashing widgets; actually I want to use them. But I feel like I canā€™t without cluttering my flow with ā€œhacksā€. :slight_smile:

Iā€™ve done plenty of:
image

I do prefer this more:
image

I want to get to this:

But I always end up with pockets of Custom Code :stuck_out_tongue:

1 Like

Thank you! Never heard about this recommendation. I never saw directives with such code. More precisely, no one sent such directives to me for review.

Just in case, modern versions (probably starting 10.2.700 or 2021.1) support BufferCopy-like stuff to clone the whole tableset.

Also, one of the things that I would like to see in BPM/EFx is clone widgets. But again - no requests mean no features :(.

1 Like

Do you work with management on your features? I guess it should be clear that management doesnā€™t want to invest in development if no requests come.

1 Like

Because the APIs the code is using are mostly undocumented in the sense of not being published and supported. When they change, no thought is given to backward compatibility. Evolving an API in a backward compatible way is a burden, but a much smaller burden than figuring out how to upgrade code after a breaking change. The problem from Epicorā€™s perspective is that they didnā€™t design these APIs to ever be supported. Supporting them would lock them in to their current design. And supporting them doesnā€™t align with their marketing.

I think between some of us we can send you some examples on email. Happens here and there :slight_smile:

Not only. For example BPM and EFx can be moved out of proc and start working with Epicor API via REST/gRPC/etc. In such a case, widgets will work after the upgrade. Custom codeā€¦ Most likely does not.

You are welcome. It can be a good input for the analysis.

1 Like

BPM is not about the full-fledged coding approach. It is about low-code customization. And we tries (mostly successfully) to support backward compatibility for them.
Custom code is a kind of last resort. And upgradability of them is not guarantied.

One last note on UpdateExt. I do know it does Multiple. But we have stumbled plenty of time with it causing a Row has been modified by another userā€¦ especially when we did alot of Service Connect. So switching to a loop and individually calling Update resolved many of those headaches.

I dont f with UpdateExt anymore I am all the way Update; lol

I do agree with you on so many things @SAD I hope that my bitching doesnt convey a negative image. I will try to make some Idea submissions and let them get evaluated.

As a full time Epicor developer; sometimes I feel like only Kinetic gets loved and everything else became second class citizen :slight_smile:

I will for sure put the Set Field RowMod idea in :stuck_out_tongue:

Also is there any plans to stop people from joining ttTable to DbTable.

Off to day job.

1 Like

I saw that when we switched from 10.1 to 10.2 EF4 to EF6ā€¦ had to rework a bunch of queries especially ones that used conversion helpers.

Iā€™ve actually never had custom code break after an upgrade. It would probably break if Epicor ever cleaned up their BO APIs in preparation for documenting and supporting them. I still wish they wouldā€¦

2 Likes

One more thought. While we are sitting here debating whether code or widgets are theoretically / inherently better, at the end of the day it comes down to execution. A well crafted chain of widgets is better than garbage code. And well written clean code is better than a nightmarish impossible to follow chain of dozens of widgets doing things like joining Db tables to in-memory tablesā€¦

4 Likes

Agree. Moreover in some cases UpdateExt in magnitude slower than a few Update calls :(.

Wow. You are one of the quite small team of SC users! Funny, it is another product where I participated in the original design :slight_smile:

Sorry, it is a barā€™s talk thingā€¦

1 Like

You are lucky. As you can see even in this thread others had such issues.

Wow!
Honestly I like SC. Not even sure why the push for the very expensive Jitterbit. I dig SC its not bad. Weā€™ve done over 30 complex workflows.

I have the next 2 days off for Holiday. I dont have a life, I can debate all day long. Plus im too broke to do anything outside of my front yard :smiley:

2 Likes

Yet another theme for barā€™s talk :(.
The main reason - SC technically and technology obsoleted already.

1 Like

This is the main way I learn.

Followed by using dotPeek, dnSpy, Reflector or owning the SDK for a wealth of code examples.

Not sure how folks on SaaS do it

Need to comment aboves. Starting with 2021.2, BPM stops dumping generated sources by default.
You can either enable it on per-method (MD)/per-table (DD) base. Or enable old behavior with customizationSettings section of web.config. Documentation describes both ways.

Also, if BPM compilation fails, then BPM dumps sources independently from other settings.

2 Likes