PrizmDoc Viewer v13.9 - Updated
Central Configuration
Administrator Guide (Self-Hosted) > System Configuration > Configure the PrizmDoc Server > Central Configuration

Central Configuration

Configure PrizmDoc Server using the services configuration file for both Windows and Linux.

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.

NOTES:

  1. Given the default installation directory, the paths for the Central Configuration file are:

    • Linux: /usr/share/prizm/prizm-services-config.yml
    • Windows: C:\Prizm\prizm-services-config.yml
  2. After making any changes to the configuration files, you need to restart the PrizmDoc Server.
  3. PrizmDoc Server uses central configuration by default (that is, watchdog.config contains the paths.central_config_file property, whose value is a path to the central configuration file relative to the PrizmDoc Server install directory).

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

NOTE: PrizmDoc Cloud uses specific default values that differ from the self-hosted default values as noted in the PrizmDoc Cloud Default Values section below.

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.

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.

NOTE: For PrizmDoc Cloud, the default value for fidelity.msOfficeDocumentsRenderer is "msoffice".
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. The PDF format specification defines five separate "Page Boundaries" that control various aspects of the imaging process. PrizmDoc Server supports "Media box" or "Crop box" to convert a source PDF document image.
fileTypes.excel.margins.mode remove One of the following strings: "preserve", "remove"

Controls how the page margins should be handled in Excel documents.

"preserve" - Preserve (do not remove) document pages margins. Requires that fileTypes.excel.pagination.dimensions.mode be set to "preserve" and the Office documents renderer to be set to Microsoft Office (see fidelity.msOfficeDocumentsRenderer for more details).

"remove" - Remove all margins from the document pages. Requires that fileTypes.excel.pagination.dimensions.mode be set to "override".

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

NOTE: For PrizmDoc Cloud, the default value for fileTypes.excel.margins.mode is "preserve".
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 documents.

true (paginated mode) - Each Excel sheet is divided into a number of pages, such that each page fits into a specific size.

false (non-paginated mode) - Each Excel sheet, irrespective of its size, is rendered onto a single page. If the number of columns and/or rows is large, then this might result in very small and unreadable output.

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

fileTypes.excel.pagination.dimensions.mode override One of the following strings: "preserve", "override"

Controls which pagination mode to use if pagination is enabled for Excel documents (fileTypes.excel.pagination.enabled is set to "true").

"preserve" - Use the page dimensions specified in the Excel file. Requires that fileTypes.excel.margins.mode be set to "preserve" and the Office documents renderer to be set to Microsoft Office (see fidelity.msOfficeDocumentsRenderer for more details).

"override" - Ignore the page dimensions of the Excel file and instead always use the following settings in this config file:

fileTypes.excel.pagination.dimensions.minWidth, fileTypes.excel.pagination.dimensions.maxWidth, fileTypes.excel.pagination.dimensions.minHeight, fileTypes.excel.pagination.dimensions.maxHeight

Requires that fileTypes.excel.margins.mode be set to "remove".

NOTE: For PrizmDoc Cloud, the default value for fileTypes.excel.pagination.dimensions.mode is "preserve".
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 when fileTypes.excel.pagination.dimensions.mode is set to "override".
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 when fileTypes.excel.pagination.dimensions.mode is set to "override".
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 when fileTypes.excel.pagination.dimensions.mode is set to "override".
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 when fileTypes.excel.pagination.dimensions.mode is set to "override".
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._ NOTE: For PrizmDoc Cloud, the default value for fileTypes.excel.renderOnlyPrintArea is "true"._
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.

License

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.

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. PrizmDoc Server is made up of several different processes, each of which create and maintain their own logs. The logs are invaluable for diagnosing issues with PrizmDoc Server if they arise. If you find yourself in this situation, please see the topic Packaging Log Files for Product Support to expedite your support request.
logging.daysToKeep 7 Any natural number

The number of rotated logs to keep in addition to the active log file. Logs are rotated each day at midnight (UTC).

NOTE: This value does not currently apply to all services. Some services will always keep 7 rotated logs.

Logs with 7 day archives:

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

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. The chosen port must be accessible by all servers that need to call the PrizmDoc Viewer APIs.
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.

Process Ids

Property Default Value Supported Values Description
processIds.lifetime "20m" Formatted Value, see Description

The length of time that a redaction creator, markup burner, content converter, form extractor, search context, search task or plain text redactor 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.

Please see the topic Implement Caching Strategies for more details.

NOTE: For PrizmDoc Cloud, the default value for processIds.lifetime is 5h.

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.

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.

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".

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.

Please see the topic Implement Caching Strategies for more details.

NOTE: For PrizmDoc Cloud, the default value for viewing.sessionLifetime is 5h.
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.

Please see the topic Implement Caching Strategies for more details.

NOTE: If the amount of time specified by viewing.cacheLifetime is shorter than the amount of time specified by viewing.sessionConstraints.minSecondsAvailable.max, the viewing.cacheLifetime will be changed at runtime to match the amount of time specified by viewing.sessionConstraints.minSecondsAvailable.max. If you change this value to decrease the cache lifetime, make sure that you also adjust the viewing.sessionConstraints.minSecondsAvailable.max value to represent the same or shorter amount of time.

NOTE: For PrizmDoc Cloud, the default value for viewing.cacheLifetime is 43h.
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.

NOTE: For PrizmDoc Cloud, the default value for viewing.sessionConstraints.documentSource.allowedValues is "api".
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.

Please see the topic 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.

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.

Please see the topic Implement Caching Strategies for more details.

PrizmDoc Cloud Default Values

PrizmDoc Cloud uses specific default values that differ from self-hosted default values as noted below: