PrizmDoc v13.2 - Updated
Central Configuration
Administrator Guide > System Configuration > Configure the PrizmDoc Server > Central Configuration

PrizmDoc Server can be configured using a central configuration file for both Windows and Linux. To do so, watchdog.config must contain a property paths.central_config_file whose value is a path to the central configuration file relative to the PrizmDoc Server install directory. If this value is not provided, legacy configuration will be used instead.

The configuration file will perform environment variable expansion in path values. The environment variable must be contained within a quoted string and enclosed with the % character. For example, "%ALLUSERSPROFILE%" or "%my_path%/subpath" are both valid paths containing environment variables which will be expanded at runtime.

The file paths for the Central Configuration file are:

  • Linux: /usr/share/prizm/prizm-services-config.yml
  • Windows: C:\Prizm\prizm-services-config.yml

Note: The default installation directory is: C:\Prizm.

The following options are available for configuration within the central configuration file: 

Licensing

Property

Default Value

Supported Values

Description

license.solutionName

None (Required)

Valid solution name string

PrizmDoc Server solution name.

license.key

None (Required)

Valid license key string

PrizmDoc Server license key.

Network

Property

Default Value

Supported Values

Description

network.publicPort

None (Required)

Any open HTTP port on the server

The public port the REST API will be available on.

network.internalStartingPort

None (Required)

Any open HTTP port on the server

The product requires a range of 200 ports which are reserved for its own internal use. This setting defines the starting port of that range (e.g. a value of 19000 means that ports 19000 through 19199 would be reserved for use by the product). These ports must not be accessible from outside of the server, for security reasons.

network.clustering.enabled

false

true, false

Set to true to enable cluster mode.

network.clustering.clusterPort

 -

Any open HTTP port on the server

The port used to route requests to other servers in the cluster. This port needs to be exposed to the other servers in the cluster.

network.clustering.servers

-

Array containing hostnames or ip addresses of other servers within the cluster.

The server list can be set once via config, or repeatedly at runtime via a REST API call. Setting the list of servers here is useful if you have a static set of machines that will not change.

Security

Property

Default Value

Supported Values

Description

security.aesEncryption.key

"E9rU73lZ2vd0he8Ls/hD8A=="

Base64 encoded value of a byte array representing an AES key with a size of 128, 192 or 256 bits.

The AES encryption key used to create external viewing session IDs. The external viewing session ID is a AES encrypted, Base64 encoded value of a string in the format of:

<internal ID>/<server’s host name>/<Auth-Token header value>

Internal ID: This value is a unique GUID that is internally created by PCCIS for each new viewing session.

Server’s Host Name: Aptly named, this value is the hostname of the server on which PCCIS is running.

Auth-Token Header Value: If the "Auth-Token" HTTP header exists in the initial POST request to create a viewing session, its value will be used here. Otherwise, "accusoft" is used. This value is useful if you have the need to store an authorization token for each viewing session which a proxy might need.

See PrizmDoc Cluster Management for more details.

security.aesEncryption.iv

"jTN2XBjybtfA2fpsv6mylQ=="

Base64 encoded value of a byte array representing an AES initialization vector with a size of 128 bits.

The AES encryption initialization vector (iv) used to create external viewing session IDs.

security.htmlRendering.blockExternalContent false true, false

When rendering any source document which uses HTML content, controls whether or not externally-referenced content, such as images and iframes, will be blocked. This option affects any source document file type which uses HTML, including HTML, EML, and MSG.

Note: Changing this setting can affect rendered layout and page count.

false - When rendering HTML, issue network requests for externally-referenced content in images, iframes, etc., and include that content in the final output. Any URL accessible from this machine may be loaded and included in the final output.

true  - When rendering HTML, block externally-referenced content in images, iframes, etc. No network requests will be issued when rendering HTML and the final output will only include the content that is directly-present in the source HTML.

Logging

Property

Default Value

Supported Values

Description

logging.directory

<install_dir>/logs

e.g.:

/usr/share/prizm/logs
C:\Prizm\logs

Any valid path to a directory with write permissions.

Directory where all log files will be stored.

logging.daysToKeep

7

Any natural number

Number of daily archives to keep for each log.

Note: This parameter does not apply to Native Services, which keeps logs for 7 days, regardless of this setting.

Logs with 7 day archives:

  • AutoRedactionService.log
  • FormatDetectionService.log
  • HTMLConversionService.log
  • OfficeConversionService.log
  • PDFConversionService.log
  • RasterConversionService.log
  • VectorConversionService.log

Cache

Property

Default Value

Supported Values

Description

cache.directory

<install_dir>/cache

e.g.:

/usr/share/prizm/cache
C:\Prizm\cache

Any valid path to a directory with read and write permissions.

Directory where cache data is stored.

Work Files

Property

Default Value

Supported Values

Description

workFiles.directory

cache.directory/WorkFileCache

Any valid path to a directory with read and write permissions.

Directory where work files are stored.

workFiles.lifetime

"1d"

Formatted Value, see Description

The length of time that a workfile remains usable. This must be an integer, followed by "s", "m", "h", or "d". The suffixes stand for second, minute, hour, or day, respectively. There should not be any space characters between the number and suffix. For example, "20m" indicates viewing sessions will timeout after 20 minutes.

See How to Implement Caching Strategies for more details.

User Documents

Property

Default Value

Supported Values

Description

userDocuments.directory

<install_dir>/cache/ UserDocuments


e.g.:

/usr/share/prizm/cache
C:\Prizm\cache /UserDocuments

Any valid path to a directory with read permissions.

A directory that contains your documents for use when the documentSource viewing session property is set to "file".

REST API Process Resources

Property

Default Value

Supported Values

Description

processIds.lifetime

"20m"

Formatted Value, see Description

The length of time that a redaction creator, markup burner, or content converter process remains usable. This must be an integer, followed by "s", "m", "h", or "d". The suffixes stand for second, minute, hour, or day, respectively. There should not be any space characters between the number and suffix. For example, "20m" indicates viewing sessions will timeout after 20 minutes.

See How to Implement Caching Strategies for more details.

Viewing

Property

Default Value

Supported Values

Description

viewing.allowDocumentDownload

false

true, false

Controls whether or not the REST API will accept requests to download the source document for a given viewing session.

viewing.sessionLifetime

"20m"

Formatted Value, see Description

The length of time that a viewing session remains usable. This must be an integer, followed by "s", "m", "h", or "d". The suffixes stand for second, minute, hour, or day, respectively. There should not be any space characters between the number and suffix. For example, "20m" indicates viewing sessions will timeout after 20 minutes.

See How to Implement Caching Strategies for more details.

viewing.cacheLifetime

"1d"

Formatted Value, see Description

The length of time that a document is cached and can be potentially reused by other new viewing sessions. This must be an integer, followed by "s", "m", "h", or "d". Those suffixes stand for second, minute, hour, or day, respectively. There should not be any space characters between the number and suffix. For example, "1d" indicates that data will be cached for up to one day.

See How to Implement Caching Strategies for more details.

viewing.contentEncryption.enabled

false

true, false

Controls whether or not content is encrypted by the back end before being transmitted to a Viewer. The Viewer will decrypt the content in the browser. This is useful for DRM, making it more difficult to copy protected content that has been delivered to the browser.

viewing.sessionConstraints.documentSource.allowedValues

["api","http"]

Array which contains one or more of the following strings: "api", "http", "file"

Creates a value filter that will be applied to the "documentSource" JSON property when creating a new viewing session to ensure appropriate values are being set. If the actual property value fails to match the filter, an error will be returned and the viewing session will not be created.

Allowing a combination of document sources here enables you to create viewing sessions with different sources on the fly without needed to modify this config file.

This property is one of several that can be used to limit unwanted values from being used within the JSON properties of the initial POST request to create a viewing session. These filter values are useful to prevent mistaken or malicious values from being sent that could affect server behavior.

viewing.sessionConstraints.countOfInitialPages.min

0

Any natural number

Minimum allowed value for the "countOfInitialPages" JSON property when creating a new viewing session.

Together with viewing.sessionConstraints.countOfInitialPages.max create a range filter that will be applied to ensure appropriate values are being set. If the actual property value fails to match the filter, an error will be returned and the viewing session will not be created.

This property is one of several that can be used to limit unwanted values from being used within the JSON properties of the initial POST request to create a viewing session. These filter values are useful to prevent mistaken or malicious values from being sent that could affect server behavior.

viewing.sessionConstraints.countOfInitialPages.max

10

Any natural number not less than viewing.sessionConstraints.countOfInitialPages.min

Maximum allowed value for the "countOfInitialPages" JSON property when creating a new viewing session.

Together with viewing.sessionConstraints.countOfInitialPages.min create a range filter that will be applied to ensure appropriate values are being set. If the actual property value fails to match the filter, an error will be returned and the viewing session will not be created.

This property is one of several that can be used to limit unwanted values from being used within the JSON properties of the initial POST request to create a viewing session. These filter values are useful to prevent mistaken or malicious values from being sent that could affect server behavior.

viewing.sessionConstraints.documentExtension.regex

".*"

Valid regular expression using the .NET Regular Expression Language

Creates a regex filter that will be applied to the "documentExtension" JSON property when creating a new viewing session to ensure appropriate values are being set. If the actual property value fails to match the filter, an error will be returned and the viewing session will not be created.

This property is one of several that can be used to limit unwanted values from being used within the JSON properties of the initial POST request to create a viewing session. These filter values are useful to prevent mistaken or malicious values from being sent that could affect server behavior.

viewing.sessionConstraints.externalId.regex

".*"

Valid regular expression using the .NET Regular Expression Language

Creates a regex filter that will be applied to the "externalId" JSON property when creating a new viewing session to ensure appropriate values are being set. If the actual property value fails to match the filter, an error will be returned and the viewing session will not be created.

This property is one of several that can be used to limit unwanted values from being used within the JSON properties of the initial POST request to create a viewing session. These filter values are useful to prevent mistaken or malicious values from being sent that could affect server behavior.

viewing.sessionConstraints.pageContentEncryption.allowedValues

["default"]

An array with either one or all of the following strings: "default", "enabled", "disabled"

Creates a value filter that will be applied to the "pageContentEncryption" JSON property when creating a new viewing session to ensure appropriate values are being set. If the actual property value fails to match the filter, an error will be returned and the viewing session will not be created.

This property is one of several that can be used to limit unwanted values from being used within the JSON properties of the initial POST request to create a viewing session. These filter values are useful to prevent mistaken or malicious values from being sent that could affect server behavior.

viewing.sessionConstraints.serverCaching.allowedValues

["none","full"]

An array with one or more of the following strings: "none", "full"

Creates a value filter that will be applied to the "serverCaching" JSON property when creating a new viewing session to ensure appropriate values are being set. If the actual property value fails to match the filter, an error will be returned and the viewing session will not be created.

This property is one of several that can be used to limit unwanted values from being used within the JSON properties of the initial POST request to create a viewing session. These filter values are useful to prevent mistaken or malicious values from being sent that could affect server behavior.

See How to Implement Caching Strategies for more details.

viewing.sessionConstraints.render.alwaysUseRaster.allowedValues

[false]

An array with one or more of the following values: true, false

Creates a value filter that will be applied to the "render.html5.alwaysUseRaster" JSON property when creating a new viewing session to ensure appropriate values are being set. If the actual property value fails to match the filter, an error will be returned and the viewing session will not be created.

This property is one of several that can be used to limit unwanted values from being used within the JSON properties of the initial POST request to create a viewing session. These filter values are useful to prevent mistaken or malicious values from being sent that could affect server behavior.

viewing.sessionConstraints.minSecondsAvailable.max 86400 Any integer greater than 0 This configuration property provides a maximum value that can be used for the option 'minSecondsAvailable'. The value is a positive number and represents seconds. When this value is set to zero, the ViewingSession timeout will be used for validation of the minSecondsAvailable option in the POST /ViewingSession. The default will be 86400 seconds (1 day). This option is available for PrizmDoc version 12.0 or greater.

Fidelity

Property

Default Value

Supported Values

Description

fidelity.svgMaxImageSize 8000 Any integer greater than 0

For source documents which contain images, ensures that the images in the SVG delivered to the browser do not exceed a particular pixel width and/or height. For example, a value of 8000 would ensure that any images in a PDF whose width or height were greater than 8000 pixels would be down-sampled before the image was added to the final SVG. A typical value is 8000.

The default value for this property is configurable. The out-of-box configuration uses a default value of 8000.

Use 0 to disable the optimization.

fidelity.vectorBackgroundColor.view.default white CSS color name, e.g. "gray", or a hex RGB value, e.g. #FFFFFF Defines the background color for viewing CAD documents if the background is not specified in the document. Also defines the background color for converting CAD documents to SVG, PNG, JPEG and TIFF. Please note, DGN documents define their background color, so this property does not affect them. Use fidelity.vectorBackgroundColor.view.override to define background color, ignoring the background color specified in the document.
fidelity.vectorBackgroundColor.view.override none CSS color name, e.g. "gray", or a hex RGB value, e.g. #FFFFFF, or “none” Defines the background color for viewing CAD documents, ignoring the background specified in the document. Also defines the background color for converting CAD documents to SVG, PNG, JPEG and TIFF, ignoring the background specified in the document. Overrides fidelity.vectorBackgroundColor.view.default.
fidelity.vectorTolerance 0.3 A positive Floating point value with a minimum value of 0.0 and a maximum value of 10.0

For CAD documents, controls how much path simplification is allowed. The path simplification algorithm will merge points which are "close together" to create an optimized SVG. You can think of this value as defining what "close together" means. A typical value is 0.3. Higher values introduce more simplification, but also more distortion. The value cannot be greater than 10.0.

The default value for this property is configurable. The out-of-box configuration uses a default value of 0.3.

Use 0 to disable the optimization.

fidelity.msOfficeDocumentsRenderer "auto" One of the following strings: "auto", "libreoffice", and "msoffice"

Specifies the renderer to use with Microsoft Office documents.

When set to "auto", PrizmDoc decides which renderer to use based on the MSO feature license state. If the MSO feature is present, then the Microsoft Office renderer will be used. Otherwise, Libreoffice will be used.

When set to "libreoffice", PrizmDoc will be using the Libreoffice renderer. If you are intending to use the Libreoffice renderer permanently on a server that does not have Microsoft Office installed, please contact Accusoft Sales or Customer Support, to obtain the license key with MSO feature disabled.

When set to "msoffice", PrizmDoc will be using the Microsoft Office renderer, if the MSO feature is enabled in the license key, otherwise the licensing error will be reported.

The parameter affects only Microsoft Office documents, RTF and CSV files. Other documents will continue to be rendered with LibreOffice.                    

For a complete list of supported file types see Supported File Formats.

fidelity.msOfficeCluster.host "" A valid IP address or hostname

This value is used to enable Microsoft Office Conversion connectivity for PrizmDoc servers running on Linux.

Set this value on a PrizmDoc server running on Linux to the hostname (or the IP of a single PrizmDoc server, or a load balancer of a cluster running on Windows) to utilize the Microsoft Office Conversion service running on Windows to have native rendering of Microsoft documents in PrizmDoc.

fidelity.msOfficeCluster.port 0 Any open HTTP port on the server

This value is used to enable Microsoft Office Conversion connectivity for PrizmDoc servers running on Linux.

Set this value on a PrizmDoc server running on Linux to the public port of a single PrizmDoc server (or a load balancer of a cluster running on Windows) to utilize the Microsoft Office Conversion service running on Windows to have native rendering of Microsoft documents in PrizmDoc.

To connect to a single server specify 'network.publicPort' parameter of the remote server.

To connect to a load balancer specify 'network.clustering.clusterPort' parameter of the cluster.

File Types

Property

Default Value

Supported Values

Description

fileTypes.pdf.pageBoundaries

mediaBox

One of the following strings: "mediaBox", "cropBox"

Controls which set of page boundaries should be used when interacting with PDF files.

fileTypes.office.disableExternalHyperlinks false true, false

Controls whether the external hyperlinks are enabled or disabled when viewing or converting Microsoft Office documents to PDF.

false - All external hyperlinks are enabled.

true  - All external hyperlinks are disabled.

fileTypes.excel.pagination.enabled

true

true, false

Controls whether or not pagination is enabled for Excel files. If so, the following properties define the min and max page width and height values for pagination.

fileTypes.excel.pagination.dimensions.minWidth

"11.0in"

String consisting of a positive number followed by "in"

Controls the minimum page width for pagination of Excel files if fileTypes.excel.pagination.enabled is set to true.

fileTypes.excel.pagination.dimensions.maxWidth

"22.0in"

String consisting of a positive number followed by "in"

Controls the maximum page width for pagination of Excel files if fileTypes.excel.pagination.enabled is set to true.

fileTypes.excel.pagination.dimensions.minHeight

"8.5in"

String consisting of a positive number followed by "in"

Controls the minimum page height for pagination of Excel files if fileTypes.excel.pagination.enabled is set to true.

fileTypes.excel.pagination.dimensions.maxHeight

"17.0in"

String consisting of a positive number followed by "in"

Controls the maximum page height for pagination of Excel files if fileTypes.excel.pagination.enabled is set to true.

fileTypes.excel.renderGridlines true true, false Specifies whether or not the Excel gridlines in all worksheets of the workbook should be rendered.
fileTypes.excel.renderOnlyPrintArea false true, false Specifies whether the print areas defined in Excel workbook are to be honored or not. When set to "true", only the content defined within the print areas will be rendered. When set to "false", the content that goes beyond print areas will be rendered as well.
fileTypes.excel.renderHeadersAndFooters true true, false Specifies whether or not headers and footers of an Excel workbook should be rendered. When set to "true", even if the original document is missing the headers and footers, a space for headers and footers shall be reserved when rendering an Excel document.
fileTypes.excel.renderHiddenContent true true, false Specifies whether or not the hidden rows, hidden columns, and whole spreadsheets that are hidden in the original Excel workbook are to be rendered.

Resource Usage

Property

Default Value

Supported Values

Description

resourceUsage.pccis.instances

3

Any integer greater than 0

The number of PCCIS ASP.NET application instances to run concurrently.

resourceUsage.ocs.numInstances

"auto"

Any integer greater than 0, or the string "auto"

The number of office conversion service instances to run concurrently, or "auto" to let the product choose an appropriate value.

We recommend using the default value of "auto". If you do provide a specific value, it should not be set higher than the number of physical cores available on your server.

resourceUsage.ocs.numThreads

"auto"

Any integer greater than 0, or the string "auto"

The number of threads each instance should create to handle document processing requests, or "auto" to let the product choose an appropriate value.

We recommend using the default value of "auto". If you do provide a specific value, it should not be higher than 2 x ocs.instances.

resourceUsage.ocs.numPorts

"auto"

Any integer greater than 0, or the string "auto"

The number of ports which can be used internally for communication with the office conversion instances, or "auto" to let the product choose an appropriate value. 

We recommend using the default value of "auto". If you do provide a specific value, it should be no higher than 4 x ocs.instances.