Skip to main content
Skip table of contents

Configuring YSoft SafeQ Client v3

About

  • All configuration-related files are located in the configuration folder located in YSoft SafeQ Spooler's root folder. The default location is C:\SafeQ6\Spooler\configuration.
  • There are three configuration types:
    1. YSoft SafeQ Spooler Configuration
      • local.json
      • cached.json
      • static.json
    2. Logging Configuration
      • logging.json

YSoft SafeQ Spooler Configuration

General

  • When a YSoft SafeQ Spooler starts, it tries to download the configuration from YSoft SafeQ, which is then saved into cached.json.
    • When the Site Server is not available, YSoft SafeQ Spooler retries configuration retrieval indefinitely.
  • It loads configuration as follows: 

    1. Download configuration from YSoft SafeQ Management Service and save it to cached.json.
    2. Load or create static.json
    3. Load cached.json.
    4. Load local.json.

    5. Override values from cached.json with values from local.json ((warning) it does not rewrite the file, only in memory).

  • local.json is used for overriding configuration downloaded from YSoft SafeQ which is stored in cached.json.

  • It uses the same configuration keys as available in the Management Server.
  • static.json if the configuration file does not exist, it is generated by YSoft SafeQ Spooler, it currently contains the YSoft SafeQ Spooler GUID for identification. This file should not be modified or deleted, doing so might lead to the loss of jobs.
  • When the configuration is changed on management, the spooler does not require a restart. Exceptions are:
    • Guid - would lead to loss of jobs (this should never be changed).
    • IPP printer settings.
    • Site server configuration.
    • Job Store path.

Configuration files are created under the Administrator account. Administrator privileges are required to edit configuration files. To ensure end users cannot modify these files you need to set adequate access permissions.

Required configuration

  • Required is only Site Server configuration which should be filled during installation.

    { 
    "SiteServerOptions": {
       "SiteServers": [
    "Scheme":  "http",
    "Host": "10.0.12.118",
    "JobServicePort": 5000
       ]
     }
    }

Cached configuration

  • The cached configuration is categorized into
    • JobDeliveryOptions,
    • JobReceivingOptions,
    • UncategorizedOptions - This category contains all of the configuration properties from YSoft SafeQ Management Service, which we currently do not use.

Available configuration values

GroupKeyTypeDefault valueDescription
SpoolerOptionsGuidstring
Spooler identifier.

UserInterfacePort

int3050Port where are hosted static files for the electron web application

BufferSizeint65536Size of the buffer

CacheCredentialsbooltrueFlag if user credentials will be cached in the client's machine so she will be asked less frequently to sign in when submitting a print job

EnableQueueManagementInClientboolfalseEnables Queue Management from YSoft SafeQ Client v3 context menu.

DriverConfigurationFolderPathstring..\..\DriverConfigurationsPath to folder containing configuration files. On Windows usually .dat file

DriverNamestring
Name of the print driver used when the direct queue is deployed. (Available only on Windows)

DriverConfigurationFileNamestring
Name of the configuration .dat file used when the direct queue is deployed. (Available only on Windows)

OfflinePrintEnabledboolfalseUsers using YSoft SafeQ client v3 or YSoft SafeQ FlexiSpooler will be able to send a print job directly to the recently used device when communication with the server is unavailable. This configuration is set from YSoft SafeQ Management Service through Job Service.

OfflinePrintAvailableServersideDevicesRefreshIntervalint30Controls the interval between refreshing records of device usage in minutes.
SiteServerOptionsEnableManualSiteServerSelectionboolfalseIf set to true, automated print location (Site Server) is disabled and user chooses the location manually. 

SiteServerSourcesarray
List of Site Server sources, delimited by comma. Possible sources are: "local" and "jobservice".

"Local" - the client will include Site Servers from its local configuration file into its Site Server selection pool

"JobService" - the client will include Site Servers from the configuration provided by jobservice into its Site Server selection pool


DisableCertificateValidationboolfalseSets whether spooler should ignore server certificate errors

KeepAliveIntervalTimeSpan00:00:15Represents the interval to send keep-alive pings. Should be at most half of the JobService's ClientTimeoutInterval to avoid connectivity issues.

SelectedSiteServerAliasstring Represents the value of the currently selected print location, if the manual selection is enabled by EnableManualSiteServerSelection. It is useful for setting the default value for the user. Corresponds to either Alias or Host property of the Site Server. If not set, first in the list is selected.
SiteServerOptions.SiteServersHoststring
IP Address or hostname of the Site Server.

Aliasstring
Alias as Site Server host.

JobServicePortint5000Port of Job Service.

ServerSpoolerPortint5002Ports where YSoft SafeQ Spoolers in Server mode listen

Schemestring
A scheme used for communication with the Site Server. Either HTTP or HTTPS.
JobDeliveryOptionsIppPrinterConnectionTimeoutTimeSpan00:00:15Network connection timeout in which IPP server must respond or the print fails.

RawPrinterConnectionTimeoutTimeSpan00:00:30Network connection timeout in which TCP counterpart must respond or the print fails. Defined in seconds.

RawPrinterConnectionLingerTimeoutint0When not zero, TCP connection is not closed until all queued messages for the socket have been successfully sent or the linger timeout has been reached. Defined in seconds.

LprPrinterConnectionTimeoutTimeSpan00:00:30Network connection timeout in which LPR server must respond or the print fails.

LprPrinterConnectionLingerTimeoutint0When not zero, TCP connection is not closed until all queued messages for the socket have been successfully sent or the linger timeout has been reached. Defined in seconds.

LprBufferSizeint65536Buffer size used for sending data (usually to MFD) via LPR.

InternalLdapReplaceAtCharbool

If set to true, the character "@" (at) is replaced with the given value.
Note that special characters must be escaped with a backslash - ie. use "\#" to replace "@" with "#" (hash).
This option could be used with Toshiba and Oki embedded terminals.


RemovePjlDminfoForHpstring
Enabling this property causes the removal of the Dminfo PJL header from HP print jobs as the header could cause problems during printing.

PrintedJobPathstring
The path where a modified job will be stored upon delivery.

SaveTicketsboolfalseIf set then Spooler will store the Print request at PrintedJobPath.

IppPrintMonitoringEnabled

booltrue

Enables IPP monitoring of a submitted job. The spooler will ask for a job status periodically and logs the result. When submitting multiple jobs a job will be submitted only when the Spooler receives a Ready state from the printer.

When the feature is disabled, the time to print multiple documents might improve due to less communication between the Spooler and the printer. 

This feature works only when a device has the backend configured to IPP

The feature does not interfere with other IPP settings outside of Spooler, such as Online accounting over IPP.


IppPrintMonitoringInterval

TimeSpan00:00:05

Interval at which Spooler asks printer for the job status.


IppPrintShortMonitoringInterval

TimeSpan00:00:00:500

The short interval at which Spooler asks printer for the next job status. The interval is used for Pending and Pending held states.


IppPrintMonitoringTimeout

TimeSpan01:00:00

The monitoring will stop after this time period. This can help with jobs that become stuck for some reason. When the timeout is reached and the print job is not finished, the cancel job IPP message will be sent.

This feature works only when a device has the backend configured to IPP


IppCancelStoppedJobInterval

TimeSpan00:05:00

When job processing is stopped for this time period, a cancel job IPP message will be sent. This corresponds to the IPP state 'processing-stopped'.

This feature works only when a device has the backend configured to IPP

JobReceivingOptionsUseIppbooltrueIf enabled, Spooler will use IPP for receiving print jobs

UseIppsboolfalseIf enabled, Spooler will use IPPS for receiving print jobs

IppPortint631 (5631)

The port used in the Spooler for receiving print jobs through IPP.
If a port with a number lower than 1024 is used, the port applied in OS X will have a number higher by 5000.


CertificatePathstringcertificate.pfxDefines the path to certificate needed to use for IPPS

CertificatePasswordstringpasswordDefines the password needed for the certificate

SQLPRPrtint515 (5515)

Port used in the Spooler for receiving print jobs through LPR.
If a port with a number lower than 1024 is used, the port applied in OS X will have a number higher by 5000.


IsServerboolfalseIf enabled, Spooler will run in server mode

ParseUserFromTitlestring

Defines a list of usernames so that if a print job comes from one of them.
The username will be extracted from the job title and used as the job owner instead.
Job titles contain a username at the position specified in the property parseUserFromTitleIndex.
The format of the property: a list of usernames separated by a comma. Example: Administrator, SAP


ParseUserFromTitleDelimiterstring[.:_/\\]

A regular expression that defines the delimiter of the components of print job titles for parsing a username.
The default value contains the following characters: .:_/\ The delimiter is any of these: dot, colon, underscore, slash, or backslash.


ParseUserFromTitleIndexint1

Defines where the username is located (a numerical index of the first character of the username) in print job titles.
Set 0 for titles like USER.something, and 1 for something.USER.title, ...


ParseUserFromTitlePreserverTitleboolfalseIf enabled, the original job title is preserved. Otherwise, username is removed from the print job title.

RemoveDelimiterAfterParsedUsernameboolfalseIf enabled, the following delimiter after username will be removed. Otherwise job title may contain delimiter which was before username. The property works if the property ParseUserFromTitlePreserverTitle is enabled.

LprEncodingstring

Default


Defines the encoding used by the LPR protocol for the LPD print server.
Protocol headers also include usernames and job titles that may contain some non-ASCII characters which might be displayed incorrectly.
Therefore, specify the encoding that corresponds to the local national alphabet.
For example, Windows-1251 for Cyrillic, Windows-1250 for Czech, etc.
If not set, UTF-8 encoding is used.

(warning) There can be problem if user has login name with character from different charset then Windows Region settings. There are two ways how to fix it: 1) It can be fixed by setting Windows local settings and LprEncoding set both to charset of problematic character. OR 2) It can be fixed by UTF-8 setting in Windows (Beta feature) and keeping LprEncoding in default state or UTF-8. This should fix the problem in case that the character is in UTF-8 charset.


WaitForDataTimeoutTimeSpan00:00:30Defines how long will the spooler wait for the next data chunk before time out-ing.

RemoveInvalidCharactersFromJobTitlebooltrue

If enabled, invalid characters (according to XML 1.0 specification) are removed from the title of each print job
when the YSoft SafeQ server receives it. Common print jobs do not contain such characters in their titles and will not be modified.


HeaderAnalysisBufferSizelong256000Size of the buffer used for header analysis.

DefaultJobLanguageJobLanguage (string)OtherOther is useful for most cases, but if the customer produced PCL5 without PJL (unwrapped), setting this to PCL will allow full processing of these jobs
JobStoreOptionsPathstringJobStorePath to job store.

MinimumDiskSpaceRequiredlong500The minimum amount of disk space required to accept print jobs in Megabytes (MB).

DiskSpaceMonitoringEnabledbooltrueEnables and disables disk space monitoring.
AuthenticationOptions

AuthenticationType

string

Specifies the authentication type to use on the client.

Possible values: DOMAIN_USERNAME, USERNAME_AND_PASSWORD, STORED_USERNAME, DOMAIN_USERNAME_FROM_CLIENT

DOMAIN_USERNAME - The Job Service will try to use Windows Integrated Authentication (SSO) to authenticate the user. If SSO is successful the user will not get the login window. If SSO fails user will be prompted for the credentials.

USERNAME_AND_PASSWORD - The user will have to enter the credentials to authenticate.

STORED_USERNAME - The Job Service will try to use the stored username from the client to authenticate the user. If authentication is successful the user will not get the login window.

  • If the STORED_USERNAME authentication fails and the AuthenticationType value of JobService is DOMAIN_USERNAME, the Job Service will try to use Windows Integrated Authentication (SSO) to authenticate the user. If SSO fails user will be prompted for the credentials.
  • If the STORED_USERNAME authentication fails and the AuthenticationType value of JobService is not DOMAIN_USERNAME, user will be prompted for the credentials directly.

DOMAIN_USERNAME_FROM_CLIENT - Client v3 retrieves the username by calling whoami.exe /UPN and uses this as it would be a STORED_USERNAME. It is convenient when Job Service is in a different domain than Client v3 and there is no trust between those domains. The username is always in UPN format user@domain. This option is only for Windows Client v3. If you use also Client V3 on Mac, the AuthenticationType should be locally overridden.

Both STORED_USERNAME and DOMAIN_USERNAME_FROM_CLIENT require additional settings on Job Service. SafeQConfigurationOptions.AuthenticatedUserMustMatchJobTicketOwner set to False, SafeQConfigurationOptions.AllowStoredUsernameFromClient set to True. For more information and security considerations, please see AuthenticationOptions on Configuring YSoft SafeQ Job Service page.


Usernamestring

The username used for STORED_USERNAME authentication method.

DhcpDiscoveryOptionsEnabledboolfalseEnables DHCP discovery of Site Server addresses.

TimeoutTimeSpan00:00:15How long DHCP discovery will wait for a DHCP response after sending a DHCP request.

FilterRulesArrayempty arrayConfigures filtering of results obtained via DHCP discovery. See DHCP discovery of site servers for more details.
SpoolerApiOptionsJobDataTemporaryTokenExpirationTimeoutTimeSpan00:00:30

Memory Cache expiration timeout for any temporary token that is related to job data download 

SpoolerUpdateOptionsRequireValidSignaturebooltrue

Client will validate the signature of the package against the certificate from the server


RequireTrustedCertificatebooltrue

Client will execute the update package only if the underlying operating system trusts the certificate


RequireMatchingCertificateFieldsbooltrue

Client will execute the update package only if the certificate's subject contains required fields (see RequiredCommonNames and RequiredCountries)


RequiredCommonNamesstringY Soft Corporation, a.s.

Client will check whether the certificate contains all of these common names


RequiredCountriesstringCZ

Client will check whether the certificate contains all of these countries

PrintJobCommandTimeoutTimeSpan00:30:00

Specifies the upper limit of how long can printing jobs take.

UpdateSpoolerCommandTimeoutTimeSpan00:00:10

Specifies the upper limit of how long can updating spooler take.

UpdateConfigurationCommandTimeoutTimeSpan00:00:30

Specifies the upper limit of how long can updating configuration take.

NotifyUserCommandTimeoutTimeSpan00:00:30

Specifies the upper limit of how long can sending a notification to a user take.

DeleteJobCommandTimeoutTimeSpan00:00:10

Specifies the upper limit of how long can deleting print jobs take.

GeneratePreviewCommandTimeoutTimeSpan00:03:00

Specifies the upper limit of how long can print job preview generation take.

Printer Configuration

  • This contains IPP printer configuration.

Logging Configuration

  • This contains the configuration of YSoft SafeQ Spooler's logging.
  • It is based on Serilog's configuration (see https://github.com/serilog/serilog/wiki/Configuration-Basics).
  • Some of the default options
    • path - (default 'logs/spooler.log') location of the log
    • rollingInterval - (default 'Day') specifies the minimum time when the log will be rotated (this adds the date format to the log file name). Available options are InfiniteYear, Month, Day, Hour, Minute
    • fileSizeLimitBytes (default 20000000) - maximal size of log file
    • rollOnFileSizeLimit (default true) - specifies if log will be rotated after maximum size is reached, if false, NOTHING is logged when the maximal limit is reached.
    • retainedFileCountLimit (default 30) - maximal number of log files. If exceeded, the oldest file gets deleted
  • The configuration archives the logs in a GZip format after file roll.
JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.