RT::Ex...SGantt(3pm)

πŸ“¦ version 1.06, in debian bookworm, ubuntu jammy

πŸ’– NAME πŸ’–

okay so hi bestie, this is the manual page for RT::Extension::JSGantt β€” literally Gantt charts for your tickets πŸŽ€. The page itself goes by RT::Ex...SGantt(3pm) and it lives in the User Contributed Perl Documentation collection. iykyk.


πŸ¦‹ DESCRIPTION πŸ¦‹

So here's the whole vibe: this extension takes the Starts and Due dates of your tickets, plus the ticket dependencies, and turns them into Gantt charts. That's it, that's the plot. ✨


🌸 INSTALLATION 🌸

Run these, in order:

perl Makefile.PL
make
make install
make install may need root permissions πŸ‘‘

Next, create or edit a file in /etc/request-tracker5/RT_SiteConfig.d.

  • If you're on RT 4.2 or greater, add this line:
Plugin('RT::Extension::JSGantt');
  • If you're on RT 4.0, add this line instead:
Set(@Plugins, qw(RT::Extension::JSGantt));
  • orrr just add RT::Extension::JSGantt to your existing @Plugins line. lowkey easiest option πŸ’…

Then clear your mason cache:

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

And restart your webserver. no skipping steps bestie πŸ™ˆ


πŸ’… CONFIGURATION πŸ’…

Here's the config, in all its glory:

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,
);

everything after the uncommented lines is optional, they're just chilling there commented out so you can uncomment whatever you want ✨


🧚 METHODS 🧚

AllRelatedTickets

Give it a ticket, and it hands back all the relative tickets β€” including the original ticket itself. 🫢

TicketsInfo

Give it tickets, and it resolves useful info for jsgantt.js. Returns a 2-element array: the 1st is the ids arrayref, the 2nd is the info hashref.

GetTimeRange

Give it a ticket, and it resolves its start/end. Returns an array like ( $start_obj, $start, $end_obj, $end ). Both $start and $end are strings like 3/21/2011. πŸ“…


🌈 UPGRADING 🌈

DateDayBeforeMonth

Prior to version 1.02, there was an undocumented RT config option called DateDayBeforeMonth. If you've got 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',
    ...
);

cute little backwards-compat moment, we love to see it πŸ’œ


πŸ‘‘ AUTHOR πŸ‘‘

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


πŸ› BUGS πŸ›

All bugs should be reported via email to:

bug-RT-Extension-JSGantt@rt.cpan.org

or via the web at:

http://rt.cpan.org/Public/Dist/Display.html?Name=RT-Extension-JSGantt

fr fr, tell them everything, they wanna know 🫢


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


and that's the whole page bestie πŸŽ€ this one shipped as perl v5.32.1, dated 2021-02-06, and honestly it ate. go make some iconic Gantt charts. periodt. πŸ’…βœ¨

πŸ“¦ where this page comes from