The perl module 'GraphViz' should be investigated as a possible drop in replacement for the DOT generation code in showdependencygraph.cgi. This will simplify the cgi, as well as remove the dependency to the external binary 'dot', introduced in bug 120537.
Other issues to look at when writing the patch for this bug: 1. Look at naming the *.png graph files intelligently so as to get caching benefits. (Obviously, the *.dot and/or *.map files would need the same naming convention.) In the simplest form, the files could be named BUG_ID.png. However, there are options in showdependencygraph.cgi that allow for different views (Show every bug in the system with dependencies, Show the summary of all bugs, Orient left-to-right, Orient top-to-bottom), so the filenames would have to capture this information as well. Then when a request is made for a graph, existence of previous files could be checked, and if they were not too old, then they could be reused. Else, remove any old files, then regenerate new ones. 2. Use client-side imagemaps instead of server-side imagemaps (as is currently done via Bug 126793 when using a local copy of /usr/bin/dot from the GraphViz package). See also Bug 123394 for documentation changes related to Bug 126793.
Depends on: 126793
I am assigning all the bugs I am not working on in the immediate future to email@example.com. This means: - I will be able to search for bugs assigned to me as a list of bugs I'm going to fix (which is as it should be), and - people won't falsely assume I might be about to fix a bug when I'm not. Gerv
Assignee: gerv → nobody
Target Milestone: Future → ---
David, What's your thoughts on checking the fidelity of a given graph? You'd have to potentially acquire and compare a last-changed value for all bugs which could go into the new graph (a list which itself may have changed) with the timestamp on the image, or else have the user just accept the idea that the graph may be out of date. For those of us who redraw dep graphs far too often, this may degrade the usefulness of the graphing feature. Me, I'd just redraw it every time, since although it'd be a computational cost it'd be no NEW cost which we don't already get; and it'd eliminate the potentially very costly calculation of graph/buglist accuracy. I think I may be lazy that way. (In reply to comment #1) > Then when a request is made for a graph, existence of previous > files could be checked, and if they were not too old, then they > could be reused. Else, remove any old files, then regenerate > new ones.
Assignee: nobody → dependency.views
Priority: P4 → --
GraphViz is deprecated in favor of GraphViz2.
Summary: showdependencygraph.cgi to use GraphViz module → showdependencygraph.cgi should use the GraphViz2 module
You need to log in before you can comment on or make changes to this bug.