JusticeTrax Customer Bulletin – June 16, 2016
Re: Raw Barcode Printing from Browser and JT Web Based Products
We have put this bulletin together to make primarily our LIMS-plus version 5 customers aware of a change that will be forthcoming in the application, related to the printing of barcode labels. We encourage all customers, their IT departments and end users of this application to review the document in preparation for the upcoming changes. While we have not scheduled this development effort for an exact release at this time, please be aware that this will be included in a release in 2016. Additional information regarding the release will be forthcoming.
In order to print barcode labels through a browser, we must send the raw barcode, control code commands to the barcode printers. These raw commands are visible and editable in the application as the barcode ‘definitions’ that are set up in the System Administration | Lab | Barcode area. Sending commands directly to a barcode printer (Raw Printing) has been and continues to be a challenge for vendors of web-based products. The web browser operates in a security sandbox that does not have access to devices/peripherals on the remote desktop as a desktop application might. Over the years, vendors like JusticeTrax employed various techniques to address this restriction. Many solutions involve placing a small program on the remote browser machine that act as a liaison between the browser and the device. The major Browser Vendors (IE, Firefox, Chrome, etc.), in an effort to secure the user from a rapidly evolving threat landscape, have changed the nature of the security sandbox. Recent changes by Browser Vendors require JusticeTrax to change the Raw Printing solution.
Current Solution in LIMS v5
The current Raw Printing solution in LIMS v5 uses Java Applets, first jZebra in early versions of LIMS-plus v5 and now QZ Print, which are hosted in the browser that act as liaison between the browser and the barcode printer. Chrome, and soon IE and Firefox, have disabled the use of Java Applets due to the security concerns. JusticeTrax must change the liaison solution to use a different technique compatible with current industry security standards.
JusticeTrax in the near future will be deploying a new solution for Raw Printing barcodes from LIMS v5 called “JTPrintConsole”. The solution was designed and developed in-house. We found that there were not many third party applications that have already deployed this functionality. Rest assured that this liaison program complies with and employs industry standard technologies supported by all the major browsers. Below is a high-level summary of the new solution:
JTPrintConsole is written on and requires the .NET platform. This is likely already present on windows desktops. This means the Java runtime is no longer required. For many customers, this is welcome news, as java updates will sometimes affect the use of the applets and ‘break’ the printing function. JusticeTrax is not given notice prior to a Java update being released, and thus we are always break-fixing instead of being proactive.
JTPrintConsole is installed on desktops via “ClickOnce” from the local customer’s intranet. While it will be visible to the user that the install occurs, it will not require any user interaction and in nearly all circumstances will not require special security permissions.
JTPrintConsole does NOT require desktop administrator privileges to install. We are aware that the majority of our customers do not allow their users administrator privileges over their own machines and we have ensured that we adhere to this common restriction.
JTPrintConsole is self-updating via “ClickOnce” from customer’s Intranet site. It will not require any special installation or configuration on the server to be deployed to each desktop. This occurs automatically.
For IT departments, we include the following details:
Browser to JTPrintConsole communication occurs via SignalR and CORS (which all major browsers support) on port: 8083 by default (however, this port is configurable)
JTPrintConsole is code-signed with a certificate generated with a certificate authority to further ensure the security of the code being installed on client desktops.
Once the solution is available in a release of the LIMS-plus v5 product and/or we become aware of the IE update that prevents the use of Java Applets, we will send out another email communication. We will be including this solution in a build of the application in the next few months. Our timelines could be impacted if Microsoft’s IE product is updated sooner than expected, to prevent the use of Java Applets. We do not have any indication of when this will be forthcoming. Having it already implemented in Google Chrome essentially means that it is a foregone conclusion.
In addition, this solution will eventually be included in all JusticeTrax browser based products such as LIMSplus DNA and CIMS.
Any customer wishing to retain the ability to print barcode labels from within the LIMS-plus v5 application will be required to do one of the following:
Install/upgrade to the newest version of the product containing the JT Print Console solution when it becomes available.
Retain their existing version of the LIMS-plus v5 product, but not deploy the Microsoft Update containing browser security changes affecting the use of Java applets.
Again, end users should not see any substantial changes when printing barcodes. It is only upon login that the click-once technology will look for and install or start the JT Print Console, which will run in the users System Tray.