[ Showcase ] Improved BPM Code Editor

Finally I was able to modify the resource file enough to have the Editor work better.

  • Updated to AvalonEdit 6
  • Added Line Numbers
  • Disabled Tabs to Spaces Conversion (Now it preserves tabs)
  • Little Theming of Autocomplete
  • Disabled Wordwrap
  • Launching Window 4x larges than it usually does

I really hated the tabs to spaces! Finally thats gone, when I copy paste from Editor to VS Code I can preserve my tabs woohoo.

19 Likes

That’s a great improvement, you have way too much time on your hands @Haso. :slight_smile: Building tools to be more efficient is the key to getting over the tooling deficit.

2 Likes

How’d you do such magic? That is, if you can share.

1 Like

Great job. Line numbering would be a great help. I would also be interested in the “magic”

holy cow

upgrade-friendly?

image

5 Likes

The Avalon 6 dll is upgrade friendly. But the Custom Code Editor is only minor-version upgrade friendly.

There was a .xml with styles in the Client folder, but that did nothing.

I had to use a Hex Editor to modify the xaml inside the dll and rebuild it. It was merely a .resource file being modified, easy to replicate. But its compiled for 10.2.700 so you would have to patch 2021.1, 2021.2 etc all seperately.

If you are on 10.2.700 for now, let me know in pm I can send you the 2 dll’s to replace in your “client folder”. But I don’t plan to build this or maintain this.

We can make an Epicor Idea for it, the change took me 15 minutes with Hex Editing, it will take Epicor 2 minutes to do it… but 3yrs to get it approved. :slight_smile:

4 Likes

Funny how line numbers help you discuss the code in a more civilized manner. “Line 17 needs another condition”… versus without it “go down 4 more lines it lacks a condition, no not that one two more down. One more up. Let me control your mouse”

2 Likes

I am only “the student becomes the master”

Not as big of a Wizard as @josecgomez who makes his own Toolbox Elements :stuck_out_tongue:

If you need a progress bar, dm Jose… @Hari_Dutt

3 Likes

I suppose you have to be on-prem to pull this off…

Are you able to do this to other editors, like those for configurator rules? That would be fantastic, since they don’t even have the rudimentary code completion that BPM code editors have. And are you able to do this to editors with different language levels? Server side code supports C# 8 language features, but client side code doesn’t.

It’s just Client Side Dlls. So it will work for Cloud too.

1 Like

You, @utaylor and @Mark_Wonsil will have to wait for a LinkedIn Article.


There are plenty of Assembly Editor’s out there. The favorite is dnSpyEx (actually that one lets you debug a process and put a breakpoint on ANYTHING Epicor, not just your Customizations).
Obviously I dont edit much, unless its a HOT HOT HOT Bug and we cant wait. But Mainly I use it to Debug.


But first I need to write an article on how to Step into Epicor Code while you Debug your Customization.


4 Likes

Looking forward to it @hkeric.wci

:warning: Never use in Prod because a break there stops everybody!!!

4 Likes

Well I dont necessarily debug Server Side… only Client Side :slight_smile:

Let’s start with an Epicor Idea, and get everyone to vote…Might sound a waste of our time, but if we are not emphasising the fact that the tools are less than easy to use in todays “It won’t take you too long to whip that up” world and any efficiencies around these areas are more than welcome.

2 Likes

Me too but a funny thing happened when running the configurator with a server side function one day… :roll_eyes: And I was a cloud user! Thank goodness I was blocking people in Pilot…

If the future client is a web browser… :thinking:

That’s one of the challenges, managing the transition and everyone understanding what’s up an coming in those areas that you have to jump from smart client to browser when doing customs. In particular if you are working with the Kinetic UI

1 Like