Version 22 (modified by 15 years ago) (diff) | ,
---|
Tools for visualizing and quick editing of effort estimations
Description
EstimationTools includes macros that visualize remaining effort estimations, e.g., as Burndown Chart, as well as an extension that allows inline editing of estimations in the query view.
Requirements
The charts use Google's Chart API, hence no additional python modules are required. The HoursInPlaceEditor requires the XmlRpcPlugin.
Bugs/Feature Requests
Existing bugs and feature requests for EstimationToolsPlugin are here.
If you have any issues, create a new ticket.
Download
Download the zipped source from [download:estimationtoolsplugin here].
Source
You can check out EstimationToolsPlugin from here using Subversion, or browse the source with Trac.
Install
- Trac 0.11 is supported in trunk.
- The latest version for Trac 0.10 can be checked out here.
- Deploy the egg:
# python setup.py bdist_egg # cp dist/*.egg /path/to/trac/env/plugins
Please see Trac's plug-in installation instructions for more details. - You need to add a custom field in your trac.ini to store the estimations for the current remaining effort:
[ticket-custom] estimatedhours = text estimatedhours.label = Remaining Hours estimatedhours.value = 0
- enable the plugin
[components] estimationtools.* = enabled
- further configurations go here
[estimation-tools] # if you want to use another field than estimatedhours you can change that estimation_field = estimatedhours # Set to a comma separated list of workflow states # that count as zero in BurnDownChart. Defaults to 'closed' closed_states = closed,another_state # Suffix used for estimations. Defaults to 'h' estimation_suffix = points
Features
BurndownChart
Creates burn down chart for selected tickets.
This macro creates a chart that can be used to visualize the progress in a milestone (e.g., sprint or product backlog). For a given set of tickets and a time frame, the remaining estimated effort is calculated. The macro has the following parameters:
- a comma-separated list of query parameters for the ticket selection, in the form "key=value" as specified in TracQuery#QueryLanguage.
startdate
: mandatory parameter that specifies the start date of the period (ISO8601 format)enddate
: end date of the period. If omitted, it defaults to either the milestones (if given) `completed' date, ordue
date, or today (in that order) (ISO8601 format)weekends
: include weekends in chart. Defaults totrue
expected
: show expected progress in chart, 0 or any number to define initial expected hours (defaults to 0).gridlines
: show gridlines in chart, 0 or any number to define hour steps (defaults to 0)width
: width of resulting diagram (defaults to 800)height
: height of resulting diagram (defaults to 200)color
: color specified as 6-letter string of hexadecimal values in the formatRRGGBB
. Defaults toff9900
, a nice orange.colorexpected
: color for expected hours graph specified as 6-letter string of hexadecimal values in the formatRRGGBB
. Defaults to ffddaa, a nice yellow.bgcolor
: chart drawing area background color specified as 6-letter string of hexadecimal values in the formatRRGGBB
. Defaults toffffff
.wecolor
: chart drawing area background color for weekends specified as 6-letter string of hexadecimal values in the formatRRGGBB
. Defaults toccccccaa
.
Examples:
[[BurndownChart(milestone=Sprint 1, startdate=2008-01-01)]] [[BurndownChart(milestone=Release 3.0|Sprint 1, startdate=2008-01-01, enddate=2008-01-15, weekends=false, expected=100, gridlines=20, width=600, height=100, color=0000ff)]]
HoursRemaining
Calculates remaining estimated hours for the queried tickets.
The macro accepts a comma-separated list of query parameters for the ticket selection, in the form "key=value" as specified in TracQuery#QueryLanguage. Example:
[[HoursRemaining(milestone=Sprint 1)]]
WorkloadChart
Creates workload chart for the selected tickets.
This macro creates a pie chart that shows the remaining estimated workload per ticket owner, and the remaining work days. It has the following parameters:
- a comma-separated list of query parameters for the ticket selection, in the form "key=value" as specified in TracQuery#QueryLanguage.
width
: width of resulting diagram (defaults to 400)height
: height of resulting diagram (defaults to 100)color
: color specified as 6-letter string of hexadecimal values in the formatRRGGBB
. Defaults toff9900
, a nice orange.
Examples:
[[WorkloadChart(milestone=Sprint 1)]] [[WorkloadChart(milestone=Sprint 1, width=600, height=100, color=00ff00)]]
HoursInPlaceEditor
This component allows to edit the remaining hours field directly in the custom query view as well as in the report view.
- to show the remaining hours in the custom query view, you have to enable the corresponding column
- if you want to show the remaining hours column in your SQL reports, you need to join the ticket table with the ticket_custom table, which contains the custom fields.
SELECT ... # normal SELECT statement id AS ticket, ifnull(tc.value,'') as estimatedhours, # adds the value of estimatedhours in a column that must have same name original field FROM ticket t LEFT JOIN ... # other LEFT JOIN statements (in the default Trac queries) can be left in place LEFT JOIN ticket_custom tc ON tc.ticket = t.id and tc.name = 'estimatedhours' ...
- You could change
''
to '0' to show 0 hours for tickets that don't have a corresponding estimated hours field. - Tickets may have an estimated hours field that is empty, in which case you may still see "blank"
- You could change
Recent Changes
- 17585 by rjollos on 2019-11-21 23:21:31
-
TracEstimationTools 0.6.0dev: Bump version after release
The plugin has been published to pypi:TracEstimationTools.
Fixes #13664.
- 17584 by rjollos on 2019-11-21 23:19:10
-
TracEstimationTools 0.5.0dev: Add
classifiers
metadata
Refs #13664.
- 16741 by rjollos on 2017-08-22 20:22:58
-
TracEstimationTools 0.5.0dev: Cleanup whitespace
(more)
Author/Contributors
Author: hoessler
Contributors:
Attachments (1)
-
HoursInPlaceEditor.png (4.0 KB) - added by 16 years ago.
Screenshot of HoursInPlaceEditor
Download all attachments as: .zip