TimingAndEstimationPluginUserManual
Version 1 (Timing and Estimation Plugin -, 05/28/2008 06:20 PM)
1 | 1 | Timing and Estimation Plugin - | |
---|---|---|---|
2 | 1 | Timing and Estimation Plugin - | [[PageOutline]] |
3 | 1 | Timing and Estimation Plugin - | = Timing and Estimation Plugin User Manual = |
4 | 1 | Timing and Estimation Plugin - | [http://trac-hacks.org/wiki/TimingAndEstimationPlugin TimingAndEstimationPlugin on TracHacks] | [http://trac-hacks.org/report/9?COMPONENT=TimingAndEstimationPlugin Open Tickets] | [http://trac-hacks.org/newticket?component=TimingAndEstimationPlugin&owner=bobbysmith007 New Ticket] | |
5 | 1 | Timing and Estimation Plugin - | [http://trac-hacks.org/browser/timingandestimationplugin/trunk Web Browsable Source Code] |
6 | 1 | Timing and Estimation Plugin - | |
7 | 1 | Timing and Estimation Plugin - | == Abstract Design Goal == |
8 | 1 | Timing and Estimation Plugin - | My goal in writing this plugin was to use as much of the existing structure as possible (therefore not needing to add extra structure that might make maintainability difficult). The largest downside I have found to this is that there is no way to attach more permissions to anything. |
9 | 1 | Timing and Estimation Plugin - | |
10 | 1 | Timing and Estimation Plugin - | == Custom Ticket Fields == |
11 | 1 | Timing and Estimation Plugin - | In adhering to our design goal, rather than creating a new ticket interface, I create some custom fields and a small daemon to watch over them. |
12 | 1 | Timing and Estimation Plugin - | |
13 | 1 | Timing and Estimation Plugin - | === Fields: === |
14 | 1 | Timing and Estimation Plugin - | * '''Hours to Add''' This field functions as a time tracker. When you add hours to it , those hours get added to the total hours field. The person who made the change is there fore credited with the hours spent on it. |
15 | 1 | Timing and Estimation Plugin - | * '''Total Hours''' This field is the total number of hours that have been added to the project. This has been made uneditable by including javascript which replaces the input box with a span containing its value |
16 | 1 | Timing and Estimation Plugin - | * Reports might not agree with each other if this is manually edited (which is possible if you disable javascript). |
17 | 1 | Timing and Estimation Plugin - | * '''Is this billable?''' An extra flag on tickets so that they can be marked as billable / not billable. |
18 | 1 | Timing and Estimation Plugin - | * '''Estimated Hours''' a field that contains the estimated amount of work |
19 | 1 | Timing and Estimation Plugin - | === Future Fields === |
20 | 1 | Timing and Estimation Plugin - | * '''Ticket Rate''' The ability to attach a cost per hour or total amount to an individual ticket |
21 | 1 | Timing and Estimation Plugin - | |
22 | 1 | Timing and Estimation Plugin - | == Management Page == |
23 | 1 | Timing and Estimation Plugin - | This page provide a small interface for querying the tickets and adding a bill date at the current time. |
24 | 1 | Timing and Estimation Plugin - | This interface mostly just gives you links that match the interface to open any of the give reports, |
25 | 1 | Timing and Estimation Plugin - | providing it the correct set of input parameters |
26 | 1 | Timing and Estimation Plugin - | |
27 | 1 | Timing and Estimation Plugin - | The 'Management' button should be in the main title bar. It is possible that if you are viewing at a low resolution, it was pushed off the edge of the screen. Also if you are not logged in with report_view permissions, it will not show that button. |
28 | 1 | Timing and Estimation Plugin - | |
29 | 1 | Timing and Estimation Plugin - | The direct url is '/Billing'. |
30 | 1 | Timing and Estimation Plugin - | |
31 | 1 | Timing and Estimation Plugin - | |
32 | 1 | Timing and Estimation Plugin - | === Set Bill Date === |
33 | 1 | Timing and Estimation Plugin - | |
34 | 1 | Timing and Estimation Plugin - | This button will add now as a bill date. This is mostly to make it |
35 | 1 | Timing and Estimation Plugin - | easier to select the last time you billed. This would allow you to |
36 | 1 | Timing and Estimation Plugin - | set a ticket as having been billed at a given time while others have |
37 | 1 | Timing and Estimation Plugin - | not, and accurately get the correct billing information for all |
38 | 1 | Timing and Estimation Plugin - | tickets. |
39 | 1 | Timing and Estimation Plugin - | |
40 | 1 | Timing and Estimation Plugin - | == Reports == |
41 | 1 | Timing and Estimation Plugin - | === Report Types === |
42 | 1 | Timing and Estimation Plugin - | We provide a few different reports for querying different types of data: |
43 | 1 | Timing and Estimation Plugin - | * '''Billing Reports''' Currently the billing reports are the only time based reports, and are therefore useful for getting an estimate what tickets had times (and totals), and which developers spent their time where. |
44 | 1 | Timing and Estimation Plugin - | * Ticket Work Summary |
45 | 1 | Timing and Estimation Plugin - | * Milestone Work Summary |
46 | 1 | Timing and Estimation Plugin - | * Developer Work Summary |
47 | 1 | Timing and Estimation Plugin - | * '''Ticket/Hour Reports''' These reports are useful for reviewing estimates on a large scale or getting an idea of the project at large. These reports currently ignore the time. |
48 | 1 | Timing and Estimation Plugin - | * Ticket Hours |
49 | 1 | Timing and Estimation Plugin - | * Ticket Hours with Description |
50 | 1 | Timing and Estimation Plugin - | * Ticket Hours Grouped By Component |
51 | 1 | Timing and Estimation Plugin - | * Ticket Hours Grouped By Component with Description |
52 | 1 | Timing and Estimation Plugin - | * Ticket Hours Grouped By Milestone |
53 | 1 | Timing and Estimation Plugin - | * Ticket Hours Grouped By Milestone with Description |
54 | 1 | Timing and Estimation Plugin - | === Adding More Reports === |
55 | 1 | Timing and Estimation Plugin - | To add reports to the Management screen sections, you must run the following sql against your trac database |
56 | 1 | Timing and Estimation Plugin - | Remember to fill in the @reportID of the report you want to insert, and to select the insert statement for the section of your choice. |
57 | 1 | Timing and Estimation Plugin - | * {{{INSERT INTO custom_report (id, uuid, maingroup, subgroup, version, ordering) VALUES (@reportID , @uuid, 'Timing and Estimation Plugin', 'Billing Reports', 1, 0);}}} |
58 | 1 | Timing and Estimation Plugin - | * {{{INSERT INTO custom_report (id, uuid, maingroup, subgroup, version, ordering) VALUES (@reportID , @uuid, 'Timing and Estimation Plugin', 'Ticket/Hour Reports', 1, 0);}}} |
59 | 1 | Timing and Estimation Plugin - | |
60 | 1 | Timing and Estimation Plugin - | ''NB: @uuid is a globally uninque identifier created via a tool such as {{{uuidgen}}} on Linux or various [http://www.famkruithof.net/uuid/uuidgen online tools]. It is used in this plugin to provide programatic reference to specific reports such that they can be upgraded successfully on future revisions of the plugin'' |
61 | 1 | Timing and Estimation Plugin - | |
62 | 1 | Timing and Estimation Plugin - | === Removing a Report === |
63 | 1 | Timing and Estimation Plugin - | To remove reports from the Management page, run the following query. |
64 | 1 | Timing and Estimation Plugin - | Remember to fill in the @reportID of the report you want to modify. |
65 | 1 | Timing and Estimation Plugin - | * To remove for this version of the plugin (will be over written in future plugin upgrades) |
66 | 1 | Timing and Estimation Plugin - | * {{{UPDATE custom_report SET maingroup='x'||maingroup WHERE report = @reportID;}}} |
67 | 1 | Timing and Estimation Plugin - | * To remove permanently (wont be over written in future plugin upgrades) |
68 | 1 | Timing and Estimation Plugin - | * {{{UPDATE custom_report SET version=9999, maingroup='x'||maingroup WHERE report = @reportID;}}} |
69 | 1 | Timing and Estimation Plugin - | ''NB: The 'x' part is not important - you just need to make the column read something other than 'Timing and Estimation Plugin'.'' |
70 | 1 | Timing and Estimation Plugin - | |
71 | 1 | Timing and Estimation Plugin - | === TAKE NOTE === |
72 | 1 | Timing and Estimation Plugin - | '''The reports can only be called from the Management Page. They will not work from the Trac View Tickets page. (Due to the custom variables that need values).''' |
73 | 1 | Timing and Estimation Plugin - | |
74 | 1 | Timing and Estimation Plugin - | == Future Improvements == |
75 | 1 | Timing and Estimation Plugin - | * [http://trac-hacks.org/wiki/TimingAndEstimationPlugin See tickets] at the [http://trac-hacks.org/wiki/TimingAndEstimationPlugin project trac] |
76 | 1 | Timing and Estimation Plugin - | * Would like to suggest a couple of interfaces to Trac project, and perhaps write an implementation for them. |
77 | 1 | Timing and Estimation Plugin - | * ''' ICustomTicketFieldProvider ''' This should allow a plugin to provide a custom field with the ability to add html attributes and specify at least the tag name. (hopefully with a full template) This should hopefully also allow these provided custom controls to set permissions causing them to not render or to not editable. |
78 | 1 | Timing and Estimation Plugin - | * ''' ICustomReportProvider ''' This allows custom reports to be provided in a way that permissions can be enforced on them. |
79 | 1 | Timing and Estimation Plugin - | * work with advise and feedback from the user community to make this Plugin do this job adequately |