Changes between Version 28 and Version 29 of TimeEstimationUserManual
- Timestamp:
- Mar 25, 2016, 12:43:37 PM (8 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
TimeEstimationUserManual
v28 v29 3 3 = Timing and Estimation Plugin User Manual 4 4 5 [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=bobbysmith007New Ticket] |6 [http ://trac-hacks.org/browser/timingandestimationplugin Web Browsable Source Code]5 [https://trac-hacks.org/wiki/TimingAndEstimationPlugin TimingAndEstimationPlugin on TracHacks] | [https://trac-hacks.org/report/9?COMPONENT=TimingAndEstimationPlugin Open Tickets] | [https://trac-hacks.org/newticket?component=TimingAndEstimationPlugin New Ticket] | 6 [https://trac-hacks.org/browser/timingandestimationplugin Web Browsable Source Code] 7 7 8 8 == Abstract Design Goal 9 9 10 My goal in writing this plugin was to use as much of the existing structure as possible, thereby not needing to add extra structure that might make maintainability difficult. The largest downside I foundto this is that there is no way to attach more permissions to anything.10 My goal in writing this plugin was to use as much of the existing structure as possible, thereby not needing to add extra structure that might make maintainability difficult. The largest downside to this is that there is no way to attach more permissions to anything. 11 11 12 12 == Custom Ticket Fields … … 16 16 === Fields 17 17 18 * '''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 19 * '''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 value20 * Reports might not agree with each other if this is manually edited (which is possible if you disable javascript).18 * '''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 therefore credited with the hours spent on it. 19 * '''Total Hours''' This field is the total number of hours that have been added to the project. This has been made non-editable by including Javascript which replaces the input box with a span containing its value. 20 * Reports might not agree with each other if this is manually edited, which is possible if you disable Javascript. 21 21 * '''Is this billable?''' An extra flag on tickets so that they can be marked as billable / not billable. 22 * '''Estimated Hours''' a field that contains the estimated amount of work 22 * '''Estimated Hours''' a field that contains the estimated amount of work. 23 23 24 24 === Future Fields 25 25 26 * '''Ticket Rate''' The ability to attach a cost per hour or total amount to an individual ticket 26 * '''Ticket Rate''' The ability to attach a cost per hour or total amount to an individual ticket. 27 27 28 28 == Billing / Management Page / Time Reports 29 29 30 This page provide a small interface for querying the tickets and adding a bill date at the current time. 31 This interface mostly just gives you links that match the interface to open any of the give reports, providing it the correct set of input parameters 30 This page provide a small interface for querying the tickets and adding a bill date at the current time. This interface gives you links that match the interface to open any of the given reports, by providing it the correct set of input parameters. 32 31 33 32 The direct url is '/Billing'. … … 35 34 === No Permissions Branch 36 35 37 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.36 The 'Management' button should be in the main title bar. It is possible that if you are viewing at a low resolution, it is pushed off the edge of the screen. Also if you are not logged in with REPORT_VIEW permissions, then it will not show that button. 38 37 39 38 === Permissions Branch 40 39 41 The 'Time Reports' button should be in the main title bar. Whether or not you see this will be based on whether your user has TIME_VIEW permissions.42 * [http ://trac-hacks.org/ticket/10318 Email Notifications are currently unaffected]40 The 'Time Reports' button should be in the main title bar. The user sees this depending on whether (s)he has the TIME_VIEW permission. 41 * [https://trac-hacks.org/ticket/10318 Email Notifications are currently unaffected] 43 42 44 43 === Set Bill Date 45 44 46 This button will add now as a bill date. This is mostlyto make it easier to select the last time you billed.45 This button will add today's date as a billing date. This is to make it easier to select the last time you billed. 47 46 48 47 === Configuration … … 52 51 {{{#!ini 53 52 [timingandestimation] 54 # change what permission is required to view the billing/management screen53 # change what permission is required to view the billing/management screen 55 54 # default is REPORT_VIEW 56 billing_permission =TRAC_ADMIN55 billing_permission = TRAC_ADMIN 57 56 }}} 58 57 … … 66 65 * Milestone Work Summary 67 66 * Developer Work Summary 68 * '''Ticket/Hour Reports''' These reports are useful for reviewing estimates on a large scale or getting an idea of the project at large. 67 * '''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. 69 68 * Ticket Hours 70 69 * Ticket Hours with Description … … 77 76 78 77 To add reports to the Management screen sections, you must run the following SQL against your trac database: 79 * {{{INSERT INTO custom_report (id, uuid, maingroup, subgroup, version, ordering) VALUES (@reportID , @uuid, 'Timing and Estimation Plugin', 'Billing Reports', 1, 0);}}} 80 * {{{INSERT INTO custom_report (id, uuid, maingroup, subgroup, version, ordering) VALUES (@reportID , @uuid, 'Timing and Estimation Plugin', 'Ticket/Hour Reports', 1, 0);}}} 78 {{{#!sql 79 INSERT INTO custom_report (id, uuid, maingroup, subgroup, version, ordering) VALUES ( 80 (@reportID , @uuid, 'Timing and Estimation Plugin', 'Billing Reports', 1, 0), 81 (@reportID , @uuid, 'Timing and Estimation Plugin', 'Ticket/Hour Reports', 1, 0) 82 ); 83 }}} 81 84 82 85 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. 83 86 84 '''Note''': @uuid is a globally uni nque 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.87 '''Note''': @uuid is a globally unique 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 programmatic reference to specific reports such that they can be upgraded successfully on future revisions of the plugin. 85 88 86 89 === Removing a Report 87 90 88 91 To remove reports from the Management page, run the following query. 89 * To remove for this version of the plugin (will be over written in future plugin upgrades) 90 * {{{UPDATE custom_report SET maingroup='x'||maingroup WHERE report = @reportID;}}} 91 * To remove permanently (wont be over written in future plugin upgrades) 92 * {{{UPDATE custom_report SET version=9999, maingroup='x'||maingroup WHERE report = @reportID;}}} 92 * To remove for this version of the plugin (will be overwritten in future plugin upgrades): 93 * {{{#!sql 94 UPDATE custom_report SET maingroup = 'x' || maingroup WHERE report = @reportID; 95 }}} 96 * To remove permanently (won't be overwritten in future plugin upgrades): 97 * {{{#!sql 98 UPDATE custom_report SET version = 9999, maingroup = 'x' || maingroup WHERE report = @reportID; 99 }}} 93 100 94 101 Remember to fill in the @reportID of the report you want to modify. 95 102 96 '''Note''': The 'x' part is not important - you just need to make the column read something other than 'Timing and Estimation Plugin'. 97 98 {{{#!box info 99 **Notice:** The reports can only be called from the Management Page. They will not work from the Trac View Tickets page. This is because of the custom variables that need values. 100 }}} 103 '''Notes''': 104 * The 'x' part is not important, you just need to make the column read something other than 'Timing and Estimation Plugin'. 105 * The reports can only be called from the Management Page. They will not work from the Trac View Tickets page. This is because of the custom variables that need values. 101 106 102 107 == Permissions Branch 103 108 104 A branch of this plugin was sponsored by [http://www.obsidiansoft.com/ Obsidian Software] so that it would support per field permissions.109 A branch of this plugin was sponsored by [http://www.obsidiansoft.com/ Obsidian Software], so that it would support per field permissions. 105 110 106 * [http ://trac-hacks.org/ticket/10318 Email Notifications are currently unaffected]111 * [https://trac-hacks.org/ticket/10318 Email Notifications are currently unaffected] 107 112 108 This is accomplished with Genshi 5 stream filters in trac 11. This code draws from the [http://trac-hacks.org/wiki/BlackMagicTicketTweaksPlugin BlackMagicTicketTweaksPlugin].113 This is accomplished with Genshi 5 stream filters in Trac 0.11. This code draws from the [https://trac-hacks.org/wiki/BlackMagicTicketTweaksPlugin BlackMagicTicketTweaksPlugin]. 109 114 110 115 === Configuration 111 116 112 There is a new trac.iniconfiguration section which is filled in by default as follows:117 There is a new `trac.ini` configuration section which is filled in by default as follows: 113 118 {{{#!ini 114 119 [field settings] # per field permissions … … 135 140 }}} 136 141 137 It also adds an "Internal" checkbox which allows you to set a ticket as internal. For this policy to work correctly you need to add a line to the trac section of the config telling it which permission policies to use. The setup will attempt to put this line of configuration in place. The permission that looks at currently is 'TIME_ADMIN'. To change that group set the internalgroup of the ticket section in the `trac.ini` file as follows:142 It also adds an "Internal" checkbox which allows you to set a ticket as internal. For this policy to work correctly you need to add a line to the trac section of the configuration file telling it which permission policies to use. The setup will attempt to put this line of configuration in place. The permission that looks at currently is 'TIME_ADMIN'. To change that group set the internalgroup of the ticket section in the `trac.ini` file as follows: 138 143 139 144 {{{#!ini … … 147 152 == Future Improvements 148 153 149 * [http ://trac-hacks.org/report/9?COMPONENT=TimingAndEstimationPlugin See tickets] at the [http://trac-hacks.org/wiki/TimingAndEstimationPlugin project trac]154 * [https://trac-hacks.org/report/9?COMPONENT=TimingAndEstimationPlugin See tickets] at the [https://trac-hacks.org/wiki/TimingAndEstimationPlugin project Trac] 150 155 151 156 == Sponsors