diff options
author | mozilla%colinogilvie.co.uk <> | 2008-04-04 13:47:30 +0200 |
---|---|---|
committer | mozilla%colinogilvie.co.uk <> | 2008-04-04 13:47:30 +0200 |
commit | fb69b0f576988d864b9f5a107d4ede7e95b443a0 (patch) | |
tree | 766addff4b9bb7c1cff4caff2fefe1ba300c339c | |
parent | 8920e4952cf376dad969401a03616f19b10634c2 (diff) | |
download | bugzilla-fb69b0f576988d864b9f5a107d4ede7e95b443a0.tar.gz bugzilla-fb69b0f576988d864b9f5a107d4ede7e95b443a0.tar.xz |
Bug 252272: Allow extremely large attachments to be stored locally
Patch by A. Karl Kornel <karl@kornel.name>, r=joel,colin
-rw-r--r-- | docs/en/xml/installation.xml | 17 | ||||
-rw-r--r-- | docs/en/xml/using.xml | 574 |
2 files changed, 563 insertions, 28 deletions
diff --git a/docs/en/xml/installation.xml b/docs/en/xml/installation.xml index 1b711ed39..65828412f 100644 --- a/docs/en/xml/installation.xml +++ b/docs/en/xml/installation.xml @@ -1,5 +1,5 @@ <!-- <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"> --> -<!-- $Id: installation.xml,v 1.99 2008/04/04 06:47:29 mozilla%colinogilvie.co.uk Exp $ --> +<!-- $Id: installation.xml,v 1.100 2008/04/04 06:47:30 mozilla%colinogilvie.co.uk Exp $ --> <chapter id="installing-bugzilla"> <title>Installing Bugzilla</title> @@ -651,6 +651,14 @@ 'max_allowed_packet' or 'maxattachmentsize' value will not be accepted by Bugzilla. </para> + + <note> + <para> + This does not affect Big Files, attachments that are stored directly + on disk instead of in the database. Their maximum size is + controlled using the 'maxlocalattachment' parameter. + </para> + </note> </section> @@ -707,6 +715,13 @@ to make a temporary copy of your entire table to do this. Ideally, you should do this when your attachments table is still small. </para> + + <note> + <para> + This does not affect Big Files, attachments that are stored directly + on disk instead of in the database. + </para> + </note> </section> <section id="install-setupdatabase-adduser"> diff --git a/docs/en/xml/using.xml b/docs/en/xml/using.xml index 8f616597a..720f461e9 100644 --- a/docs/en/xml/using.xml +++ b/docs/en/xml/using.xml @@ -234,8 +234,12 @@ <listitem> <para> <emphasis>Attachments:</emphasis> - You can attach files (e.g. testcases or patches) to bugs. If there - are any attachments, they are listed in this section.</para> + You can attach files (e.g. testcases or patches) to bugs. If there + are any attachments, they are listed in this section. Attachments are + normally stored in the Bugzilla database, unless they are marked as + Big Files, which are stored directly on disk and (unlike attachments + kept in the database) may be deleted at some future time. + </para> </listitem> <listitem> @@ -261,6 +265,28 @@ </orderedlist> </section> + <section id="lifecycle"> + <title>Life Cycle of a Bug</title> + + <para> + The life cycle, also known as work flow, of a bug is currently hardcoded + into Bugzilla. <xref linkend="lifecycle-image"/> contains a graphical + repsentation of this life cycle. If you wish to customize this image for + your site, the <ulink url="../images/bzLifecycle.xml">diagram file</ulink> + is available in <ulink url="http://www.gnome.org/projects/dia">Dia's</ulink> + native XML format. + </para> + + <figure id="lifecycle-image"> + <title>Lifecycle of a Bugzilla Bug</title> + <mediaobject> + <imageobject> + <imagedata fileref="../images/bzLifecycle.png" scale="66" /> + </imageobject> + </mediaobject> + </figure> + </section> + <section id="query"> <title>Searching for Bugs</title> @@ -278,8 +304,144 @@ <para>Once you've run a search, you can save it as a Saved Search, which appears in the page footer.</para> - <para>Highly advanced querying is done using Boolean Charts. See the - Boolean Charts help link on the Search page for more information.</para> + <section id="boolean"> + <title>Boolean Charts</title> + <para> + Highly advanced querying is done using Boolean Charts. + </para> + <para> + 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. + </para> + <para> + The simplest boolean searches have only one term. These searches + permit the selected left <emphasis>field</emphasis> + to be compared using a + selectable <emphasis>operator</emphasis> to a + specified <emphasis>value.</emphasis> + 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. + </para> + <para> + There are three fields in each row of a boolean search. + </para> + <itemizedlist> + <listitem> + <para> + <emphasis>Field:</emphasis> + the items being searched + </para> + </listitem> + <listitem> + <para> + <emphasis>Operator:</emphasis> + the comparison operator + </para> + </listitem> + <listitem> + <para> + <emphasis>Value:</emphasis> + the value to which the field is being compared + </para> + </listitem> + </itemizedlist> + <section id="pronouns"> + <title>Pronoun Substitution</title> + <para> + 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. + </para> + </section> + <section id="negation"> + <title>Negation</title> + <para> + At first glance, negation seems redundant. Rather than + searching for + <blockquote> + <para> + NOT("summary" "contains the string" "foo"), + </para> + </blockquote> + one could search for + <blockquote> + <para> + ("summary" "does not contain the string" "foo"). + </para> + </blockquote> + However, the search + <blockquote> + <para> + ("CC" "does not contain the string" "@mozilla.org") + </para> + </blockquote> + would find every bug where anyone on the CC list did not contain + "@mozilla.org" while + <blockquote> + <para> + NOT("CC" "contains the string" "@mozilla.org") + </para> + </blockquote> + 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 + <blockquote> + <para> + NOT(("product" "equals" "update") OR + ("component" "equals" "Documentation")) + </para> + </blockquote> + to find bugs that are neither + in the update product or in the documentation component or + <blockquote> + <para> + NOT(("commenter" "equals" "%assignee%") OR + ("component" "equals" "Documentation")) + </para> + </blockquote> + to find non-documentation + bugs on which the assignee has never commented. + </para> + </section> + <section id="multiplecharts"> + <title>Multiple Charts</title> + <para> + 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 + <blockquote> + <para> + ("cc" "contains the string" "foo@") AND + ("cc" "contains the string" "@mozilla.org") + </para> + </blockquote> + 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. + <blockquote> + <para> + First chart: ("cc" "contains the string" "foo@") + </para> + <para> + Second chart: ("cc" "contains the string" "@mozilla.org") + </para> + </blockquote> + The bugs listed will be only the bugs where ALL the charts are true. + </para> + </section> + </section> </section> <section id="list"> @@ -303,7 +465,22 @@ get the buglist as comma-separated values, for import into e.g. a spreadsheet.</member> - + + <member> + <emphasis>RSS</emphasis> + + get the buglist as an RSS 1.0 feed. Copy this link into your + favorite feed reader. If you are using Firefox, you can also + save the list as a live bookmark by clicking the live bookmark + icon in the status bar. To limit the number of bugs in the feed, + add a limit=n parameter to the URL.</member> + + <member> + <emphasis>iCalendar</emphasis> + + Get the buglist as an iCalendar file. Each bug is represented as a + to-do item in the imported calendar.</member> + <member> <emphasis>Change Columns:</emphasis> @@ -314,12 +491,12 @@ If your account is sufficiently empowered, you can make the same change to all the bugs in the list - for example, changing their - owner.</member> + assignee.</member> <member> - <emphasis>Send mail to bug owners:</emphasis> + <emphasis>Send mail to bug assignees:</emphasis> - Sends mail to the owners of all bugs on the list.</member> + Sends mail to the assignees of all bugs on the list.</member> <member> <emphasis>Edit Search:</emphasis> @@ -336,6 +513,17 @@ </member> </simplelist> </para> + + <para> + If you would like to access the bug list from another program + it is often useful to have the list returned in something other + than HTML. By adding the ctype=type parameter into the bug list URL + you can specify several alternate formats. The supported formats + are: Comma Separated Values (ctype=csv), iCalendar (ctype=ics), + RDF Site Summary (RSS) 1.0 (ctype=rss), ECMAScript, also known + as JavaScript (ctype=js), and finally Resource Description Framework + RDF/XML (ctype=rdf). + </para> </section> <section id="bugreports"> @@ -590,7 +778,17 @@ Content-Type (e.g. application/xhtml+xml), you can override this using a 'content-type' parameter on the URL, e.g. <filename>&content-type=text/plain</filename>. - </para> + </para> + + <para> + If you have a really large attachment, something that does not need to + be recorded forever (as most attachments are), you can mark your + attachment as a Big File, Assuming the administrator of the + installation has enabled this feature. Big Files are stored directly on + disk instead of in the database, and can be deleted when it is no longer + needed. The maximum size of a Big File is normally larger than the + maximum size of a regular attachment. + </para> </section> </section> @@ -619,30 +817,144 @@ <section id="emailsettings"> <title>Email Settings</title> - <para>On this tab you can reduce or increase the amount of email sent - you from Bugzilla, opting in our out depending on your relationship to - the bug and the change that was made to it. + <para> + This tab controls the amount of email Bugzilla sends you. </para> - + <para> - You can also do further filtering on the client side by - using the X-Bugzilla-Reason mail header which Bugzilla - adds to all bugmail. This tells you what relationship you have to the - bug in question, - and can be any of Owner, Reporter, QAcontact, CClist, Voter and - WatchingComponent.</para> + The first item on this page is marked <quote>Users to watch</quote>. + When you enter one or more comma-delineated user accounts (usually email + addresses) into the text entry box, you will receive a copy of all the + bugmail those users are sent (security settings permitting). + This powerful functionality enables seamless transitions as developers + change projects or users go on holiday. + </para> - <para>By entering user email names, delineated by commas, into the - "Users to watch" text entry box you can receive a copy of all the - bugmail of other users (security settings permitting.) This powerful - functionality enables seamless transitions as developers change - projects or users go on holiday.</para> + <note> + <para> + The ability to watch other users may not be available in all + Bugzilla installations. If you don't see this feature, and feel + that you need it, speak to your administrator. + </para> + </note> + + <para> + In general, users have almost complete control over how much (or + how little) email Bugzilla sends them. If you want to receive the + maximum amount of email possible, click the <quote>Enable All + Mail</quote> button. If you don't want to receive any email from + Bugzilla at all, click the <quote>Disable All Mail</quote> button. + </para> <note> - <para>The ability to watch other users may not be available in all - Bugzilla installations. If you can't see it, ask your - administrator.</para> + <para> + Your Bugzilla administrator can stop a user from receiving + bugmail by adding the user's name to the + <filename>data/nomail</filename> file. This is a drastic step + best taken only for disabled accounts, as it overrides the + the user's individual mail preferences. + </para> </note> + + <para> + If you'd like to set your bugmail to something besides + 'Completely ON' and 'Completely OFF', the + <quote>Field/recipient specific options</quote> table + allows you to do just that. The rows of the table + define events that can happen to a bug -- things like + attachments being added, new comments being made, the + priority changing, etc. The columns in the table define + your relationship with the bug: + </para> + + <itemizedlist spacing="compact"> + <listitem> + <para> + Reporter - Where you are the person who initially + reported the bug. Your name/account appears in the + <quote>Reporter:</quote> field. + </para> + </listitem> + <listitem> + <para> + Assignee - Where you are the person who has been + designated as the one responsible for the bug. Your + name/account appears in the <quote>Assigned To:</quote> + field of the bug. + </para> + </listitem> + <listitem> + <para> + QA Contact - You are one of the designated + QA Contacts for the bug. Your account appears in the + <quote>QA Contact:</quote> text-box of the bug. + </para> + </listitem> + <listitem> + <para> + CC - You are on the list CC List for the bug. + Your account appears in the <quote>CC:</quote> text box + of the bug. + </para> + </listitem> + <listitem> + <para> + Voter - You have placed one or more votes for the bug. + Your account appears only if someone clicks on the + <quote>Show votes for this bug</quote> link on the bug. + </para> + </listitem> + </itemizedlist> + + + <note> + <para> + Some columns may not be visible for your installation, depending + on your site's configuration. + </para> + </note> + + <para> + To fine-tune your bugmail, decide the events for which you want + to receive bugmail; then decide if you want to receive it all + the time (enable the checkbox for every column), or only when + you have a certain relationship with a bug (enable the checkbox + only for those columns). For example: if you didn't want to + receive mail when someone added themselves to the CC list, you + could uncheck all the boxes in the <quote>CC Field Changes</quote> + line. As another example, if you never wanted to receive email + on bugs you reported unless the bug was resolved, you would + un-check all boxes in the <quote>Reporter</quote> column + except for the one on the <quote>The bug is resolved or + verified</quote> row. + </para> + + <note> + <para> + Bugzilla adds the <quote>X-Bugzilla-Reason</quote> header to + all bugmail it sends, describing the recipient's relationship + (AssignedTo, Reporter, QAContact, CC, or Voter) to the bug. + This header can be used to do further client-side filtering. + </para> + </note> + + <para> + Two items not in the table (<quote>Email me when someone + asks me to set a flag</quote> and <quote>Email me when someone + sets a flag I asked for</quote>) define how you want to + receive bugmail with regards to flags. Their use is quite + straightforward; enable the checkboxes if you want Bugzilla to + send you mail under either of the above conditions. + </para> + + <para> + By default, Bugzilla sends out email regardless of who made the + change... even if you were the one responsible for generating + the email in the first place. If you don't care to receive bugmail + from your own changes, check the box marked <quote>Only email me + reports of changes made by other people</quote>. + </para> + </section> <section id="permissionsettings"> @@ -862,6 +1174,214 @@ </para> </section> + <section id="whining"> + <title>Whining</title> + + <para> + Whining is a feature in Bugzilla that can regularly annoy users at + specified times. Using this feature, users can execute saved searches + at specific times (i.e. the 15th of the month at midnight) or at + regular intervals (i.e. every 15 minutes on Sundays). The results of the + searches are sent to the user, either as a single email or as one email + per bug, along with some descriptive text. + </para> + + <warning> + <para> + Throughout this section it will be assumed that all users are members + of the bz_canusewhines group, membership in which is required in order + to use the Whining system. You can easily make all users members of + the bz_canusewhines group by setting the User RegExp to ".*" (without + the quotes). + </para> + + <para> + Also worth noting is the bz_canusewhineatothers group. Members of this + group can create whines for any user or group in Bugzilla using a + extended form of the whining interface. Features only available to + members of the bz_canusewhineatothers group will be noted in the + appropriate places. + </para> + </warning> + + <note> + <para> + For whining to work, a special Perl script must be executed at regular + intervals. More information on this is available in + <xref linkend="installation-whining"/>. + </para> + </note> + + <note> + <para> + This section does not cover the whineatnews.pl script. See + <xref linkend="installation-whining-cron"/> for more information on + The Whining Cron. + </para> + </note> + + <section id="whining-overview"> + <title>The Event</title> + + <para> + The whining system defines an "Event" as one or more queries being + executed at regular intervals, with the results of said queries (if + there are any) being emailed to the user. Events are created by + clicking on the "Add new event" button. + </para> + + <para> + Once a new event is created, the first thing to set is the "Email + subject line". The contents of this field will be used in the subject + line of every email generated by this event. In addition to setting a + subject, space is provided to enter some descriptive text that will be + included at the top of each message (to help you in understanding why + you received the email in the first place). + </para> + + <para> + The next step is to specify when the Event is to be run (the Schedule) + and what searches are to be performed (the Queries). + </para> + + </section> + + <section id="whining-schedule"> + <title>Whining Schedule</title> + + <para> + Each whining event is associated with zero or more schedules. A + schedule is used to specify when the query (specified below) is to be + run. A new event starts out with no schedules (which means it will + never run, as it is not scheduled to run). To add a schedule, press + the "Add a new schedule" button. + </para> + + <para> + Each schedule includes an interval, which you use to tell Bugzilla + when the event should be run. An event can be run on certain days of + the week, certain days of the month, during weekdays (defined as + Monday through Friday), or every day. + </para> + + <warning> + <para> + Be careful if you set your event to run on the 29th, 30th, or 31st of + the month, as your event may not run exactly when expected. If you + want your event to run on the last day of the month, select "Last day + of the month" as the interval. + </para> + </warning> + + <para> + Once you have specified the day(s) on which the event is to be run, you + should now specify the time at which the event is to be run. You can + have the event run at a certain hour on the specified day(s), or + every hour, half-hour, or quarter-hour on the specified day(s). + </para> + + <para> + If a single schedule does not execute an event as many times as you + would want, you can create another schedule for the same event. For + example, if you want to run an event on days whose numbers are + divisible by seven, you would need to add four schedules to the event, + setting the schedules to run on the 7th, 14th, 21st, and 28th (one day + per schedule) at whatever time (or times) you choose. + </para> + + <note> + <para> + If you are a member of the bz_canusewhineatothers group, then you + will be presented with another option: "Mail to". Using this you + can control who will receive the emails generated by this event. You + can choose to send the emails to a single user (identified by email + address) or a single group (identified by group name). To send to + multiple users or groups, create a new schedule for each additional + user/group. + </para> + </note> + </section> + + <section id="whining-query"> + <title>Whining Queries</title> + + <para> + Each whining event is associated with zero or more queries. A query is + a saved search that is executed on the schedule specified (see above). + You start out with zero queries attached to the event (which means that + the event will not run, as there will never be any results to return). + To add a query, press the "Add a new query" button. + </para> + + <para> + The first field to examine in your new query is the Sort field. Queries + are executed, and results returned, in the order specified by the Sort + field. Queries with lower Sort values will run before queries with + higher Sort values. + </para> + + <para> + The next field to examine is the Search field. This is where you + choose the actual search that is to be run. Instead of defining search + parameters here, you are asked to choose from the list of saved + searches (the same list that appears at the bottom of every Bugzilla + page). You are only allowed to choose from searches that you have + saved yourself (the default saved search, "My Bugs", is not a valid + choice). If you do not have any saved searches, you can take this + opportunity to create one (see <xref linkend="list"/>). + </para> + + <note> + <para> + When running queries, the whining system acts as if you are the user + executing the query. This means that the whining system will ignore + bugs that match your query, but that you can not access. + </para> + </note> + + <para> + Once you have chosen the saved search to be executed, give the query a + descriptive title. This title will appear in the email, above the + results of the query. If you choose "One message per bug", the query + title will appear at the top of each email that contains a bug matching + your query. + </para> + + <para> + Finally, decide if the results of the query should be sent in a single + email, or if each bug should appear in its own email. + </para> + + <warning> + <para> + Think carefully before checking the "One message per bug" box. If + you create a query that matches thousands of bugs, you will receive + thousands of emails! + </para> + </warning> + </section> + + <section> + <title>Saving Your Changes</title> + + <para> + Once you have defined at least one schedule, and created at least one + query, go ahead and "Update/Commit". This will save your Event and make + it available for immediate execution. + </para> + + <note> + <para> + If you ever feel like deleting your event, you may do so using the + "Remove Event" button in the upper-right corner of each Event. You + can also modify an existing event, so long as you "Update/Commit" + after completing your modifications. + </para> + </note> + </section> + + </section> + </chapter> <!-- Keep this comment at the end of the file |