Skip to main content

         This documentation site is for previous versions. Visit our new documentation site for current releases.      

Implementing Snowbound VirtualViewer on Pega Platform

Updated on September 16, 2022

Use Snowbound VirtualViewer to preview case and Pulse attachments and document case types, from portals and in Pulse comments inline without first downloading the attachments.

To install VirtualViewer on any production system, follow these steps:

  1. Ensure that your application server meets the Snowbound system requirements for a compliant servlet container. Check the Snowbound documentation and the Pega Platform Support Guide for a complete list of supported platforms. Snowbound recommends the following servlet containers:
    • Apache Tomcat 6.x and higher
    • IBM WebSphere 8.5.5 and higher
    • Oracle BEA WebLogic 8.1 and higher
  2. Obtain a SnowboundLicence.jar license file for VirtualViewer from Snowbound. Please note, if you are using VirtualViewer 5.9 version, the License file has changed from SnowboundLicense.jar to slicense.json. Clients can keep using SnowboundLicense.jar for older versions.
  3. On Marketplace, download the file that contains the VirtualViewer.jar file and the VirtualViewer.war file.
  4. Extract the file onto a shared location to which both Pega Platform and any external validation engines have access.
  5. Deploy the VirtualViewer.war file. For more information, see your application server documentation.
  6. Copy the license file from step 2 into the virtualviewer/WEB-INF/lib directory.
  7. Optional: Customize the default log location in the WEB-INF/classes/ file:
    1. Open the file.
    2. Edit the log file line to update the default log file location. For example:


    3. Save and close the file.
  8. Configure email attachment features:
    • If you do not need to send attachments as email messages, hide the Configure Email Documents button on the VirtualViewer tool bar:
      1. Open the virtualviewer/user-config/toolbar-config.js file.
      2. Comment out the entry for //vvEmailDocument.
      3. Save and close the file.
    • If you need to send attachments as email messages from VirtualViewer, configure the default email sender address:
      1. Open the virtualviewer/user-config/toolbar-config.js file.
      2. Enter the email address in the following format:
        emailDefaults: {
        prepopulateFrom: "[email protected]", 
    • See the Snowbound VirtualViewer documentation website for additional configuration options. Please note that Pega has only validated that the default configuration options included with the Pega Marketplace component are fully compatible with Pega. Additional implementation and testing work is required by any client who wishes to enable additional Snowbound VirtualViewer capabilities.
  9. Start the server and make note of the context path.
  10. Import the VirtualViewer rules components into your Pega Platform production system.
    1. In Dev Studio, open the application rule form for your application by clicking the application name in the Dev Studio header and then clicking Definition.
    2. Add the VirtualViewer component to the list of Enabled components. For more information, see Enabling components.
    3. Save and close the application rule form.
    4. Edit the dynamic system setting, VirtualViewerURL, to include the context path from step 9. For more information about editing dynamic system settings, see Editing a dynamic system setting.
    5. Save and close VirtualViewerURL.
  11. Optional: Modify user permissions for annotations. For more information, see Modifying user permissions for Snowbound VirtualViewer annotations.
  12. Optional: Change user details to display in annotations. For more information, see Changing user details in Snowbound VirtualViewer annotations.

Troubleshooting VirtualViewer

To debug calls made from VirtualViewer to Pega Platform for file content, set the Rule_Obj_Activity.pyGetExternalViewerDetails._baseclass.Action logging level to Debug. After troubleshooting, revert the logging level.

Have a question? Get answers now.

Visit the Support Center to ask questions, engage in discussions, share ideas, and help others.

Did you find this content helpful?

Want to help us improve this content?

We'd prefer it if you saw us at our best. is not optimized for Internet Explorer. For the optimal experience, please use:

Close Deprecation Notice
Contact us