This document is primarily about PrintServer and applet printing, and not OrderFlow configuration. However, a little understanding on how print queues are set up will be helpful in gaining a better overall picture of how the pieces fit together.
As described in the PrintServer section, print queues are used by OrderFlow to identify target destinations for printed output. Each print queue used in the application needs to be set up as an entry visible on the OrderFlow GUI, shown below.
A number of different mechanisms are used within the application to determine the print queue for a printable document, or print item.
For shipment batches, each shipment batch type is typically associated with a print queue. However it is also possible for the queue to be used for a batch print job to depend directly on the workstation from which the batch printing is initiated.
For other types of documents, the print queue typically depends on a workstation-specific property value. The name of the property will itself be context dependent, changing according to the type of document being generated.
Every shipment batch is associated with a print queue through the shipment's batch type, as shown below.
However, it is also possible to associate a shipment batch with a workstation-specific print queue. This is only possible for shipment batches which are printed manually. Shipment batches printed automatically using a scheduled job can only be associated with the print queue associated with their parent batch types.
In the screenshot above, the
multiline batch type has been associated with the
DEFAULT print queue.
During their lifecycle, Print Items on OrderFlow can be in the
ready state or the
downloadable state. Those in the
ready state get printed out automatically by the Print Server. Those in the
downloadable state have to be dragged to
a printer on the "Printing Control" page of the Print Server web interface. Shipment batches can be configured to default their
Print Items to either state, using the
batch.download.before.printing application property (on OrderFlow).
Workstation-specific Print Queue Naming
The following section describes some best practices that can be applied when using the Print Server for printing documents on the packing desk. This can apply both for despatch notes and labels.
In this scenario, you will need the Print Server to be installed not just on a single workstation, but on each of the packing desks.
Establishing and applying sensible naming convention for workstations, Print Servers and print queues is important in making this arrangement easy to set up, replicate or extend with further packing desks.
For the configuration just described, you will need:
- an instance of the Print Server to be installed set up on each packing desk.
- a Workstation instance on OrderFlow for each packing desk.
- for each document type that is to be printed using the Print Server, a Print Queue queue for each workstation and documentation type combination.
The naming of the Print Server itself can be set up using the fetch.friendly.name property in the fetch.properties configuration file.
For example, if you are using the Print Server to print A4 despatch notes to a laser printer, and 6x4 labels to a thermal printer, then you a suitable naming convention might be.
- a numbered workstation for each packing desk, for example, WORKSTATION_01, WORKSTATION_02 etc.
- corresponding named print queues for A4 document printing: DOCUMENT_01, DOCUMENT_02 etc.
- corresponding named print queues for label printing: LABEL_01, LABEL_02 etc.
These values will be reflected in the Print Server's print.properties file configuration. The will also be reflected in the Workstation Property values, described in the next section.
Applet and PDF Printing
Note that there are two print queue names which have a special meaning in the way that they are interpreted by OrderFlow:
- APPLET: used for direct printing via the Java Applets browser plugin.
- PDF: used for direct printing of PDF documents via the Adobe Reader browser plugin.
In both cases, the Print Server is not involved; the print items created are sent directly to the browser for printing.
The main question then becomes the choice of application property to configure.
The following table illustrates some of the scenarios:
||All despatch notes to be printed using Applet printing.|
||Despatch notes at an individual workstation use Applet printing.|
||All labels by default use Applet printing.|
|label.print.queue||Workstation Property||Labels printed to an individual workstation use PDF printing.|
Note that APPLET printing is only for documents that are generated on OrderFlow, usually via a custom or built-in report using Jasper Reports. PDF printing is more common for documents that are generated on third party systems as PDF documents, and imported into OrderFlow as such.
For many of the printing operations, the user is expected to be associated with a workstation. Different workstation properties are used to identify the workstation-specific target for different types of printed documents.
Note the workstation properties which end
|despatch.note.print.queue||Despatch notes printed from packing screen||
|label.print.queue||Courier labels from packing screen||
|shipment.batch.print.queue||Despatch notes printed via batch printing||`DOCUMENT_01``: routes to workstation specific queue; No value: uses shipment batch default (see below)|
Note also that similar values can be set for
crossdock.print.queue (where a workstation is being used for cross docking
shipments from incoming deliveries), and for
shipatease.print.queue (where a print queue is being used to support
integration with DPD shipatease).
Note that while it is normally not possible to specify a printer directly, there is an exception to the rule for applet printing.
In screenshot above, the properties
despatch.note.printer are being used to
explicitly set the printer to be used for applet printing for labels and despatch notes respectively, from
a particular workstation. This is to accommodate the situation where both labels and despatch notes are
printed from the packing screen, but to different printers (typically, despatch notes would be routed to
a A4 laser printer, while labels will be outputted to a smaller thermal printer).