if you want to use another field than estimatedhours, (e.g, hours_remaining), specify it here:

[estimation-tools]
estimation_field = hours_remaining

and, finally, enable the plugin

[components]
estimationtools.* = enabled

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,
or duedate, or today (in that order) (ISO8601 format)

closedstates: Set to aseparated list of workflow states that count as "closed", where the effort will be treated as zero,

e.g. closedstates=closed|another_state. Defaults to closed.

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 format RRGGBB.
Defaults to ff9900, a nice orange.

HoursInPlaceEditor

This component allows to edit the remaining hours field directly in the query view.

Tips

Customising Queries

If you want to show the remaining hours column in your SQL queries, you need to join the ticket table with the ticket_custom table, which contains the custom fields. However, please note that the HoursInPlaceEditor won't work with these reports, but only with "costum queries".

SELECT
... # normal SELECT statement
id AS ticket,
ifnull(tc.value,'') as Hrs, # adds the value of estimatedhours in a column called Hrs, using '' if it doesn't exist.
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 Hrs to 'Remaining Hours' to modify the column name.

You could change '' to '0' to show 0 hours for tickets that don't have a corresponding estimatedhours field.

Tickets may have an estimated hours field that is empty, in which case you may still see "blank"