Version 59 (modified by 12 years ago) (diff) | ,
---|
Contents
Calendar view of Milestones and Tickets
Description
Macro for the Trac Wiki to display Milestones and Tickets from the Ticketing system in a calendar view. See screenshot (WikiTicketCalendarMacro 1.2.0 & Trac 0.12) with different localizations (wikipage links and CSS style ticket tooltip) below:
Usage
The invocation for the screenshot above is [[WikiTicketCalendar(*,*,true,Wochenberatung/%Y-%m-%d,true,Beratung)]]
.
Macro can be invoked in the following two basic ways:
- "Simple"
[[WikiTicketCalendar([<year>,<month>,[<nav>,[<wiki>,[<cdate>,[<template>,[<query>,[<short>,[<width>]]]]]]]])]]
- "Advanced"
[[WikiTicketCalendar([nav=(0|1)],[wiki=<strftime-expression>], [cdate=(0|1)],[base=<template>],[query=<TracQuery-expr>], [short=<integer-value>],[width=[+]<valid-CSS-size>])]]
- equivalent keyword-argument available for all but first two arguments
- mixed use of keyword-arguments with simple arguments permitted, but strikt order of simple arguments (see above) still applies while keyword-arguments in-between do not count for that positional mapping,
- query evaluates a valid TracQuery expression based on any ticket field including multiple expressions grouped by 'and' and 'or'
Arguments
Argument | Version | Description | Default | Example |
year | specifies the year to be shown, '*' current year | * | year=2011 | |
month | specifies the month to be shown, '*' current month | * | month=12 | |
nav | (1) show previous/next navigation or (0) not | 1 | nav=1 | |
wiki | strftime format for wiki pages to display as link (if exist, otherwise links to a create page) '*' for default. Supports any expression that strftime can handle | "%Y-%m-%d" | wiki="%Y-%m-%d" | |
cdate | (1) show ticket created / open dates [1,0] | 1 | cdate=1 | |
template | wiki template tried to create new page | "" | base="" | |
query | evaluates a valid TracQuery expression based on any ticket field including multiple expressions grouped by 'and' and 'or' | query="id!=0" | ||
short | total ticket count per day, that'll have ticket list display condensed to just ticket no., 0 = never condense list. This feature looks like this [0,1,...] | 0 | short=0 | |
width | set calendar table 'min-width', and optionally 'width' for surrounding div triggered by prepending '+' to value | 100% | width=100% |
Examples
[[WikiTicketCalendar(2006,07)]] [[WikiTicketCalendar(2006,07,false)]] [[WikiTicketCalendar(*,*,true,Meeting-%Y-%m-%d)]] [[WikiTicketCalendar(2006,07,false,Meeting-%Y-%m-%d)]] [[WikiTicketCalendar(2006,07,true,*,true)]] [[WikiTicketCalendar(2006,07,true,Meeting-%Y-%m-%d,true,Meeting)]] [[WikiTicketCalendar(wiki=Talk-%Y-%m-%d,base=Talk)]] equivalent to [[WikiTicketCalendar(*,*,true,Talk-%Y-%m-%d,true,Talk)]] [[WikiTicketCalendar(wiki=Meeting-%Y-%m-%d,query=type=task&owner=wg1)]] [[WikiTicketCalendar(wiki=Meeting_%Y/%m/%d,short=6)]] [[WikiTicketCalendar(*,*,true,Meeting-%Y%m%d,width=+75%;)]]
Notes:
- All maintained versions of this plugin support keyword arguments and mixed use of both - simple and keyword arguments - as well. This could make macro invocations more readable and maybe even shorter than before, as long as you largely stick to the defaults and just want to change one or two values. So i.e. the 3rd example from above could be rewritten now as:
[[WikiTicketCalendar(wiki=Meeting-%Y-%m-%d)]]
- The query keyword supports any expression supported by TracQuery. This is the single new ticket selection logic that can use custom field values as well as expressions chained by AND (OR since 0.12 only). An invalid expression was chosen on purpose to select and show all tickets by default. Use your own query expression to create per-developer or per-component ticket calendars, or you could choose to display tickets only with high/highest priority, tickets with some special content in a custom field, etc.
Install
Generic installation guidelines and troubleshooting can be found at TracPlugins.
Steps to install and configure this plugin are:
- Install
- with easy_install:
$ sudo easy_install https://trac-hacks.org/svn/wikiticketcalendarmacro
- with easy_install:
- Enable
- Update TracIni file (
..../trac.ini
) with:- Trac <= 0.11
[components] WikiTicketCalendarMacro.* = enabled
- Trac >= 0.12 and trunk branch with i18n support (have a different code structure due to packaging)
[components] wikiticketcalendar.* = enabled
Note: See i18n/l10n section for related hints on egg creation.
- Trac <= 0.11
- Update TracIni file (
- Configure
- The plugin optionally makes use of an own configuration section, that could be placed into 'trac.ini' as follows:
[wikiticketcalendar] ticket.due_field.name = due_close ticket.due_field.format = %y-%m-%d
- Note: these are the implicit default values to give backwards compatible behaviour.
- Real configuration examples:
- for a custom due date field named 'due-date' that holds US style date with 4-digit year:
[wikiticketcalendar] ticket.due_field.name = due-date ticket.due_field.format = %m/%d/%Y
- for a custom due date field named 'due_date' that holds true POSIX microsecond timestamps (see: custom time fields proposal)
[wikiticketcalendar] ticket.due_field.name = due_date ticket.due_field.format = ts
- for a custom due date field named 'due-date' that holds US style date with 4-digit year:
- The plugin optionally makes use of an own configuration section, that could be placed into 'trac.ini' as follows:
- Restart web server:
$ sudo /etc/init.d/apache2 restart
About i18n/l10n support
The 0.12 branch of this plugin is prepared for localization (tooltip customization in calendar navigation).
But English message texts are still the (POSIX) default. If this isn't your preferred language, you can
- look, if it's already available from the Trac plugin l10n project at Transifex or
- do it yourself (see the l10n cookbook page for Trac plugins for more details).
You've done a new translation? Superb! Contributing your translation is highly appreciated.
You could send it to the plugin's maintainer or contribute to Trac plugin l10n project via Transifex:
Top translations: Trac_Plugin-L10N » etcalendar-locale-messages-pot_0
Preparing the plugin from source requires no additional steps for compiling message catalog files. Only to include translations marked as # fuzzy
by the translator, you'll want to do a manual message catalog compilation with the extra -f
argument before packaging:
cd wikiticketcalendarmacro/ python ./setup.py compile_catalog -f python ./setup.py bdist_egg
Complaints about missing locale
directory are often a side-effect of failure to compile any message catalog for inclusion into Python egg, hence the whole path is missing. Due to a known Trac issue, Babel has to be installed prior to Trac, to get it all working as expected.
Again, for more details see the l10n cookbook page for Trac plugins.
Bugs/Feature Requests
Get it, enjoy and report back, please. Comments welcome.
Existing bugs and feature requests for WikiTicketCalendarMacro are here.
If you have any issue that is not found there, create a new ticket.
Source & Download
You can:
- check out WikiTicketCalendarMacro from here using Subversion;
- or browse the source and just save a file with the Trac repository browser;
- or download the zipped source from [download:wikiticketcalendarmacro here];
1 Note: The 0.11 single-file macro install is significantly smaller than the Python egg with translations,
and there's no visible difference to the genuine 0.12 version, as long as you don't use localization for Trac 0.12.
2 Note: The original version of the macro was hosted here and it's outdated.
3 Note: For trunk
development branch look at the WikiCalendarMacro, since we aim at bundling both plugins recently.
Recent Changes
- 9668 by hasienda on 2010-12-12 23:55:10
-
WikiCalendarMacro: Pulling
trunk
in from WikiTicketCalendarMacro, refs #7564.
After separate development for some years lines of these plugins
are crossing again, as I do aim at bundling both to join the best
from both branches.
- 9637 by hasienda on 2010-12-07 23:40:35
-
WikiTicketCalendarMacro: Split plugin/macro code into several modules, refs #7564.
- 9615 by hasienda on 2010-12-06 22:08:54
-
WikiTicketCalendarMacro: Improve my quite historical i18n implementation.
An optional i18n implementation with backwards-compatibility to Trac 0.11
could be done, and much more elegant using a dedicated translation method
for Trac plugins fromtrac.util.dist
, correcting [8264] once more.
(more)
Author/Contributors
Author: mcomb
Maintainer: hasienda
Contributors: Boris Savelev, rjollos
See also
Found on the web
- a heavily modified version used as event calendar, source unknown
Attachments (2)
-
wikiticketcalendar_screenshot.gif (49.1 KB) - added by 13 years ago.
screenshot of WikiTicketCalendarMacro 1.2.0 with tooltip in different languages and CSS tooltip ticket description
-
wikiticketcalendar_screenshot_1-2-1.png (46.9 KB) - added by 13 years ago.
screenshot of WikiTicketCalendarMacro 1.2.1 featuring compact ticket lists
Download all attachments as: .zip