OLD | NEW |
(Empty) | |
| 1 [define category_css]css/ph_detail.css[end] |
| 2 [include "../framework/master-header.ezt" "showtabs"] |
| 3 |
| 4 [# Note: No UI element permission checking needed on this page. ] |
| 5 |
| 6 <div id="searchtips"> |
| 7 |
| 8 [# TODO(jrobbins): this page should be redone in the standard Google] |
| 9 [# on-line help system. For now, it helps to document our planned search] |
| 10 [# features. ] |
| 11 |
| 12 |
| 13 <h3>Basic issue search</h3> |
| 14 |
| 15 <p>In most cases you can find the issues that you want to work with |
| 16 very easily by using the issue list headers or by entering a few |
| 17 simple keywords into the main search field.</p> |
| 18 |
| 19 <p>Whenever you visit the "<a href="list">Issues</a>" tab in your |
| 20 project, you are presented with a table of all open issues. If you |
| 21 see too many results, you can quickly filter your results by clicking |
| 22 on the table headers and choosing a specific value from the "Show |
| 23 only:" submenu.</p> |
| 24 |
| 25 [# TODO screenshot ] |
| 26 |
| 27 <p>The main search field consists of two parts:</p> |
| 28 |
| 29 <ul> |
| 30 <li>A drop-down selection of search scopes, e.g, "All issues" or just "Open iss
ues".</li> |
| 31 <li>A search text field where you can enter search terms.</li> |
| 32 </ul> |
| 33 |
| 34 [# TODO screenshot ] |
| 35 |
| 36 <p>In the text field, you may enter simple search terms, or add any of |
| 37 the search operators described below.</p> |
| 38 |
| 39 <p>You can also use the search text field to jump directly to any |
| 40 issue by entering its issue number. If you wish to search for issues |
| 41 that contain a number, rather than jumping to that issue, enclose the |
| 42 number in quotation marks.</p> |
| 43 |
| 44 <p>Behind the scenes, the search scope is simply an additional set of |
| 45 search terms that is automatically combined with the user's search |
| 46 terms to make a complete query.</p> |
| 47 |
| 48 |
| 49 <h3>Advanced issue search</h3> |
| 50 |
| 51 <p>The <a href="advsearch">Advanced Search</a> page helps you |
| 52 compose a complex query. The advanced search form breaks the search |
| 53 down into several popular criteria and allows you to specify each one |
| 54 easily. The search criteria boil down to the same thing as the search |
| 55 operators described below, but you don't need to remember the operator |
| 56 names.</p> |
| 57 |
| 58 |
| 59 |
| 60 <h3>Search operators</h3> |
| 61 |
| 62 <p>Just like the Google web search that everyone knows and loves, you |
| 63 can search for issues by simply entering a few words. However, you |
| 64 may get a few more results than you expected. When you need to search |
| 65 more precisely, you can use search operators for more power.</p> |
| 66 |
| 67 <h4>Searching in specific fields</h4> |
| 68 |
| 69 <p>Normal search terms will match words found in any field of an |
| 70 issue. You can narrow the search to a specific field by using the |
| 71 name of the field. The built-in field operators are summary:, |
| 72 description:, comment:, status:, reporter:, owner:, cc:, commentby:, |
| 73 and label:. You can limit your search to just open issues by using |
| 74 is:open, or to just closed issues by using isnot:open.</p> |
| 75 [# TODO(jrobbins): dateopened:] |
| 76 |
| 77 <p>For example, here's how to search for issues with the word |
| 78 <b>calculation</b> in the summary field.</p> |
| 79 |
| 80 <form action="list" method="GET"> |
| 81 <p><input type="text" size="25" name="q" value="summary:calculation"> |
| 82 <input type="submit" name="btn" value="Search"></p> |
| 83 </form> |
| 84 |
| 85 <p>When searching for issues owned by a specific user, you can use his |
| 86 or her username. When referring to yourself, you can also use the |
| 87 special term <b>me</b>. For example, this restricts the search to |
| 88 issues that are owned by you.</p> |
| 89 |
| 90 <form action="list" method="GET"> |
| 91 <p><input type="text" size="25" name="q" value="owner:username"> |
| 92 <input type="submit" name="btn" value="Search"> |
| 93 </form> |
| 94 |
| 95 <form action="list" method="GET"> |
| 96 <p><input type="text" size="25" name="q" value="owner:me"> |
| 97 <input type="submit" name="btn" [if-any logged_in_user][else]disabled=disabled[
end] value="Search"> |
| 98 [if-any logged_in_user][else] |
| 99 <span style="white-space:nowrap"><a href="[login_url]" |
| 100 >Sign in</a> to try this example</span> |
| 101 [end]</p> |
| 102 </form> |
| 103 |
| 104 <p>Rather than have a large number of predefined fields, our issue |
| 105 tracker stores many issue details as labels.</p> |
| 106 |
| 107 <p>For example, if you labeled security-related issues with the label |
| 108 <b>Security</b>, here's how to search for them.</p> |
| 109 |
| 110 <form action="list" method="GET"> |
| 111 <p><input type="text" size="25" name="q" value="label:security"> |
| 112 <input type="submit" name="btn" value="Search"></p> |
| 113 </form> |
| 114 |
| 115 |
| 116 <p>In addition to simple one-word labels, you can use two part labels |
| 117 that specify an attribute and a value, like <b>Priority-High</b>, |
| 118 <b>Priority-Medium</b>, and <b>Priority-Low</b>. You can search for |
| 119 these with the label: operator, or you can use the first part of the |
| 120 label name like an operator.</p> |
| 121 |
| 122 <p>For example, if you labeled high priority issues with |
| 123 <b>Priority-High</b>, here's one way to search for them.</p> |
| 124 |
| 125 <form action="list" method="GET"> |
| 126 <p><input type="text" size="25" name="q" value="label:Priority-High"> |
| 127 <input type="submit" name="btn" value="Search"></p> |
| 128 </form> |
| 129 |
| 130 <p>And, here is a more compact way to do the same search.</p> |
| 131 |
| 132 <form action="list" method="GET"> |
| 133 <p><input type="text" size="25" name="q" value="Priority:High"> |
| 134 <input type="submit" name="btn" value="Search"></p> |
| 135 </form> |
| 136 |
| 137 <p>For <b>components</b>, the default search will find issues in that component |
| 138 and all of its subcomponents.</p> |
| 139 |
| 140 <form action="list" method="GET"> |
| 141 <p><input type="text" size="25" name="q" value="component:UI"> |
| 142 <input type="submit" name="btn" value="Search"></p> |
| 143 </form> |
| 144 |
| 145 <p>And of course, you can combine any of these field operators.</p> |
| 146 |
| 147 <form action="list" method="GET"> |
| 148 <p><input type="text" size="25" name="q" value="is:open owner:me Hostlist:Fixit
"> |
| 149 <input type="submit" name="btn" value="Search"></p> |
| 150 </form> |
| 151 |
| 152 |
| 153 <h3>Empty (or non-empty) field search</h3> |
| 154 |
| 155 <p>For each built-in field operator, you can use the 'has' operator to search fo
r |
| 156 issues with empty or non-empty fields.</p> |
| 157 |
| 158 <p>For example, here's how to search for issues whose owner field is non-empty, |
| 159 assigned to someone.</p> |
| 160 |
| 161 <form action="list" method="GET"> |
| 162 <p><input type="text" size="25" name="q" value="has:owner"> |
| 163 <input type="submit" name="btn" value="Search"> |
| 164 </form> |
| 165 |
| 166 <p>Or, you can use '-has' operator for negation, to search for issues with empty |
| 167 fields.</p> |
| 168 |
| 169 <p>For example, here's how to search for issues whose owner field is empty |
| 170 because no one is assigned to it.</p> |
| 171 |
| 172 <form action="list" method="GET"> |
| 173 <p><input type="text" size="25" name="q" value="-has:owner"> |
| 174 <input type="submit" name="btn" value="Search"> |
| 175 </form> |
| 176 |
| 177 |
| 178 <h3>Multiple values in search terms</h3> |
| 179 |
| 180 [# TODO(jrobbins): put back OR documentation when OR is working.] |
| 181 |
| 182 <p>You can search for two values for one field, or two labels |
| 183 with the same prefix by using.</p> |
| 184 |
| 185 <form action="list" method="GET"> |
| 186 <p><input type="text" size="25" name="q" value="Priority:High,Medium"> |
| 187 <input type="submit" name="btn" value="Search"></p> |
| 188 </form> |
| 189 |
| 190 |
| 191 <h3>Exact value search</h3> |
| 192 |
| 193 <p>You can search for issues that exactly match the given term by using |
| 194 the search operator '='.</p> |
| 195 |
| 196 <p>For example, searching for 'Milestone=2009' only matches issues with the |
| 197 label 'Milestone-2009', while searching for 'Milestone:2009' matches issues |
| 198 with the labels 'Milestone-2009', 'Milestone-2009-Q1', 'Milestone-2009-Q3', |
| 199 etc.</p> |
| 200 |
| 201 <form action="list" method="GET"> |
| 202 <p><input type="text" size="25" name="q" value="Milestone=2009"> |
| 203 <input type="submit" name="btn" value="Search"></p> |
| 204 </form> |
| 205 |
| 206 <p>Similarly, using exact matching on components will get you only those issues |
| 207 that are in that component, not including any of its descendants.</p> |
| 208 |
| 209 <form action="list" method="GET"> |
| 210 <p><input type="text" size="25" name="q" value="component=UI"> |
| 211 <input type="submit" name="btn" value="Search"></p> |
| 212 </form> |
| 213 |
| 214 <h3>Star search</h3> |
| 215 |
| 216 <p>Any logged in user can mark any issue with a star. The star |
| 217 indicates interest in the issue.</p> |
| 218 |
| 219 <p>For example, to quickly see all the issues in this project that you |
| 220 have starred, you could use the following:</p> |
| 221 |
| 222 <form action="list" method="GET"> |
| 223 <p><input type="text" size="25" name="q" value="is:starred"> |
| 224 <input type="submit" name="btn" [if-any logged_in_user][else]disabled="disabled
"[end] value="Search"> |
| 225 [if-any logged_in_user][else] |
| 226 <span style="white-space:nowrap"><a href="[login_url]" |
| 227 >Sign in</a> to try this example</span> |
| 228 [end]</p> |
| 229 </form> |
| 230 |
| 231 <p>And, to see the issues that exactly three users have starred, use the followi
ng:</p> |
| 232 [# TODO(jrobbins): should search for issues with *at least* N stars.] |
| 233 |
| 234 <form action="list" method="GET"> |
| 235 <p><input type="text" size="25" name="q" value="stars:3"> |
| 236 <input type="submit" name="btn" value="Search"></p> |
| 237 </form> |
| 238 |
| 239 |
| 240 <h3>Jump to issue and numeric search</h3> |
| 241 |
| 242 <p>You can jump directly to a specific issue by entering its ID in the |
| 243 search field.</p> |
| 244 |
| 245 <p>For example, to jump to issue 1, just search for 1. If there is no |
| 246 existing issue with that ID, the system will search for issues that |
| 247 contain that number anywhere in the issue.</p> |
| 248 |
| 249 <form action="list" method="GET"> |
| 250 <p><input type="text" size="25" name="q" value="1"> |
| 251 <input type="submit" name="btn" value="Search"></p> |
| 252 </form> |
| 253 |
| 254 <p>If you just want to search for issues that contain the number 1, without |
| 255 jumping to issue 1, enclose the number in quotation marks.</p> |
| 256 |
| 257 <form action="list" method="GET"> |
| 258 <p><input type="text" size="25" name="q" value=""1""> |
| 259 <input type="submit" name="btn" value="Search"></p> |
| 260 </form> |
| 261 |
| 262 |
| 263 <h3>Attachment search</h3> |
| 264 |
| 265 <p>Users can attach files to any issues, either when issues are created or as |
| 266 part of issue comments.</p> |
| 267 |
| 268 <p>To quickly see all the issues that have attachments, use the following:</p> |
| 269 |
| 270 <form action="list" method="GET"> |
| 271 <p><input type="text" size="25" name="q" value="has:attachment"> |
| 272 <input type="submit" name="btn" value="Search"></p> |
| 273 </form> |
| 274 |
| 275 <p>Or, you can search for a specific filename of the attachment.</p> |
| 276 |
| 277 <form action="list" method="GET"> |
| 278 <p><input type="text" size="25" name="q" value="attachment:screenshot"> |
| 279 <input type="submit" name="btn" value="Search"></p> |
| 280 </form> |
| 281 |
| 282 <p>You can also search for the file extension of the attachment.</p> |
| 283 |
| 284 <form action="list" method="GET"> |
| 285 <p><input type="text" size="25" name="q" value="attachment:png"> |
| 286 <input type="submit" name="btn" value="Search"></p> |
| 287 </form> |
| 288 |
| 289 |
| 290 <h3>Date range search</h3> |
| 291 |
| 292 <p>You can perform searches based on date ranges.</p> |
| 293 |
| 294 <p>This search syntax is divided into two parts, the action and the date, |
| 295 [[]action]:[[]date]</p> |
| 296 |
| 297 <p>Supported actions are: 'opened-after', 'opened-before', |
| 298 'modified-after', 'modified-before', 'closed-after', and 'closed-before'. |
| 299 And the date must to be specified as 'YYYY-MM-DD', 'YYYY/MM/DD' or 'today-N'.</p
> |
| 300 |
| 301 <p>For example, if you want to search for issues opened after 2009/4/1, you |
| 302 could do the following:</p> |
| 303 |
| 304 <form action="list" method="GET"> |
| 305 <p><input type="text" size="25" name="q" value="opened-after:2009/4/1"> |
| 306 <input type="submit" name="btn" value="Search"></p> |
| 307 </form> |
| 308 |
| 309 <p>Or, if you want to search for issues modified 20 days before today's date, |
| 310 you could do the following:</p> |
| 311 |
| 312 <form action="list" method="GET"> |
| 313 <p><input type="text" size="25" name="q" value="modified-before:today-20"> |
| 314 <input type="submit" name="btn" value="Search"></p> |
| 315 </form> |
| 316 |
| 317 |
| 318 </div> |
| 319 |
| 320 [include "../framework/footer-script.ezt"] |
| 321 |
| 322 <script type="text/javascript" nonce="[nonce]"> |
| 323 runOnLoad(function() { |
| 324 _fetchOptions( |
| 325 '[projectname]', 'issueOptions', |
| 326 CS_env.token, [project.cached_content_timestamp]); |
| 327 _onload(); |
| 328 }); |
| 329 </script> |
| 330 |
| 331 [include "../framework/master-footer.ezt"] |
OLD | NEW |