Content
 BigPicture

About BigPicture

BigPicture installation and updates

Quick start with BigPicture

BigPicture Sizing Guide

Cloud vs. Server - Key Differences in BigPicture on These Platforms

BigPicture Export

Progress Tracking

Tutorials and tips

Integrations

 BigPicture release notes

BigPicture Cloud Backlog

 BigGantt

About BigGantt

BigGantt - Important Notice

BigGantt installation and updates

BigGantt Cloud Backlog

Cloud vs. Server - Key Differences in BigPicture on These Platforms

 BigGantt release notes

Shortcuts
 Release notes
 BigPicture
 Jira Cloud

 Jira Server

 Trello

 BigGantt
 Jira Cloud

 Jira Server

 BigTemplate
 Jira Cloud

 Jira Server

 BigPicture Enterprise
 Jira Cloud

 Jira Server

Knowledge Base

Tutorials and tips

Search

Features unlocked with Headless Chrome

Quick comparison of image export engines: 


Headless Chrome (Starting from BigTemplate 2.7.0)

Image export formatsPDF (exact export of browser as seen on PC/MAC)
What can be exportedGantt, Roadmap, Resources, Risks

Versions of libraries supported

Libraries listed bellow:

Library

Version

Puppeteer1.0
Google Chrome - linux68

Installation of libraries required for browser image export:

Starting with the release of BigTemplate 2.7.0-jira7, our add-on's image export functionality requires installation of Google Chrome. PhantomJS engine is no longer supported. 

for Windows:

 click here to show/hide instruction for Windows

1. The below example of Headless Chrome installation and configuration is presented on specific Program versions which have been formerly verified and tested.

2. All steps should to be performed by Server Administrator.


Installation:

  1. Navigate to this page and download 'node-v8.5.0-x64.msi' file (or x86 depending on your OS)

  2. Install node from the downloaded file. Make sure add path is checked.





  3. Open Windows console as an Administrator (Ctrl+Shift+Enter) and run commands listed below to make sure everything is installed properly: 

    Command "node -v" should return v8.5.0
    Command "npm -v" should return 5.3.0



  4. Install 'puppeteer' by executing the following command in your terminal. 

    If you use Chrome browser it is recommended to close it before proceeding with further installation.


    "npm install -g puppeteer@1.0.0"



  5. Then just to make sure that 'puppeteer' is installed properly, run the below command. 

    "npm list -g --depth=0"



    The expected result should show something like:

    C:\Users\Administrator\AppData\Roaming\npm

    `-- puppeteer@1.0.0

  6. Perform few more steps while being logged in as an Administrator

    6.1. Open the console, execute the command given below and copy the result returned (an outcome of the command should show directory which puppeteer is installed in)

    "npm root --quiet -g"



    6.2. Set the new System Variable.

    Open System Properties window > Advanced > Click on 'Environment Variables...'




    Add new System Variable by clicking 'New...' button.



    Variable name: NODE_PATH
    Variable value: <copied directory from step 6.1>



    Apply changes by clicking 'OK' button.



    6.3. After setting System Variable it is important to run the Jira Server in the new console window. So go ahead and stop the Jira Server (close the console if it has not 
    been closed automatically) and start it again.


  7. Log in as a user the Jira server is run, open new console and execute:

    "node -e "require('puppeteer')"

    There should be no error shown (just an empty line) like in the screenshot below:


This section is obsolete.


Configuration: 

  1. Open Jira page in your browser (this is important so the following requests are authorized).



  2. Simply replace "/secure/Dashboard.jspa" with "/rest/softwareplant-bigtemplate/1.0/app/bigtemplate/export-config/image-engine/chrome"

       

  3. Export to PDF should now be visible within "Export manager" dialog.



    Replace "/secure/Dashboard.jspa" with "/rest/softwareplant-bigtemplate/1.0/app/bigtemplate/export-config/image-engine" to get the current configuration of export engine.

    This should display "HEADLESS_CHROME" if Headless Chrome is a current export engine.


    This build works fine with current version of puppeteer which is 1.0.0 but should also work with your older version installed. 


for CentOS (CentOS 7)/Red Hat Enterprise Linux

 click here to show/hide instruction for CentOS 7

Install node from the EPEL Repository

0. All steps should to be performed as a root user. 

1. Make sure you have curl installed:
> yum install curl sudo

2. Make sure you have EPEL repository available:
> sudo yum install epel-release

3. Install NodeSource repository:
> curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash -

4. Install node:
> sudo yum install nodejs

5. Install puppeteer package:
> sudo npm install -g --allow-root --unsafe-perm=true puppeteer@1.0.0

6. Install build tools:
> sudo yum install gcc-c++ make

7. In order to check whether all the required dependencies are installed, go to directory:
> cd /usr/lib/node_modules/puppeteer/.local-chromium/linux-xxxx/chrome-linux

and run

> ./chrome --version

NOTE: If you don't have 'node_modules' in your /usr/lib directory, execute the following command to find out where it is installed:
> npm root --quiet -g

8. In case of an execution error, it is probably because of missing dependencies.

According to official documentation, here are the dependencies that are required to be installed:
> yum install pango.x86_64 libXcomposite.x86_64 libXcursor.x86_64 libXdamage.x86_64 libXext.x86_64 libXi.x86_64 libXtst.x86_64 cups-libs.x86_64 libXScrnSaver.x86_64 libXrandr.x86_64 GConf2.x86_64 alsa-lib.x86_64 atk.x86_64 gtk3.x86_64 -y

9. Set NODE_PATH variable:

> echo "export NODE_PATH=$(npm root --quiet -g)" >> /etc/profile.d/lib.sh


for Debian (Debian 9)

 click here to show/hide instruction for Windows Debian 9

0. All steps should to be performed as a root user. 

1. Make sure you have curl installed:
> apt-get install curl sudo

2. Install NodeSource repository:
> curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -

3. Install node:
> sudo apt-get install -y nodejs

4. Install puppeteer package:
> sudo npm install -g --allow-root --unsafe-perm=true puppeteer@1.0.0

5. Install build tools if it's necessary:
> sudo yum install gcc-c++ make

6. In order to check whether all the required dependencies are installed, go to directory:
> cd /usr/lib/node_modules/puppeteer/.local-chromium/linux-xxxx/chrome-linux

and run

> ./chrome --version

NOTE: If you don't have 'node_modules' in your /usr/lib directory execute a below command to find out where it is installed:
> npm root --quiet -g

8. In case of an execution error, it is probably because of missing dependencies.

According to official documentation, here are the dependencies that are required to be installed:
> sudo apt-get install -y gconf-service libasound2 libatk1.0-0 libc6 libcairo2 libcups2 libdbus-1-3 libexpat1 libfontconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libnspr4 libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 ca-certificates fonts-liberation libappindicator1 libnss3 lsb-release xdg-utils wget

9. Set NODE_PATH variable:

> echo "export NODE_PATH=$(npm root --quiet -g)" >> /etc/profile.d/lib.sh


If you have any further questions regarding setting up Headless Chrome or if by any chance image export fails afterward, please do not hesitate to contact our Support at support@softwareplant.com

Quick troubleshooting

Examining the logs yourself may shorten the time of troubleshooting a given problem significantly so if you notice any of the below entires in your logs, try out our proposed solutions.

com.softwareplant.ppm.exportapi.ShellCommandOutputException: Access denied for launch Headless Chrome.
 Solution for Unix:

1) Execute npm root -g in your Server's terminal

2) Navigate PATH/FROM/PREVIOUS/STEP/puppeteer/ (f.e. /usr/lib/node_modules/puppeteer/),

3) Grant execute/read/write permissions for .local-chromium directory (including all children) to Linux User, which runs Jira Server (contact your Jira Administrator) e.g. using the below commands: 


sudo chmod -R a+rwx .local-chromium
com.softwareplant.ppm.exportapi.ShellCommandOutputException: Cannot find module puppeteer.
 Solution for Unix:

1) Run npm root -g in your Server's terminal,

2) On your machine, where Jira is installed, find directory of Jira (the path should be like: ".../atlassian/jira"), 

3) Find "start-jira.sh" file and open it using a text editor, 

4) Add export NODE_PATH=/PATH/FROM/STEP/ONE (f.e. export NODE_PATH=/usr/lib/node_modules/node_modules) to the beginning of that file.