barnboy%trilobyte.net 305a7218e6 Big checkin of docs to resolve every
known outstanding doc bug! Yay release.
Still many things to fix. Aren't there always?


git-svn-id: svn://10.0.0.236/trunk@101604 18797224-902f-48f8-a5cc-f745e15eee43
2001-08-22 03:44:35 +00:00

273 lines
8.3 KiB
XML

<!-- <!DOCTYPE appendix PUBLIC "-//OASIS//DTD DocBook V4.1//EN"> -->
<appendix id="patches" xreflabel="Useful Patches and Utilities for Bugzilla">
<title>Useful Patches and Utilities for Bugzilla</title>
<para>Are you looking for a way to put your Bugzilla into overdrive? Catch some of the niftiest tricks here in this section.</para>
<section id="rewrite" xreflabel="Apache mod_rewrite magic">
<title>Apache <filename>mod_rewrite</filename> magic</title>
<para>Apache's <filename>mod_rewrite</filename> module lets you do some truly amazing things with URL rewriting. Here are a couple of examples of what you can do.</para>
<orderedlist>
<listitem>
<para>
Make it so if someone types
<computeroutput>http://www.foo.com/12345</computeroutput>,
Bugzilla spits back
http://www.foo.com/show_bug.cgi?id=12345. Try setting up
your VirtualHost section for Bugzilla with a rule like
this:</para>
<programlisting>
<![CDATA[
<VirtualHost 12.34.56.78>
RewriteEngine On
RewriteRule ^/([0-9]+)$ http://foo.bar.com/show_bug.cgi?id=$1 [L,R]
</VirtualHost>
]]>
</programlisting>
</listitem>
<listitem>
<para>There are many, many more things you can do with
mod_rewrite. As time goes on, I will include many more in
the Guide. For now, though, please refer to the mod_rewrite
documentation at <ulink
url="http://www.apache.org">http://www.apache.org</ulink></para>
</listitem>
</orderedlist>
</section>
<section id="setperl" xreflabel="The setperl.csh Utility">
<title>The setperl.csh Utility</title>
<para> You can use the "setperl.csh" utility to quickly and
easily change the path to perl on all your Bugzilla files. This
is a C-shell script; if you do not have "csh" or "tcsh" in the
search path on your system, it will not work!
</para>
<procedure>
<step>
<para>
Download the "setperl.csh" utility to your Bugzilla
directory and make it executable.
</para>
<substeps>
<step>
<para>
<computeroutput>
<prompt>bash#</prompt>
<command>cd /your/path/to/bugzilla</command>
</computeroutput>
</para>
</step>
<step>
<para>
<computeroutput> <prompt>bash#</prompt> <command>wget -O
setperl.csh
'http://bugzilla.mozilla.org/showattachment.cgi?attach_id=10795'</command> </computeroutput>
</para>
</step>
<step>
<para>
<computeroutput> <prompt>bash#</prompt> <command>chmod
u+x setperl.csh</command> </computeroutput>
</para>
</step>
</substeps>
</step>
<step>
<para>
Prepare (and fix) Bugzilla file permissions.
</para>
<substeps>
<step>
<para>
<computeroutput>
<prompt>bash#</prompt>
<command>chmod u+w *</command>
</computeroutput>
</para>
</step>
<step>
<para>
<computeroutput> <prompt>bash#</prompt> <command>chmod
u+x duplicates.cgi</command> </computeroutput>
</para>
</step>
<step>
<para>
<computeroutput>
<prompt>bash#</prompt>
<command>chmod a-x bug_status.html</command>
</computeroutput>
</para>
</step>
</substeps>
</step>
<step>
<para>
Run the script:
</para>
<para>
<computeroutput> <prompt>bash#</prompt>
<command>./setperl.csh /your/path/to/perl</command>
</computeroutput>
<example>
<title>Using Setperl to set your perl path</title>
<para>
<computeroutput> <prompt>bash#</prompt>
<command>./setperl.csh /usr/bin/perl</command>
</computeroutput>
</para>
</example>
</para>
</step>
</procedure>
</section>
<section id="cmdline">
<title>Command-line Bugzilla Queries</title>
<para>
Users can query Bugzilla from the command line using this suite
of utilities.
</para>
<para>
The query.conf file contains the mapping from options to field
names and comparison types. Quoted option names are "grepped"
for, so it should be easy to edit this file. Comments (#) have
no effect; you must make sure these lines do not contain any
quoted "option"
</para>
<para>
buglist is a shell script which submits a Bugzilla query and
writes the resulting HTML page to stdout. It supports both
short options, (such as "-Afoo" or "-Rbar") and long options
(such as "--assignedto=foo" or "--reporter=bar"). If the first
character of an option is not "-", it is treated as if it were
prefixed with "--default=".
</para>
<para>
The columlist is taken from the COLUMNLIST environment variable.
This is equivalent to the "Change Columns" option when you list
bugs in buglist.cgi. If you have already used Bugzilla, use
<command>grep COLUMLIST ~/.netscape/cookies</command> to see
your current COLUMNLIST setting.
</para>
<para>
bugs is a simple shell script which calls buglist and extracts
the bug numbers from the output. Adding the prefix
"http://bugzilla.mozilla.org/buglist.cgi?bug_id=" turns the bug
list into a working link if any bugs are found. Counting bugs is
easy. Pipe the results through <command>sed -e 's/,/ /g' | wc |
awk '{printf $2 "\n"}'</command>
</para>
<para>
Akkana says she has good results piping buglist output through
<command>w3m -T text/html -dump</command>
</para>
<procedure>
<step>
<para>
Download three files:
</para>
<substeps>
<step>
<para>
<computeroutput> <prompt>bash$</prompt> <command>wget -O
query.conf
'http://bugzilla.mozilla.org/showattachment.cgi?attach_id=26157'</command> </computeroutput>
</para>
</step>
<step>
<para>
<computeroutput> <prompt>bash$</prompt> <command>wget -O
buglist
'http://bugzilla.mozilla.org/showattachment.cgi?attach_id=26944'</command> </computeroutput>
</para>
</step>
<step>
<para>
<computeroutput> <prompt>bash#</prompt> <command>wget -O
bugs
'http://bugzilla.mozilla.org/showattachment.cgi?attach_id=26215'</command> </computeroutput>
</para>
</step>
</substeps>
</step>
<step>
<para>
Make your utilities executable:
<computeroutput>
<prompt>bash$</prompt>
<command>chmod u+x buglist bugs</command>
</computeroutput>
</para>
</step>
</procedure>
</section>
<section id="quicksearch">
<title>The Quicksearch Utility</title>
<para>
Quicksearch is a new, experimental feature of the 2.12 release.
It consist of two Javascript files, "quicksearch.js" and
"localconfig.js", and two documentation files,
"quicksearch.html" and "quicksearchhack.html"
</para>
<para>
The index.html page has been updated to include the QuickSearch
text box.
</para>
<para>
To take full advantage of the query power, the Bugzilla
maintainer must edit "localconfig.js" according to the value
sets used in the local installation.
</para>
<para>
Currently, keywords must be hard-coded in localconfig.js. If
they are not, keywords are not automatically recognized. This
means, if localconfig.js is left unconfigured, that searching
for a bug with the "foo" keyword will only find bugs with "foo"
in the summary, status whiteboard, product or component name,
but not those with the keyword "foo".
</para>
<para>
Workarounds for Bugzilla users:
<simplelist>
<member>search for '!foo' (this will find only bugs with the
keyword "foo"</member>
<member>search 'foo,!foo' (equivalent to 'foo OR
keyword:foo')</member>
</simplelist>
</para>
<para>
When this tool is ported from client-side JavaScript to
server-side Perl, the requirement for hard-coding keywords can
be fixed. <ulink
url="http://bugzilla.mozilla.org/show_bug.cgi?id=70907">This bug</ulink> has details.
</para>
</section>
</appendix>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-always-quote-attributes:t
sgml-auto-insert-required-elements:t
sgml-balanced-tag-edit:t
sgml-exposed-tags:nil
sgml-general-insert-case:lower
sgml-indent-data:t
sgml-indent-step:2
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
sgml-minimize-attributes:nil
sgml-namecase-general:t
sgml-omittag:t
sgml-parent-document:("Bugzilla-Guide.sgml" "book" "chapter")
sgml-shorttag:t
sgml-tag-region-if-active:t
End:
-->