1<?php $this->extends('layout.php', ['title' => 'How to search the bug database']) ?>
2
3<?php $this->start('content') ?>
4
5<h1>How to Search</h1>
6
7<p>
8This HOWTO will allow for a useful experience while scouring the bug database.
9Do note that a lot of information is entered in by the general public and
10therefore cannot be fully trusted. Also, the information contained within a bug
11report is what setup found the bug, so other setups may apply.
12</p>
13
14<h3>Basic Search</h3>
15
16<p>
17Within every <a href="/"><?= $siteUrl ?></a> webpage header is a search box,
18this is the <i>basic</i> search option. You may enter in a numeric bug ID to
19redirect to that bugs page or enter in a search term to perform a default bug
20search. Load the advanced search to view the default values.
21</p>
22
23<h3>Advanced Search</h3>
24
25<p>
26Some explanations for most of the PHP bugs <a href="/search.php">advanced search</a>
27options.
28</p>
29
30<table cellpadding="2" cellspacing="0" border="1" bgcolor="#eeeeee">
31    <tr class="headerbottom" align="left">
32        <td><strong>Feature</strong></td>
33        <td><strong>Explanation</strong></td>
34        <td><strong>Possible reasons for use</strong></td>
35    </tr>
36    <tr valign="top">
37        <td>Find bugs</td>
38        <td>
39            The main search text box for your search terms with each term being
40            separated by a space. The searched database fields are: author email,
41            subject, and description. Minimum term length is three characters.
42            There are three types of searches:
43            <ul>
44                <li><i>all</i> : All search terms are required.</li>
45                <li><i>any</i> : (default) One or more (any) of the search terms may be present.</li>
46                <li>
47                    <i>raw</i> : Allows full use of MySQL's
48                    <a href="https://dev.mysql.com/doc/en/fulltext-search.html">FULLTEXT</a>
49                    boolean search operators.
50                </li>
51            </ul>
52        </td>
53        <td>
54            For <strong>any</strong>, you might search for a function and its alias while
55            not caring which shows up. Or a name that has changed in PHP 5 from PHP 4.
56            Use of <strong>all</strong> makes sense if you require every term in your
57            results, as this can provide precise searching. The <strong>raw</strong>
58            option is for custom searches, like you might require one term but also want
59            to disallow another from the result. Also, adding optional terms always
60            affects relevancy/order.
61        </td>
62    </tr>
63    <tr valign="top">
64        <td>Status</td>
65        <td>
66            Each bug has a status, this allows searching for a specific (or all) status type.
67            Here are a few explanations:
68            <ul>
69                <li>
70                    <strong>Open</strong>: This also includes <i>assigned</i>, <i>analyzed</i>,
71                    <i>critical</i>, and <i>verified</i> bugs. (default)
72                </li>
73                <li>
74                    <strong>Feedback</strong>: Bugs requesting feedback. Typically a bug that
75                    requests feedback will be marked as <i>No Feedback</i> if no feedback transpires
76                    after 15 days.
77                </li>
78                <li><strong>Old feedback</strong>: Bugs that have been requesting feedback for over60 days.</li>
79                <li>
80                    <strong>Fresh</strong> : Bugs commented on in the last 30 days that are not closed,
81                    duplicates, or not-a-bug. Only developers and the original author can affect this
82                    date as public comments do not.
83                </li>
84                <li>
85                    <strong>Stale</strong>: Bugs last commented on at least 30 days ago that are not
86                    closed, duplicates, or not-a-bug. Only developers and the original author can affect
87                    this date as public comments do not count.
88                </li>
89                <li>
90                    <strong>Suspended</strong>: Tickets which are waiting on some action
91                    which is outside the scope of the PHP developers.
92                </li>
93                <li>
94                    <strong>Wont fix</strong>: Tickets where PHP developers won't fix an issue
95                    (even though it is acknowlegded as such), for reasons to be stated in the
96                    closing comment.
97                </li>
98                <li><strong>All</strong>: All types, even not-a-bug.</li>
99            </ul>
100        </td>
101        <td>If you're only interested in critical bugs, or want to see which have been verified, or perhaps just those seeking feedback.</td>
102    </tr>
103    <tr valign="top">
104        <td>Category</td>
105        <td>
106            Bugs are categorized although sometimes it might seem like a bug could be in
107            multiple categories. You may choose a specific category or allow any, and
108            also disallow certain categories. If you're unable to locate a bug, consider
109            trying a <i>feature request</i> or <i>any</i> status.
110        </td>
111        <td>&nbsp;</td>
112    </tr>
113    <tr valign="top">
114        <td>OS</td>
115        <td>
116            Bugs that may be specific to an operating system. This value is entered in by the
117            reporter as the OS they used while finding the bug so this may or may not have meaning.
118            Also, the value isn't regulated so for example Windows may be written as Win32, Win,
119            Windows, Win98, NT, etc. Or perhaps a distribution name rather than simply Linux.
120            The query uses a SQL LIKE statement like so: <i>'%$os%'</i>.
121        </td>
122        <td>Although not an accurate field, it may be of some use.</td>
123    </tr>
124    <tr valign="top">
125        <td>Version</td>
126        <td>
127            Limit bugs to a specific version of PHP. A one character integer of 3, 4 or
128            5 is standard. Entering a length greater than one will perform a SQL LIKE
129            statement like so: <i>'$version%'</i>. Defaults to both 4 and 5.
130        </td>
131        <td>
132            Limit returned bugs to a specific version of PHP. This is fairly reliable as initial
133            version entries are standardized, but on occasion people are known to enter in bogus
134            version information.
135        </td>
136    </tr>
137    <tr valign="top">
138        <td>Assigned</td>
139        <td>
140            Some bugs get assigned to PHP developers, in which case you may specify by
141            entering in the PHP username of said developer.
142        </td>
143        <td>Example use is limiting the bugs assigned to yourself.</td>
144    </tr>
145    <tr valign="top">
146        <td>Author email</td>
147        <td>Takes on an email address of the original author of a bug.</td>
148        <td>Looking for all bugs that a particular person initiated.</td>
149    </tr>
150    <tr valign="top">
151        <td>Date</td>
152        <td>
153            Limit bugs that were reported by a specific time period. This is not only the
154            amount of time since a comment or developer remark was last made, but this is
155            the time when the bug was originally reported.
156        </td>
157        <td>
158            Looking for recently reported bugs. For example, choosing <i>30 days ago</i>
159            will limit the search to all bugs reported in the last 30 days.
160        </td>
161    </tr>
162</table>
163
164<h1>Bug System Statistics</h1>
165
166<p>
167You can view a variety of statistics about the bugs that have been reported on
168our <a href="/stats.php">bug statistics page</a>.
169</p>
170
171<?php $this->end('content') ?>
172