Version 31 (modified by Genie, 7 years ago) (diff)

Delete outdated invalid information.

Ticket-based Gantt chart and calendar


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

See also: ProjectManagementIdeas, TracJsGanttPlugin, TeamCalendarPlugin, GoogleCalendarPlugin, CalendarPlugin


  • Compared to TracJsGanttPlugin, this plugin does not compute the completed percents from custom ticket fields like 'remaininghours' or 'estimatedhours' but you set the completion value in the range of 0 to 100% in the ticket form, manually.
  • The meaning of start and end date of a ticket displayed in the chart is at the discretion of you. Usually, you set the planned time period, though you cannot see in the gantt chart if completion had started earlier than planned, was interrupted or has finished later. For a review of the work history, you may interpret start and end date to indicate the worked time period. This is up to you.

Bugs/Feature Requests

If you have any issues, create a new ticket in the issue tracker of Shibuya-trac:


Click on the thumbnails for larger versions of the screenshots.

Thumbnail: Gantt chart view
Gantt chart view

Thumbnail: Calendar view
Calendar view

Thumbnail: Ticket creation
Ticket creation example

Download and Installation

'A' Method: Trac 0.11

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 'B' method below is recommended.

'B' Method: Trac 0.12

Status: 'Draft' (worked partially)

Supported Languages: English, Simplified Chinese, Japanese, Korean

  1. Download from original repository
    svn export
    • Build eggs

or Use mirror repository:

  1. Install globally (you can disable / enable per project)
    ganttcalendar.complete_by_close.completeticketobserver = enabled
    ganttcalendar.ticketcalendar.ticketcalendarplugin = enabled
    ganttcalendar.ticketgantt.ticketganttchartplugin = enabled
    ganttcalendar.ticketvalidator.ticketvalidator = enabled
  2. Configure
    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
  3. Web server restart

input date format:

  • accepted date format as: YYYY-MM-DD (ISO 8601 date format)
  • If you want to use legacy date format (YYYY/MM/DD), you have to change your project's trac.ini file: (if previously edited tickets does not shown)
    format = %Y/%m/%d


  • Query about parents, blockers, milestones. These features do not seem obvious. Blockers has a name sufficient to suggest task dependencies/prerequisites: how are they modeled & what consequences ensue? (A pet peeve is that IMO "blocking" should preclude work on the downstream task, else what's the POINT of the relationship? Parent meanwhile suggests heirarchy or abstraction, but again I don't see the connection to any consequences in operation or display. I guess this is a documentation request.

Attachments (4)

Download all attachments as: .zip