Ticket-based Gantt chart and calendar

Demo | View Tickets | New Ticket


This plugin adds Gantt charts and calendar views for tickets to Trac.

Click on the thumbnails for larger versions of the screenshots.

Gantt chart view

Calendar view

Ticket creation example

Usage of calendars in Trac is also discussed in ProjectManagementIdeas.

See also the following alternative plugins:


  • Compared to TracJsGanttPlugin, this plugin does not compute the completed percentages from custom ticket fields like 'remaininghours' or 'estimatedhours', but you manually set the completion value in the range of 0% to 100% in the ticket form.
  • Timezone issue: This plugin was designed as timezone-less. All users and Trac server should have the same timezone.

Bugs/Feature Requests

If you have any issues, create a new ticket in Shibuya.trac.


Trac 0.11 (English)

This plugin is not hosted on Please refer here for download, installation and usage instructions.


The version at the address above is the previous (0.11) release translated into English. The new version (0.12) by the original author now supports English, so using Multilingual version below is recommended.

Trac 0.12 and 1.0+ (Multilingual)

You can check out GanttCalendarPlugin from here using Subversion, or browse the source in Shibuya.trac.

Supported Languages: English, German, Simplified Chinese, Japanese, Korean


Download from original repository:

svn export

Build and install egg:

python bdist_egg
easy_install dist/*.egg


Configure the components section in your trac.ini file:

ganttcalendar.admin.holidayadminpanel = enabled
ganttcalendar.complete_by_close.completeticketobserver = enabled
ganttcalendar.ticketcalendar.ticketcalendarplugin = enabled
ganttcalendar.ticketgantt.ticketganttchartplugin = enabled
ganttcalendar.ticketvalidator.ticketvalidator = enabled

You can disable or enable this plugin per project.

Configure other sections in trac.ini:

ticketgantt.label = Ticket Gantt
ticketcalendar.label = Ticket Calendar

complete = select
complete.label = Completed [%]
complete.options = |0|5|10|15|20|25|30|35|40|45|50|55|60|65|70|75|80|85|90|95|100
complete.order = 3
due_assign = text
due_assign.label = Start (YYYY-MM-DD)
due_assign.order = 1
due_close = text
due_close.label = End (YYYY-MM-DD)
due_close.order = 2

complete_conditions = fixed, invalid
default_zoom_mode = 3
first_day = 0
format = %Y-%m-%d
show_ticket_summary = false
show_weekly_view = false

Restart Web Server.

Definition of dates:

  • Essentially, the Start/End date of a ticket are defined as follows:
    • Start Date: the date that a task actually began.
    • End Date: the date that a task is scheduled to be completed.

but you may interpret the meaning of the dates differently. It is up to you or your team to define them.

Date format for Start/End date:

  • Accepted date formats: a numeric date format in the order of year, month, day
Date Format Format String
YYYY-MM-DD 2014-01-31 %Y-%m-%d ISO 8601 date format
YYYY/MM/DD 2014/01/31 %Y/%m/%d legacy date format
YYYY.MM.DD 2014.01.31 %Y.%m.%d
YYYYMMDD 20140131 %Y%m%d
YY-MM-DD 14-01-31 %y-%m-%d
YY/MM/DD 14/01/31 %y/%m/%d
YY.MM.DD 14.01.31 %y.%m.%d
YYMMDD 140131 %y%m%d
  • If you want to use the legacy date format (YYYY/MM/DD), you have to change your project's trac.ini file: (if previously created tickets are not shown)
    format = %Y/%m/%d
  • Caution: After a ticket is created, you should not change the date format. Instead, you should manually update the value of custom fields in the database for the date-formatting to take effect.

Display holidays:

Allow NULL values in the complete field by prefixing with spaces as follows:

[ticket-custom] section in trac.ini
Allow NULL value complete.options = |0|5|10|15|20|25|30|35|40|45|50|55|60|65|70|75|80|85|90|95|100
Do not allow NULL value complete.options = 0|5|10|15|20|25|30|35|40|45|50|55|60|65|70|75|80|85|90|95|100

Korean version

The Korean version of GanttCalendarPlugin (aka ganttcalendar-ko) was developed based on revision 592 of GanttCalendarPlugin, and the Multilingual version above (aka ganttcalendar-i18n) was developed based on revision 46 of ganttcalendar-ko.

The ganttcalendar-ko is not hosted on Please refer here for download, installation and usage instructions.

  • for Trac 0.12 / 1.0dev
    svn export
  • for Trac 0.11 / TOW (TracOnWindows) 0.3.0 alpha 1
    svn export



EduTracGanttCalendar: port for EduTrac.


Original Author: Takashi Okamoto
Author of English version: Dave Perrett
Author of Korean version: 강순권, JSeo, Genie
Author of Multilingual version: Takashi Okamoto, kabuchan, gil, ssuzuki, Genie, Jun Omae (aka jun66j5)

Contributors: tomo.snowbug (related post), paddy mt, YMNet, blue21, かぬ,

Sutra Zhou (support for Simplified Chinese), ItsmeAgain (support for German)

  • Korean version: Seo-Hee Khang, 김기원, 김갑인, axolotl and 황가 (ejjungeo)
Last modified 17 months ago Last modified on Mar 9, 2023, 5:09:41 PM

Attachments (7)

Download all attachments as: .zip