PrizmDoc v13.2 - Updated
PAS Configuration
Administrator Guide > System Configuration > Configure PrizmDoc Application Services (PAS) > PAS Configuration

PrizmDoc Application Services Configuration

The Prizm Application Services use a central configuration file to determine, among other things, where to find documents, where to store logs and how to connect to a database.

Configuration file location

On Windows, assuming a default installation, the configuration file is located at C:\Prizm\pas\pcc.win.yml.

On Linux, assuming a default installation, the configuration file is located at /usr/share/prizm/pas/pcc.nix.yml.

Default configuration

Among other things, the config file includes the port, secretKey, logs.path, defaults.viewingSessionTimeout properties.

port defines the port that PAS will use to listen to its HTTP connection.

secretKey is a value that is used for identification on specific routes (as noted in the PAS API reference). Whenever noted as required in the API, PAS will expect that this value be set to the Accusoft-Secret header. To keep your application secure, you are strongly encouraged to change this to a unique string value.

logs.path determines the location on the local filesystem where the logs for PAS will be stored.

defaults.viewingSessionTimeout is 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.

Configuring the PrizmDoc Server connection

The connection to your desired PrizmDoc Server, whether self-hosted or Accusoft-hosted, can be configured through the pccServer object, which has the following properties:

Configuring storage

There are various data entities stored or accessed by PAS, as noted by comments in the config file. All of these can be configured separately.

Each storage entity will have a name, such as documents or markupLayerRecords, and each named entity will have a .storage property, such as documents.storage. This property defines the kind of storage that will be used. The supported values are as follows:

Not all storage entities are compatible with all storage providers. Checking for these values is done on start up and an informative error will be logged to the PAS log, {installDir}/logs/pas, in the case of a mismatch.

Additional S3 Notes:

You must handle Amazon Web Services credentials in one of the available ways that are provided on the following pages:

Loading credentials in Node.js from IAM Roles for EC2: http://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/loading-node-credentials-iam.html

Loading credentials from a shared credentials file: http://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/loading-node-credentials-shared.html

Loading credentials from environment variables: http://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/loading-node-credentials-environment.html

Examples:

documents.storage: "filesystem"
documents.path: "/usr/share/prizm/Samples/Documents"

markupLayerRecords.storage: "filesystem"
markupLayerRecords.path: "%ALLUSERSPROFILE%\\Accusoft\\Prizm\\MarkupLayerRecords"

viewingPackagesData.storage: "database"

documents.storage: "s3"
documents.s3BucketName: "myS3Bucket"
documents.path: "Samples/Documents"

Note: some data entities have limitations on the kind of storage that they can be stored in. If PAS is misconfigured, it will not start correctly. It's best to keep a copy of the defaults so that you can revert them if you need to.

Legacy Mode

Legacy Mode refers to being able to open markup files that were created using one of the Web Tier Samples available before the release of PAS. To work correctly, it needs to be enabled on documents, markupXml, and markupLayerRecords, as such:

documents.legacyMode: true
markupXml.legacyMode: true
markupLayerRecords.legacyMode: true

If you do not need this feature -- for example, if PAS is the first time you are using markup files -- you can turn this off by setting all values to false, which will provide a small performance gain when working with the markup APIs. Note that all markup files created by PAS itself, regardless of whether legacyMode was on or off, will be compatible with PAS when legacyMode is off.

Feature toggles

Some features in PAS are behind feature flags, and they can be turned on or off. This is the done through feature.* options in the config file. The values can be set to:

You can also remove the specific feature configuration value altogether in order to observe the default behavior for that feature. The list of features is:

Examples:

feature.viewingPackages: enabled

Configuring the database

Note: A database is required in order to use Viewing Packages. This feature is disabled by default and will need to be turned on. Without turning Viewing Packages on, PAS will not use a database, or even check for its existencce in the configuration.

PAS requires configuration to a database, allowing it to store some of its data there. It will not start correctly without having a correctly configured and accessible database. The following config properties are available in PAS to support that:

Configuring Cross-Origin Resource Sharing

While you can set up CORS quite easily through your web server, PAS also supports settings CORS headers directly. It is exposed through the cors config object, as such:

Examples:

cors.enabled: true
cors.allowedOrigins: [ "http://example.com", "https://example.com" ]