keep track of hours spent on tickets

TracHoursPlugin

The goal of this plugin is to help keep trac of hours worked on tickets. This is done in response to TimingAndEstimationPlugin, but tailored to suit present needs:

  • Instead of adding hours via the comment system, there is a separate view for hours:
  • /hours is a management view. This view displays the hours for all tickets for the last week (by default) in a way that combines the query interface for querying tickets and the timeline display for hours on the tickets in the time period.
  • query filters are available to find hours for people, hours for tickets of a certain component, etc;
  • a view for /hours/<ticket number>; this displays the accrued hours for a particular ticket with a timeline-like view, but should also allow adding of new hours (by default, on "today", but this should be changeable via dropdown menus for day, month, year, etc), editing previously entered hours (amount, date, description) and deleting previously alloted hours
  • the view at /hours/<ticket number> by default only allows adding/editing of one's own hours on the ticket; however, if you are a TRAC_ADMIN, you should be able to add/edit/delete others' hours as well
  • the default query period is the last seven days
  • Hours are uniquely assigned to tickets and people (required fields)
  • hours may have a description, which should be displayed in the applicable views; if a description is provided, the hours and description are logged to ticket comments
  • /ticket/<number> has a link to /hours/<number> as the total hours field so that a user can add and view hours for the ticket

Hour tracking and estimation is most useful when the following questions

can be answered:

  • How much time has been spent on a project?
  • How much time remains in a budget (estimate for a project)?
  • How much time have we committed to for the next time period ?
  • How much time is a developer committed to over the next time period?

If we put hour estimates on tickets, assign tickets to people, associate tickets with milestones, and give milestones due dates, a good time tracking plugin could generate reports to answer those questions.

For other trac time-tracking solutions, see http://trac.edgewall.org/wiki/TimeTracking

Multiproject Hours

The TracHoursPlugin exports RSS from the /hours handler. This has been utilized in consumption to provide hours reports across projects sharing the same parent directory. If trachours.multiproject is enabled, then /hours/multiproject will become a handler front-ending hours reports throughout the project and a link to this will appear on the /hours page to /hours/multiproject.

The multiproject report breaks down hours by project and worker giving row and column totals. If there are no hours for a project then that project will not be shown.

screenshot for of the /hours/multiproject  page for two projects and one worker (k0s)

Installing and Enabling TracHours

TracHours is enabled like any other trac plugin:

  • enable the plugin. Use either the webadmin interface or add the following lines to the trac.ini file:
[components]
trachours.* = enabled
  • you will need to run trac-admin <env> upgrade in order to create the correct database tables

The TracHoursPlugin requires python at least 2.4

How to Use TracHours

See the TracHoursHowto

Bugs/Feature Requests

Existing bugs and feature requests for TracHoursPlugin are here. If you have any issues, create a new ticket.

A preliminary path to 1.0 is outlined here: http://www.openplans.org/projects/topp-engineering/lists/trac/archive/2009/01/1231168734645

Download

Note: The TracHoursPlugin requires python version at least 2.4

Download the zipped source, check out using Subversion, or browse the source with Trac.

See also the trac plugin installation instructions at http://trac.edgewall.org/wiki/TracPlugins#InstallingaTracPlugin

Recent Changes

[5264] by k0s on 02/13/09 22:53:34

refer back to ticket when adding hours from there

[5263] by k0s on 02/13/09 22:48:43

* ability to add hours directly from tickets; closes #4367 ; * other misc fixes

[5138] by k0s on 01/16/09 16:02:29

remove debugging code; closes #4456

[5127] by k0s on 01/14/09 10:29:35

change the list comprehensions around; refs #4444

Author/Contributors

Original developed at The Open Planning Project

Authors: novalis, k0s

Attachments