To unlock the export feature install BigTemplate App from the Atlassian marketplace.

You can export you Gantt tasks to different formats including :

  • PDF image
  • CSV,
  • XLSX (MS Excel)
  • MPP, MPX, PDF, XLM (MS Projects)

You can export data from a specific time period:

Configuration 

You can configure the export templates in Box configuration > General > Exporting.

Exporting data

To display the export pop-up click the export button located on the modules header:

PDF image export

The exported image is a screenshot of the current view and covers the whole timeline. As there might be blank areas on the timeline, for example before the first task start, we recommend applying the date range filters to exclude the blank areas.

Image export requires an export engine - Headless Chrome. If you do not see the "PDF image" export option follow the instructions below:

 Click here to expand...

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

Versions of libraries supported

Libraries listed bellow:

Library

Version

Puppeteer2.1
Node 8.9.0+

Installation of libraries required for browser image export:

Puppeteer runs headless by default.


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 our Service Desk.

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.
CODE
 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.
CODE
 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. 

CSV and MS Excel

The CSV and XLSX work in the exact same way. This options export the current column view (all fields which are displayed as columns in the tasks list) with additional fields related to the tasks structure and dependencies. The additional fields include:

  • Parent row - for example, '2' - this is the row number of the parent task in the exported file.
  • Parent key 
  • lLnk - for example '3FS" where 3 is the row number of the linked task and FS stand for 'Finish>Start" type of link. 

The columns aggregation applied are exported.

MS Project export

All file types use the same format compliant with the MS Project. Therefore, export is limited to the following fields:

  • Period mode
  • Task name
  • Duration
  • Start
  • Finish
  • Predecessors (links)

Example of the PDF export in MS Project format: