home *** CD-ROM | disk | FTP | other *** search
/ PC Professionell 2004 December / PCpro_2004_12.ISO / files / webserver / xampp / xampp-cocoon-addon-1.4.9-installer.exe / howto-bugzilla.xml < prev    next >
Encoding:
Extensible Markup Language  |  2004-07-12  |  11.7 KB  |  358 lines

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!--
  3.   Copyright 1999-2004 The Apache Software Foundation
  4.  
  5.   Licensed under the Apache License, Version 2.0 (the "License");
  6.   you may not use this file except in compliance with the License.
  7.   You may obtain a copy of the License at
  8.  
  9.       http://www.apache.org/licenses/LICENSE-2.0
  10.  
  11.   Unless required by applicable law or agreed to in writing, software
  12.   distributed under the License is distributed on an "AS IS" BASIS,
  13.   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  14.   See the License for the specific language governing permissions and
  15.   limitations under the License.
  16. -->
  17. <!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.0//EN" "document-v10.dtd">
  18.  
  19. <document>
  20.   <header>
  21.     <title>How to Contribute a Patch via Bugzilla</title>
  22.     <version>0.2</version>
  23.     <authors>
  24.       <person name="David Crossley" email="crossley@apache.org"/>
  25.     </authors>
  26.   </header>
  27.  
  28.  <body>
  29.  
  30.   <s1 title="Overview">
  31. <p>
  32. Bugzilla is the Internet-based mechanism to facilitate contributions to any
  33. Apache project. This includes changes to code and documents
  34. (Patches), and also reports of flaws in the system (Bugs), and suggestions
  35. for enhancement.
  36. </p>
  37. <p>
  38. In this How-to we will concentrate on the Patch tracking capabilities of
  39. Bugzilla. We will explain how to create your Bugzilla account,
  40. how to enter a patch description, and finally how to attach the actual patch
  41. file.
  42. </p>
  43. </s1>
  44.  
  45.   <s1 title="Intended Audience">
  46. <p>
  47. This document is meant for first-time users of Bugzilla.
  48. The web interface can be daunting, so this concise explanation will help
  49. you to start. After your first patch submission, you can proceed to make more
  50. substantial contributions.
  51. </p>
  52.  
  53. <p>
  54. As our example we use the contribution of a simple documentation patch for
  55. the Apache Cocoon project. The principles apply to any project.
  56. </p>
  57. </s1>
  58.  
  59.   <s1 title="Prerequisites">
  60. <p>
  61. Bugzilla contributors should:
  62. </p>
  63. <ul>
  64. <li>Understand what a Patch is and how to make one
  65. (see <link href="howto-patch.html">How to Prepare a Patch</link>).
  66. Note that a new complete document is still just a "patch",
  67. though it does need separate treatment to a normal "diff".
  68. </li>
  69. <li>Understand that Bugzilla is the Apache Bug Database. Bugzilla does not
  70. distinguish between a Bug report, a Patch submission, and an Enhancement suggestion. They are all <em>"Bugs"</em> as far as Bugzilla is concerned.
  71. </li>
  72. </ul>
  73.  
  74. </s1>
  75.  
  76.     <s1 title="Steps">
  77. <p>
  78. Here is how to proceed. Go to
  79. <fork href="http://nagoya.apache.org/bugzilla/">Bugzilla</fork>
  80. in another browser window.
  81. </p>
  82.  
  83.     <s2 title="1. Create your Bugzilla Account">
  84. <p>
  85. Follow the link the home page to "Open a new Bugzilla account".
  86. Do not worry, you will not be sent spam email nor bombarded with advertisements
  87. by setting up this account. It is purely a workgroup tool.
  88. </p>
  89.  
  90. <p>
  91. Note that you can conduct queries in Bugzilla and review submissions without
  92. having an account. However, to make a contribution you must have an account.
  93. This ensures legitimacy. It also enables the system to send you
  94. email automatically when your patch is applied by a Cocoon committer.
  95. </p>
  96.     </s2>
  97.  
  98.     <s2 title="2. Enter a new bug report">
  99. <p>
  100. Follow the "Enter a new bug report" link from the Bugzilla home page. First,
  101. you will be asked to select the relevant project ... choose Cocoon 2 of course.
  102. Next, you will be asked to provide your account details. Following that, you
  103. will be presented an input form for the various details ...
  104. </p>
  105.  
  106.     </s2>
  107.  
  108.     <s2 title="3. Specify Version">
  109. <p>
  110. This is the version of Cocoon that you prepared your patch against. Choose
  111. <code>Current CVS</code> if you have an up-to-date local working copy
  112. of HEAD branch or a very recent nightly build. Otherwise choose the relevant
  113. release version. This is a very important step, as you will confuse the
  114. committer if your changes do not match the repository. If you are unsure, then
  115. please say so in the description at step 12.
  116. </p>
  117.     </s2>
  118.  
  119.     <s2 title="4. Specify Component">
  120. <p>
  121. Follow the "Component" link for description of the available
  122. components. If you do not know which component is relevant, then just use
  123. <code>core</code>.
  124. </p>
  125.     </s2>
  126.  
  127.     <s2 title="5. Specify Platform">
  128. <p>
  129. This is really meant for bug reporting. Perhaps it could be relevant for a
  130. patch. You would usually specify the <code>All</code> option.
  131. </p>
  132.     </s2>
  133.  
  134.     <s2 title="6. Specify Operating System (OS)">
  135. <p>
  136. Really meant for bug reporting. Perhaps it could be relevant for a patch.
  137. You would usually specify the <code>All</code> option.
  138. </p>
  139.     </s2>
  140.  
  141.     <s2 title="7. Specify Severity">
  142. <p>
  143. The impact that would arise if your patch is not applied. For a documentation
  144. patch, the severity would usually be the default <code>Normal</code>.
  145. However, if it addressed some serious lack or fixed a misguided configuration
  146. statement, then the impact could be <code>major</code>.
  147. </p>
  148. <p>
  149. (The <code>enhancement</code> option would not be used for a patch, as it is
  150. intended for suggesting something that should be done. Use this option wisely.
  151. It would be better to discuss it on the mailing list first.)
  152. </p>
  153.     </s2>
  154.  
  155.     <s2 title="8. Specify Initial State">
  156. <p>
  157. Use the <code>New</code> option.
  158. </p>
  159.     </s2>
  160.  
  161.     <s2 title="9. Specify Assigned To">
  162. <p>
  163. Leave it blank. Your patch will be automatically assigned to the
  164. <code>cocoon-dev</code> mailing list. When a committer takes on your patch,
  165. that committer will assign the bug to their own email address. This pevents
  166. duplication of effort by other committers.
  167. </p>
  168. <p>
  169. The Cc field can be used if you need the bug reports, and any follow-up, to be
  170. copied to some other person. Remember that your report will be sent
  171. automatically to the <code>cocoon-dev</code> mailing list, so you do not need
  172. to Cc anyone there.
  173. </p>
  174.     </s2>
  175.  
  176.     <s2 title="10. Specify URL">
  177. <p>
  178. If the patch refers to a particular document, then provide the website URL.
  179. If it refers to an issue with one of the local Cocoon Samples, then provide
  180. the localhost URL.
  181. </p>
  182.     </s2>
  183.  
  184.     <s2 title="11. Carefully choose the Summary">
  185. <p>
  186. The summary will become the all-important title of the bug. Use it wisely. You want
  187. to draw attention to your patch. Just as with posting email to the listervers,
  188. choosing a poor title may cause your posting to be easily overlooked.
  189. Use up all the characters available ... about 60 maximum.
  190. </p>
  191. <p>
  192. Start the Summary with the <code>[PATCH]</code> tag. This will ensure that it
  193. is included in the Cocoon automated patch queue summary posted to the mailing
  194. lists. The patch queue summary reminds people what patches are pending. If you
  195. omit this tag, then your patch may easily be overlooked.
  196. </p>
  197.     </s2>
  198.  
  199.     <s2 title="12. Description">
  200. <p>
  201. Provide a brief explanation of what your patch does. Supply any instructions
  202. to help the committer apply your patch efficiently. Note any issues that may
  203. remain. It may help to list each file that you are submitting and briefly
  204. describe what it is. A committer will need to provide a descriptive log message
  205. when committing your work. Providing a clear description here will help them.
  206. </p>
  207. <p>
  208. Consider writing the Description and Summary text before you start entering
  209. your patch report. You could save it in a local text file beforehand and
  210. then copy-and-paste it when the time comes.
  211. </p>
  212. <p>
  213. If this were a bug report, then it would need extensive description.
  214. </p>
  215.     </s2>
  216.  
  217.     <s2 title="13. Send the patch report">
  218. <p>
  219. Review your options, then press the <strong>Commit</strong> button. This will
  220. add an entry to the bug database and email a report to the 
  221. <code>cocoon-dev</code> mailing list and a copy to you. Your submission will be
  222. assigned a unique Bug Number which you can use to review its progress.
  223. </p>
  224. <p>
  225. The next steps will show you how to attach your patch to the report that you
  226. have just created ...
  227. </p>
  228.     </s2>
  229.  
  230.     <s2 title="14. Create an attachment of the actual patch">
  231. <p>
  232. You will be presented with a status screen saying that your bug report
  233. was accepted and that email was sent to <code>cocoon-dev</code> mailing list.
  234. </p>
  235.  
  236. <p>
  237. Now you have a choice ... proceed to review your bug report by selecting the
  238. link "Back to Bug #XXXXX". If you forgot to mention something,
  239. then you can add more comments. From that screen, follow the link
  240. "Create a new attachment".
  241. Otherwise follow the link from this status screen to "Attach a file to
  242. this bug".
  243. </p>
  244.  
  245.     </s2>
  246.  
  247.     <s2 title="15. Specify the file to be uploaded">
  248. <p>
  249. Provide the local pathname to your patchfile, e.g.
  250. <code>/home/me/work/cocoon/patch/howto-bugzilla.tar.gz</code>
  251. </p>
  252.     </s2>
  253.  
  254.     <s2 title="16. Describe the attachment">
  255. <p>
  256. Provide a concise one line description, e.g.
  257. <code>Gzipped TAR archive with new docs and diffs</code>
  258. </p>
  259.     </s2>
  260.  
  261.     <s2 title="17. Specify the contentType of the attachment">
  262. <p>
  263. If it is a Gzipped TAR archive (*.tar.gz) or a .zip archive, then select
  264. "<code>Binary file (application/octet-stream)</code>".
  265. If it is just a single xml document, then select
  266. "<code>Plain text (text/plain)</code>".
  267. If the patch is just a single diff file, then select
  268. "<code>Patch file (text/plain, diffs)</code>".
  269. </p>
  270.     </s2>
  271.  
  272.     <s2 title="18. Submit the attachment">
  273. <p>
  274. When you are ready, press the <strong>Submit</strong> button. As for Step 13,
  275. you will be presented with a status screen saying that your attachment
  276. was accepted and that email was sent to <code>cocoon-dev</code> mailing list.
  277. </p>
  278.     </s2>
  279.  
  280.     <s2 title="19. Be patient">
  281. <p>
  282. Now your patch will wait inside Bugzilla until one of the Cocoon committers
  283. assigns the patch to their own email address and starts to process it to apply
  284. it to the master CVS repository. As the registered owner of the Bug, you will
  285. be sent an automatic email at each of these stages.
  286. </p>
  287.     </s2>
  288.  
  289.     <s2 title="20. Add more description or attachments if necessary">
  290. <p>
  291. Until the patch is applied by the committer and the Bug report is closed, you
  292. can still add more to your bug report. However, only do this when
  293. absolutely necessary because the patch should not be
  294. changing while the committer is trying to commit it. If you just want to make
  295. further changes, then it would be better to wait until your patch is
  296. applied. Then you can make a new patch. Remember that the committer has full
  297. veto and may decide to make some slight modifications to your patch. So it
  298. is far better to wait.
  299. </p>
  300.     </s2>
  301.  
  302.     <s2 title="21. Adding subsequent patches to the same document or program">
  303. <p>
  304. If you want to make more patches to the same file, then please open a new Bug
  305. rather than re-open the old one. After all, once the original patch is
  306. applied by the committer, its corresponding Bug report is closed.
  307. </p>
  308.     </s2>
  309.  
  310.     </s1>
  311.  
  312.   <s1 title="Real World Extension">
  313. <p>Contributing patches, in the form of documentation or code, is a vital way to give back to the Cocoon community. For example, you might consider contributing a timely patch in the form of a new FAQ, how-to, or tutorial. Or, you may also consider submitting a patch which updates Cocoon's existing user and developer guides. </p>
  314.     </s1>
  315.  
  316.   <s1 title="Tips">
  317.  
  318.   <s2 title="Setting user preferences">
  319. <p>
  320. You can configure certain preferences, though the Bugzilla defaults work just
  321. fine.
  322. </p>
  323.     </s2>
  324.  
  325.   <s2 title="Review the bugzilla documentation">
  326. <p>
  327. There are various explanations of terminology and procedures ... follow the
  328. links should you need to know more.
  329. </p>
  330.     </s2>
  331.  
  332.   <s2 title="Search Bugzilla">
  333. <p>
  334. Bugzilla has a very powerful search interface. Now that you have a login
  335. account, Bugzilla can remember customized queries which you can run with a
  336. single click.
  337. </p>
  338.     </s2>
  339.  
  340.     </s1>
  341.  
  342.   <s1 title="References">
  343.     <ul>
  344. <li>
  345. Bugzilla is at 
  346. <link href="http://nagoya.apache.org/bugzilla/">http://nagoya.apache.org/bugzilla/</link>
  347. </li>
  348. <li>
  349. Helpful Bug Writing Guidelines are available directly from the
  350. Bug entry interface.
  351. </li>
  352.     </ul>
  353.     
  354.     </s1>
  355.  
  356. </body>
  357. </document>
  358.