You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@forrest.apache.org by st...@apache.org on 2002/05/22 14:32:08 UTC
cvs commit: xml-forrest/src/documentation/content/xdocs primer.xml who.xml
stevenn 02/05/22 05:32:08
Modified: src/documentation/content/xdocs primer.xml who.xml
Log:
image links in primer and addition of konstantin to committers page
Revision Changes Path
1.2 +148 -148 xml-forrest/src/documentation/content/xdocs/primer.xml
Index: primer.xml
===================================================================
RCS file: /home/cvs/xml-forrest/src/documentation/content/xdocs/primer.xml,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- primer.xml 22 May 2002 12:08:02 -0000 1.1
+++ primer.xml 22 May 2002 12:32:08 -0000 1.2
@@ -1,10 +1,10 @@
<?xml version="1.0"?>
<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" "document-v11.dtd">
-<document>
- <header>
- <title>The Forrest Primer</title>
+<document>
+ <header>
+ <title>The Forrest Primer</title>
<subtitle>Don't panic!</subtitle><authors><person
- name="Steven Noels" email="stevenn@apache.org"/></authors>
+ name="Steven Noels" email="stevenn@apache.org"/></authors>
<abstract>Forrest is a so-called
<link
href="http://www.dictionary.com/cgi-bin/dict.pl?term=fledgling">fledgling</link>
@@ -12,16 +12,16 @@
href="http://xml.apache.org/">xml.apache.org</link> projects. This document
helps you to better understand the vision and scope of Forrest, so that you
learn what to expect (or not) from it, and eventually will help you discovering
- places where your contribution could be valuable to all of us.</abstract>
- </header>
- <body>
+ places where your contribution could be valuable to all of us.</abstract>
+ </header>
+ <body>
<note>This document is work-in-progress and will be updated to reflect the
actual progress of the Forrest project. As such, the primer will be enhanced,
restructured and edited to provide an accessible entry point for new
Forresteers. Please send all comments, patches and suggestions to
<link href="mailto:forrest-dev@xml.apache.org">the Forrest
developers</link>.</note>
- <section title="History">
+ <section title="History">
<p>Forrest has come into existence because of the abysmal state of the
<link href="http://xml.apache.org/">xml.apache.org</link> website in comparison
with other open source community sites such as Sourceforge. The old site had no
@@ -36,16 +36,16 @@
aggregated access to other available resources such as download stats or
mailing list archives, the new xml.apache.org website could be a true
information clearinghouse for interested parties, both users and contributors
- alike.</p>
+ alike.</p>
<p>The Forrest vision was articulated by Stefano Mazzocchi and Sam Ruby,
both long-time contributors to Apache projects, in the beginning of 2002, and
was rapidly picked up by a bunch of other <link
href="who.html">contributors</link> as well, after a headstart by Nicola Ken
Barozzi. So here we are, plenty of work-in-progress to erect what eventually
will become a true community website infrastructure for Apache open source
- development.</p>
- </section>
- <section title="What is Forrest">
+ development.</p>
+ </section>
+ <section title="What is Forrest">
<p>Forrest is a framework that supports the cross-project generation and
management of development project websites using Cocoon as its XML publishing
framework. It not only provides access to project documentation, but also to
@@ -56,7 +56,7 @@
Forrest's primary focus is XML Apache project websites, it can be adapted to
other community development projects as well, as long as they are willing to
commit to proven best practices such as Ant for build automation, CVS for
- source code control and XML as a documentation source format.</p>
+ source code control and XML as a documentation source format.</p>
<p>Forrest is currently based on an
<link href="http://jakarta.apache.org/ant/">Ant</link>-based project build
system called <link href="http://www.krysalis.org/centipede/">Centipede</link>
@@ -64,8 +64,8 @@
document publication system. It contains a set of standard XML document type
declarations (DTD's) for project documentation, and different 'skins'
consisting of XSLT stylesheets that produce HTML renditions of XML documents
- using these DTD's.</p>
- <p>The primary mode of operations for Forrest will be as follows:</p>
+ using these DTD's.</p>
+ <p>The primary mode of operations for Forrest will be as follows:</p>
<note>This process isn't quite ready for prime time yet, but it gives you
an idea where we are heading at. Website generation with skins currently works,
try using the <code>docs</code> target when invoking the <code>build</code>
@@ -73,132 +73,132 @@
experience Forrest skins: <code>build{.bat|.sh}
-Duse.skin=<thenameoftheskintouse> docs</code>. Read our <jump
href="cvs">CVS crash course</jump> to get hold of the current codebase and
- start playing with it.</note>
- <ol>
+ start playing with it.</note>
+ <ol>
<li>Forrest will harvest documentation and related source files from
the different projects that use Forrest for their website, presumably using
CVS, configured by a project descriptor file. It will do so on an automated
- basis, several times a day.</li>
+ basis, several times a day.</li>
<li>Forrest uses Cocoon to generate an HTML rendition of each project's
website, configured by a generic sitemap. This process will be static, the
result of a Forrest run is a collection of HTML documents and related images or
stylesheets comprising the project's website. The impact Forrest has on the
participating projects should be minimal, i.e. one should simply author XML
documents, put them in a well-specified filesystem hierarchy, and Forrest will
- do its work.</li>
+ do its work.</li>
<li>Forrest will enrich the provided documentation source files with
common information: a cross-project navigation structure (and rendition, of
course), and useful 'community indicators' such as download statistics, number
- of contributors with commit access, ...</li>
+ of contributors with commit access, ...</li>
<li>If the individual project build runs are successful, the project's
website is automagically (re-)published to the (Apache) website, also several
- times day.</li>
- </ol>
+ times day.</li>
+ </ol>
<p>The Forrest website and the overall xml.apache.org website are
- maintained and published using the same mechanism.</p>
- </section>
- <section title="Forrest roles">
+ maintained and published using the same mechanism.</p>
+ </section>
+ <section title="Forrest roles">
<p>Depending on your interests, your involvement with Forrest may vary,
- hence your <em>role</em>. We currently envision three different roles:</p>
- <ul>
+ hence your <em>role</em>. We currently envision three different roles:</p>
+ <ul>
<li><strong>User</strong> you want or need to use Forrest for your
- project because it uses Forrest to manage its documentation.</li>
+ project because it uses Forrest to manage its documentation.</li>
<li><strong>Adaptor</strong> you want to adapt Forrest to support your
individual project needs, presumably outside the XML Apache context, building
- your own skins or DTD's and the like.</li>
+ your own skins or DTD's and the like.</li>
<li><strong>Contributor</strong> you are a fledgling Forresteer and
want to contribute to the further development of it. If your contributions are
valuable and in true community spirit, you can possibly gain commit access to
- the Forrest CVS repository and become an Apache committer.</li>
- </ul>
+ the Forrest CVS repository and become an Apache committer.</li>
+ </ul>
<p>Depending on your role, your potential area of interest in Forrest
- will vary:</p>
- <table>
- <tr>
- <th>Role</th>
- <th>Interests</th>
- </tr>
- <tr>
- <td>User</td>
+ will vary:</p>
+ <table>
+ <tr>
+ <th>Role</th>
+ <th>Interests</th>
+ </tr>
+ <tr>
+ <td>User</td>
<td>Forrest DTD's and documentation filesystem hierarchy (Cocoon
- sitemap)</td>
- </tr>
- <tr>
- <td>Adaptor</td>
- <td>+ skin system and build environment</td>
- </tr>
- <tr>
- <td>Contributor</td>
- <td>+ the Forrest codebase and runtime environment</td>
- </tr>
- </table>
- </section>
- <section title="Getting hold of Forrest through CVS" id="cvs">
- <section title="System requirements">
+ sitemap)</td>
+ </tr>
+ <tr>
+ <td>Adaptor</td>
+ <td>+ skin system and build environment</td>
+ </tr>
+ <tr>
+ <td>Contributor</td>
+ <td>+ the Forrest codebase and runtime environment</td>
+ </tr>
+ </table>
+ </section>
+ <section title="Getting hold of Forrest through CVS" id="cvs">
+ <section title="System requirements">
<p>Forrest requires the following systems to be already installed on
- your system:</p>
- <ul>
+ your system:</p>
+ <ul>
<li><em>Java Virtual Machine</em> A Java virtual machine must be
- present. Forrest has been tested against the latest Sun 1.3 JDK.</li>
- </ul>
- </section>
- <section title="Getting Forrest">
+ present. Forrest has been tested against the latest Sun 1.3 JDK.</li>
+ </ul>
+ </section>
+ <section title="Getting Forrest">
<p>You have to retrieve Forrest from its CVS repository - there are no
binary, nor source, nor snapshot distributions yet. Some help, courtesy our
- friends of the Cocoon project:</p>
- </section>
- <section title="Step-by-step cvs instructions for Windows">
- <ol>
+ friends of the Cocoon project:</p>
+ </section>
+ <section title="Step-by-step cvs instructions for Windows">
+ <ol>
<li>Download a recent release of WinCVS (homepage is
- <link href="http://www.wincvs.org/">http://www.wincvs.org/</link>); </li>
- <li>Install it;</li>
- <li>Start it;</li>
- <li>Click on Admin->Preferences;</li>
+ <link href="http://www.wincvs.org/">http://www.wincvs.org/</link>); </li>
+ <li>Install it;</li>
+ <li>Start it;</li>
+ <li>Click on Admin->Preferences;</li>
<li> In "Enter the CVSROOT:" enter
"<code>:pserver:anoncvs@cvs.apache.org:/home/cvspublic</code>" (without
- quotes);</li>
- <li>In "Authentication:" choose "passwd file on the cvs server";</li>
- <li>Click "Ok";</li>
- <li>Click Admin->Login;</li>
+ quotes);</li>
+ <li>In "Authentication:" choose "passwd file on the cvs server";</li>
+ <li>Click "Ok";</li>
+ <li>Click Admin->Login;</li>
<li> When asked for the password: answer "<code>anoncvs</code>"
- (without quotes);</li>
- <li> Click "Create->Checkout module";</li>
+ (without quotes);</li>
+ <li> Click "Create->Checkout module";</li>
<li>Module name and path on the server is "<code>xml-forrest</code>"
- (no quotes);</li>
- <li>Choose a dir to put the source code in;</li>
- <li>Click "Ok";</li>
+ (no quotes);</li>
+ <li>Choose a dir to put the source code in;</li>
+ <li>Click "Ok";</li>
<li>If everything goes well, messages will start to appear in the log
- window;</li>
+ window;</li>
<li>Wait until you see "<code>*****CVS exited normally with code
- 0*****</code>" in the log window;</li>
- <li>The Forrest source is now on your harddrive.</li>
- </ol>
- </section>
- <section title="Step-by-step cvs instructions for Unix">
- <ol>
+ 0*****</code>" in the log window;</li>
+ <li>The Forrest source is now on your harddrive.</li>
+ </ol>
+ </section>
+ <section title="Step-by-step cvs instructions for Unix">
+ <ol>
<li>Make sure you have a CVS client package installed on your Unix
- system.</li>
- <li>Start the shell of your choice.</li>
+ system.</li>
+ <li>Start the shell of your choice.</li>
<li>Enter "<code>cvs -d
- :pserver:anoncvs@cvs.apache.org:/home/cvspublic login</code>".</li>
- <li>When asked for the password: answer "<code>anoncvs</code>".</li>
+ :pserver:anoncvs@cvs.apache.org:/home/cvspublic login</code>".</li>
+ <li>When asked for the password: answer "<code>anoncvs</code>".</li>
<li>Enter "<code>cvs -d
:pserver:anoncvs@cvs.apache.org:/home/cvspublic -z3 checkout
xml-forrest</code>". This will create a directory called
- "<code>xml-forrest</code>" where the Forrest source will be stored.</li>
- <li>Wait until cvs has finished.</li>
- <li>The Forrest source is now on your harddrive.</li>
- </ol>
+ "<code>xml-forrest</code>" where the Forrest source will be stored.</li>
+ <li>Wait until cvs has finished.</li>
+ <li>The Forrest source is now on your harddrive.</li>
+ </ol>
<p>In case you want to update your Forrest source tree to the current
version, change to the "<code>xml-forrest</code>" directory and invoke
- "<code>cvs -z3 update -d -P</code>".</p>
- </section>
- </section>
- <section title="Forrest distribution">
+ "<code>cvs -z3 update -d -P</code>".</p>
+ </section>
+ </section>
+ <section title="Forrest distribution">
<p>Once you retrieved Forrest from its CVS repository, you'll end up with
a filesystem hierarchy similar to this inside the <code>xml-forrest</code> home
- directory:</p>
- <warning>This is highly volatile information!</warning>
+ directory:</p>
+ <warning>This is highly volatile information!</warning>
<source><![CDATA[+---legal various licenses for projects included with Forrest
+---lib jar library
+---src
@@ -237,31 +237,31 @@
| +---testcases unused
+---tools Forrest build environment (Centipede)
+---ant
- +---centipede]]></source>
+ +---centipede]]></source>
<p>The <code>xml-forrest</code> home directory consists of the main Ant
build script (<code>build.xml</code>) and platform-specific batch files/shell
scripts to invoke it. Forrest comes with Ant included, so you don't need to
- install Ant separately.</p>
+ install Ant separately.</p>
<p>Running Forrest is a batch operation you can start using the provided
<code>build.{sh|bat} <targetname></code>. The current main targets
- are:</p>
- <ul>
+ are:</p>
+ <ul>
<li><strong><code>docs</code></strong> - generates an HTML rendition of
- the Forrest website using the default <code>forrest-site</code> skin</li>
+ the Forrest website using the default <code>forrest-site</code> skin</li>
<li><strong><code>clean</code></strong> - cleans out the
- <code>build</code> directory</li>
+ <code>build</code> directory</li>
<li><strong><code>webapp</code></strong> - for those who can't resist
running Forrest live instead of its commandline invocation, this target builds
a WAR file you can deploy in your servlet container (currently only tested for
Tomcat 4.0.1). Mount-point of the web application will be
- <code>xml-forrest</code>.</li>
- </ul>
+ <code>xml-forrest</code>.</li>
+ </ul>
<p>After a build run, Forrest creates a <code>build</code> directory. You
can find the generated website in <code>build/xml-forrest/docs/</code>. Forrest
also creates a <code>tools/tmp/anttasks/</code> upon its first invocation.
- These are Centipede-specific compiled Ant tasks.</p>
- </section>
- <section title="The Forrest DTD's">
+ These are Centipede-specific compiled Ant tasks.</p>
+ </section>
+ <section title="The Forrest DTD's">
<p>Forrest is the reference repository for the XML Apache documentation
DTD's. Special care is taken to provide a set of modular, extensible and
well-maintained DTD's for project documentation purposes. This modularity is
@@ -271,57 +271,57 @@
capable of resolving entities through the aforementioned catalog mechanism. For
the docheads amongst us, this means we adhere to the strict use of
<code>PUBLIC</code> entity identifiers both in document instances and DTD
- modules.</p>
- <p>We have currently identified the following document types:</p>
- <ul>
- <li>General documents (<code>document-v11.dtd</code>),</li>
- <li>How-To's (<code>howto-v10.dtd</code>),</li>
- <li>Collections of FAQs (<code>faq-v11.dtd)</code>.</li>
- </ul>
+ modules.</p>
+ <p>We have currently identified the following document types:</p>
+ <ul>
+ <li>General documents (<code>document-v11.dtd</code>),</li>
+ <li>How-To's (<code>howto-v10.dtd</code>),</li>
+ <li>Collections of FAQs (<code>faq-v11.dtd)</code>.</li>
+ </ul>
<p>Some work is also under its way for other document types, in close
collaboration with the Cocoon project. You will also find some older document
types such as <code>changes</code>, <code>javadoc</code>,
<code>specification</code> and <code>todo</code>, which are currently under
consideration for automatic generation and maintenance using Gump or Centipede
descriptors and the like. DTD's will be subject of serious version management
- as soon as Forrest has a 1.0 release: they are made to depend upon.</p>
+ as soon as Forrest has a 1.0 release: they are made to depend upon.</p>
<p>The DTD's are located in <code>src/resources/schema/dtd</code>, and
also refer to some character entity collections stored in
<code>src/resources/schema/entity</code>. You should read these together with
the declarations as found in the <code>src/resources/schema/catalog</code>
file. Take special care using the correct <code>PUBLIC</code> identifiers in
- the DTD declaration of your instances:</p>
+ the DTD declaration of your instances:</p>
<source><![CDATA[<?xml version="1.0"?>
<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" "document-v11.dtd">
<document>
- ...
-]]></source>
+ ...
+]]></source>
<p>The exact location of the DTD for validation purposes is obtained by
the entity resolver evaluating the mapping scheme as defined in the
<code>catalog</code> file. This makes sure that you can move and re-arrange
your document instances apart from your DTD files. Later on, the DTD's will be
- web-accessible from the Forrest website for your perusal.</p>
- </section>
- <section title="Forrest site generation using Cocoon">
+ web-accessible from the Forrest website for your perusal.</p>
+ </section>
+ <section title="Forrest site generation using Cocoon">
<p>The <code>docs</code> target of the Forrest build environment invokes
Cocoon as a command-line application to generate an HTML rendition of the
project's documentation. It is not within the scope of this document to explain
the Cocoon internals, please read the its own
<link href="http://xml.apache.org/cocoon/">documentation</link> to fully
- understand the power of Cocoon.</p>
+ understand the power of Cocoon.</p>
<p>Cocoon's site rendition behaviour is configured in a so-called
<em>sitemap</em>, a switchboard that binds URL's to an XML processing pipeline.
This pipeline typically consists of a Generator, one or more Transformers and a
Serializer. Forrest also makes use of Cocoon's aggregation capabilities that
- merge multiple pipelines into one resulting output document.</p>
+ merge multiple pipelines into one resulting output document.</p>
<p>A typical page generated using Forrest looks like this:</p>
- <figure src="../../resources/images/page-areas.png" height="291" width="336"
- alt="Pages areas"/>
+ <figure src="images/page-areas.png" height="291" width="336"
+ alt="Pages areas"/>
<p>As you might see, this page is currently composed of two XML sources
which are transformed by a different XSLT stylesheet, aggregated by Cocoon with
a post-aggregation stylesheet adding the overall page grid and look&feel.
This simple example is handled by the following <em>sitemap</em> snippets
- (<code>src/documentation/conf/sitemap.xmap</code>):</p>
+ (<code>src/documentation/conf/sitemap.xmap</code>):</p>
<source><![CDATA[<map:match pattern="*.html">
<map:aggregate element="site">
<map:part src="cocoon:/book-{1}.xml"/>
@@ -330,30 +330,30 @@
<map:call resource="skinit">
<map:parameter name="type" value="site2xhtml"/>
</map:call>
-</map:match>]]></source>
+</map:match>]]></source>
<source><![CDATA[<map:match pattern="**book-**.xml">
<map:generate src="content/xdocs/{1}book.xml"/>
<map:call resource="skinit">
<map:parameter name="type" value="book2menu"/>
- </map:call>
-</map:match>]]></source>
+ </map:call>
+</map:match>]]></source>
<source><![CDATA[<map:match pattern="body-**.xml">
<map:generate src="content/xdocs/{1}.xml"/>
<map:call resource="skinit">
<map:parameter name="type" value="document2html"/>
- </map:call>
-</map:match>]]></source>
+ </map:call>
+</map:match>]]></source>
<source><![CDATA[<map:resource name="skinit">
<map:transform src="skins/@skin@/xslt/html/{type}.xsl">
<map:parameter name="isfaq" value="{isfaq}"/>
</map:transform>
<map:serialize/>
-</map:resource>]]></source>
+</map:resource>]]></source>
<p>The pipeline flow basically is:</p>
<ol>
<li>A URL matched by the <code>*.html</code> pattern is fetched.</li>
<li>The response will be the result of aggregating two
- 'sub-requests':</li>
+ 'sub-requests':</li>
<ol>
<li>A URL matching the <code>**book-**.xml</code> pattern, which is the
result of reading the <code>book.xml</code> document and running that through
@@ -383,8 +383,8 @@
alleviates the burden of adding new skins to implementing 3 simple stylesheets:
<code>book2menu</code>, <code>document2html</code> and
<code>site2xhtml</code>.</p>
- </section>
- <section title="Where we are heading at">
+ </section>
+ <section title="Where we are heading at">
<p>We have been explaining so far where we are now and what already
works. The purpose of this document however is to attract newcomers and entice
them to start contributing to Forrest. We have a decent generation system for
@@ -469,30 +469,30 @@
<link href="http://www.w3.org/WAI/">WAI</link> guidelines.</td>
</tr>
</table>
- </section>
+ </section>
<section title="Where you can help">
<p>By now, you should have a better understanding of Forrest (if that is
not the case, consider contributing to this document<img
- src="../../resources/images/wink_smile.png" height="19" width="19"
+ src="images/wink_smile.png" height="19" width="19"
alt=";-) (c) MSN Messenger"/> to start with). We need more people to get the
job done. Forrest is a fun project to work on, and there's something in it for
- all of us:</p>
- <ul>
+ all of us:</p>
+ <ul>
<li>XML docheads with skills for document analysis and DTD's
- development</li>
+ development</li>
<li>Cocoon developers creating custom Cocoon components connecting
- Forrest with external resources</li>
+ Forrest with external resources</li>
<li>Graphical whizzkids for true cross-browser HTML/CSS
- development</li>
+ development</li>
<li>People who believe XSLT will bring peace to earth (it will, but
- keep that quiet)</li>
- <li>Ant wizards able to compete with Nicola and Stefan</li>
- <li>Unix shell scripting / CVS / cron gurus, preferably bearded</li>
- </ul>
+ keep that quiet)</li>
+ <li>Ant wizards able to compete with Nicola and Stefan</li>
+ <li>Unix shell scripting / CVS / cron gurus, preferably bearded</li>
+ </ul>
<p>Just drop us a line at <link
href="mailto:forrest-dev@xml.apache.org">forrest-dev@xml.apache.org</link>.</p>
</section>
- <p>That's all, folks.</p>
+ <p>That's all, folks.</p>
<table>
<tr>
<th>Revision history</th>
1.4 +22 -21 xml-forrest/src/documentation/content/xdocs/who.xml
Index: who.xml
===================================================================
RCS file: /home/cvs/xml-forrest/src/documentation/content/xdocs/who.xml,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- who.xml 20 May 2002 18:23:27 -0000 1.3
+++ who.xml 22 May 2002 12:32:08 -0000 1.4
@@ -1,18 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" "document-v11.dtd">
-<document>
- <header>
- <title>Who we are</title>
+<document>
+ <header>
+ <title>Who we are</title>
<authors> <person name="Nicola Ken Barozzi" email="barozzi@nicolaken.com"/>
-
- </authors>
- </header>
- <body>
- <section title="The Forrest Community">
+
+ </authors>
+ </header>
+ <body>
+ <section title="The Forrest Community">
<p> The Forrest Project operates on a meritocracy: the more you do, the
more responsibility you will obtain. This page lists all of the people who have
gone the extra mile and are Committers. If you would like to get involved, the
- first step is to join the mailing lists. </p>
+ first step is to join the mailing lists. </p>
<p> We ask that you please do not send us emails privately asking for
support. We are non-paid volunteers who help out with the project and we do not
necessarily have the time or energy to help people on an individual basis.
@@ -20,17 +20,18 @@
individuals who will help answer detailed requests for help. The benefit of
using mailing lists over private communication is that it is a shared resource
where others can also learn from common mistakes and as a community we all grow
- together.</p>
- </section>
- <section title="Committers">
- <ul>
- <li>[DC] - David Crossley (crossley@apache.org)</li>
- <li>[SM] - Stefano Mazzocchi (stefano@apache.org)</li>
- <li>[JM] - John Morrison (morrijr@apache.org)</li>
- <li>[NKB] - Nicola Ken Barozzi (nicolaken@apache.org)</li>
- <li>[SN] - Steven Noels (stevenn@apache.org)</li>
- <li>[SR] - Sam Ruby (rubys@apache.org)</li>
- </ul>
+ together.</p>
+ </section>
+ <section title="Committers">
+ <ul>
+ <li>[NKB] - Nicola Ken Barozzi (nicolaken@apache.org)</li>
+ <li>[DC] - David Crossley (crossley@apache.org)</li>
+ <li>[SM] - Stefano Mazzocchi (stefano@apache.org)</li>
+ <li>[JM] - John Morrison (morrijr@apache.org)</li>
+ <li>[SN] - Steven Noels (stevenn@apache.org)</li>
+ <li>[KP] - Konstantin Piroumian (kpiroumian@apache.org)</li>
+ <li>[SR] - Sam Ruby (rubys@apache.org)</li>
+ </ul>
</section>
</body>
-</document>
+</document>