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
-
Download:
Source
|
File:
|
TimeTrack.tar.gz
|
Size:
|
9077 bytes
|
MD5 Checksum:
|
396964d188d757627f58f8dd414f121e
|
Last updated:
|
Oct-24-2001
|
-
gunzip < TimeTrack.tar.gz | tar xvf -
cd TimeTrack
- Check the first line to make sure it points to the correct path of
Perl.
- Copy
TimeTrack.pl
to the directory configured to run CGI
programs.
- 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 removed directory 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:
|
Fig-1: main form
|
|
Fig-2: Create project form
|
|
Fig-4: New Session of a project
|
|
Fig-3: Editing a project
|
|
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
|