---
name: "RT::Extension::JSGantt"
section: "3pm"
platform: "linux"
package: "rt4-extension-jsgantt"
version: "1.06-1"
release: "Debian 12 (Bookworm)"
platforms: ["linux"]
url: "https://new.carta.tech/RT::Extension::JSGantt"
---

# RT::Extension::JSGantt(3pm)

Gantt charts for your tickets

## NAME

RT::Extension::JSGantt - Gantt charts for your tickets

## DESCRIPTION

This extension uses the Starts and Due dates, along with ticket dependencies, to produce Gantt charts.

## INSTALLATION

- "perl Makefile.PL"

  - "make"

  - "make install"

  May need root permissions

- Create or edit a file in */etc/request-tracker5/RT\_SiteConfig.d*

  If you are using RT 4.2 or greater, add this line:

  ```
      Plugin('RT::Extension::JSGantt');
  ```

  For RT 4.0, add this line:

  ```
      Set(@Plugins, qw(RT::Extension::JSGantt));
  ```

  or add `"RT::Extension::JSGantt"` to your existing `@Plugins` line.

- Clear your mason cache

  ```
      rm -rf /var/cache/request-tracker5/mason_data/obj
  ```

- Restart your webserver

  ## CONFIGURATION

```
    Set(
        %JSGanttOptions,
        DefaultFormat => 'day', # or week or month or quarter
        ShowOwner     => 1,
        ShowProgress  => 1,
        ShowDuration  => 1,
        # Configurable JSGantt options
        # https://code.google.com/p/jsgantt/wiki/Documentation#4._Instantiate_JSGantt_using_()
        # CaptionType       => 'Resource',
        # ShowStartDate     => 1,
        # ShowEndDate       => 1,
        # DateInputFormat   => 'mm/dd/yyyy',
        # DateDisplayFormat => 'mm/dd/yyyy',
        # FormatArr         => q|'day','week','month','quarter'|,
        # define your own color scheme:
        # ColorScheme => ['ff0000', 'ffff00', 'ff00ff', '00ff00', '00ffff', '0000ff'],
        # we color owners consistently by default, you can disable it via:
        # ColorSchemeByOwner => 0,
        # you can specify colors to use, unspecified owners will be
        # assigned to some color automatically:
        # ColorSchemeByOwner => { root => 'ff0000', foo => '00ff00' },
        # if can't find both start and end dates, use this color
        NullDatesColor => 333,
        # to calculate day length
        WorkingHoursPerDay => 8,
        # used to set start/end if one exists but the other does not
        DefaultDays => 7,
    );
```

## METHODS

### AllRelatedTickets

Given a ticket, return all the relative tickets, including the original ticket.

### TicketsInfo

Given tickets, resolve useful info for jsgantt.js Returns a 2 elements array, 1st is the ids arrayref, 2nd is the info hashref.

### GetTimeRange

Given a ticket, resolve it's start/end. Returns an array like ( `$start_obj`, `$start`, `$end_obj`, `$end` ) `$start` and `$end` are strings like 3/21/2011

## UPGRADING

### DateDayBeforeMonth

Prior to version 1.02, there was an undocumented RT config option `"DateDayBeforeMonth"`. If you have DateDayBeforeMonth set in your RT, you can make JSGantt do the same thing by setting `"DateDisplayFormat"` in RT\_SiteConfig.pm:

```
    Set(
        %JSGanttOptions,
        ...
        # DateDisplayFormat => 'dd/mm/yyyy',
        ...
    );
```

## AUTHOR

Best Practical Solutions, LLC \<modules@bestpractical.com\>

## BUGS

All bugs should be reported via email to

```
    L<bug-RT-Extension-JSGantt@rt.cpan.org|mailto:bug-RT-Extension-JSGantt@rt.cpan.org>
```

or via the web at

```
    L<rt.cpan.org|http://rt.cpan.org/Public/Dist/Display.html?Name=RT-Extension-JSGantt>.
```

## LICENSE AND COPYRIGHT

This software is Copyright (c) 2014-2020 by Best Practical Solutions

This is free software, licensed under:

```
  The GNU General Public License, Version 2, June 1991
```
