Edge Agent (for Kinetic UX in the Browser)

Epicor Kinetic Edge Agent

The Epicor Kinetic Edge Agent is a service you can install in your computer which enables direct printing from the browser to a local printer and or the ability to attach / read local files from your machine.

The browser being the biggest piece of software on your machine that is exposed to the internet has a bunch of protections built in including process isolation , and operating system isoalation. This means that the browser (nativelly) cannot see or talk to local devices like printers and files on your machine. This is a GOOD thing and generally we do NOT want the browser to have these powers.

This means that if you are running a piece of software on the browser that normally requires this level of access you need to setup a bridge. The Edge Agent is a little utility that can be installed in your machine which acts as that bridge. In simplified terms the Edge Agent starts a little web server on your machine running on port 6071 which responds to regular HTTP requests (like any other web page does), then Epicor Kinetic when it wants to get a list of local printers makes a
[GET] request to https://localhost:6071/Directives/Printing/printers and the Edge agent responds with a JSON payload which contains the names and status of all your local printers like this

{
"printers": [
{
"name": "Microsoft XPS Document Writer",
"fullName": "Microsoft XPS Document Writer@LT99-G2D8Z33-EdgeAgent",
"isDefault": false,
"status": "Unknown",
"trays": null,
"density": 0,
"driver": null,
"connection": null
},
{
"name": "RightFax Fax Printer",
"fullName": "RightFax Fax Printer@LT99-G2D8Z33-EdgeAgent",
"isDefault": false,
"status": "Unknown",
"trays": null,
"density": 0,
"driver": null,
"connection": null
},
{
"name": "Microsoft Print to PDF",
"fullName": "Microsoft Print to PDF@LT99-G2D8Z33-EdgeAgent",
"isDefault": false,
"status": "Unknown",
"trays": null,
"density": 0,
"driver": null,
"connection": null
},
{
"name": "ET-3750 Series(Network)",
"fullName": "ET-3750 Series(Network)@LT99-G2D8Z33-EdgeAgent",
"isDefault": false,
"status": "Unknown",
"trays": null,
"density": 0,
"driver": null,
"connection": null
},
{
"name": "\\\\EASTRPS\\Corp-SecurePrint",
"fullName": "\\\\EASTRPS\\Corp-SecurePrint@LT99-G2D8Z33-EdgeAgent",
"isDefault": false,
"status": "Unknown",
"trays": null,
"density": 0,
"driver": null,
"connection": null
},
{
"name": "Fax",
"fullName": "Fax@LT99-G2D8Z33-EdgeAgent",
"isDefault": false,
"status": "Unknown",
"trays": null,
"density": 0,
"driver": null,
"connection": null
},
{
"name": "EPSON4A8C2F (ET-3750 Series)",
"fullName": "EPSON4A8C2F (ET-3750 Series)@LT99-G2D8Z33-EdgeAgent",
"isDefault": true,
"status": "Unknown",
"trays": null,
"density": 0,
"driver": null,
"connection": null
},
{
"name": "OneNote (Desktop)",
"fullName": "OneNote (Desktop)@LT99-G2D8Z33-EdgeAgent",
"isDefault": false,
"status": "Unknown",
"trays": null,
"density": 0,
"driver": null,
"connection": null
}
],
"responseStatus": {
"statusCode": "ok",
"statusMessage": null,
"source": null,
"additionalInfo": null
}
}

Epicor can then send a document or file to print to these printers again via another HTTP [POST] request to the endpoint at
https://localhost:6071/Directives/Printing/print with the payload to print as well as the name of the printer to use.

The little Edge Service running on your box receives that request and processes that print job just like any other local program would.

A Similar approach applies for File Browsing and Attachment Upload.

Normally this would be a huge security issue since having an active HTTP server running wide open would mean that any Website on the internet can make these same requests and get that same level of access. Of course Epicor thought of this and thus implemented a bunch of Origin rules that only allow requests to reach the service if they come from a Pre-Determined URL (your Epicor App Server) this is all configured during the Edge Agent Setup.

Edge Agent Diagnostics Page and Testing

Once you have the Edge Agent Installed and Running you can do some testing and playing with it by visiting
https://localhost:6071/#/home
This will show you the Edge Agent current status and allow you to play a bit with it and make sure it is functioning appropriately

Installing the Edge Agent

The edge Agent can be installed in a couple of ways

  1. Launch your Kinetic client and navigate to System Setup > Company/Site Maintenance > Company Maintenance.
  2. From the Overflow menu , select the Download Edge Agent option for your operation system.
    image
  3. Depending on your environment, you save the installer in different locations:
  • If you run Kinetic in the smart client, the application prompts you to select the folder where you want to save the installer. Browse to that folder and select Save.
  • If you are working in the browser client, the system saves the installer to your default downloads folder.
  1. Run through the Installer (as shown below)

If you do not have access to Company Maintenance the Edge Client be made available to you by Sys Admin As follows

1.As Sys Adming, Go to Company Maintenance
2. Select and Save Allow Edge Installer Download

Then as a user when you go to Print for the first time the Edge Agent will be offered to you when you click Client Print in Epicor Kinetic.

  1. Click Donwload
  2. Copy the application server URL to your clipboard, you will need it during installation:
    image
  3. Follow the Installer Prompt as Shown

Installer Prompts

image

image

image

image

Paste the URL you copied earlier into this screen, you can provide up to 4 different App Servers which can use the Edge Agent.

image

image

image

Updating Edge Agent

If an update is available when you go to use the Edge Agent it will prompt you to download.

Download the installer and follow the same instructions as before.
image
(Its a 200MB Download!!)

Once Everything is installed you will a couple of new Icons on your System Tray

Epicor Edge Agent where you can see the logs and the Diagnostics Page
image

Epicor Print Tray where you can see some advanced options for printing
image

14 Likes

Jose you are a blessing.

Thanks for writing that up for us all. I am sure you have all your rounds already paid for at insights this year, but I’ll grab one more for ya.

Careful–you might be the one to send him to the hospital to get his stomach pumped! :smiley:

1 Like

Excellent @josecgomez !!! Thanks for putting this together.

What about the Network Install side of it?

Same principle except it lets you print directly yo server side printers in a “headless” mode. That setup is a little more complicated there’s instructions to do that in Kinetic Help but it can only be accessed within Kinetic. Allows you to print to corporate / network shared printers etc.

Search Term:


URL (once you click through kinetic the first time)
https://kinetichelp222.epicor.com/hc/en-us/articles/9682820222861-Installing-and-Updating-Edge-Agent-for-Network-Printing

I don’t have time right now to outline it in detail if someone has access to a Kinetic Help page maybe you can add those instructions here :slight_smile:

1 Like

Network will work with SaaS license only

2 Likes

Correct. And you can have both installed in your environment. One Network Install for network printing and the client install on local computers. Additionally, you need to have the Network Install option installed to be able to add printers in Epicor.

1 Like

Okay, so I think this is what I was looking for. We’re in the cloud, but most users are still using the client, though the web option is enabled for users who want to start using it (though most dashboards and any customized classic forms aren’t there yet), so I don’t know how many may be using the browser to print. From everything I’ve read everywhere, it looks like I need to install both, the network and clients?

I have roughly 200 pc’s running Epicor - do I need to install this on everyone’s pc individually for the clients?

1 Like

@Erin_Corona you do not need to install it yourself for each computer, just enable allowing edge agent download then your users will be prompted to install it

2 Likes

Our MSP was able to push the client version to every computer. You don’t have to install both, only if they are needed. If you have users that have a printer attached to their computer and they want to print to it from Epicor, they need the client. If you have network printers that you want to use in Epicor, you need to install the network option.

1 Like

Hi, Theodore,

Thanks for your reply. I read that in the documentation, but I was concerned because none of our users have admin permissions on their computers.
I did enter the manager username and password when I did the network install, and I’m hoping this negates the administrator prompt on each user’s pc, but I don’t know if it will.
Have you done a network install? I would like to verify the App Server URL value that goes in that field in case that’s where I went wrong.

Your screenshot sparked another question I’ve had, and I wonder if you know the answer. On Company Maintenance on the same screen as you’ve shown, in the SSRS Printer Option field we show “Client Printing Only” and if I attempt to change it to Client and Network Printing I’m met with the following error:

I’m a system admin, but I logged on with the manager user ID to try again, but same error. That made me think we don’t have the option to change since we’re cloud-based, but I would think that network printing would be allowed, so I don’t know. I do have a ticket in with Epicor, just waiting on their response which I pray comes before the EOD.

I do have 2 network printers in Printer Maintenance that were set up by someone else years ago, and I don’t know if they ever worked or not, but they don’t at the moment.

I can’t believe how confusing something that looked so simple has turned out to be…I may be done and okay, but I won’t know until tomorrow. Do you suppose the Edge Agent in Pilot has already been updated? I’d prefer to test there for the remainder of today…

Make sure the user account you are using to change this has SSRS rights, only thing I can think of

image

@Erin_Corona , it is probably because you are MT SaaS. They lock down a lot of that stuff for MT.

1 Like

They’re used to locking things down at Erin’s place…

image

It only seems partially locked down here, which is why it’s confusing.
I’m able to set up Network Printers and select them in the Kinetic UI, but when I attempt to print to one of the network printers I get a PRINTER NOT FOUND error for all of them. I’m hoping I just had the url wrong, or something relatively simple that can be corrected now…I hate not knowing what to expect.

You’re probably right. Watch - Epicor will respond back saying Network Printing does not work yet for ML Tenants and I’d have spent my whole day trying to “fix” it…I sincerely hope that is not the case.

Oh look! Just got a notification that my case was assigned. Hopefully she’s still working today. :slight_smile: Happy thoughts.

1 Like

Some clarification for anyone who may need it on the subject:

Per the Epicor rep on my case, the notification that went out was only intended for users who had already been using the Edge Agent and won’t impact business for anyone else.

If you’re unsure, open Control Panel - you’re looking for the Epicor Edge Agent with the version number shown. If it’s a lower version number, then you need to update. If you don’t see it at all then you don’t use it so you don’t need to update:

We did not have it installed until I installed it this morning. If you were confused as well, it could be that you have a similar scenario: I knew I had seen “Network Printers” before in the system in the past and I assumed we were using it. (I think I’m remembering from Epicor 9 though.) When I opened Print Management there were two printers already set up as Network Printers. Our issue was that we had not enabled Network Printing since we upgraded, which was why they didn’t work, even though they appear in the dropdowns as options. (Names/IPs were from when we were at a different address so they also had to be changed.) So in this case, I really didn’t need to do anything for this update, since nobody has been able to use network printers anyway.

I had to verify, after @Mark_Wonsil 's comments above - ML Tenants can use Network printing however you need to have Cloud Support enable it for you, which is why I was unable to change my own settings here:

My support ticket was put in earlier today to enable Client and Network Printing in Pilot and Live, and once it’s enabled, I’ll update with anything else I have to do to get it working but it seems pretty straightforward from here. It’s possible I just missed that part in all the documentation, but did anyone see it documented that for MT customers, a request must be put in to the Cloud Team? I’d like to make sure I get that document for future reference. This was an entire day of reading and testing that could have been avoided if I’d found the right document, and I feel like an idiot. (Hope my mgr doesn’t read this. :grimacing:)

2 Likes

“We gain wisdom from experience, and experience from making mistakes.”

3 Likes

Thanks, Calvin. Totally agree with you, but I have thismuchextratimelately so I should have done better this time. :persevere:

1 Like