]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Added a page which describes all the components in a product.
authorterry%netscape.com <>
Fri, 5 Feb 1999 01:13:51 +0000 (01:13 +0000)
committerterry%netscape.com <>
Fri, 5 Feb 1999 01:13:51 +0000 (01:13 +0000)
CHANGES
bug_form.pl
describecomponents.cgi [new file with mode: 0755]
enter_bug.cgi
makecomponenttable.sh
query.cgi

diff --git a/CHANGES b/CHANGES
index 3c2ec1307430fa247f54464caae18ed701f80879..72b7ae8987b81c3346870422242a140f7eee3aee 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -10,6 +10,13 @@ query the CVS tree.  For example,
 will tell you what has been changed in the last week.
 
 
+2/4/99 Added a new column "description" to the components table, and added 
+links to a new page which will use this to describe the components of a 
+given product.  Feed this to MySQL:
+
+       alter table components add column description mediumtext not null;
+
+
 2/3/99 Added a new column "initialqacontact" to the components table that gives
 an initial QA contact field.  It may be empty if you wish the initial qa
 contact to be empty.  If you're not using the QA contact field, you don't need
index 0adcaac1ceddc31851d61d9c78f810578d949da5..d56d6b42a0be742c4040ce622bb47082b4e42cb6 100644 (file)
@@ -138,7 +138,8 @@ print "
       <TD>$bug{'resolution'}</TD>
     <TD ALIGN=RIGHT><B><A HREF=\"bug_status.html#severity\">Severity:</A></B></TD>
       <TD><SELECT NAME=bug_severity>$sev_popup</SELECT></TD>
-    <TD ALIGN=RIGHT><B>Component:</B></TD>
+    <TD ALIGN=RIGHT><B><A HREF=\"describecomponents.cgi?product=" .
+    url_quote($bug{'product'}) . "\">Component:</A></B></TD>
       <TD><SELECT NAME=component>$component_popup</SELECT></TD>
   </TR><TR>
     <TD ALIGN=RIGHT><B><A HREF=\"bug_status.html#assigned_to\">Assigned&nbsp;To:
diff --git a/describecomponents.cgi b/describecomponents.cgi
new file mode 100755 (executable)
index 0000000..bce7577
--- /dev/null
@@ -0,0 +1,96 @@
+#!/usr/bonsaitools/bin/perl -w
+# -*- Mode: perl; indent-tabs-mode: nil -*-
+#
+# The contents of this file are subject to the Mozilla Public License
+# Version 1.0 (the "License"); you may not use this file except in
+# compliance with the License. You may obtain a copy of the License at
+# http://www.mozilla.org/MPL/
+# 
+# Software distributed under the License is distributed on an "AS IS"
+# basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
+# License for the specific language governing rights and limitations
+# under the License.
+# 
+# The Original Code is the Bugzilla Bug Tracking System.
+# 
+# The Initial Developer of the Original Code is Netscape Communications
+# Corporation. Portions created by Netscape are Copyright (C) 1998
+# Netscape Communications Corporation. All Rights Reserved.
+# 
+# Contributor(s): Terry Weissman <terry@mozilla.org>
+
+use vars %::FORM;
+
+use diagnostics;
+use strict;
+
+require "CGI.pl";
+
+ConnectToDatabase();
+GetVersionTable();
+
+print "Content-type: text/html\n\n";
+
+my $product = $::FORM{'product'};
+if (!defined $product || lsearch(\@::legal_product, $product) < 0) {
+
+    PutHeader("Bugzilla component description");
+    print "
+<FORM>
+Please specify the product whose components you want described.
+<P>
+Product: <SELECT NAME=product>
+";
+    print make_options(\@::legal_product);
+    print "
+</SELECT>
+<P>
+<INPUT TYPE=\"submit\" VALUE=\"Submit\">
+</FORM>
+";
+    exit;
+}
+
+
+PutHeader("Bugzilla component description", "Bugzilla component description",
+          $product);
+
+print "
+<TABLE>
+<tr>
+<th align=left>Component</th>
+<th align=left>Default owner</th>
+";
+
+my $useqacontact = Param("useqacontact");
+
+my $cols = 2;
+if ($useqacontact) {
+    print "<th align=left>Default qa contact</th>";
+    $cols++;
+}
+
+my $colbut1 = $cols - 1;
+
+print "</tr>";
+
+SendSQL("select value, initialowner, initialqacontact, description from components where program = " . SqlQuote($product));
+
+while (MoreSQLData()) {
+    my @row = FetchSQLData();
+    my ($component, $initialowner, $initialqacontact, $description) = (@row);
+
+    print qq|
+<tr><td colspan=$cols><hr></td></tr>
+<tr><td rowspan=2>$component</td>
+<td><a href="mailto:$initialowner">$initialowner</a></td>
+|;
+    if ($useqacontact) {
+        print qq|
+<td><a href="mailto:$initialqacontact">$initialqacontact</a></td>
+|;
+    }
+    print "</tr><tr><td colspan=$colbut1>$description</td></tr>\n";
+}
+
+print "<tr><td colspan=$cols><hr></td></tr></table>\n";
index 605890556e6e36b8c4b1dc8028d1fbf0b8f3b349..9b365152263f98b450d9c4ee380007b4c236547f 100755 (executable)
@@ -183,7 +183,8 @@ print "
   <TR>
     <td ALIGN=right valign=top><B>Version:</B></td>
     <td>" . Version_element(pickversion(), $product) . "</td>
-    <td align=right valign=top><b>Component:</b></td>
+    <td align=right valign=top><b><a href=\"describecomponents.cgi?product=" .
+    url_quote($product) . "\">Component:</b></td>
     <td>$component_popup</td>
   </TR>
   <tr><td>&nbsp<td> <td> <td> <td> <td> </tr>
index 1bedbd7d03580294d2ca63c3de1010927717c53f..46d4936bf8ee50997e1fa24c6bb9e7eb25419fcb 100755 (executable)
@@ -31,7 +31,8 @@ create table components (
 value tinytext,
 program tinytext,
 initialowner tinytext not null,        # Should arguably be a mediumint!
-initialqacontact tinytext not null # Should arguably be a mediumint!
+initialqacontact tinytext not null, # Should arguably be a mediumint!
+description mediumtext not null
 );
 
 
@@ -60,14 +61,14 @@ insert into components (value, program, initialowner, initialqacontact) values (
 insert into components (value, program, initialowner, initialqacontact) values ("LDAP Tools", "Directory", "chuckb@netscape.com", "");
 
 
-insert into components (value, program, initialowner, initialqacontact) values ("Networking", "MailNews", "mscott@netscape.com", "lchiang@netscape.com");
-insert into components (value, program, initialowner, initialqacontact) values ("Database", "MailNews", "davidmc@netscape.com", "lchiang@netscape.com");
-insert into components (value, program, initialowner, initialqacontact) values ("MIME", "MailNews", "rhp@netscape.com", "lchiang@netscape.com");
-insert into components (value, program, initialowner, initialqacontact) values ("Security", "MailNews", "jefft@netscape.com", "lchiang@netscape.com");
-insert into components (value, program, initialowner, initialqacontact) values ("Composition", "MailNews", "ducarroz@netscape.com", "lchiang@netscape.com");
-insert into components (value, program, initialowner, initialqacontact) values ("Address Book", "MailNews", "putterman@netscape.com", "lchiang@netscape.com");
-insert into components (value, program, initialowner, initialqacontact) values ("Front End", "MailNews", "phil@netscape.com", "lchiang@netscape.com");
-insert into components (value, program, initialowner, initialqacontact) values ("Back End", "MailNews", "phil@netscape.com", "lchiang@netscape.com");
+insert into components (value, program, initialowner, initialqacontact, description) values ("Networking", "MailNews", "mscott@netscape.com", "lchiang@netscape.com", "Integration with libnet, protocol support for POP3, IMAP4, SMTP, NNTP and LDAP");
+insert into components (value, program, initialowner, initialqacontact, description) values ("Database", "MailNews", "davidmc@netscape.com", "lchiang@netscape.com", "Persistent storage of address books and mail/news summary files");
+insert into components (value, program, initialowner, initialqacontact, description) values ("MIME", "MailNews", "rhp@netscape.com", "lchiang@netscape.com", "Parsing the MIME structure");
+insert into components (value, program, initialowner, initialqacontact, description) values ("Security", "MailNews", "jefft@netscape.com", "lchiang@netscape.com", "SSL, S/MIME for mail");
+insert into components (value, program, initialowner, initialqacontact, description) values ("Composition", "MailNews", "ducarroz@netscape.com", "lchiang@netscape.com", "Front-end and back-end of message composition and sending");
+insert into components (value, program, initialowner, initialqacontact, description) values ("Address Book", "MailNews", "putterman@netscape.com", "lchiang@netscape.com", "Names, email addresses, phone numbers, etc.");
+insert into components (value, program, initialowner, initialqacontact, description) values ("Front End", "MailNews", "phil@netscape.com", "lchiang@netscape.com", "Three pane view, sidebar contents, toolbars, dialogs, etc.");
+insert into components (value, program, initialowner, initialqacontact, description) values ("Back End", "MailNews", "phil@netscape.com", "lchiang@netscape.com", "RDF data sources and application logic for local mail, news, IMAP and LDAP");
 insert into components (value, program, initialowner, initialqacontact) values ("Internationalization", "MailNews", "nhotta@netscape.com", "momoi@netscape.com");
 insert into components (value, program, initialowner, initialqacontact) values ("Localization", "MailNews", "rchen@netscape.com", "momoi@netscape.com");
 
@@ -156,12 +157,12 @@ insert into components (value, program, initialowner, initialqacontact) values (
 insert into components (value, program, initialowner, initialqacontact) values ("Localization", "NGLayout", "rchen@netscape.com", "teruko@netscape.com");
 
 
-insert into components (value, program, initialowner, initialqacontact) values ("Bonsai", "Webtools", "terry@mozilla.org", "");
-insert into components (value, program, initialowner, initialqacontact) values ("Bugzilla", "Webtools", "terry@mozilla.org", "");
-insert into components (value, program, initialowner, initialqacontact) values ("Despot", "Webtools", "terry@mozilla.org", "");
-insert into components (value, program, initialowner, initialqacontact) values ("LXR", "Webtools", "endico@mozilla.org", "");
-insert into components (value, program, initialowner, initialqacontact) values ("Mozbot", "Webtools", "terry@netscape.com", "");
-insert into components (value, program, initialowner, initialqacontact) values ("Tinderbox", "Webtools", "terry@mozilla.org", "");
+insert into components (value, program, initialowner, initialqacontact, description) values ("Bonsai", "Webtools", "terry@mozilla.org", "", 'Web based <a href="http://www.mozilla.org/bonsai.html">Tree control system</a> for watching the up-to-the-minute goings-on in a CVS repository');
+insert into components (value, program, initialowner, initialqacontact, description) values ("Bugzilla", "Webtools", "terry@mozilla.org", "", "Use this component to report bugs in the bug system itself");
+insert into components (value, program, initialowner, initialqacontact, description) values ("Despot", "Webtools", "terry@mozilla.org", "", "mozilla.org's <a href=http://cvs-mirror.mozilla.org/webtools/despot.cgi>account management</a> system");
+insert into components (value, program, initialowner, initialqacontact, description) values ("LXR", "Webtools", "endico@mozilla.org", "", 'Source code <a href="http://cvs-mirror.mozilla.org/webtools/lxr/">cross reference</a> system');
+insert into components (value, program, initialowner, initialqacontact, description) values ("Mozbot", "Webtools", "terry@mozilla.org", "", 'IRC robot that watches tinderbox and other things');
+insert into components (value, program, initialowner, initialqacontact, description) values ("Tinderbox", "Webtools", "terry@mozilla.org", "", 'Tree-watching system to monitor <a href="http://www.mozilla.org/tinderbox.html">continuous builds</a> that we run on multiple platforms.');
 
 
 select * from components;
index c417802cd121049a641793c8a6d0e019bab275cc..f782bd5c106176a89efb7c9ebc1f56895ef92135 100755 (executable)
--- a/query.cgi
+++ b/query.cgi
@@ -259,7 +259,7 @@ $emailinput2<p>
 <tr>
 <TH ALIGN=LEFT VALIGN=BOTTOM>Program:</th>
 <TH ALIGN=LEFT VALIGN=BOTTOM>Version:</th>
-<TH ALIGN=LEFT VALIGN=BOTTOM>Component:</th>
+<TH ALIGN=LEFT VALIGN=BOTTOM><A HREF=describecomponents.cgi>Component:<a></th>
 ";
 
 if (Param("usetargetmilestone")) {