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
- Launch your Kinetic client and navigate to System Setup > Company/Site Maintenance > Company Maintenance.
- From the Overflow menu , select the Download Edge Agent option for your operation system.
- 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.
- 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.
- Click Donwload
- Copy the application server URL to your clipboard, you will need it during installation:
- Follow the Installer Prompt as Shown
Installer Prompts
Paste the URL you copied earlier into this screen, you can provide up to 4 different App Servers which can use the Edge Agent.
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.
(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
Epicor Print Tray where you can see some advanced options for printing