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.

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.

 
Logged in as: anonymous
mantisbt/issue/4428.txt · Last modified: 2014/05/18 01:12 by lakshmipriya