]> source.dussan.org Git - archiva.git/commitdiff
Adding some docs for 'Hacking Archiva'
authorJoakim Erdfelt <joakime@apache.org>
Mon, 21 May 2007 01:26:25 +0000 (01:26 +0000)
committerJoakim Erdfelt <joakime@apache.org>
Mon, 21 May 2007 01:26:25 +0000 (01:26 +0000)
git-svn-id: https://svn.apache.org/repos/asf/maven/archiva/trunk@539989 13f79535-47bb-0310-9956-ffa450edef68

archiva-site/src/site/resources/css/site.css [new file with mode: 0755]
archiva-site/src/site/resources/images/scheduling.svg [new file with mode: 0755]
archiva-site/src/site/site.xml
archiva-site/src/site/xdoc/hacking/index.xml [new file with mode: 0644]
archiva-site/src/site/xdoc/index.xml

diff --git a/archiva-site/src/site/resources/css/site.css b/archiva-site/src/site/resources/css/site.css
new file mode 100755 (executable)
index 0000000..3ca7537
--- /dev/null
@@ -0,0 +1,63 @@
+a.externalLink, a.externalLink:link, a.externalLink:visited, a.externalLink:active, a.externalLink:hover {
+  background: none;
+  padding-right: 0;
+}
+
+body ul {
+  list-style-type: square;
+}
+
+#downloadbox {
+  float: right;
+  margin-left: 2em;
+  padding-left: 1em;
+  padding-right: 1em;
+  padding-bottom: 1em;
+  border: 1px solid #999;
+  background-color: #eee;
+  width: 17.5em;
+}
+
+#downloadbox h5 {
+  color: #000;
+  margin: 0;
+  border-bottom: 1px solid #aaaaaa;
+  font-size: smaller;
+  padding: 0;
+  margin-top: 1em;
+}
+
+#downloadbox p {
+  margin-top: 1em;
+  margin-bottom: 0;
+}
+
+#downloadbox li {
+  text-indent: inherit;
+}
+
+div.p {
+  margin-top: 5px;
+  margin-bottom: 10px;
+}
+
+pre.commandline {
+  border: 1px solid #bbb;
+  background-color: white;
+  margin-top: 5px;
+  margin-bottom: 5px;
+  font-size: 10pt;
+  padding: 15px;
+  color: gray;
+}
+
+pre.commandline .input {
+  color: #55f;
+}
+
+pre.commandline .command {
+  color: black;
+  font-weight: bold;
+}
+
+
diff --git a/archiva-site/src/site/resources/images/scheduling.svg b/archiva-site/src/site/resources/images/scheduling.svg
new file mode 100755 (executable)
index 0000000..7e25569
--- /dev/null
@@ -0,0 +1,154 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://web.resource.org/cc/"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="1052.3622"
+   height="744.09448"
+   id="svg2"
+   sodipodi:version="0.32"
+   inkscape:version="0.45.1"
+   version="1.0"
+   sodipodi:docbase="C:\code\archiva-trunk\archiva-site\src\site\resources\images"
+   sodipodi:docname="scheduling.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <defs
+     id="defs4" />
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     gridtolerance="10000"
+     guidetolerance="10"
+     objecttolerance="10"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="0.7"
+     inkscape:cx="560.51091"
+     inkscape:cy="376.79373"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     width="1052.3622px"
+     height="744.09448px"
+     inkscape:window-width="877"
+     inkscape:window-height="713"
+     inkscape:window-x="1"
+     inkscape:window-y="-1" />
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1">
+    <g
+       id="g3135">
+      <rect
+         rx="19.2857"
+         ry="19.2857"
+         y="149.76445"
+         x="89.955666"
+         height="45.802929"
+         width="207.23151"
+         id="rect3129"
+         style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.9113363;stroke-opacity:1" />
+      <text
+         sodipodi:linespacing="125%"
+         id="text3131"
+         y="181.61317"
+         x="192.79211"
+         style="font-size:24px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+         xml:space="preserve"><tspan
+           y="181.61317"
+           x="192.79211"
+           id="tspan3133"
+           sodipodi:role="line">Scheduler</tspan></text>
+    </g>
+    <g
+       id="g3140"
+       transform="translate(125.71429,157.14286)">
+      <rect
+         style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.9113363;stroke-opacity:1"
+         id="rect3142"
+         width="207.23151"
+         height="45.802929"
+         x="89.955666"
+         y="149.76445"
+         ry="19.2857"
+         rx="19.2857" />
+      <text
+         xml:space="preserve"
+         style="font-size:24px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+         x="192.79211"
+         y="181.61317"
+         id="text3144"
+         sodipodi:linespacing="125%"><tspan
+           sodipodi:role="line"
+           id="tspan3146"
+           x="192.79211"
+           y="181.61317">Task Queue</tspan></text>
+    </g>
+    <g
+       transform="translate(192.85715,247.14286)"
+       id="g3148">
+      <rect
+         rx="19.2857"
+         ry="19.2857"
+         y="149.76445"
+         x="89.955666"
+         height="45.802929"
+         width="207.23151"
+         id="rect3150"
+         style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.9113363;stroke-opacity:1" />
+      <text
+         sodipodi:linespacing="125%"
+         id="text3152"
+         y="181.61317"
+         x="192.79211"
+         style="font-size:24px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+         xml:space="preserve"><tspan
+           y="181.61317"
+           x="192.79211"
+           id="tspan3154"
+           sodipodi:role="line">Task Executor</tspan></text>
+    </g>
+    <g
+       id="g3156"
+       transform="translate(414.28572,151.42857)">
+      <rect
+         style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.9113363;stroke-opacity:1"
+         id="rect3158"
+         width="207.23151"
+         height="45.802929"
+         x="89.955666"
+         y="149.76445"
+         ry="19.2857"
+         rx="19.2857" />
+      <text
+         xml:space="preserve"
+         style="font-size:24px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+         x="192.79211"
+         y="181.61317"
+         id="text3160"
+         sodipodi:linespacing="125%"><tspan
+           sodipodi:role="line"
+           id="tspan3162"
+           x="192.79211"
+           y="181.61317">Task Executor</tspan></text>
+    </g>
+  </g>
+</svg>
index 9c71480cedb6b8a70ad353eb0699a0cb8d29f450..9078f9b6d75e13c1236e78306cbfe116a69101eb 100644 (file)
@@ -31,9 +31,9 @@
       <item name="Maven Configuration" href="/guides/getting-started/maven-configuration.html"/>
       <item name="Security Configuration" href="/guides/security-configuration.html"/>
       <item name="Other Configuration" href="/guides/configuration.html"/>
-      <item name="Developing" href="/guides/developing/index.html"/>
+      <item name="Hacking Archiva" href="/hacking/index.html"/>
     </menu>
-    
+
     <menu ref="reports" inherit="bottom"/>
   </body>
   <skin>
diff --git a/archiva-site/src/site/xdoc/hacking/index.xml b/archiva-site/src/site/xdoc/hacking/index.xml
new file mode 100644 (file)
index 0000000..7628e66
--- /dev/null
@@ -0,0 +1,386 @@
+<?xml version="1.0"?>
+<!--
+  ~ 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.
+  -->
+
+<document>
+  <properties>
+    <title>Hacking Maven Archiva</title>
+  </properties>
+  <body>
+    <section name="Hacking Maven Archiva">
+      <div class="p">
+         So, you wanna start hacking away at Archiva huh?
+      </div>
+
+      <div class="p">
+         These pages are for you!
+      </div>
+
+      <div class="p">
+        Be sure to read the sections for Database, Configuration, and
+        Concepts.  Beyond that, the javadoc is your friend.
+      </div>
+
+      <div class="p">
+         If you don't see the topic covered here, ask!  Ask in the
+         <a href="/mail-list.html">archiva-dev mailing list</a>,
+         or in the <a href="irc://irc.codehaus.org/#archiva">#archiva</a>
+         irc channel.
+      </div>
+
+      <subsection name="Getting the Source Code">
+        <p>
+          First, you'll need the source code.  It is stored in subversion on
+          the public svn.apache.org site.  You can use the
+          <a href="/source-repository.html">basic subversion access steps</a>,
+          or follow the steps below...
+        </p>
+
+<pre class="commandline">
+<span class="input">[code]$ <span class="command">svn checkout http://svn.apache.org/repos/asf/maven/archiva/trunk archiva</span></span>
+A    archiva/archiva-database
+A    archiva/archiva-database/src
+A    archiva/archiva-database/src/test
+A    archiva/archiva-database/src/test/java
+... (snip hundreds of checkout entries) ...
+A    archiva/archiva-scheduled/src/main/resources/META-INF/plexus
+A    archiva/archiva-scheduled/src/main/resources/META-INF/plexus/components.xml
+A    archiva/archiva-scheduled/pom.xml
+ U   archiva
+Checked out revision 539934.
+
+<span class="input">[code]$ <span class="command">ls</span></span>
+archiva
+
+<span class="input">[code]$ <span class="command">cd archiva</span></span>
+
+<span class="input">[code/archiva]$ <span class="command">ls</span></span>
+archiva-base/      archiva-reporting/  archiva-web/       maven-meeper/
+archiva-cli/       archiva-scheduled/  archiva-workflow/  pom.xml
+archiva-database/  archiva-site/       design/
+</pre>
+      </subsection>
+
+      <subsection name="The Tools">
+        <p>
+          You will need the following tools.
+        </p>
+        <ul>
+          <li>Maven 2.0.5 (or newer)</li>
+          <li>Java SDK 1.5.0_10 (or newer)</li>
+          <li>An IDE (or plain editor) of your choice.</li>
+        </ul>
+      </subsection>
+
+      <subsection name="Building Archiva">
+        <p>
+          Archiva uses the Maven tool suite to do all things within
+          the build. (compile, test, archive, install, deploy, etc...)
+          The standard goals apply here.
+        </p>
+        <p>
+          There are 2 non-distributable artifacts in use within archiva,
+          that cannot be placed on the public / global repository system
+          by anyone but Sun.  In order to build archiva, you will need to
+          manually install these artifact into your local repository.
+          Follow the steps below.
+        </p>
+        <ul>
+          <li>The <code>javax.resource:connector:1.0:jar</code> artifact</li>
+          <ol>
+            <li>Download the 1.0 connector zip from: <a href="Download the 1.0 connector zip from: http://java.sun.com/j2ee/connector/download.html">http://java.sun.com/j2ee/connector/download.html</a></li>
+            <li>Unpack the zip to gain access to the jar file.</li>
+            <li>Install it: <code>mvn install:install-file -DgroupId=javax.resource -DartifactId=connector -Dversion=1.0 -Dpackaging=jar -Dfile=connector.jar</code></li>
+          </ol>
+          <li>The <code>javax.transaction:jta:1.0.1B:jar</code> artifact</li>
+          <ol>
+            <li>Download the 1.0.1B jta zip from: <a href="Download the 1.0.1B jta zip from: http://java.sun.com/products/jta/">http://java.sun.com/products/jta/</a></li>
+            <li>Install it: <code>mvn install:install-file -DgroupId=javax.transaction -DartifactId=jta Dversion=1.0.1B -Dpackaging=jar -Dfile=jta-1_0_1B-classes.zip</code></li>
+          </ol>
+        </ul>
+      </subsection>
+
+      <subsection name="Compile / Test">
+        <p>
+          Archiva uses the standard maven goals.  Use them.
+        </p>
+<pre class="commandline">
+<span class="input">[archiva]$ <span class="command">mvn clean install</span></span>
+[INFO] Scanning for projects...
+[INFO] Reactor build order: 
+[INFO]   Archiva
+
+... (snip output) ...
+
+[INFO] ------------------------------------------------------------------------
+[INFO] BUILD SUCCESSFUL
+[INFO] ------------------------------------------------------------------------
+[INFO] Total time: 4 minutes 29 seconds
+[INFO] Finished at: Sun May 20 17:00:09 EDT 2007
+[INFO] Final Memory: 50M/61M
+[INFO] ------------------------------------------------------------------------
+</pre>
+
+        <p>
+          NOTE: Your first compile will take the longest, as maven will
+          download all the missing dependencies into your local repository
+          at this point.
+        </p>
+      </subsection>
+
+      <subsection name="Running Archiva">
+        <p>
+          You have a few ways (in development time) to run archiva.
+        </p>
+
+        <ul>
+          <li>
+          <p>Using the jetty:run plugin w/default settings.</p>
+
+<pre class="commandline">
+<span class="input">[archiva]$ <span class="command">cd archiva-web/archiva-webapp</span></span>
+
+<span class="input">[archiva-webapp]$ <span class="command">mvn clean jetty:run</span></span>
+[INFO] Scanning for projects...
+[INFO] Searching repository for plugin with prefix: 'jetty'.
+[INFO] ---------------------------------------------------------------------
+[INFO] Building Archiva Web :: Application
+[INFO]    task-segment: [clean, jetty:run]
+[INFO] ---------------------------------------------------------------------
+[INFO] [clean:clean]
+
+... ( snip lots of output ) ...
+
+2007-05-20 18:47:49.790:/:INFO:  Initializing org.codehaus.plexus.webdav.simple.SimpleDavServerComponent
+2007-05-20 18:47:49.813::INFO:  Started SelectChannelConnector @ 0.0.0.0:9091
+[INFO] Started Jetty Server
+[INFO] Starting scanner at interval of 10 seconds.
+</pre>
+          <p>At this point you can use your browser to goto <a href="http://localhost:9091/">http://localhost:9091/</a></p>
+          </li>
+
+          <li>Using the jetty:run plugin w/mysql settings.
+
+<pre class="commandline">
+<span class="input">[archiva]$ <span class="command">cd archiva-web/archiva-webapp</span></span>
+
+<span class="input">[archiva-webapp]$ <span class="command">mvn -Pmysql clean jetty:run</span></span>
+[INFO] Scanning for projects...
+[INFO] Searching repository for plugin with prefix: 'jetty'.
+[INFO] ---------------------------------------------------------------------
+[INFO] Building Archiva Web :: Application
+[INFO]    task-segment: [clean, jetty:run]
+[INFO] ---------------------------------------------------------------------
+[INFO] [clean:clean]
+
+... ( snip lots of output ) ...
+
+2007-05-20 18:47:49.790:/:INFO:  Initializing org.codehaus.plexus.webdav.simple.SimpleDavServerComponent
+2007-05-20 18:47:49.813::INFO:  Started SelectChannelConnector @ 0.0.0.0:9091
+[INFO] Started Jetty Server
+[INFO] Starting scanner at interval of 10 seconds.
+</pre>
+          </li>
+          <li>Using the built plexus-application standalone binary.
+
+<pre class="commandline">
+<span class="input">[archiva]$ <span class="command">cd archiva-web/archiva-standalone/archiva-plexus-runtime/target</span></span>
+
+<span class="input">[target]$ <span class="command">tar -zxvf archiva-1.0-alpha-1-SNAPSHOT-bin.tar.gz</span></span>
+
+<span class="input">[target]$ <span class="command">cd archiva-1.0-alpha-1-SNAPSHOT/bin</span></span>
+
+<span class="input">[bin]$ <span class="command">ls</span></span>
+linux-x86-32         plexus.bat        solaris-sparc-64
+linux-x86-64         plexus.sh         solaris-x86-32
+macosx-universal-32  solaris-sparc-32  windows-x86-32
+
+<span class="input">[bin]$ <span class="command">cd linux-x86-32</span></span>
+
+<span class="input">[linux-x86-32]$ <span class="command">ls</span></span>
+libwrapper.so  run.sh  wrapper  wrapper.conf
+
+<span class="input">[linux-x86-32]$ <span class="command">./run.sh start</span></span>
+</pre>
+          </li>
+        </ul>
+      </subsection>
+    </section>
+
+    <section name="Databases">
+      <p>There are 2 databases in use by archiva.</p>
+      <ol>
+        <li>redback (security) - the database for security related information
+            such as Users, Roles, Permissions, Login Keys, etc...</li>
+        <li>archiva - the database that contains the repository information,
+            reports, statistics, etc...</li>
+      </ol>
+      <p>
+        See the general <a href="/database/index.html">database use and
+        care</a> section about this.
+      </p>
+    </section>
+
+    <section name="Configuration">
+      <p>The configuration of archiva is accomplished via the
+         <code>$HOME/.m2/archiva.xml</code> file.
+      </p>
+      <p>
+        See the general <a href="/configuration/index.html">configuration</a>
+        section on details about this.
+      </p>
+    </section>
+
+    <section name="Concepts">
+      <ul>
+        <li>Modules &amp; Source Tree</li>
+        <li>Plexus Basics</li>
+        <ul>
+          <li>Purpose</li>
+          <li>Role &amp; Hint</li>
+          <li>Descriptors</li>
+          <ul>
+            <li>META-INF/plexus/components.xml</li>
+            <li>META-INF/plexus/application.xml</li>
+            <li>src/test/resources/${package}/${test}.xml</li>
+          </ul>
+          <li>plexus-maven-plugin</li>
+          <ul>
+            <li>generated and/or merge</li>
+            <li>javadoc tags</li>
+          </ul>
+        </ul>
+        <li>Model</li>
+        <ul>
+          <li>Heirarchy of artifacts.</li>
+          <ul>
+            <li>Project: ( group Id + artifact Id )</li>
+            <li>Versioned: ( project + version )</li>
+            <li>Artifact: ( versioned + classifier + type )</li>
+          </ul>
+          <li>Types of objects.</li>
+          <ul>
+            <li>Archiva Project Model</li>
+            <li>Archiva Artifact</li>
+            <ul>
+              <li>Java Platform Extension</li>
+            </ul>
+            <li>Archiva Repository</li>
+            <li>Archiva Reposiotry Metadata</li>
+            <li>Repository Statistics</li>
+            <li>Repository Problem</li>
+          </ul>
+          <li>Types of Repositories</li>
+          <ul>
+            <li>Local / Managed</li>
+            <ul>
+              <li>file://... URLs only</li>
+              <li>Indexed</li>
+              <li>Statistics</li>
+            </ul>
+            <li>Remote</li>
+          </ul>
+        </ul>
+        <li>Database / Persistence</li>
+        <ul>
+          <li>JDO / JPox</li>
+          <li>Query / Constraints</li>
+          <ul>
+            <li>Declarative</li>
+            <li>Simple</li>
+          </ul>
+        </ul>
+        <li>Scheduling</li>
+        <ul>
+          <li>How plexus-quartz &amp; plexus-taskqueue fit in.</li>
+          <li>Types of Jobs</li>
+          <ul>
+            <li>Repository Scanning</li>
+            <ul>
+              <li>Known Files</li>
+              <li>Ignored Files</li>
+              <li>Unknown Files</li>
+            </ul>
+            <li>Database Updates</li>
+            <ul>
+              <li>Periodic</li>
+              <ul>
+                <li>Unprocesed Process</li>
+                <li>Cleanup</li>
+              </ul>
+              <li>Nightly</li>
+            </ul>
+          </ul>
+        </ul>
+        <li>Consumers</li>
+        <ul>
+          <li>Purpose</li>
+          <li>Discovery</li>
+          <li>Configuration</li>
+          <li>Types of Consumers</li>
+          <ul>
+            <li>Repository Artifact</li>
+            <li>Database Unprocessed</li>
+            <li>Database Cleanup</li>
+          </ul>
+        </ul>
+        <li>Repository Connectors</li>
+        <ul>
+          <li>Proxy Connector</li>
+          <ul>
+            <li>Pre Download Policies</li>
+            <li>Post Download Policies</li>
+          </ul>
+        </ul>
+        <li>Maven Artifact / Project Libraries</li>
+        <ul>
+          <li>Bidirectional Repository Layout</li>
+          <li>Project Readers</li>
+          <li>Project Filters</li>
+          <li>Project Resolvers</li>
+        </ul>
+        <li>Indexer</li>
+        <ul>
+          <li>Bytecode</li>
+          <li>File Content</li>
+          <li>Hashcodes</li>
+          <li>Analyze / Index</li>
+          <li>Search / Query</li>
+        </ul>
+        <li>Reporting</li>
+        <ul>
+          <li>Reporting Manager</li>
+          <li>Artifact Reports</li>
+          <li>Metadata Reports</li>
+          <li>Project Reports</li>
+        </ul>
+        <li>Web Framework</li>
+        <ul>
+          <li>Webwork &amp; XWork</li>
+          <li>&lt;archiva: /&gt; taglib</li>
+          <ul>
+            <li>&lt;archiva:copy-paste /&gt;</li>
+            <li>&lt;archiva:download /&gt;</li>
+            <li>&lt;archiva:group-id-link /&gt;</li>
+          </ul>
+        </ul>
+      </ul>
+    </section>
+  </body>
+</document>
index 30330a1c8a4d48bf5426d15e9fc9d1c5da8e063b..5eae9a0c780bf311010f62f74a771e86db959c4c 100644 (file)
     <title>Welcome to Maven Archiva</title>
   </properties>
   <body>
-    <section name="Welcome to Maven Archiva">
-      <div id="downloadbox">
-        <h5>Get Archiva 0.9 Alpha 2</h5>
-        <p>
-          <a href="download.html">
-            <img valign="top" src="http://maven.apache.org/images/folder-open.gif" border="0" alt="" title="download"/>
-            Download
-          </a>
-          Archiva
-          <small>(20Mb)</small>
-        </p>
-        <ul>
-          <li>
-            <a href="download.html#requirements">System Requirements</a>
-          </li>
-          <li>
-            <a href="download.html#installation">Installation Instructions</a>
-          </li>
-          <!--
-          <li>
-            <a href="release-notes.html">Release Notes</a>
-          </li>
-          <li>
-            <a href="guides/getting-started/index.html">Getting Started</a>
-          </li>
-          <li>
-            <a href="guides/index.html">Documentation</a>
-          </li>
-          -->
-        </ul>
-      </div>
-
-      <p>Archiva (the Maven repository manager) is currently under development. It provides several pieces of
-        functionality for your remote repository:</p>
-
+    <div id="downloadbox">
+      <h5>Get Archiva 0.9 Alpha 2</h5>
+      <p>
+        <a href="download.html">
+          <img valign="top" src="http://maven.apache.org/images/folder-open.gif" border="0" alt="" title="download"/>
+          Download
+        </a>
+        Archiva
+        <small>(20Mb)</small>
+      </p>
       <ul>
-          <li>Browsing on POM information by group and artifact ID</li>
-          <li>Search over various information in the POM and filename</li>
-          <li>Locate JAR by checksum</li>
-          <li>Repository management through reporting and maintenance</li>
+        <li>
+          <a href="download.html#requirements">System Requirements</a>
+        </li>
+        <li>
+          <a href="download.html#installation">Installation Instructions</a>
+        </li>
+        <!--
+        <li>
+          <a href="release-notes.html">Release Notes</a>
+        </li>
+        <li>
+          <a href="guides/getting-started/index.html">Getting Started</a>
+        </li>
+        <li>
+          <a href="guides/index.html">Documentation</a>
+        </li>
+        -->
       </ul>
+    </div>
 
-      <p> We welcome developers to the Maven community who are interested in contributing. If you'd like to discuss
-        archiva, subscribe and post to <a href="mail-lists.html">the development mailing list</a>
-        <code>archiva-dev@maven.apache.org</code>.</p>
-
-      <p>If you'd like to obtain the code, you can get it from Subversion.
-        See <a href="source-repository.html">SCM details</a> for more information.</p>
+    <section name="Welcome to Maven Archiva">
+      <div class="p">
+         Archiva is currently under development.</div>
 
-      <p>Bugs, issues and new ideas should be reported in the issue tracker -
-        see <a href="issue-tracking.html">this page</a>.</p>
+      <div class="p">
+         Archiva is a build artifact repository manager for use with
+         build tools such as <a href="http://maven.apache.org">maven</a>,
+         <a href="http://maven.apache.org/continuum/">continuum</a>,
+         and <a href="http://ant.apache.org/">ant</a>.</div>
 
-      <p>See the <a href="http://docs.codehaus.org/display/MAVENUSER/Archiva">the Archiva wiki</a>
-        for more information, or log onto the IRC channel #archiva:irc.codehaus.org.</p>
+      <div class="p">
+         It provides the following benefits:</div>
 
+      <ul>
+        <li>A place for like-minded developers to share artifacts
+            that are private in nature, such as found in proprietary
+            development shops.</li>
+        <li>The ability to act as a nearby (proxy) cache of popular global
+            repositories for better build performance.</li>
+        <li>Secure your repositories!  by user, by role, by repository,
+            read vs write access controls.</li>
+        <li>A tool to browse the repository information, and present it
+            in a user friendly way.</li>
+        <li>Maximize code reuse via a search / research tool to help
+            find artifacts that might be of the most use for your
+            immediate problem.</li>
+        <li>Implement controls on the artifacts that the developers
+            in your organization use.</li>
+        <li>Identify unknown artifacts based on large database of
+            known checksums for known artifacts.</li>
+        <li>Reporting on artifact usage, to help identify those
+            projects that are using your code.</li>
+        <li>Reporting tools.</li>
+        <li>Maintenance tools.</li>
+      </ul>
     </section>
+
     <section name="Latest News">
       <p>
         <ul>
         </ul>
       </p>
     </section>
+
+    <section name="Need Help?">
+      <p>Join the conversation!</p>
+      <ul>
+        <li>Try the Documentation: (see the navigation menu on the left)</li>
+        <li><a href="http://www.nabble.com/archiva-users-f16426.html">Archiva
+             Users</a> <a href="mail-lists.html">Mailing List</a>:
+            <a href="mailto:archiva-users-subscribe@maven.apache.org">archiva-users@maven.apache.org</a></li>
+        <li>Archiva IRC Channel:
+           <a href="irc://irc.codehaus.org/#archiva">#archiva</a> on
+           <a href="http://irc.codehaus.org/">irc.codehaus.org</a></li>
+      </ul>
+    </section>
+
+    <section name="Contributing">
+      <div class="p">
+         We welcome developers to the Maven community who are interested
+         in contributing. If you'd like to discuss Archiva, subscribe and
+         post to <a href="mail-lists.html">the development mailing list</a>
+         <code>archiva-dev@maven.apache.org</code>.
+      </div>
+
+      <div class="p">
+         Read the <a href="hacking/">Hacking Archiva</a> document.
+      </div>
+
+      <div class="p">
+         If you'd like to obtain the code, you can get it from Subversion.
+         See <a href="source-repository.html">SCM details</a> for more
+         information.
+      </div>
+
+      <div class="p">
+         Bugs, issues and new ideas should be reported in the issue tracker -
+         see <a href="issue-tracking.html">this page</a>.
+      </div>
+
+      <div class="p">
+         A user managed wiki of alternative documentation is available a
+         <a href="http://docs.codehaus.org/display/MAVENUSER/Archiva">the
+         Archiva wiki</a>.
+      </div>
+
+      <div class="p">
+         Want to chat live with some of the developers?  join us in
+         the <a href="irc://irc.codehaus.org/#archiva">#archiva</a>
+         channel on <a href="http://irc.codehaus.org">irc.codehaus.org</a>.
+      </div>
+    </section>
   </body>
 </document>