|
SqlDBU in action: Simple Bug Tracking System
Project development by worldwide spreaded teams has been successfully established in the last couple of years. The internet made it happen. Types of such projects differ from Web Sites, Programming Languages until complete Operating Systems. Typical samples are the well known "LAMP Projects" (Linux, Apache, MySQL and PHP).
For the success of such a project communication between team members is crucial, especially for quality ensuring based on a simple and efficient bug tracking system. More detailed information about bug tracking can be found between other valuable information at following excellent website:
http://www.joelonsoftware.com/articles/fog0000000029.html
Requirements
The essential of the mentioned contribution is the necessity of a well designed bug tracking database as the foundation for team member's communication. Bugs should be collected, categorized and complemented by additional information about how to reproduce the problem and finally assigned to the appropriate developer.
This is where SqlDBU hooks in. As a typical CGI application SqlDBU is the tool of choice because it offers an easy way of server based communication via table "bug". Every team member can reach the database from any internet connected workstation in the world just by typing the appropriate URL into the browser. Setup file sqldbu.ini contains following pre defined capabilities
for bug tracking:
-
Input forms for collecting all bug relevant information
-
Relation into table "solution" for describing different solution options for a problem.
-
Relation into table "admin" containing all team members.
-
Option for uploading/downloading files describing the problem (code samples, screen shots etc).
-
Automatic generation of emails to appropriate team members when the bug has been inserted into the table and every time the bug status has been changed.
-
Automatic update of information like last change and person who changed the entry.
Last two options are implemented by so called Change Events, which can be defined at table or column level:
Sample:
[BUG]
...
ONCHANGE=UPDATE BUG SET CHANGED=UNIX_TIMESTAMP() WHERE BUG=-BUG-;\
UPDATE BUG SET ADMIN=-USER.USER- WHERE BUG=-BUG-;
ONAPPEND=UPDATE BUG SET FOUND_DATE=UNIX_TIMESTAMP() WHERE BUG=-BUG-;\
UPDATE BUG SET FOUND_BY=-USER.USER- WHERE BUG=-BUG-;
-
ONCHANGE=... defines one or more SQL statements executed whenever a column of that table has been changed.
-
ONAPPEND=... defines one or more SQL statements executed whenever a new record has been inserted into that table.
Notification emails can be defined at table and column levels as well. The appropriate setup entry is EMAILONCHANGE=.... The following entry generates an email whenever the status changes:
[BUG.STATUS]
...
EMAILONCHANGE=BUGNOTIFY
Value BUGNOTIFY points to a dedicated section containing all necessary
information for that email:
[BUGNOTIFY]
MAILSERVER=mailx.mydoamin.com
FROMADDRESS=admin@mydomain.com
FROMNAME=Administrator
CAPTION=Development Notification (Issue #-BUG.BUG-)
TO=<!---(SELECT EMAIL FROM admin WHERE user=-BUG.FOUND_BY-)--->
CC=admin@mydomain.com
MAILBODY=Entry for issue #-BUG.BUG- (-BUG.CAPTION-) has been changed.
Note: Simple Bug Tracking System is implemented at this Website in order to keep track of SqlDBU bugs. Click here to see, how it works.
Back
|