|Version 8 (modified by anonymous, 6 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).
[ticket-custom] dtstart = text dtstart.label = Planned Date
To use another field name, you can set it in a new configuration section named 'icalendar' :
[ticket-custom] my_custom_dtstart = text dtstart.label = Planned Date [icalendar] dtstart = my_custom_dtstart
We also need a duration fields :
[ticket-custom] dtstart = text dtstart.label = Planned Date duration = text duration.label = Duration in days
To use another field name :
[icalendar] 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 :
[icalendar] short_date_format = %d/%m/%Y date_time_format = %d/%m/%Y %H:%M
to support multiple format, use a ';' to separate them:
[icalendar] 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':
[icalendar] custom_priority_map = major:3;lessmajor:4;lessmajorbutnotminor:5;crazy:1;undefined:0
The calendar is read only.
If you have any issues, create a new ticket.
Download and Source
Add a iCalendar links in ticket's queries footer.
- Better support for timezone
- adding support for milestone due date for tickets without not planned.
- initial release