Installing BigTemplate unlocks only limited capabilities of the app. These are:
Libraries required to be installed to unlock export format
PDF (Not BigPicture Gantt as seen in browser)
Browser (Google Chrome recommended)
PDF (exact export of image as seen in the browser)
In order to unlock image export capabilities, described in the Unlocked capabilities section, your Jira administrators will need to install additional library on the server which host your Jira.
Beginning 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.
Versions of libraries supported
Libraries listed bellow
Google Chrome - linux
Why we stopped supporting PhantomJS
PhantomJS served us well for many months but it had some shortcomings that actually made image export functionality within our add-ons less stable than we would have wished it to be.
Commonplace crashes were a cause of numerous issues reported by our customers making the image export very cumbersome, sometimes not even possible.
Also, according to PhantomJS repository owner's official statement made on 2018-03-03, any plan for a version later than 2.1.1 has been effectively abandoned. Of course, later versions of PhantomJS are still being developed and released. But since these are coming out as beta, it is a risky business and we as a vendor simply cannot afford to rely on independent contributors and a potentially non-stable tool as we wish our customers not to be exposed to further issues related to such basic yet essential functionality.
Given the above we've recently made a last-minute decision to entirely transition away from PhantomJS to Headless Chrome, which we really believe will diminish occurrences of crashes affecting our Cloud and Server add-ons. Unfortunately, despite the many advantages of Headless Chrome there is a major limitation due to which we have had to cease supporting export to PNG and JPEG. As soon as this bug is fixed, we'll bring these options back. At this moment please be aware that switching to Headless Chrome leaves you with a single image export option only - PDF.
However, if export to PNG or JPEG is essential, feel encouraged to make use of some free online image converters like this one.
Capabilities unlocked by Headless Chrome
Quick comparison of image export engines:
Headless Chrome (Starting from BigTemplate 2.7.0)
PhantomJS (BigTemplate versions before 2.7.0)
Image export formats
PDF (exact export of browser as seen on PC/MAC)
PNG, JPEG, PDF
What can be exported
Gantt, Roadmap, Resources, Risks
Although, compared to PhantomJS, Headless Chrome requires a greater effort from the user in terms of installation and configuration, it's still worth sparing a couple of minutes to set things up to enjoy the flawless image export.
Below are the steps on how to achieve this on different platforms.
Installation of libraries required for browser image export
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.
Navigate to this page and download 'node-v8.5.0-x64.msi' file (or x86 depending on your OS)
Install node from the downloaded file. Make sure add path is checked.
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
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 email@example.com"
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:
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.
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.
Open Jira page in your browser (this is important so the following requests are authorized).
Simply replace "/secure/Dashboard.jspa" with "/rest/softwareplant-bigtemplate/1.0/app/bigtemplate/export-config/image-engine/chrome"
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)
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
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
> ./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