= Timing and Estimation Plugin = == Important Links == ''' [https://sekhmet.acceleration.net/ADW/TestForTimingAndEstimation Demo Site] | [TimeEstimationUserManual User Manual] | [report:9?COMPONENT=TimingAndEstimationPlugin Open Tickets] | [http://trac-hacks.org/newticket?component=TimingAndEstimationPlugin&owner=bobbysmith007 new ticket] ''' [[TOC]] == Description == This is a plugin that adds (aspires to add) estimation and time tracking to Trac. This basically adds !CustomFields and !CustomReports and an interface for filling the dynamic variables for the report. (requires javascript). '''Because we are using ITicketChangeListener this plugin is only compatible with Trac >= .10''' == Supported Versions == Currently this has been tested on Python >=2.4 (it will not run on 2.3 because I am using generator expressions in a few places). and Trac .10dev with sqlite >= 3.2.3 backend. This plugin should also support mysql and postgresql DB backends. * ''Genshi is supported in the Trac 0.11 branch of this plugin. However, you must upgrade to genshi head (instead of the version trac11 installs by default).'' * ''Clearsilver is a requirement for running the Trac 0.10 version of this plugin .'' * '''Because we are using ITicketChangeListener this plugin is only compatable with Trac >= .10''' * if you wish to use Trac < .10, I suggest checking out: http://trac.edgewall.org/wiki/TimeTracking == Getting the Plugin == Download the source using Svn at: * [http://trac-hacks.org/svn/timingandestimationplugin/branches/trac0.10 SVN Trac0.10 branch] * [http://trac-hacks.org/svn/timingandestimationplugin/branches/trac0.11 SVN Trac0.11 branch] Download the zipped source : * [download:timingandestimationplugin/branches/trac0.10 Zipped source for plugin for Trac0.10]. * [download:timingandestimationplugin/branches/trac0.11 Zipped source for plugin for Trac0.11]. {{{ When downloading these files the extention is lost, or the filename corrupted. a simple rename to filename.zip seems to resolve it the contents are intact }}} Browse the source using Trac: * [source:timingandestimationplugin/branches/trac0.10 Version of this plugin for Trac0.10]. * [source:timingandestimationplugin/branches/trac0.11 Version of this plugin for Trac0.11]. In the repository there is a [browser:timingandestimationplugin/scripts scripts folder] that contains some various python files that I have written to perform billing queries across an entire directory of tracs and email the results to a specified address. As is these are written to work in my setup and some paths at the top of each file will probably need to be changed. These are mostly included because I wrote them for myself and thought others might want to perform similar tasks. (See: [wiki:TimingAndEstimationScriptHelp script help]) == Documents == * [TimeEstimationAndQuotingSpecification Initial Plugin Specification] * [TimeEstimationUserManual User Manual] * [wiki:TimingAndEstimationSVNPostCommitHook SVN Post-Commit-Hook] Clock time and make comments from your svn commit message * ''' [browser:timingandestimationplugin/branches/trac0.10/scripts/trac-post-commit.py This plugin's version of the post-commit-hook for trac 10] ''' * ''' [browser:timingandestimationplugin/branches/trac0.11/scripts/trac-post-commit.py This plugin's version of the post-commit-hook for trac 11] ''' * [TimeEstimationAndQuotingNewFeaturesSpecification New Features Specification ] == Installation Help == 1. Install the plugin (either for a single project, or globally). See the details on how to install a trac plugin at: [trac:TracPlugins] * '''No Really, GO READ [trac:TracPlugins]''' 1. Be sure that the plugin is enabled. Add "timingandestimationplugin.* = enabled" to trac.ini (in the [components] subheading). * Alternatively, this can be enabled in the Web Admin section of the website as well 1. Run `$ trac-admin /path/to/projenv upgrade` * You should get a message like this: {{{ Timing and Estimation needs an upgrade Upgrading Database Creating bill_date table Creating report_version table Upgrading fields Upgrading reports Upgrading usermanual Done Upgrading Upgrade done. }}} 1. Reload/restart your HTTPD / other webserver / Tracd. That's it. == Post Installation Configuration Options == By default, the TimingAndEstimationPlugin's four components will all be active. However, you can disable some of the components if you want to. (The easiest way to do this is to ensure you have the trac:WebAdmin plugin installed.) The plugin's components are: 1. !TimeTrackingSetupParticipant * Required component. 1. !TimeTrackingTicketObserver * Ensures that the "Total Hours" values are updated when a user edits a ticket's "Add Hours to Ticket" field. You would not normally want to disable this component. 1. !TicketWebUiAddon 1. !TimingEstimationAndBillingPage == Bugs/Feature Requests == Existing bugs and feature requests for TimingAndEstimationPlugin are [report:9?COMPONENT=TimingAndEstimationPlugin here]. If you have any issues, create a [http://trac-hacks.org/newticket?component=TimingAndEstimationPlugin&owner=bobbysmith007 new ticket]. == Uninstall Help == There is not a lot here, but ticket:995 is the best source of information for people uninstalling the plugin. == Related Plugins == * The ScrumBurndownPlugin makes use of this plugin to provide a javascripted daily burndown chart, useful in the agile development methodology known as Scrum. * ScrumPlugin - a Radical reworking of the ScrumBurndownPlugin and TimingAndEstimationPlugin. * WorkLogPlugin gives an interface that allows you to record time in a work log type format (start and stop tasks) * TracSlimTimerPlugin - Trac and SlimTimer integration * TimeVisualizerPlugin the same as ScrumBurndownPlugin expect is much more flexible and doesn't change db in any way (just reads history data provided by TimingAndEstimationPlugin & Trac itself). For details see [browser:timevisualizerplugin/0.10/doc/InitialDesignGoals InitialDesignGoals]. === Interacting with T&E === If you want a plugin that you are writing to add reports to the management page, there is a file, [browser:timingandestimationplugin/branches/trac0.10/timingandestimationplugin/reportmanager.py reportmanager.py], that should make interacting with its reports easier. == Recent Changes == ,, '''[TimingAndEstimationFullChangeLog Full Change Log]''' [[ChangeLog(timingandestimationplugin, 4)]] ,, == Author/Contributors == '''Author:''' [wiki:bobbysmith007] [[BR]] '''Contributors:''' * Alessio Massaro * trac-hacks wiki:masariello * Helped Get Reports working in postgres and started moving toward generic work rather than hours * kkurzweil@lulu.com * helped postegresql db backend compatiblity * Jonas Borgstrom : http://trac.edgewall.org/wiki/JonasBorgstrom * made it so that base_url was unnecessary * [wiki:coling Colin Guthrie] * Refactored custom reports stuff into a single class/module that can be copied to other plugins, to make interaction with T&E easier. * David Abrahams * Trac.11 - Stream filters to prettify the Reports Screen and make TotalHours not editable