Version 8 (modified by anonymous, 7 years ago) (diff)


iCalendar plugin for ticket queries


Provide iCalendar feeds for ticket queries as standard roadmap module. It use 2 custom fields for event date and duration.


Setup custom fields for date and duration

To transform a ticket to an event, we need at least a date. Trac only provide a creation date or an update date. So we need a planned date by adding a custom field. The default name is 'dtstart' (see RFC/2445).


dtstart = text
dtstart.label = Planned Date

To use another field name, you can set it in a new configuration section named 'icalendar' :

my_custom_dtstart = text
dtstart.label = Planned Date

dtstart = my_custom_dtstart

We also need a duration fields :

dtstart = text
dtstart.label = Planned Date

duration = text
duration.label = Duration in days

To use another field name :

duration = my_custom_duration_field_name

Date and duration input format

Default input date format are : "'%m/%d/%Y" (month/day/year) for strict date and and "%m/%d/%Y %H:%M" for date and time.

To customize this format, use the "short_date_format" and "date_time_format" configuration options :

short_date_format = %d/%m/%Y
date_time_format = %d/%m/%Y %H:%M

to support multiple format, use a ';' to separate them:

short_date_format = %d/%m/%Y;%Y-%m-%d
date_time_format = %d/%m/%Y %H:%M;%Y-%m-%d %H:%M

Duration fied support 4 syntaxes :

  • Standard hours:minutes format : H:MM ( "8:45" "12:30" ...)
  • a number of days ending by a 'd' : 15d
  • the standard RFC/2445 duration begining with a "P" : "P1W" "P1D" ...

Some tips :

  • Tickets with a planned date and no duration are planned as a day event
  • Tickets without a planned date are transfomed as TODO. For tickets attached to a milestone, the due date of the milestone is used as TODO due date (since 0.2).


icalandar support the priority tags but use an integer from 1 (highest) to 9 (lowest). So we need a map to transform trac priorities to integer. The plugin integrate a default mapping :

                    'blocker' :  1
                    'critical' :  2
                    'major' : 6
                    'minor' : 8
                    'trivial' : 9

You can customise the mapping and adding other values with the configuration option 'custom_priority_map':

custom_priority_map = major:3;lessmajor:4;lessmajorbutnotminor:5;crazy:1;undefined:0


The calendar is read only.

Bugs/Feature Requests

Existing bugs and feature requests for IcalViewPlugin are here.

If you have any issues, create a new ticket.

Download and Source

Download the [download:icalviewplugin zipped source], check out IcalViewPlugin using Subversion, or browse the source with Trac.


Add a iCalendar links in ticket's queries footer.

Release note


  • Better support for timezone


  • adding support for milestone due date for tickets without not planned.


  • initial release

Recent Changes

7253 by xpech on 2009-12-14 10:34:46
commit error
7252 by xpech on 2009-12-14 10:33:36
Fix #6323: best multi-line description support
7251 by xpech on 2009-12-14 10:12:16
Fix #6323: best multi-line description support


Author: xpech