Changes between Version 13 and Version 14 of TimeEstimationUserManual


Ignore:
Timestamp:
Sep 11, 2008, 1:32:34 PM (16 years ago)
Author:
Russ Tyndall
Comment:

added to the manual

Legend:

Unmodified
Added
Removed
Modified
  • TimeEstimationUserManual

    v13 v14  
    1 [[TOC]]
    2 = [wiki:TimingAndEstimationPlugin Timing and Estimation Plugin] User Manual =
    3 [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] |
     1
     2[[PageOutline]]
     3= Timing and Estimation Plugin User Manual =
     4[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]  |
    45[http://trac-hacks.org/browser/timingandestimationplugin/trunk Web Browsable Source Code]
     6
    57== Abstract Design Goal ==
    68My 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.
     
    1820 * '''Ticket Rate''' The ability to attach a cost per hour or total amount to an individual ticket
    1921
    20 == Management Page ==
     22== Billing / Management Page / Time Reports ==
    2123This page provide a small interface for querying the tickets and adding a bill date at the current time. 
    2224This interface mostly just gives you links that match the interface to open any of the give reports,
    23 providing it the correct set of input parameters.
     25providing it the correct set of input parameters
    2426
    25 === Set Bill Date (mm/dd/yyyy) ===
     27The direct url is '/Billing'.
    2628
    27 This button will add now as a bill date (in mm/dd/yyyy format).  This is mostly to make it
     29=== No Permissions Branch ===
     30The '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.
     31
     32=== Permissions Branch ===
     33The '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.
     34
     35
     36
     37
     38=== Set Bill Date ===
     39
     40This button will add now as a bill date.  This is mostly to make it
    2841easier to select the last time you billed.  This would allow you to
    2942set a ticket as having been billed at a given time while others have
     
    4861To add reports to the Management screen sections, you must run the following sql against your trac database
    4962Remember to fill in the @reportID of the report you want to insert, and to select the insert statement for the section of your choice.
    50  * '''INSERT INTO report_version (report, version, tags) VALUES ( @reportID , 1, 'Ticket/Hour Reports');'''
    51  * '''INSERT INTO report_version (report, version, tags) VALUES ( @reportID , 1, 'Billing Reports');'''
     63 * {{{INSERT INTO custom_report (id, uuid, maingroup, subgroup, version, ordering) VALUES (@reportID , @uuid, 'Timing and Estimation Plugin', 'Billing Reports', 1, 0);}}}
     64 * {{{INSERT INTO custom_report (id, uuid, maingroup, subgroup, version, ordering) VALUES (@reportID , @uuid, 'Timing and Estimation Plugin', 'Ticket/Hour Reports', 1, 0);}}}
     65
     66''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''
    5267
    5368=== Removing a Report ===
    5469To remove reports from the Management page, run the following query.
    55 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.
     70Remember to fill in the @reportID of the report you want to modify.
    5671 * To remove for this version of the plugin (will be over written in future plugin upgrades)
    57    * '''UPDATE report_version SET tags=!'' WHERE report = @reportID ;'''
     72   * {{{UPDATE custom_report SET maingroup='x'||maingroup WHERE report = @reportID;}}}
    5873 * To remove permanently (wont be over written in future plugin upgrades)
    59    * '''UPDATE report_version SET version=9999, tags=!'' WHERE report = @reportID ;'''
     74   * {{{UPDATE custom_report SET version=9999, maingroup='x'||maingroup WHERE report = @reportID;}}}
     75''NB: The 'x' part is not important - you just need to make the column read something other than 'Timing and Estimation Plugin'.''
    6076
    6177=== TAKE NOTE ===
    6278 '''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).'''
    6379
     80== Permissions Branch ==
     81Recently a branch of this plugin was sponsored by [http://www.obsidiansoft.com/ Obsidian Software] so that it would support per field permissions. 
     82
     83This is accomplished with Genshi 5 stream filters in trac 11.  This code draws from the [http://trac-hacks.org/wiki/BlackMagicTicketTweaksPlugin BlackMagicTicketTweaksPlugin]
     84
     85=== Configuration ===
     86There is a new trac.ini configuration section which is filled in by default as follows.
     87{{{
     88#!ini
     89[field settings] # per field permissions
     90
     91# a list of all the fields to apply permissions to
     92fields = billable, totalhours, hours, estimatedhours
     93
     94# a bunch of:
     95# field.permission = PERMISSION:consequence
     96# where consequence is one of: hide, remove, disable
     97#    hide - replaces with hidden input
     98#    remove - removes element
     99#    disable - removes input in favor of text
     100billable.permission = TIME_VIEW:hide, TIME_RECORD:disable
     101totalhours.permission = TIME_VIEW:remove, TIME_RECORD:disable
     102hours.permission = TIME_RECORD:remove
     103estimatedhours.permission = TIME_RECORD:disable
     104}}}
     105
    64106== Future Improvements ==
    65  * See tickets at the [wiki:TimingAndEstimationPlugin project trac]
    66  * Would like to suggest a couple of interfaces to Trac project, and perhaps write an implementation for them.
    67    * ''' 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.
    68    * ''' ICustomReportProvider ''' This allows custom reports to be provided in a way that permissions can be enforced on them.
    69  * work with advise and feedback from the user community to make this Plugin do this job adequately
     107 * [http://trac-hacks.org/wiki/TimingAndEstimationPlugin See tickets] at the [http://trac-hacks.org/wiki/TimingAndEstimationPlugin project trac]
     108