Anybody integrated a 3rd party problem tracking tool to Perforce?
Brad_Appleton-GBDA001@email.mot.comBrad_Appleton-GBDA001
Brad_Appleton-GBDA001 at email.mot.comBrad_Appleton-GBDA001
Wed Oct 29 12:33:32 PST 1997
softweyr at xmission.com writes:
> No, but I've often considered developing one - a problem tracking
> partner for Perforce. Quite a good idea, isn't it? I like the
> simplicity and speed of Perforce; a problem tracking system with those
> same features would be nice to have.
>
> > Is the review daemon or the API the best solution?
>
> Depends on exactly how to want to implement your "integration." Unless
> you're writing C or Perl functions, the API is probably out of bounds,
> which leaves you with the review daemon.
Rumor has it that Problem Tracking system development/integration is
one of the top items on the "TO DO" list for PerForce Software. For
those of us that need/want such a tracking system, perhaps it would be
best if we simply let the PerForce team know our "wish list" for such
a beast. (I'll go first :-)
I would want the following in a tracking system:
* Year 2000 Compliance
* A Web interface (preferably one with dynamic capabilities rather
than strictly "static" stuff like in CGI scripts) that used existing
configuration info instead of requiring me to create and maintain
two sets of config-files for the same purpose but for different
interfaces.
* The ability to plug it into a commercial database (perhaps a standard
RDBMS or ODBMS) if so desired. A mechanism for supporting SQL or OQL
queries would be fantastic (in addition to a regular command with
various options to create and format queries/reports/metrics).
* The ability to configure/extend/integrate it at various levels:
1. at a source code API level
2. at a programming language level -- perhaps using a script-like
language to program the content and appearance of the various
forms or classes of forms. Tcl, Perl, and Python are easily
embeddable for this purpose these days, so one neednt reinvent
a whole new language (e.g. the UIL stuff used by Motif)
3. at the GUI level -- the most convenient way to compose the
content and appearances of forms (without having to learn
a scripting language). Note that I still want #2 above however
so that I have a non-GUI way of doing it, and (more importantly)
a non-interactive way of doing it that may be automated by my
own scripts which are specific to my work environment.
* The ability to define several different classes of forms, so Im not
stuck with trying to force-fit the same form for the purposes of
tracking different things like: customer call tracking, bugs/fixes,
enhancements, initial development tasks (before I have a baseline
to "enhance"), integration/building, project risks, and any other
issue or activity. Of course, there would need to be "prepackaged"
classes for the most common uses: defects, change-requests,
call-tracking. It would also be nice if there was some mechanism
for me to share/inherit things common to several classes, so I wouldnt
have to expend extra effort to create and maintain redundant info.
* The ability to define *projects*, logically distinct groupings of
records (perhaps from the same class, or for different classes)
so I can categorize/view bugs for projectA separate from projectB.
I would also need the ability to define a "project" that might cut
across several "classes". This way, I can have a single project
that contains all the defects and change-requests for the same
product (this might be a accomplished by permitting projects to
contain subprojects).
* The ability to define, not only my own fields and field values, but
also my own set of states and state transitions.
* The ability to define pre-event and post-event trigger operations for
those state transitions.
* The ability to link records together, so I can have "sibling" defects,
and even parent/child defects. This will allow me to impose a
hierarchical structure on defects and changes if I so choose. If I
do this, it would be nice if I could specify that certain operations
should happen to an entire group (perhaps closing a bug-report closes
all of its children too).
* A way to let PerForce "automagically" know which defect Im am working
on for a given checkin/checkout (perhaps in a particular directory).
This would be a good candidate to associate with a PerForce "job".
* Speaking of "jobs", that would be one of the most important things to
be able to communicate/integrate between P4 and the tracking system.
* Performance is less important to me for the tracking system, at least
for those operations which are typically interactive and dont need to
happen faster than human hand/eye coordination can accommodate. The
most important areas for "speed" would be:
- performing a query/sort of records
- performing an operation which involves communication
between P4 and the tracking system (modulo any triggers
I might impose myself of course). For example, I might
want checkins/checkouts/merges to be logged in the defect
record somehow.
* The ability to associate "attachments" with a record. This would
be more than just any old multi-line text field or text file. I
might have an MS-Word document or Excel Spreadsheet or some other
NON-plaintext document or datafile. Just like the good "email"
programs and WWW browsers, I could set-up which programs or
"plug-ins" to use for viewing/creating/editing various kinds of
attachments. I dont know if MIME format would be necessary here,
but certainly P4 is already capable of storing such attachments
That said, my choice for programming such a tracking system would
probably be Java. It has a well-defined JDBC database standard, a
standard interface for calling C/C++ code (and soon Tcl, or so I
hear), dynamic internet content, WWW access, and portability (yeah -
we all know its not quite as portable across different window systems
as is hyped - instead of "write once, run anywhere" its really more
like "write once, debug everywhere" :-)
Cheers!
- --
Brad Appleton <bradapp at enteract.com> | http://www.enteract.com/~bradapp/
"And miles to go before I sleep." | 3500+ WWW links on CS & Sw-Eng
More information about the perforce-user
mailing list