The jQuery project uses Trac for bug tracking, and a request from several team members (including myself) was to have a page that showed overview of ticket activity over time. There are a couple different Trac plugins that exist to perform this task, but they don’t work very well. TracTicketStatsPlugin requires YUI (even though Trac uses jQuery), it loads a bunch of debug crap, it has SQL injection issues, it’s ugly, and it requires Flash. TracMetrixPlugin requires matplotlib, which in turn requires a bunch of X11 libraries, screws up Trac permissions in 0.12, has worthless documentation, and is very slow. So, I dove into the world of Python and Trac and came up with something that should be much better.
TracTicketGraph has no external dependencies and uses the awesome flot library to generate graphs. It is released under an MIT license. There are a few caveats, mostly due to time constraints, but anyone with some Python and JS skill should be able to take care of these issues quickly and easily:
- You can use a “days” query parameter to change the number of previous days viewed, but there is not currently any UI for making this change.
- The end date is always fixed to the current date.
- The size of the graph is fixed in JS, instead of being configurable by CSS.
- It is not internationalized.
- There are no tooltips.