You can configure a remote client after you have installed and run a remote client for the first time.
After that you can configure the remote client:
The remote output client can be configured by modifying the file
<INTERFORMNG2_HOME>/profiles/default/settings/remote_output_settings.json
The file is created automatically when the service is started for the first time. The default configuration is:
{
"protocol" : "https",
"host" : "localhost",
"port" : 8086,
"tenant" : "home",
"locationId" : "Default",
"username" : "default",
"password" : "password",
"notifier" : null,
"chunkedDownload" : false,
"chunkSizeBytes" : 16384,
"maxChunkErrors" : 10,
"dualMode" : false
}
LocationId
If multiple remote output clients (for the same tenant) are installed in different locations, and should pick up different outputs, then the "locationId" should specify the location of this remote client. Only outputs sent to this location id will be picked up by the client.
If only one remote output location is needed, then this is best left at "Default".
Username and password
"username" and "password" must be the username and password of the user that will be used to authenticate with the main application (as described above). That means, that this user and password need to be defined on the InterFormNG2 host on the selected tenant. This user need to be specified on the tenant of the host with the user role, web service.
- LocationId
If multiple remote output clients (for the same tenant) are installed in
different locations, and should pick up different outputs, then the
"locationId" should specify the location of this remote client. Only
outputs sent to this location id will be picked up by the client.
If only one remote output location is needed, then this is best left at "Default".
- ChunkedDownload
If the remote client is used on a network that is know to be unstable,
then chunked download can be enabled by setting chunkedDownload to
true. With this feature enabled, the output items will be downloaded
from the server in a number of smaller chunks rather than fetching the
entire item in one go. Any failed chunks will be retried individually.
On an unstable network, this can increase the likelihood of an output
item being successfully transferred. However, enabling this feature will
have a negative performance impact, so it should only be enabled when
really needed. The size of the chunks can be adjusted with setting chunkSizeBytes. A lower value will increase the likelihood of
individual chunks being transferred successfully, but will also make the
overall download time longer. The number of times that a chunk will be
retried can be set with maxChunkErrors. Retries happen with
exponentially increasing delay. After one failure, a retry is done after
1 second. After 10 failures a retry is done after 29 seconds. The
maximum time between retries is 30 seconds.
- dualMode
The default value for dualMode is false, which indicates, that this options is disabled. If you change the value into true, then the client will use both notifications (if setup) as well as pulling. With this setting the client will use a bit more bandwidth, but will allow more stable printing on unstable connections. This was added to solve a case with a faulty VPN connection, that simply "hanged" the notification making the remote client believe it was still alive.
Notifications
If notifications are enabled on the main application and on the tenant that this client connects to, then the client needs to be configured with notifier settings.
After "notifier", replace null (in the example above) with:
{
"host": "localhost",
"port": 8100,
"accessPassword": "password",
"keystorePath": "internal:remoteoutput.jks",
"keystorePassword": "password"
}
KeystorePath and password
"keystorePath" and "keystorePassword" should point to the same keystore as the main application system settings for notifications. Regarding the keystorePath: Please note that internal: is to be used only for the internal keystores of InterFormNG2. If you want to use your own keystore, then you need to specify the full path to your keystore e.g. C:\Program Files\InterFormNG2\keystore\mykeystore.jks.
After changing the settings, the remote output client service may need to be restarted (if it failed to connect with the previous settings, it will actually automatically retry with the new ones).
Check the log to verify that the remote client is able to connect to the host.
Hint for First In First Out processing with a remote client
The remote client does not guarantee that the sequence of the output data is created in the same sequence in which the input files arrive as the remote client as default will use 5 threads and run them in parallel.
The number of threads can be set to one by adding the following in the remote client's application-default.properties file:
client.thread.pool=1
Note that the application-default.properties file for the remote client is not created automatically, so it needs to be created in the installation folder (typically C:\Program Files\InterFormNG2_RC).
Note that if the remote client fails to process an output, then it will continue with the next output in line and retry the failed one later. This means that failed items may be processed out of order.
Related Articles
Remote client module
If InterFormNG2 is running on a remote machine, such as in the cloud, and you need to print on local printers that are otherwise unreachable (e.g., due to the lack of a VPN connection), you may want to consider purchasing the remote client module for ...
Remote clients
If you wish to store output files generated by InterFormNG2 on external servers, there are several options available, as outlined here. One option is to gain access via a remote client, which requires purchasing a specialized Remote client module. ...
Configuration of the preview client
Please note: The remote preview client application has been decommissioned in version 3.5.1 and all related settings have been removed. It is only available for previous versions. The articles will be removed soon. This section describes how to ...
Remote output
If you want InterFormNG2 to allow a remote client to connect the current tenant, then you need to configure the remote output as below. A requirement is, that remote output is activated in the global settings. In order to setup remote output ...
Output via remote clients
This section describes how to use remote clients in the InterFormNG2 workflow. The remote client can be used for these kinds of output in the workflow: Print on remote printers, that are only reachable via the remote client(s) Email via email ...