====== Time Tracking ====== ===== Introduction ===== This is currently a work in progress. It will be updated as and when I get time or the checked in code's functionally changes. * on the bugtracker: [[http://www.mantisbt.org/bugs/view.php?id=4428|issue 4428]]. ===== Configuration Options ===== * $g_time_tracking_enabled - Turns Time Tracking features ON or OFF - Default 'OFF' * $g_time_tracking_without_note - Allow time tracking to be recorded without writing some text in the associated bugnote - Default 'ON' * $g_time_tracking_with_billing - Adds calculation links to workout how much time has been spent between a particular time frame. Currently it will allow you to enter a cost/hour and will work out some billing information. This will become more extensive in the future. Currently it is more of a proof of concept. * $g_time_tracking_stopwatch - Instead of a text field turning this option on places a stopwatch on the page with "Start/Stop" and "Reset" buttons next to it. You must have $g_use_javascript switched on for this to take effect. A bit gimickie, but who cares. * $g_time_tracking_view_threshold - Access level required to view time tracking information - Default ''DEVELOPER''. * $g_time_tracking_edit_threshold - Access level required to add/edit time tracking information - Default ''DEVELOPER''. * $g_time_tracking_reporting_threshold - Access level required to run reports (not completed yet) - Default ''MANAGER''. If you give a user ''g_time_tracking_edit_threshold'' you must give them ''g_time_tracking_view_threshold'' aswell. ===== Database Changes ===== The time tracking information is attached to issue notes. Currently it is using an INT column type to hold the number of minutes. ''admin/schema.php'' has an update to add this column to the database. ALTER TABLE mantis_bugnote_table ADD COLUMN time_tracking TIME DEFAULT 0; In previous versions the time_tracking column was held as a MySQL TIME column type. If you are using a CVS version and would like to upgrade to using the INT column, then the following SQL will help you convert the information to the new column type. ALTER TABLE mantis_bugnote_table ADD COLUMN time_tracking_t int default 0; UPDATE bugnote_table SET time_tracking_t = (HOUR(time_tracking)*60) + (MINUTE(time_tracking)) + IF(SECOND(time_tracking)>30,1,0); ALTER TABLE mantis_bugnote_table DROP COLUMN time_tracking; ALTER TABLE mantis_bugnote_table CHANGE time_tracking_t time_tracking INT DEFAULT 0; ===== Feedback ===== Thanks for implementing these functions in mantis. Moreover a field for the estimated time would be very helpful - and of course a field for the remaining time would than make sense. This picture http://www.mantisbt.org/bugs/file_download.php?file_id=740&type=bug shows a nice implementation for that. Please write your feedback here.