Closed Bug 424144 Opened 16 years ago Closed 16 years ago

Display 'Depends On' and 'Blocked' columns in query

Categories

(Bugzilla :: Query/Bug List, enhancement)

enhancement
Not set
normal

Tracking

()

RESOLVED DUPLICATE of bug 102048

People

(Reporter: jack.pond, Unassigned)

References

()

Details

Attachments

(1 file)

User-Agent:       Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; InfoPath.1; MS-RTC LM 8; .NET CLR 3.0.04506.648)
Build Identifier: 

Several users requested that we show dependencies between bugs as part of the query and/or reports.  I've patched the local system, but thought it might bear consideration as a product enhancement.  To do this, two modifications are required:
1. buglist.cgi (add two columns and populate those columns on every bug)
2. colchange.cgi (add dependson and blocked to masterlist)

For consideration:

This enhancement could have some significant downside performance and I'm not sure how often the dependency features are used.  The existing dependency code  (in Bug.pm) has several somewhat sophisticated checks for user accessibility (checks should the person even see this information).

In the below patch (against head as of 2008-3-20), I instantiated a bug then used the existing dependency functionality in that bug to extract the blocks and dependencies.  This means a complete bug object is created for each item in the query.  I'm not familiar enough with the current performance issues to make any kind of judgement call on whether or not this is acceptable.

In this patch, I didn't create links to the dependent/blocked bugs, but doing so would be relatively straight forward.


Reproducible: Always




Index: buglist.cgi
===================================================================
RCS file: /cvsroot/mozilla/webtools/bugzilla/buglist.cgi,v
retrieving revision 1.351.2.7
diff -u -r1.351.2.7 buglist.cgi
--- buglist.cgi	20 Sep 2007 21:54:10 -0000	1.351.2.7
+++ buglist.cgi	19 Mar 2008 22:43:22 -0000
@@ -639,6 +639,8 @@
 DefineColumn("resolution"        , "bugs.resolution"            , "Resolution"       );
 DefineColumn("short_short_desc"  , "bugs.short_desc"            , "Summary"          );
 DefineColumn("short_desc"        , "bugs.short_desc"            , "Summary"          );
+DefineColumn("dependson"         , ""                           , "Depends On"       );
+DefineColumn("blocked"           , ""                           , "Blocks"           );
 DefineColumn("status_whiteboard" , "bugs.status_whiteboard"     , "Whiteboard"       );
 DefineColumn("component"         , "map_components.name"        , "Component"        );
 DefineColumn("product"           , "map_products.name"          , "Product"          );
@@ -1046,12 +1048,19 @@
     }
 
     # Record the assignee, product, and status in the big hashes of those things.
-    $bugowners->{$bug->{'assigned_to'}} = 1 if $bug->{'assigned_to'};
+    $bugowners->{$bug->{'assigned_to'}} = 1 if $bug->{'assigned_to'}; 
     $bugproducts->{$bug->{'product'}} = 1 if $bug->{'product'};
     $bugstatuses->{$bug->{'bug_status'}} = 1 if $bug->{'bug_status'};
 
     $bug->{'secure_mode'} = undef;
 
+#
+# Get Depends on and Blocks
+#
+    my $tbug = new Bugzilla::Bug($bug->{'bug_id'});
+    $bug->{'dependson'} = join(",",@{$tbug->dependson});
+    $bug->{'blocked'} = join(",",@{$tbug->blocked});
+
     # Add the record to the list.
     push(@bugs, $bug);
 
Index: colchange.cgi
===================================================================
RCS file: /cvsroot/mozilla/webtools/bugzilla/colchange.cgi,v
retrieving revision 1.58
diff -u -r1.58 colchange.cgi
--- colchange.cgi	4 Sep 2006 16:21:47 -0000	1.58
+++ colchange.cgi	19 Mar 2008 22:41:30 -0000
@@ -76,7 +76,7 @@
                        "percentage_complete", "deadline")); 
 }
 
-push(@masterlist, ("short_desc", "short_short_desc"));
+push(@masterlist, ("short_desc", "short_short_desc", "dependson", "blocked"));
 
 push(@masterlist, Bugzilla->custom_field_names);
Summary: Display Depends On and Blocked Columns in query → Display 'Depends On' and 'Blocked' columns in query
Patch file against current head to implement change.  NOTE:  I'm not actually recommending adoption without careful consideration of possible performance impact.  This would add a second db query and significant processing for each line returned of query to get the appropriate dependencies.

Looking for advice on whether this is worth the cost.
There is already a bug filed about this request. Maybe ask your question there again, as there is some people in the CC list.
Status: UNCONFIRMED → RESOLVED
Closed: 16 years ago
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: