3 | | [[Include(source:trachoursplugin/0.11/README.txt, text/x-trac-wiki)]] |
| 3 | [[TOC]] |
| 4 | |
| 5 | The goal of this plugin is to help keep trac of hours worked on |
| 6 | tickets. |
| 7 | |
| 8 | == Goals of TracHoursPlugin == |
| 9 | |
| 10 | TracHoursPlugin is done in response to |
| 11 | [http://trac-hacks.org/wiki/TimingAndEstimationPlugin TimingAndEstimationPlugin], but tailored to suit present needs: |
| 12 | |
| 13 | * Instead of adding hours via the comment system, there is a separate |
| 14 | view for hours: |
| 15 | |
| 16 | - `/hours` is a management view. This view displays the hours for all |
| 17 | tickets for the last week (by default) in a way that combines the |
| 18 | query interface for querying tickets and the timeline display for |
| 19 | hours on the tickets in the time period. |
| 20 | |
| 21 | - query filters are available to find hours for people, hours for |
| 22 | tickets of a certain component, etc; |
| 23 | |
| 24 | - a view for `/hours/<ticket number>`; this displays the accrued hours |
| 25 | for a particular ticket with a timeline-like view, but should also |
| 26 | allow adding of new hours (by default, on "today", but this should |
| 27 | be changeable via dropdown menus for day, month, year, etc), |
| 28 | editing previously entered hours (amount, date, description) and |
| 29 | deleting previously alloted hours |
| 30 | |
| 31 | - the view at `/hours/<ticket number>` by default will only display |
| 32 | the hours on the ticket. If you have the TICKET_ADD_HOURS |
| 33 | permission, this view allows adding/editing |
| 34 | of one's own hours on the ticket If you are a |
| 35 | TRAC_ADMIN, you should be able to add/edit/delete others' hours as well |
| 36 | |
| 37 | - the default query period is the last seven days |
| 38 | |
| 39 | * Hours are uniquely assigned to tickets and people (required fields) |
| 40 | |
| 41 | * hours may have a description, which should be displayed in the |
| 42 | applicable views; if a description is provided, the hours and |
| 43 | description are logged to ticket comments |
| 44 | |
| 45 | * `/ticket/<number>` has a link to `/hours/<number>` as the total |
| 46 | hours field so that a user can add and view hours for the ticket |
| 47 | |
| 48 | Hour tracking and estimation is most useful when the following questions can be answered: |
| 49 | |
| 50 | * How much time has been spent on a project? |
| 51 | * How much time remains in a budget (estimate for a project)? |
| 52 | * How much time have we committed to for the next time period ? |
| 53 | * How much time is a developer committed to over the next time period? |
| 54 | |
| 55 | If we put hour estimates on tickets, assign tickets to people, associate |
| 56 | tickets with milestones, and give milestones due dates, a good time |
| 57 | tracking plugin could generate reports to answer those questions. |
| 58 | |
| 59 | For other trac time-tracking solutions, see |
| 60 | http://trac.edgewall.org/wiki/TimeTracking |
| 61 | |
| 62 | == Components == |
| 63 | |
| 64 | === Multiproject Hours === |
| 65 | |
| 66 | The TracHoursPlugin exports RSS from the `/hours` handler. This has |
| 67 | been utilized in consumption to provide hours reports across projects |
| 68 | sharing the same parent directory. If {{{trachours.multiproject}}} is |
| 69 | enabled, then `/hours/multiproject` will become a handler front-ending |
| 70 | hours reports throughout the project and a link to this will appear on |
| 71 | the `/hours` page to `/hours/multiproject`. |
| 72 | |
| 73 | The multiproject report breaks down hours by project and worker giving |
| 74 | row and column totals. If there are no hours for a project then that |
| 75 | project will not be shown. |