Configuring Automatic Screenshots and Thumbnails

Applies to version 8.1.4 or greater.

The Home screen and Template screen, utilize screenshots of Templates and Pages to provide previews and thumbnails in the user interface to make it easier for users to differentiate between pages and templates when working with the CMS.  In order to enable this functionality, the product relies on the installation and configuration of an external program to handle the screen shot processing. 

Most major web browsers provide both a headless mode (no user interface) as well as a screenshot feature.  Most operating systems also provide system managed packages for web browsers, allowing the operating system to handle security updates. The screenshot feature has been tested with the following web browsers:

  • Mozilla Firefox
  • Google Chrome
  • Microsoft Edge
  • Chromium

Screenshot Command Line

The screenshot command line is configured in the [Install Dir]/rxconfig/Server/server.properties file. The setting is: screenshotCommandLine

A service restart is required when changing this setting.

Windows Servers

The following commands are example with the different web browsers on a Microsoft Windows Server with GUI.

Google Chrome
screenshotCommandLine="C:/Program Files/Google/Chrome/Application/chrome.exe" --headless --disable-gpu --screenshot=@@file@@ @@url@@

Firefox
screenshotCommandLine="C:/Program Files/Mozilla Firefox/firefox.exe" -headless -screenshot @@file@@ @@url@@

Microsoft Edge
screenshotCommandLine="C:/Program Files (x86)/Microsoft/Edge/Application/msedge.exe" -headless -screenshot=@@file@@ @@url@@

Linux Servers

We recommend the chromium browser for Linux distributions as it doesn't require an X server to function. Example installation / configuration on Ubuntu Linux:

sudo snap install chromium

Edit the /rxconfig/Server/server.properties file and update the screenshotCommandLine= line to look as below:


screenshotCommandLine=/snap/bin/chromium --headless --disable-gpu --screenshot=@@file@@ @@url@@

Save the file, and stop and start the CMS service. 

sudo service PercussionCMS stop
sudo service PercussionCMS start

Troubleshooting

Debug logging can be enabled by adding the following to [installdir]/jetty/base/resources/log4j2.xml:

<AsyncLogger name="com.percussion.share.service.impl.PSThumbnailRunner" level="debug" includeLocation="true" additivity="false">
            <AppenderRef ref="CONSOLE"/>
            <AppenderRef ref="FILE"/>
</AsyncLogger>