Job Processor plugin

The Job Processor plugin is an output plugin that appears in the Plug-in Bar of Workflow under OL Connect Send.

The Job Processor plugin must be added to a Workflow job transfer process that starts with an HTTP Server Input. The Job Processor plugin can be the only other task in that process (except when API keys are used; see Verifying an API Key).
The action name of the HTTP Input task must match the last part of the URL for print job submission, that has to be set in the printer driver installer (by default: olcs_transfer).
After the job is processed, the HTTP Server Input returns a reply from the Job Processor plugin back to the OLCS Printer Driver in order to notify the user that the job has been received successfully (or failed if an error occurred).

License mode

Each incoming print job is checked against the license to determine if it can be handled in licensed mode or in unlicensed mode (see License modes ).

If OL Connect Send is unlicensed, the plugin stores the incoming job in the target folder using the specified file name, but it does not save any information in the database. The end user will receive a message in the Notification Area (also called "system tray") confirming the unlicensed status, and the printer driver will not request another web page.

In licensed mode, the plugin will store all relevant information about each job in the OL Connect Send database. This database is a HSQLDB and is installed automatically. Subsequent Workflow processes can use the information in the database for additional processing (see Get Job Data plugin).

Whether OL Connect Send is licensed can be seen on the General tab of the properties dialog.

One job transfer process

It is strongly recommended that a single job transfer process for all Printer Drivers is created, using the domain or machine’s or user information to divert to any follow-up processes.
This single transfer process can be set to "Self Replicating", so that parallelization is possible.

Configuring the plugin

To configure the Job Processor plugin, right-click it after adding it to the Workflow process, and click Properties.

The color of the property names in the Job Processor Properties dialog indicates that these fields can contain variables.

Workflow variables

To facilitate using job related information for the creation of the target folder and file name/s, the Job Processor plugin maps job relevant information to the standard Workflow variables (%1 to %8). The following mappings apply:

Information Workflow Variable When licensed When unlicensed
Job ID %1 Job ID Job ID
License status for this job %2 "Licensed" "Unlicensed"
Username 1 %3 The user name "na"
IP Address 1 %4 The IP address The IP address
No. of Pages 1 %5 Number of pages of the job Number of pages of the job
No. of Copies 1 %6 Number of copies set by the user Number of copies set by the user
Domain Name 1 %7 The Domain Name "na"
Machine Name 1 %8 The Machine Name "na"

1) These values originate from the Printer Driver machine.

The variables can and should be used to create dynamic file and folder names for each print job. This enables separating licensed and unlicensed jobs and/or storing the files by domain, machine and even user name.

File extension

The plugin stores the incoming print job in the target folder with the file name specified in the plugin.

If no extension is defined by the user for the file name, the default “.ps” extension is added automatically, as the incoming print jobs are PostScript files.

Metadata

In addition to the print job, the plugin will create a Workflow metadata file containing basic information about the job. The values originate from the client machine.
In unlicensed mode, the user name, machine name and domain/workgroup name will not be available through the metadata.

Security

In order to provide security when printing over the internet, OL Connect Send includes several protective features.

HTTPS Communication

The Printer Driver can be set to use HTTPS for any job transfer. To do this Workflow must also be set to use HTTPS. This topic is covered briefly in the “Server URL Setting” section in this document (new Printer Driver installation), but full details can be found in the Workflow documentation.

Job Origin

OL Connect Send allows to use API keys to enhance security (see Using API Keys).

Each print job will include unique information about the machine it has been sent from. This unique machine ID is calculated with a proven method and will be transferred, encrypted and enhanced. The enhancement will result in a different encrypted machine ID per print job, so that spoofing can be detected. On the server side, if spoofing is detected a respective message will be created.
Users can set up Workflow processes and filters to accept only specific jobs from known machine IDs, thus enhancing security.

Database connection

The Job Processor plugin works with a database to store all relevant job information. This database is a HyperSQL Database (HSQLDB, see https://en.wikipedia.org/wiki/HSQL_Database_Engine). It is installed as a service with the name OL Connect Send DBServer (the internal service name is OLCSServer).

Communication between the plugin and the database occurs using port 9001 (the default port for HSQLDB). However, there may be situations where this port is already blocked by another application and may need to be changed.

Several database settings can be modified by creating an ini file. This file must be named “OLCSSvc.ini” and stored in the same folder as the executable OLCSSvc.exe, located under “%CommonProgramFiles(x86)%\Objectif Lune\<Workflow Name>\Plugins\CPD”.

By adding the entry “DBPort = <new port number>” under [HSQLDBSETTINGS] and then restarting the service, the communication port is changed.

Note: Workflow has to be restarted after such a modification.

Timeout

During a job transfer from the Printer Driver to Workflow, a timeout could occur (indicated by a log entry like “ERROR: sendBinaryContents: Could not open request. Reason: 12002”). In this case, the timeout for the HTTP service in Workflow needs to be increased. It is recommended to use a value of more than 10 minutes (>600 seconds).

Additionally, the timeout in the browser on the client side should be enhanced. Please see the help pages for your browser about how to do this.

Compatibility

The OLCS components communicate with each other by using a well-defined and versioned protocol. As long as these components use the same protocol version, the job transfer will work even if the plugins themselves are changed. The protocol version can be found in the third part of the version number of the Printer Driver (i.e. in version number 1.2.5.98-17, the “5” indicates protocol version 1.5, omitting the leading 1). The Job Processor plugin shows the protocol version explicitly in the related frame.

Any Printer Driver can communicate with any plugin, as long as this third version number part is identical.