2000-06-22 08:17:19 +04:00
|
|
|
|
|
|
|
highly configurable design with multiple Version Control systems
|
|
|
|
possible (bonsai, raw cvs, perforce, continuious, clearcase) and
|
|
|
|
multiple modes of running possible (with no version control system
|
|
|
|
with no builds display).
|
|
|
|
|
|
|
|
clear programatic interfaces and better separation of functionality
|
|
|
|
into separate modules.
|
|
|
|
|
|
|
|
It should be possible to add hooks so that users get beeped when the
|
|
|
|
next good build goes through or that trouble tickets are automatically
|
|
|
|
opened when the builds fail.
|
|
|
|
|
|
|
|
Greater flexibility in setting status of builds. We may need more
|
|
|
|
gradations of failure then just 'busted' or 'test-failed' to
|
|
|
|
distinguish the types of tests which have failed.
|
|
|
|
|
|
|
|
It should be possible to watch projects milestone progress via
|
|
|
|
tinderbox. Each milestone could be recoreded as a column which tests
|
|
|
|
for the features in the milestone. When milestones are hit the column
|
|
|
|
turns green. The project is over when all columns turn green.
|
|
|
|
|
|
|
|
generated html must be readable and help isolate programming errors.
|
|
|
|
|
|
|
|
all programmable configuration parameters should be stored easy change
|
|
|
|
and configure for novice users.
|
|
|
|
|
|
|
|
make better use of the perl data structures to mirror the way we wish
|
|
|
|
to use the data. This will allow easier maintainabilty and allow for
|
|
|
|
more expansion of features.
|
|
|
|
|
|
|
|
popup windows should not be netscape specific.
|
|
|
|
|
|
|
|
Permanent data should be stored via datadumper so that the data and
|
|
|
|
datastrucutres are easy to read and debug. Currently this is a
|
|
|
|
performance bottle neck with a large percentage of our cpu time during
|
|
|
|
testing being spent in Data::Dumper::Dump. I expect this to improve
|
|
|
|
when we install the newest version of perl. The perl module Storable
|
|
|
|
is rumored to be much faster. I wish to not add additional module
|
|
|
|
requirements at this time this will be configurable.
|
|
|
|
|
|
|
|
# dprofpp says that:
|
|
|
|
# %64.8 of elapsed real time which is 66.25 seconds
|
|
|
|
# (out of 102.15 Seconds)
|
|
|
|
# was spent in 3 calls to TinderDB::VC::apply_db_updates()
|
|
|
|
|
|
|
|
# %58.0 of user time which is 11.05 seconds
|
|
|
|
# (out of 19.03 User/102.15 Elapsed Seconds)
|
|
|
|
# was spend in 32878 calls to Data::Dumper::_dump()
|
|
|
|
|
|
|
|
# System Time was negligable at 2.49 Seconds
|
|
|
|
|
|
|
|
All errors should be trapped and sent to log files. Strange program
|
|
|
|
states should be explicitly checked for.
|
|
|
|
|
|
|
|
Databases should update atomically, no information should be lost due
|
|
|
|
to race conditions.
|
|
|
|
|
|
|
|
All modules (processmail, build, VC, Notices) should be able to be run
|
|
|
|
individually. Modules should accept well defined text files as input
|
|
|
|
and produce text files as output. This will greatly inhance the
|
|
|
|
ability to test each module in isolation and to quickly port modules
|
|
|
|
to new architectures.
|
|
|
|
|
|
|
|
The source code should be able to run using the standard Perl
|
|
|
|
libraries, as it can be difficult for some users to add libraries onto
|
|
|
|
production machines.
|
|
|
|
|
2000-08-11 04:27:27 +04:00
|
|
|
Put CVS keywords into all the source files so that when the software
|
|
|
|
is deployed, there is no doubt what version was checked out and where
|
|
|
|
the files are stored in the local version control system.
|