haiku/docs/userguide/queries.html
Stephan Aßmus 1f92a41ace Patch by Humdinger with the following commit message:
* Added explanation of icons to Bootloader.
* Applied css-fix by Braden Ewing to fix rendering under MS Internet Explorer.
  Added Braden to welcome.css authors.
* Added a css class pre.terminal to make Terminal output more visible plus a few more
  things. Added myself to welcome.css authors. :)
* Updated all Terminal output with the new pre-class tag.
* Flaunted our beautiful icons at the top of every preference/application/applet plus
  their contents page.
* Added icon PNGs in 16x16 32x32 and 64x64.
* Added quick info where to find a preference/application/applet and its settings at the
  top of every page.
* Added apps: ActivityMonitor, Magnify, StyledEdit, Terminal
* Added applet: Launchbox
* Added stubs to all missing prefs/apps/applets. Everyone's welcome to work on the
  contents (announce it on the mailing list, though!).
* Moved preference/application/applet into own folders.
* Updated contents page.
* Reformatted everything to be XHTML1.0-Strict conforming. Added XHTML DTDs to
  welcome/html-dtd/.
* Added copyright and author as comment to the header of every page. If someone else
  should be mentioned there, speak up.

---
Whoot! What a titanian piece of work, Humdinger!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28791 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-12-09 23:31:04 +00:00

116 lines
7.5 KiB
HTML

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"../welcome/html-dtd/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US" xml:lang="en-US">
<head>
<!--
*
* Copyright 2008, Haiku. All rights reserved.
* Distributed under the terms of the MIT License.
*
* Authors:
* Humdinger <humdingerb@gmail.com>
*
-->
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<meta name="robots" content="all" />
<title>Queries</title>
<link rel="stylesheet" type="text/css" href="../welcome/welcome.css" />
</head>
<body>
<div class="logo">
<img src="../welcome/welcome-images/logo.png" alt="logo" width="372" height="86" />
<div class="title">Queries</div>
</div>
<div class="topnav">
<p>
<a href="contents.html">Contents</a>
&#160;&#160;&#160;
Previous: <a href="index.html">Index</a>
&#160;&#160;&#160;
Next: <a href="workshop-filetypes+attributes.html">Workshop</a>
</p>
</div>
<div class="content">
<p>A query is a file search based on file attributes and can be performed within Tracker or in Terminal. Queries are saved in "<tt>/boot/home/queries/</tt>" and by default last seven days before being purged. Note, that these aren't static result lists of your search, but are the query formulas which trigger a new search whenever you open them.</p>
<h2><a id="find-window" name="find-window">The Find window</a></h2>
<p>You start a query by invoking the <i>Find...</i> menu either from the Deskbar menu or any Tracker window or the Desktop (which is actually a fullscreen Tracker window). The shortcut is <tt>ALT+F</tt>. You're presented with the Find window:</p>
<img src="queries-images/basic-query.png" alt="basic-query.png" width="517" height="292" />
<ol>
<li><p>Select previous or saved queries or save the current query.</p></li>
<li><p>Narrow down your search from "All files and folders" to specific file
types.</p></li>
<li>Define the search method:<ul>
<li><i>by Name</i> - a basic search by filename</li>
<li><i>by Attribute</i> - an advanced search, you specify search terms for one or more attributes</li>
<li><i>by Formula</i> - an even more advanced search, you can fine-tune a complex query term</li></ul></li>
<li><p>Select which drives to search on.</p></li>
<li><p>Enter the search term.</p></li>
<li><p>The expander hides/unhides the additional options.</p></li>
<li><p>Uncheck the <i> Temporary</i> checkbox if you don't want this query self-destruct after 7 days.</p></li>
<li><p>Check if your query is supposed to <i>Include trash</i>.</p></li>
<li><p>Optionally, enter a name for this query if you want to save it.</p></li>
<li><p>You can drag&amp;drop the icon to save the query.</p></li>
</ol>
<h2><a id="basic-query" name="basic-query">Basic queries - "by Name"</a></h2>
<p>If you simply want to find all files on your mounted disks that match a certain pattern, simply leave the search method at "<i>by Name</i>", enter the search term into the text box and press <tt>ENTER</tt>.</p>
<h2><a id="adv-query" name="adv-query">Advanced queries - "by Attribute"</a></h2>
<p>You can create more advanced queries by searching within the attributes of specific file types. For that to work, these attributes have to be indexed (see <a href="index.html">Index</a>).</p>
<img src="queries-images/query-window.png" alt="query-window.png" width="441" height="172" />
<p>You start by setting the filetype from "<i>All files and folders</i>" to "<i>text | E-mail</i>" and change the search method to "<i>by Attribute</i>.</p>
<p>This adds a drop-down menu to the left of the textbox and the buttons "<i>Add</i> and <i>Remove</i> under that. From the menu you choose which attribute to query. With "<i>Add</i> and <i>Remove</i> you can query additional attributes or remove them again. These attributes can be logically linked with AND/OR.</p>
<p>Let's do an email query as an example:</p>
<img src="queries-images/query-window-filled.png" alt="query-window-filled.png" width="441" height="262" />
<p>This is your Find window when you're looking for all emails Clara Botter has sent to you in the last two months that had in the subject "vibraphone" or "skepticality".</p>
<h2><a id="more-adv-query" name="more-adv-query">Even more advanced queries - "by Formula"</a></h2>
<p>Typing in a formula query by hand is daunting and really quite unpractical. It still has its uses.</p>
<p>Take the above query by attribute of Clara's mails concerning vibraphones etc. If you have all the attributes and their search terms set, try switching to "<i>by Formula</i> mode and be overwhelmed by this one line query string:</p>
<img src="queries-images/formula-query.png" alt="formula-query.png" width="441" height="173" />
<p>Once more as text, edited for readability:</p>
<pre>(((((MAIL:from==&quot;*[cC][lL][aA][rR][aA] [bB][oO][tT][tT][eE][rR][sS]*&quot;)
&amp;&amp;(MAIL:when&gt;=%2 months%))
&amp;&amp;(MAIL:subject==&quot;*[vV][iI][bB][rR][aA][pP][hH][oO][nN][eE]*&quot;))
||(MAIL:subject==&quot;*[sS][kK][eE][pP][tT][iI][cC][aA][lL][iI][tT][yY]*&quot;))
&amp;&amp;(BEOS:TYPE==&quot;text/x-email&quot;))</pre>
<p>What's the use?</p>
<ul>
<li>You could copy and paste the string into an email, forum or IRC for others to use or debug.</li>
<li>You can use this method to construct a query in <i>Attribute</i> mode and then switch to <i>Formula</i> mode, to comfortably generate a search string to use for a query in Terminal or a script.</li>
<li>You can fine tune your query by inserting parenthesis where needed, make parts case-sensitive or negate logical combinations by changing. e.g. "<tt>==</tt>" to "<tt>!=</tt>" for a NOT AND. All you need is a basic understanding of <a href="http://en.wikipedia.org/wiki/Regular_expression" class='external free' title="http://en.wikipedia.org/wiki/Regular expression" rel="nofollow">regular expressions</a> and maybe some scripting basics.</li>
</ul>
<h2><a id="result-window" name="result-window">The result window</a></h2>
<p>After you start a search, the Find window will be replaced by a result window. Here is an example that queried for "server":</p>
<img src="queries-images/result-window.png" alt="result-window.png" width="704" height="359" />
<p>Besides the grey background, result windows work exactly like any other Tracker window. Some things are worth noting:</p>
<ul>
<li>You can open the folder a file resides in by double clicking on its path attribute.</li>
<li>With <i>File | Edit Query</i> or <tt>ALT+G</tt> you get back to your Find window to refine your query.</li>
<li>A query is live, i.e. if a file that matches your search criteria appears or disappears from your system, this change is reflected in your results in real-time.
</ul>
<p>You can assign a sensible attribute layout for query results of a specific filetype. Open the folder containing files of the filetype you'd like to create a template for and arrange the attributes how you'd like to have query results presented. Copy this layout with <i>Attributes | Copy Attributes</i>.</p>
<p>Open <tt>/boot/home/config/settings/Tracker/DefaultQueryTemplates</tt>, create a new folder and rename it to <i>group/filetype</i>, replacing slashes with underscores, e.g."audio_x-mp3". Open the new folder and paste in the layout with <i>Attributes | Paste Attributes</i>.</p>
</div>
<div class="bottomnav">
<p>
<a href="contents.html">Contents</a>
&#160;&#160;&#160;
Previous: <a href="index.html">Index</a>
&#160;&#160;&#160;
Next: <a href="workshop-filetypes+attributes.html">Workshop</a>
</p>
</div>
</body>
</html>