If you don’t half of the cool stuff I have wrote, or planned to, will no longer work.
One of Epicor’s strongest draws is the ability to customize processes with custom code.
Recently, there have been warnings added about using "System.IO"
, and "System.Reflection"
.
These warnings are slated to become errors. (I assume there are others.)
The reasons stated for "System.IO"
are to prevent arbitrary file access. No reasons have been stated for "System.Reflection"
.
Neither of these restrictions make any sense with the move to AKS.
I understand “security” concerns, but the risk of these particular items is no more relevant than the other items I have access to in custom code. If you have that level of access, it’s already dangerous.
Kinetic SaaS is an “instance” based cloud offering, where we have an instance in the cloud.
It’s the same product as on-prem, except Epicor is hosting it, and they offer limited management capabilities.
The only danger allowing these standard libraries, is to ourselves, which is the same as if we were hosting it.
Kinetic SaaS has become Epicor’s flagship product, and we get less freedom and abilities with every iteration.
I personally have used these standard libraries to work around bugs in Kinetic, as well as add functionality to the product that does not exist, and is sorely needed.
For example, I use "System.Reflection"
to enumerate the fields and properties in my functions, before and after running, so I can log failures or other telemetry.
This is an automatic, cut & paste template. Without access to reflection, I have to tailor the logging function for each and every function.
This seems like a solution looking for a problem, and is going to make many developers lives much more difficult, and their solutions less exceptional.
We don’t need protection from ourselves.
Please reconsider.