|Version 44 (modified by hasienda, 4 years ago) (diff)|
Calendar view of Milestones and Tickets
Macro for the Trac Wiki Ticketing system to display Milestones and Tickets in a calendar view. The original version of the macro was hosted here.
screenshot of WikiTicketCalendarMacro 1.1.0 for Trac 0.12 with German localization (calendar header and tooltip)
Versions compatible with Trac 0.11, 0.12 and even for old 0.10 are available now, so test, enjoy and report back any issue, please.
If you have any issues, create a new ticket.
Download the zipped source from here.
However, to get the one-file version you could look at and save it with the Trac repository browser:
1 Note: The 0.11 single-file macro install is somewhat smaller than the Python egg with translations,
and there's no visible difference to the genuine 0.12 version, if you don't use localization for Trac 0.12.
Historically the macro code was activated for a long time by
[components] WikiTicketCalendarMacro.* = enabled
what is still correct for 0.11 branch.
New versions from 0.12 branch and trunk with i18n support have a different code structure due to packaging.
See i18n/l10n section for an important hint on egg creation. The statement required for activation has changed as well:
[components] wikiticketcalendar.* = enabled
See download section on how to activate your version.
The invocation for the screenshot above is [[WikiTicketCalendar(*,*,true,Wochenberatung/%Y-%m-%d,true,Beratung)]].
Excerpt of the source documentation:
Usage ----- [[WikiTicketCalendar([year,month,[showbuttons,[wiki_page_format, [show_ticket_open_dates,[wiki_page_template]]]]])]] Arguments --------- year, month = display calendar for month in year ('*' for current year/month) showbuttons = true/false, show prev/next buttons wiki_page_format = strftime format for wiki pages to display as link (if there is not a milestone placed on that day) (if exist, otherwise link to create page) default is "%Y-%m-%d", '*' for default show_ticket_open_dates = true/false, show also when a ticket was opened wiki_page_template = wiki template tried to create new page 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)]]
The development version of this plugin addes support for keyword arguments. 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. Supported keywords are (with default values here):
nav = true - navigation link switch, same as 'showbuttens' wikipage="%Y-%m-%d" - same as 'wiki_page_format' template="" - same as 'wiki_page_template' query="id!=0"
The query keyword actually supports any expression supported by TracQuery. This is the single new ticket selection logic and can use custom field values as well as expressions chained by AND (OR since 0.12). An invalid expression was chosen on purpose to select and show all tickets by default.
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 ticket.due_field.utcoffset = 0
Again these are the implicit default values. A useful alternative configuration would look like
[wikiticketcalendar] ticket.due_field.name = due_date ticket.due_field.format = ts ticket.due_field.utcoffset = 2
to support European time zone offset for a custom due date field named 'due_date', that holds true POSIX microsecond timestamps (see: custom time fields proposal).
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).
Top translations: Trac_Plugin-L10N » wikiticketcalendar
Preparing the plugin from source requires the additional step of compiling message catalog files. Walk through:
cd wikiticketcalendarmacro python ./setup.py compile_catalog -f python ./setup.py bdist_egg
But if you missed the 2rd step, this will be taken care for before the build step 3.
To exclude translations marked as # fuzzy by the translator, you'll want to omit the extra -f argument to message catalog compilation. In fact this is the default for automatic compilation before the build. Again, for more details see the l10n cookbook page for Trac plugins.
-  by hasienda on 2010-12-13 00: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.
-  by hasienda on 2010-12-08 00:40:35
WikiTicketCalendarMacro: Split plugin/macro code into several modules, refs #7564.
-  by hasienda on 2010-12-06 23: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 from trac.util.dist, correcting  once more.
(49.1 KB) -
added by hasienda 4 years ago.
screenshot of WikiTicketCalendarMacro 1.2.0 with tooltip in different languages and CSS tooltip ticket description
(46.9 KB) -
added by hasienda 4 years ago.
screenshot of WikiTicketCalendarMacro 1.2.1 featuring compact ticket lists
Download all attachments as: .zip