From a7016fd1b80931e944f2da29681a1d40fe31c735 Mon Sep 17 00:00:00 2001
From: "bugreport%peshkin.net" <>
Date: Fri, 4 Apr 2008 11:47:33 +0000
Subject: Bug 281185: Add boolean charts docs r=colin,a=justdave
---
docs/en/xml/using.xml | 140 +++++++++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 138 insertions(+), 2 deletions(-)
diff --git a/docs/en/xml/using.xml b/docs/en/xml/using.xml
index a34194c1d..43adc3bfc 100644
--- a/docs/en/xml/using.xml
+++ b/docs/en/xml/using.xml
@@ -300,8 +300,144 @@
Once you've run a search, you can save it as a Saved Search, which
appears in the page footer.
- Highly advanced querying is done using Boolean Charts. See the
- Boolean Charts help link on the Search page for more information.
+
+ Boolean Charts
+
+ Highly advanced querying is done using Boolean Charts.
+
+
+ The boolean charts further restrict the set of results
+ returned by a query. It is possible to search for bugs
+ based on elaborate combinations of critera.
+
+
+ The simplest boolean searches have only one term. These searches
+ permit the selected left field
+ to be compared using a
+ selectable operator to a
+ specified value.
+ Using the "And," "Or," and "Add Another Boolean Chart" buttons,
+ additonal terms can be included in the query, further
+ altering the list of bugs returned by the query.
+
+
+ There are three fields in each row of a boolean search.
+
+
+
+
+ Field:
+ the items being searched
+
+
+
+
+ Operator:
+ the comparison operator
+
+
+
+
+ Value:
+ the value to which the field is being compared
+
+
+
+
+ Pronoun Substitution
+
+ Sometimes, a query needs to compare a field containing
+ a user's ID (such as ReportedBy) with
+ a user's ID (such as the user running the query or the user
+ to whom each bug is assigned). When the operator is either
+ "equals" or "notequals", the value can be "%reporter%",
+ "%assignee%", "%qacontact%", or "%user%." The user pronoun
+ referes to the user who is executing the query or, in the case
+ of whining reports, the user who will be the recipient
+ of the report. The reporter, assignee, and qacontact
+ pronouns refer to the corresponding fields in the bug.
+
+
+
+ Negation
+
+ At first glance, negation seems redundant. Rather than
+ searching for
+
+
+ NOT("summary" "contains the string" "foo"),
+
+
+ one could search for
+
+
+ ("summary" "does not contain the string" "foo").
+
+
+ However, the search
+
+
+ ("CC" "does not contain the string" "@mozilla.org")
+
+
+ would find every bug where anyone on the CC list did not contain
+ "@mozilla.org" while
+
+
+ NOT("CC" "contains the string" "@mozilla.org")
+
+
+ would find every bug where there was nobody on the CC list who
+ did contain the string. Similarly, the use of negation also permits
+ complex expressions to be built using terms OR'd together and then
+ negated. Negation permits queries such as
+
+
+ NOT(("product" "equals" "update") OR
+ ("component" "equals" "Documentation"))
+
+
+ to find bugs that are neither
+ in the update product or in the documentation component or
+
+
+ NOT(("commenter" "equals" "%assignee%") OR
+ ("component" "equals" "Documentation"))
+
+
+ to find non-documentation
+ bugs on which the assignee has never commented.
+
+
+
+ Multiple Charts
+
+ The terms within a single row of a boolean chart are all
+ constraints on a single piece of data. If you are looking for
+ a bug that has two different people cc'd on it, then you need
+ to use two boolean charts. A search for
+
+
+ ("cc" "contains the string" "foo@") AND
+ ("cc" "contains the string" "@mozilla.org")
+
+
+ would return only bugs with "foo@mozilla.org" on the cc list.
+ If you wanted bugs where there is someone on the cc list
+ containing "foo@" and someone else containing "@mozilla.org",
+ then you would need two boolean charts.
+
+
+ First chart: ("cc" "contains the string" "foo@")
+
+
+ Second chart: ("cc" "contains the string" "@mozilla.org")
+
+
+ The bugs listed will be only the bugs where ALL the charts are true.
+
+
+