Configuring Automatic Screenshots and Thumbnails
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
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 ChromescreenshotCommandLine="C:/Program Files/Google/Chrome/Application/chrome.exe" --headless --disable-gpu --screenshot=@@file@@ @@url@@
FirefoxscreenshotCommandLine="C:/Program Files/Mozilla Firefox/firefox.exe" -headless -screenshot @@file@@ @@url@@
Microsoft EdgescreenshotCommandLine="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>