How to Set up PAS database for Viewing Packages? Are there any special considerations?

Modified on Thu, Jul 3 at 11:41 AM

PrizmDoc Application Services (PAS) leverages a database and file storage for its Viewing Packages. Viewing Packages are cached versions of documents that significantly reduce server load and improve viewing performance. There are two main parts: 

  • Metadata: Stored in a configured database (MySQL or Microsoft SQL Server).

  • Artifacts (File Content): Stored on the filesystem, AWS S3, or Azure Blob Storage.

This article will outline the configuration for setting up your PAS database, including enabling TLS encryption, and configuring your viewing package artifact storage.


Note: TLS encryption for database connections is available for use in PrizmDoc v13.5 and later


Setup


PAS Configuration File Location: All configurations described below are set in the PAS configuration file, located at one of the following paths:

  • Windows: C:\Prizm\pas\pcc.win.yml 

  • Linux: /usr/share/prizm/pas/pcc.nix.yml

Configuring the PAS Database (Metadata): 

PAS requires a database to store viewing package metadata and other essential data.

  1. Config Settings:
    feature.viewingPackages: enabled
    database.adapter: "sqlserver" # or "mysql"
    database.connectionString: "Server=<SERVER_IP/HOSTNAME>,<PORT, USUALLY 1433>;Database=<DATABASE_NAME>;User ID=<USER>;Password=<PASSWORD>;Encrypt=true"
    • feature.viewingPackages: enabled: Must be enabled to utilize Viewing Packages.

    • database.adapter: Specify your database type: "sqlserver" or "mysql".

    • database.connectionString: We recommend using this single, flexible connection string property.

  2. Enabling TLS Encryption for Database Connections:
    • For Microsoft SQL Server: Include Encrypt=true directly in your database.connectionStringas shown in the example above. This tells the driver to use TLS encryption.
      Example (MSSQL with TLS):
      database.connectionString: "Server=tcp:<YOUR_DB_HOST>,1433;Database=<YOUR_DB_NAME>;User ID=<YOUR_USER>;Password=<YOUR_PASSWORD>;Encrypt=true"
    • For MySQL: TLS/SSL configuration for MySQL connections often involves different parameters (e.g., sslmode=REQUIRED, ssl=true, and potentially paths to certificate files) depending on your MySQL server setup and the client driver. Please consult your MySQL documentation for the exact connection string syntax required for TLS encryption.


Configuring Viewing Package Artifacts Storage (File Content)

Viewing package artifacts (the actual converted document content) can be stored on various types of storage. This will help in managing disk space.

  1. Configure the viewingPackagesArtifacts.storageparameter in your PAS config file:
    viewingPackagesArtifacts.storage: "filesystem" # or "s3" or "azureBlobStorage"
  2. Options for viewingPackagesArtifacts.storage:
    • filesystem (Default): Stores artifacts on a local disk or Network Attached Storage (NAS).

      • This setting is typically used with a single, dedicated directory path. 

      • Example:

        viewingPackagesArtifacts.storage: "filesystem"
        viewingPackagesArtifacts.path: "D:/Prizm/ViewingPackages" # Use forward slashes for consistency


    • s3 (AWS S3): Stores artifacts in an Amazon S3 bucket.

      • Required parameters for S3:

        • viewingPackagesArtifacts.s3BucketName: The name of your S3 bucket.

        • viewingPackagesArtifacts.path: A base "key" (folder structure) within your S3 bucket where artifacts will be organized. Must not begin or end with /.

      • Example:

        viewingPackagesArtifacts.storage: "s3"
        viewingPackagesArtifacts.s3BucketName: "my-prizmdoc-artifacts"
        viewingPackagesArtifacts.path: "ViewingPackages"


      • PAS needs credentials to authenticate with AWS and access your S3 bucket. You must handle AWS credentials using one of the available methods. 

        • Setting AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY as environment variables on the VM where PrizmDoc is running.

        • Using a shared credentials file.

        • For more details on handling AWS credentials, please refer to the "Additional S3 Notes" section on the PrizmDoc PAS Configuration page.

    • azureBlobStorage (Microsoft Azure Blob Storage): Stores artifacts in an Azure Blob Storage container.

      • Required parameters for Azure Blob Storage:

        • azureBlobStorageConnectionString: Connection string to your Azure Blob Storage.

        • azureBlobStorageContainerName: The name of the container in Azure Blob Storage.

        • path: A sub-key within the container for organizing data.


Note: After making any changes to the PAS configuration file (pcc.win.yml or pcc.nix.yml), you must restart the PrizmDoc Application Services (PAS) for the new settings to take effect.


Creating the Database Tables: 

Once your PAS service is configured and restarted, you'll need to create the necessary database tables. Navigate to the db directory within your PAS installation and run the script for your OS:

  • Windows:

    cd C:\Prizm\pas\db createtables.cmd


  • Linux:

    cd /usr/share/prizm/pas/db ./createtables.sh


Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article