= iCalendar plugin for ticket queries = == Description == Provide iCalendar feeds for ticket queries as standard [http://trac.edgewall.org/roadmap roadmap module]. It use 2 optional custom fields for event date and duration. == Usage == Zero configuration needed to start using the module. Without start date and duration, tickets can use the due date of associated milestone. To plan tickets the date and duration fields must be set in trac.ini === 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, and set this new field as the dtstart field for events in (see [http://tools.ietf.org/html/rfc2445 RFC/2445]). trac.ini {{{ [ticket-custom] my_custom_dtstart_field = text my_custom_dtstart_field.label = Planned Date [icalendar] dtstart = my_custom_dtstart_field }}} We also need a duration fields : {{{ [ticket-custom] ... my_custom_duration_field = text my_custom_duration_field.label = Duration [icalendar] duration = my_custom_duration_field }}} === 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 [http://tools.ietf.org/html/rfc2445#section-4.3.6 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). === Priority === 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 }}} == Limitations == The calendar is read only. == Bugs/Feature Requests == Existing bugs and feature requests for IcalViewPlugin are [query:status!=closed&component=IcalViewPlugin&order=priority here]. If you have any issues, create a [/newticket?component=IcalViewPlugin&owner=xpech new ticket]. == Download and Source == Download the [download:icalviewplugin zipped source], check out IcalViewPlugin [/svn/icalviewplugin using Subversion], or [source:icalviewplugin browse the source] with Trac. == Example == Add a iCalendar links in ticket's queries footer. == Release note == === 0.3 === * Better support for timezone === 0.2 === * adding support for milestone due date for tickets without not planned. === 0.1 === * initial release == Recent Changes == [[ChangeLog(icalviewplugin, 3)]] == Author/Contributors == '''Author:''' [wiki:xpech] [[BR]] '''Contributors:'''