(mm) Perl CGI for keeping track of your projects.
Home | Software | Count
Software:
GWT
  GWTOAuthLogin
X/Motif
  ansi xterm
  grabc
  mdgclock
  miv
  mplaymidi
  mppp
  mxascii
  mcmap
  mxcmap
  mxconsole
  mxkill
  mxshowfont
  qtip
  xmastm
  yrolo
Web
  mhttpd
  web counter
  upload.pl
  TimeTrack.pl
  mod_auth_ldap
Games
  fltkmm
  iphonemm
Java
   cdcl
   cdclgwt
   jdgclock
Libraries
  libcalen
  libmcfg
  libsll
  libmsock
Misc
  bangla font
  dpr
  genmake
  hod
  smtp.pl
  vhtml
  phones_ldap
  showpic_ldap
  mbasecalc
  fluid_hack
  kdialppp
  strip2csv
  googlecode-upload
MS Windows
  mwinclip.pl
  mbasecalc
  mailsend
  wiv
TimeTrack.pl
(For Unix/Linux/NT)
Keep Track of your personal projects

Introduction

TimeTrack.pl is a simple CGI script in Perl for keeping track of your personal projects. I wrote it in an afternoon for my own need. It works just fine for my need but it may not be fool-proof. It's not designed for multiple users (doesn't do locking etc.). It doesn't have any security built-in either. If you put it in a public server, at least make sure the cgi directory is password protected.

How to use

  1. Download:
    Source
    File: TimeTrack.tar.gz
    Size: 9077 bytes
    MD5 Checksum: 396964d188d757627f58f8dd414f121e
    Last updated: Oct-24-2001

  2. gunzip < TimeTrack.tar.gz | tar xvf -
    cd TimeTrack

  3. Check the first line to make sure it points to the correct path of Perl.

  4. Copy TimeTrack.pl to the directory configured to run CGI programs.

  5. Run the script by accessing the URL e.g. http:://your_server/cgi-bin/TimeTrack.pl with your browser.

Description

By default, the program creates a directory structure like below in the current working directory. Change $project_dir variable if you want.


   TimeTrack/
   |-- Project1/
   |   `-- Project1.dat
   `-- Project2/
   |   `-- Project2.dat
   `-- Foo/
   |   `--Foo.dat
   `-- removed/
       `--project1_unix_epoch_secs
       `--...

The format of the datafile shown below:
  • Comment starts with #
  • _rate_=number tells the rate in $ per hour
  • The data starts with _data_ in a new line and the data follows:
    DATE<tab>Start Time<tab>End Time<tab>Description <br> Note: <tab> is the tab character.

Example of project data file:


_rate_=100.00
_data_
8/15/2001<tab>9:30 PM<tab>10:15PM<tab>Fixed some bugs. blah blah
8/16/2001<tab>10:30 PM<tab>11:15PM<tab>Added feature foo. blah blah

When you remove a project, it actually doesn't remove it. It moves the project datafile to the removeddirectory and renames the data file as Project_time_in_seconds. Note: there's no way to permanently remove a project from the interface.

Screen-shots
Various screen-shots of the components are shown below:

mainform.png
Fig-1: main form

create_proj.png
Fig-2: Create project form

new_sess.png
Fig-4: New Session of a project

edit_proj.png
Fig-3: Editing a project

restore_proj.png
Fig-4: Restore a project

A sample report is shown below:

TestProject Project - work Hours
Date Description From To Hours
8/17/2001 Got password from xxx. Found the changes in the upload form. Modified script. Uploading seem to work fine now. 9:30 PM 10:30 PM 1.00
8/18/2001 Site visit to xxxxxx.com. Modified putfiles.pl script. But could not verify upload due to extreme slowness of the e-commerce site https://xxxxxx/ 2:00 PM 4:18 PM 2.30
8/25/2001 Added -start tag option with getfiles.pl so that files start with that tag can be fetched. 10:49 PM 11:30 PM 0.68
8/26/2001 Added -files option with getfiles.pl. Cleanup of -start option. 12:40 PM 1:45 PM 1.08
8/26/2001 Added -list option with getfiles.pl. It'll be helpful to list files before fetching. 8:10 PM 8:30 PM 0.33
8/26/2001 Worked on showing progress status on uploading with putfiles.pl. 9:30 PM 10:00 PM 0.50
8/27/2001 First cut of showing upload status progress. Works beautifully now. Progress will be shown only if the program is ran from command line. 8:15 PM 9:13 PM 0.97
8/29/2001 Modified logging syntax of putfiles.pl. Wrote some part of log analysis CGI program logwatch.pl 9:00 PM 10:30 PM 1.50
9/01/2001 Added error logging in all situations for putfiles.pl. More work on logwatch.pl. More testing of the scripts. 9:30 PM 10:30 PM 1.00
9/03/2001 Site visit to XXX. Installed the programs. Seems to work fine. 2:00 PM 3:30 PM 1.50
9/08/2001 Added option to show logs for today and this month with logwatch.pl CGI. 10:00 AM 10:30 AM 0.50
9/08/2001 Changed upload.log format. putfiles.pl is changed to write the new log format. The format keeps start and end time as epoch seconds instead of date, it keeps parsing logs faster. modified logwatch.pl to understand the new log format. Added routines epchToDate() and dateToEpoch() with Mutils.pm. Wrote a tiny script o2new.pl to convert old log file to new format. 1:30 PM 2:45 PM 1.25
9/9/2001 Added form to logwatch.pl so that log of any month and year can be selected and displayed. 10:30 AM 11:00 AM 0.50
9/14/2001 Site visit to XXX. Install new version of putfiles.pl, Mutils.pm and logwatch.pl 10:30 AM 11:15 AM 0.75
Total Hours 13.86
Total amount @150.00/Hr $ 2079.00

Copyright
Freeware. Do whatever you like with it. It would be nice but not required if you give me the credit for it.

THIS PROGRAM IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY. THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL THE AUTHOR Muhammad A. Muquit BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.


If you use this script, Please let me know. Bug report/suggestions always welcome!

ChangeLog

  • If thre were no projects, session editing was still possible.
    (Oct-24-2001)

  • First cut released on Oct-23-2001

URL of this page: http://www.muquit.com/muquit/software/TimeTrack_pl/TimeTrack_pl.html

back Page updated: Sun Mar 31 01:59:56 2013 GMT   Copyright © 2013 muquit@muquit.com.