wiki:GanttCalendarPlugin

Ticket-based Gantt chart and calendar

Demo | View Tickets | New Ticket

Description

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

See also: ProjectManagementIdeas | TracJsGanttPlugin | WikiGanttChartPlugin, TicketCalendarPlugin | WikiCalendarMacro, WikiTicketCalendarMacro | TeamCalendarPlugin, GoogleCalendarPlugin, CalendarPlugin

Notes:

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

Screenshots

Click on the thumbnails for larger versions of the screenshots.

Gantt chart view

Calendar view

Ticket creation example

Download and Installation

Trac 0.11 (English)

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

easy_install https://github.com/recurser/trac-gantt-calendar/tarball/master

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 (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

  1. Download from original repository:
    svn export http://svn.osdn.jp/svnroot/shibuya-trac/plugins/ganttcalendarplugin/trunk
    
    • Build and install egg:
      python setup.py bdist_egg
      easy_install dist/*.egg
      
  2. Configure the components section in your trac.ini file:
    [components]
    ....
    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.
  3. Configure other sections in trac.ini:
    [mainnav]
    ....
    ticketgantt.label = Ticket Gantt
    ticketcalendar.label = Ticket Calendar
    ....
    
    [ticket-custom]
    ....
    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
    ....
    
    [ganttcalendar]
    complete_conditions = fixed, invalid
    default_zoom_mode = 3
    first_day = 0
    format = %Y-%m-%d
    show_ticket_summary = false
    show_weekly_view = false
    
  1. 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)
    [ganttcalendar]
    ....
    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 value in the complete field:

[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
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 trac-hacks.org. Please refer here for download, installation and usage instructions.

  • for Trac 0.12 / 1.0dev
    svn export https://xp-dev.com/svn/ganttcalendar-ko/branches/0.12
    
  • for Trac 0.11 / TOW (TracOnWindows) 0.3.0 alpha 1
    svn export https://xp-dev.com/svn/ganttcalendar-ko/branches/0.11
    

Remarks

Branches

EduTracGanttCalendar: port for EduTrac.

Authors/Contributors

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 7 months ago Last modified on Feb 5, 2016, 9:38:04 PM

Attachments (4)

Download all attachments as: .zip