Changes between Version 27 and Version 28 of TimeEstimationUserManual


Ignore:
Timestamp:
Aug 13, 2015, 4:04:38 PM (9 years ago)
Author:
figaro
Comment:

Cosmetic changes, removed duplicate logo

Legend:

Unmodified
Added
Removed
Modified
  • TimeEstimationUserManual

    v27 v28  
     1[[PageOutline(2-5,Contents,pullout)]]
    12
    2 [[PageOutline]]
    3 = Timing and Estimation Plugin User Manual =
     3= Timing and Estimation Plugin User Manual
     4
    45[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]  |
    56[http://trac-hacks.org/browser/timingandestimationplugin Web Browsable Source Code]
    67
    7 == Abstract Design Goal ==
    8 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.
     8== Abstract Design Goal
    99
    10 == Custom Ticket Fields ==
    11 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. 
     10My 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 found to this is that there is no way to attach more permissions to anything.
    1211
    13 === Fields: ===
    14  * '''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.
     12== Custom Ticket Fields
     13
     14In adhering to the design goal, rather than creating a new ticket interface, I created some custom fields and a small daemon to watch over them.
     15
     16=== Fields
     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 fore credited with the hours spent on it.
    1519 * '''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
    1620   * Reports might not agree with each other if this is manually edited (which is possible if you disable javascript).
    1721 * '''Is this billable?''' An extra flag on tickets so that they can be marked as billable / not billable.
    1822 * '''Estimated Hours''' a field that contains the estimated amount of work
    19 === Future Fields ===
     23
     24=== Future Fields
     25
    2026 * '''Ticket Rate''' The ability to attach a cost per hour or total amount to an individual ticket
    2127
    22 == Billing / Management Page / Time Reports ==
    23 This page provide a small interface for querying the tickets and adding a bill date at the current time. 
    24 This interface mostly just gives you links that match the interface to open any of the give reports,
    25 providing it the correct set of input parameters
     28== Billing / Management Page / Time Reports
     29
     30This page provide a small interface for querying the tickets and adding a bill date at the current time.
     31This 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
    2632
    2733The direct url is '/Billing'.
    2834
    29 === No Permissions Branch ===
    30 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.
     35=== No Permissions Branch
    3136
    32 === Permissions Branch ===
    33 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.
     37The '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.
     38
     39=== Permissions Branch
     40
     41The '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.
    3442 * [http://trac-hacks.org/ticket/10318 Email Notifications are currently unaffected]
    3543
     44=== Set Bill Date
    3645
     46This button will add now as a bill date. This is mostly to make it easier to select the last time you billed.
    3747
     48=== Configuration
    3849
    39 === Set Bill Date ===
     50==== TimingAndEstimation
    4051
    41 This button will add now as a bill date.  This is mostly to make it
    42 easier to select the last time you billed.
    43 
    44 === Configuration ===
    45 ==== TimingAndEstimation ====
    46 {{{
    47 #!ini
     52{{{#!ini
    4853[timingandestimation]
    4954#change what permission is required to view the billing/management screen
     
    5257}}}
    5358
    54 == Reports ==
    55 === Report Types ===
     59== Reports
     60
     61=== Report Types
     62
    5663We provide a few different reports for querying different types of data:
    5764    * '''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.
     
    6673       * Ticket Hours Grouped By Milestone
    6774       * Ticket Hours Grouped By Milestone with Description
    68 === Adding More Reports ===
    69 To add reports to the Management screen sections, you must run the following sql against your trac database
    70 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.
     75
     76=== Adding More Reports
     77
     78To add reports to the Management screen sections, you must run the following SQL against your trac database:
    7179 * {{{INSERT INTO custom_report (id, uuid, maingroup, subgroup, version, ordering) VALUES (@reportID , @uuid, 'Timing and Estimation Plugin', 'Billing Reports', 1, 0);}}}
    7280 * {{{INSERT INTO custom_report (id, uuid, maingroup, subgroup, version, ordering) VALUES (@reportID , @uuid, 'Timing and Estimation Plugin', 'Ticket/Hour Reports', 1, 0);}}}
    7381
    74 ''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''
     82Remember to fill in the @reportID of the report you want to insert, and to select the insert statement for the section of your choice.
    7583
    76 === Removing a Report ===
     84'''Note''': @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.
     85
     86=== Removing a Report
     87
    7788To remove reports from the Management page, run the following query.
    78 Remember to fill in the @reportID of the report you want to modify.
    7989 * To remove for this version of the plugin (will be over written in future plugin upgrades)
    8090   * {{{UPDATE custom_report SET maingroup='x'||maingroup WHERE report = @reportID;}}}
    8191 * To remove permanently (wont be over written in future plugin upgrades)
    8292   * {{{UPDATE custom_report SET version=9999, maingroup='x'||maingroup WHERE report = @reportID;}}}
    83 ''NB: The 'x' part is not important - you just need to make the column read something other than 'Timing and Estimation Plugin'.''
    8493
    85 === TAKE NOTE ===
    86  '''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).'''
     94Remember to fill in the @reportID of the report you want to modify.
    8795
    88 == Permissions Branch ==
     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}}}
     101
     102== Permissions Branch
     103
    89104A branch of this plugin was sponsored by [http://www.obsidiansoft.com/ Obsidian Software] so that it would support per field permissions. 
    90105
    91106 * [http://trac-hacks.org/ticket/10318 Email Notifications are currently unaffected]
    92107
    93 This is accomplished with Genshi 5 stream filters in trac 11.  This code draws from the [http://trac-hacks.org/wiki/BlackMagicTicketTweaksPlugin BlackMagicTicketTweaksPlugin]
    94 {{{
    95 #!html
    96 <br />
    97 <a href="http://www.obsidiansoft.com/" >
    98 <img src="http://trac-hacks.org/raw-attachment/wiki/TimeEstimationUserManual/obsidian-logo.gif" />
    99 </a>
    100 }}}
     108This is accomplished with Genshi 5 stream filters in trac 11. This code draws from the [http://trac-hacks.org/wiki/BlackMagicTicketTweaksPlugin BlackMagicTicketTweaksPlugin].
    101109
    102 === Configuration ===
    103 There is a new trac.ini configuration section which is filled in by default as follows.
    104 {{{
    105 #!ini
     110=== Configuration
     111
     112There is a new trac.ini configuration section which is filled in by default as follows:
     113{{{#!ini
    106114[field settings] # per field permissions
    107115
     
    114122#  If PERMISSION=ALWAYS, then the consequence always occurs
    115123#    eg: billable.permission = ALWAYS:hide
    116 #        will always result in billable being hidden, irrespective of user permissions   
     124#        will always result in billable being hidden, irrespective of user permissions
    117125#
    118126# where consequence is one of: hide, remove, disable
     
    127135}}}
    128136
    129 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 as follows:
     137It 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:
    130138
    131 {{{
    132 #!ini
     139{{{#!ini
    133140[ticket]
    134141internalgroup = TRAC_ADMIN #or whatever group / permission you want
     
    138145}}}
    139146
    140 == Future Improvements ==
     147== Future Improvements
     148
    141149 * [http://trac-hacks.org/report/9?COMPONENT=TimingAndEstimationPlugin See tickets] at the [http://trac-hacks.org/wiki/TimingAndEstimationPlugin project trac]
    142150
    143 == Sponsors ==
     151== Sponsors
     152
    144153[http://www.obsidiansoft.com/ Obsidian Software]
    145 {{{
    146 #!html
     154{{{#!html
    147155<img src="http://trac-hacks.org/raw-attachment/wiki/TimeEstimationUserManual/obsidian-logo.gif" /> Obsidian software financed the development of the permissions branch
    148156<br />
    149157}}}
     158
    150159----
     160
    151161[http://www.aquafold.com/ Aquafold]
    152 {{{
    153 #!html
     162{{{#!html
    154163<br />
    155164<img src="http://trac-hacks.org/raw-attachment/wiki/TimeEstimationUserManual/Aqua_Fold_Logo_16color.gif" />
    156165Aquafold has provided a license to their excellent Aqua Data Studio application to help further development
    157166}}}
    158 ----