1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
|
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE document [
<!ENTITY project SYSTEM "project.xml">
]>
<document url="doccontrib.html">
&project;
<copyright>
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
</copyright>
<properties>
<title>How to Contribute to the Documentation</title>
<author email="rsowders@usgs.gov">Robert Sowders</author>
<date>$Date: 2010-03-15 16:27:18 +0100 (Mon, 15 Mar 2010) $</date>
</properties>
<body>
<section name="Introduction">
<p>
This document describes how you can easily contribute to the
documentation. I'm going to try to make it easy for everyone to help out with
the documentation of Tomcat, more specifically the documentation for the
connectors. This is written from a windows user perspective as I believe they
will most benefit from it. For people using Unix it should be easy for them to
apply these steps. Just substitute Unix syntax where needed.
</p>
<p>
The documentation is produced using xml with xsl style sheets. This
effectivly seperates the content of the documents from the style, so all that
contributers need to worry about the content. It is much easier to use than
html.
</p>
<p>
It's all really quite simple. Here is what you will need:
<ul>
<li>
<b>A recent version of Ant</b>
</li>
<li>
<b>The source code for the connectors from subversion</b>
</li>
<li>
<b>Any ascii text editor</b>
</li>
</ul>
</p>
</section>
<section name="Getting Started Step by Step">
<p>
After you get these tools they are simple to set up.
</p>
<subsection name="STEP 1. Get Ant">
<p>
Install <a href="http://ant.apache.org/">Ant</a>. The only advice I
have is to choose a simple installation path. Now set an environment variable
for ANT_HOME, and then add the location of the Ant/bin directory to your PATH
variable. Consult your Operating system documentation for information on how
to do this. When you are finished verify that you can run ant from the command
line.
</p>
<p>
Ant is used to build the documentation, among other things, and it must be
able to see a file called <b>build.xml</b>. This file is located in the
<b>xdocs</b> directory. In the
<b>build.xml</b> file there is a target named <b>all</b> that will be used to build
the docs.
</p>
</subsection>
<subsection name="STEP 2. Get the sources">
<p>
Get the sources for
<a href="http://svn.apache.org/repos/asf/tomcat/jk/trunk/">tomcat-connectors</a>
from the subversion repository. If you'll
be editing from a windows platform you will need a windows subversion client. There
are several available. I like <a href="http://tortoisesvn.tigris.org/">turtoiseSVN</a>.
Unix users should install the subversion client of their choice,
if they don't already have one.
</p>
<p>
You are ready to download the sources now. Change directory to the
location where you want your repository to be. For simplicity we will call this
your <b>SVN_HOME</b>. Mine is located in C:\build.
</p>
<p>
Run the following command to <b>checkout</b> the sources for the first time.
You should only need to do this once.
<screen>
<read> </read>
<read>C:\build\>svn checkout http://svn.apache.org/repos/asf/tomcat/jk/trunk/
tomcat-connectors</read>
<read> </read>
</screen>
</p>
<p>
You should now be watching all the downloads come in. Now that you have
the sources on your machine the hard part is over. From now on, to update your
sources all you have to do is cd into any directory in your repository and run
the <b>svn update</b> command.
<screen>
<note> To update your xdocs directory simply cd into the xdocs directory
and:</note>
<read>C:\build\tomcat-connectors\>cd xdocs</read>
<read>C:\build\tomcat-connectors\xdocs\>svn update</read>
</screen>
</p>
</subsection>
<subsection name="STEP 3. Test your build environment">
<p>
Open a command prompt window and cd to the directory where you downloaded
the source. Now cd into the xdocs directory so that <b>Ant</b> can see the
<b>build.xml</b> file. Then from a command prompt, run the following:
<screen>
<read> </read>
<read>C:\build\tomcat-connectors>cd xdocs</read>
<read>C:\build\tomcat-connectors\xdocs>ant all</read>
<read> </read>
</screen>
</p>.
<p>
You should see the ant compiler messages scrolling by rapidly and then stop
with the following:
<screen>
<read>[style] Transforming into C:\build\tomcat-connectors\build\docs\news\printer></read>
<read>[style] Processing C:\build\tomcat-connectors\xdocs\news\20041100.xml
to</read>
<read>C:\build\tomcat-connectors\build\docs\news/20041100.html</read>
<read>[style] Loading stylesheet C:\build\tomcat-connectors\xdocs\style.xsl</read>
<read>[style] Processing C:\build\tomcat-connectors\xdocs\news\20050101.xml
to</read>
<read>C:\build\tomcat-connectors\build\docs\news/20050101.html</read>
<read>[style] Processing C:\build\tomcat-connectors\xdocs\news\20060101.xml
to</read>
<read>C:\build\tomcat-connectors\build\docs\news/20060101.html</read>
<read>[style] Transforming into C:\build\tomcat-connectors\build\docs></read>
<read>[style] Processing C:\build\tomcat-connectors\xdocs\index.xml
to</read>
<read>C:\build\tomcat-connectors\build\docs\index.html</read>
<read>[style] Loading stylesheet C:\build\tomcat-connectors\xdocs\style.xsl</read>
<read> </read>
<read>BUILD SUCCESSFUL</read>
<read>Total time: 10 seconds</read>
<read>C:\build\tomcat-connectors></read>
</screen>
</p>
<p>
All the xml files present in the xdocs directory structure were transformed
to html and copied to the <b>SVN_HOME\tomcat-connectors\build\docs</b>
directory. Open one of the
html files in your browser and see how it looks.
</p>
</subsection>
<subsection name="STEP 4. The editing process.">
<p>
I find it easier to use two windows while doing my updates. One I call my
<b>build</b> window. I keep this one in the <b>SVN_HOME\tomcat-connectors\xdocs</b>
directory and I only run two commands in this window:
<screen>
<read> </read>
<note> First I run</note>
<read>ant clean</read>
<note> Then I run</note>
<read>ant all</read>
<read> </read>
</screen>
</p>
<p>
My second window I call my <b>edit</b> window and I keep that one in the
<b>SVN_HOME\tomcat-connectors\xdocs</b> directory where I'm doing my
edits, diffs and svn updates.
</p>
<p>
Before you start editing you should always update your local repository to
prevent conflicts.
<screen>
<note> You only need to update the xdocs directory</note>
<read>C:\build\tomcat-connectors>cd xdocs</read>
<read>C:\build\tomcat-connectors\xdocs></read>
<read>C:\build\tomcat-connectors\xdocs>svn update</read>
</screen>
</p>
<p>
Now that your repository is up to date you can begin editing. Find
something in the documentation to edit. When you find something remember the
name of the file. In your <b>edit</b> window find and edit the xml source file
with the same name. After you are done return to the <b>build</b> window, and
in the <b>SVN_HOME\tomcat-connectors\xdocs</b> directory run:
<screen>
<read> </read>
<read>C:\build\tomcat-connectors\xdocs> ant clean</read>
<read> </read>
</screen>
</p>
<p>
This will delete all the previous html files and make the area ready for
updated material. Now to make fresh documents that incorporate your changes
run:
<screen>
<read> </read>
<read>C:\build\tomcat-connectors\xdocs>ant all</read>
<read> </read>
</screen>
</p>
<p>
Use your browser to view the edits you just made, they will be in the
<b>SVN_HOME\tomcat-connectors\build\docs</b> sub-tree. If it looks
good and is ready to go,
all that is left to do is to create a patch and submit it.
</p>
</subsection>
<subsection name="STEP 5. Creating a patch and submitting it.">
<p>
From your <b>edit</b> window cd into the directory that contains the xml
file you are working on, and run the <b>svn update</b> command. For example,
to produce a diff of the index.xml file and call it patch.txt, you
would cd into the directory containing the index.xml file and:
<screen>
<read>C:\build\tomcat-connectors\xdocs\>svn diff index.xml >
patch.txt.</read>
<read> </read>
</screen>
</p>
<p>
Now that you have your patch you are ready to send it in.
</p>
<p>
Patches to the documentation are handled just like a bug report. You
should submit your patches to <a
href="http://issues.apache.org/bugzilla/">http://issues.apache.org/bugzilla/</a>
and include a good one line subject. If this is your first time to use the
bug database then you should read <a
href="http://issues.apache.org/bugzilla/bugwritinghelp.html">http://issues.apach
e.org/bugzilla/bugwritinghelp.html.</a> You will need to create a user
account. At the web site paste your patch into the web form and don't forget
to describe what it is your patch is for. Sooner or later a someone with
commit privileges will review your suggestion.
</p>
</subsection>
</section>
<section name="Subversion Basics">
<p>
After you have checked out the sources the first time it is much easier to
use subversion. You can cd into any directory of the repository and run <b>svn
update</b> to get the latest sources for that directory. For editing
purposes you should always update your repository before you start editing to
reduce conflicts.
</p>
<p>
You will need to run <b>svn diff</b> to generate patches for submission.
Again cd into the directory containing the file you are editing and run <b>svn
diff name_of_the_file_you_edited > patch.txt</b> to generate a patch for
submission.
</p>
<p>
Pay attention to the terminal window during the update.
</p>
<p>
Lines begining with a <b>A</b> indicate files that have been added.
</p>
<p>
Lines begining with a <b>D</b> indicate files that have been deleted.
</p>
<p>
Lines begining with a <b>U</b> mean the local copy was patched to update it
to the current version in the master repository.
</p>
<p>
Lines begining with a <b>G</b> mean your local copy is different from the
master copy, and the changes were successfully merged into your copy.
</p>
<p>
Lines begining with a <b>C</b> mean there was a conflict in merging the
changes and you need to review the file and merge the changes manually. Search
for >>>> and merge the changes.
</p>
<p>
Lines begining with a <b>?</b> indicate files that reside on your local
system which are not part of the repository. You will normally see this when
you are creating new files for submission.
</p>
</section>
<section name="Updating Web site">
<p>
Only Committers are able to update the web site (http://tomcat.apache.org/connectors-doc/).
To do it:
<ul>
<li>Connect to people.apache.org.</li>
<li>umask 002</li>
<li>Copy the changed files to /www/tomcat.apache.org/connectors-doc/.</li>
<li>or use ant from a checkout tomcat/jk/trunk/xdocs repository:<br />
ant -Dbuild.dir=/www/tomcat.apache.org -Ddist.name=connectors-doc
</li>
<li>The changes need around 4 hours to be synced to tomcat.apache.org.</li>
</ul>
</p>
</section>
<section name="Guides and Resources">
<p>
A little help to get you started if you need it
</p>
<ul>
<li>
<a href="http://www.xml.org/xml/resources_focus_beginnerguide.shtml">XML
Beginner's Guide</a>
</li>
<li>
<a href="http://issues.apache.org/bugzilla/">Bugzilla</a>
</li>
<li>
<a href="http://issues.apache.org/bugwritinghelp.html">Bugzilla Bug
Writing Guide</a>
</li>
<li>
<a href="http://ant.apache.org/">Ant</a>
</li>
<li>
<a href="http://subversion.tigris.org/">Subversion Home</a>
</li>
<li>
<a href="http://svn.apache.org/repos/asf/tomcat/jk/trunk/xdocs/">JK Docs repository</a>
</li>
</ul>
</section>
</body>
</document>
|