瀏覽代碼

HADOOP-1066. Restructure documentation to make it more user friendly. Contributed by Connie Kleinjans and Jeff Hammerbacher.

git-svn-id: https://svn.apache.org/repos/asf/lucene/hadoop/trunk@561426 13f79535-47bb-0310-9956-ffa450edef68
Doug Cutting 18 年之前
父節點
當前提交
94a97e5eed
共有 51 個文件被更改,包括 3297 次插入1515 次删除
  1. 3 0
      CHANGES.txt
  2. 2 0
      docs/broken-links.xml
  3. 84 27
      docs/credits.html
  4. 227 0
      docs/documentation.html
  5. 170 0
      docs/documentation.pdf
  6. 90 33
      docs/hdfs_design.html
  7. 9 9
      docs/hdfs_design.pdf
  8. 二進制
      docs/images/architecture.gif
  9. 169 337
      docs/index.html
  10. 17 373
      docs/index.pdf
  11. 94 31
      docs/issue_tracking.html
  12. 28 20
      docs/issue_tracking.pdf
  13. 122 89
      docs/linkmap.html
  14. 21 86
      docs/linkmap.pdf
  15. 88 31
      docs/mailing_lists.html
  16. 312 0
      docs/releases.html
  17. 129 0
      docs/releases.pdf
  18. 6 6
      docs/skin/CommonMessages_de.xml
  19. 7 7
      docs/skin/CommonMessages_en_US.xml
  20. 6 7
      docs/skin/CommonMessages_es.xml
  21. 6 6
      docs/skin/CommonMessages_fr.xml
  22. 33 14
      docs/skin/basic.css
  23. 6 6
      docs/skin/breadcrumbs-optimized.js
  24. 6 6
      docs/skin/breadcrumbs.js
  25. 6 6
      docs/skin/fontsize.js
  26. 16 8
      docs/skin/getBlank.js
  27. 6 6
      docs/skin/getMenu.js
  28. 二進制
      docs/skin/images/chapter_open.gif
  29. 二進制
      docs/skin/images/rc-b-l-15-1body-2menu-3menu.png
  30. 二進制
      docs/skin/images/rc-b-r-15-1body-2menu-3menu.png
  31. 二進制
      docs/skin/images/rc-b-r-5-1header-2tab-selected-3tab-selected.png
  32. 二進制
      docs/skin/images/rc-t-l-5-1header-2searchbox-3searchbox.png
  33. 二進制
      docs/skin/images/rc-t-l-5-1header-2tab-selected-3tab-selected.png
  34. 二進制
      docs/skin/images/rc-t-l-5-1header-2tab-unselected-3tab-unselected.png
  35. 二進制
      docs/skin/images/rc-t-r-15-1body-2menu-3menu.png
  36. 二進制
      docs/skin/images/rc-t-r-5-1header-2searchbox-3searchbox.png
  37. 二進制
      docs/skin/images/rc-t-r-5-1header-2tab-selected-3tab-selected.png
  38. 二進制
      docs/skin/images/rc-t-r-5-1header-2tab-unselected-3tab-unselected.png
  39. 12 14
      docs/skin/menu.js
  40. 8 8
      docs/skin/print.css
  41. 10 5
      docs/skin/profile.css
  42. 1257 0
      docs/skin/prototype.js
  43. 56 19
      docs/skin/screen.css
  44. 84 27
      docs/version_control.html
  45. 25 0
      src/docs/src/documentation/content/xdocs/documentation.xml
  46. 53 305
      src/docs/src/documentation/content/xdocs/index.xml
  47. 6 4
      src/docs/src/documentation/content/xdocs/issue_tracking.xml
  48. 102 0
      src/docs/src/documentation/content/xdocs/releases.xml
  49. 18 22
      src/docs/src/documentation/content/xdocs/site.xml
  50. 3 3
      src/docs/src/documentation/content/xdocs/tabs.xml
  51. 二進制
      src/docs/src/documentation/resources/images/architecture.gif

+ 3 - 0
CHANGES.txt

@@ -421,6 +421,9 @@ Branch 0.14 (unreleased changes)
 139. HADOOP-1653.  FSDirectory code-cleanups. FSDirectory.INode
      becomes a static class.  (Christophe Taton via dhruba)
 
+140. HADOOP-1066.  Restructure documentation to make more user
+     friendly.  (Connie Kleinjans and Jeff Hammerbacher via cutting)
+
 
 Release 0.13.0 - 2007-06-08
 

+ 2 - 0
docs/broken-links.xml

@@ -0,0 +1,2 @@
+<broken-links>
+</broken-links>

+ 84 - 27
docs/credits.html

@@ -1,9 +1,9 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 <html>
 <head>
 <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <meta content="Apache Forrest" name="Generator">
-<meta name="Forrest-version" content="0.7">
+<meta name="Forrest-version" content="0.8">
 <meta name="Forrest-skin-name" content="pelt">
 <title>Hadoop credits</title>
 <link type="text/css" href="skin/basic.css" rel="stylesheet">
@@ -16,81 +16,129 @@
 <body onload="init()">
 <script type="text/javascript">ndeSetTextSize();</script>
 <div id="top">
+<!--+
+    |breadtrail
+    +-->
 <div class="breadtrail">
 <a href="http://www.apache.org/">Apache</a> &gt; <a href="http://lucene.apache.org/">Lucene</a> &gt; <a href="http://lucene.apache.org/hadoop/">Hadoop</a><script src="skin/breadcrumbs.js" language="JavaScript" type="text/javascript"></script>
 </div>
+<!--+
+    |header
+    +-->
 <div class="header">
+<!--+
+    |start group logo
+    +-->
 <div class="grouplogo">
 <a href="http://lucene.apache.org/"><img class="logoImage" alt="Lucene" src="images/lucene_green_150.gif" title="Apache Lucene"></a>
 </div>
+<!--+
+    |end group logo
+    +-->
+<!--+
+    |start Project Logo
+    +-->
 <div class="projectlogo">
 <a href="http://lucene.apache.org/hadoop/"><img class="logoImage" alt="Hadoop" src="images/hadoop-logo.jpg" title="Scalable Computing Platform"></a>
 </div>
+<!--+
+    |end Project Logo
+    +-->
+<!--+
+    |start Search
+    +-->
 <div class="searchbox">
 <form action="http://www.google.com/search" method="get" class="roundtopsmall">
 <input value="lucene.apache.org" name="sitesearch" type="hidden"><input onFocus="getBlank (this, 'Search the site with google');" size="25" name="q" id="query" type="text" value="Search the site with google">&nbsp; 
-                    <input attr="value" name="Search" value="Search" type="submit">
+                    <input name="Search" value="Search" type="submit">
 </form>
 </div>
+<!--+
+    |end search
+    +-->
+<!--+
+    |start Tabs
+    +-->
 <ul id="tabs">
 <li class="current">
-<a class="base-selected" href="index.html">Main</a>
+<a class="selected" href="index.html">Main</a>
 </li>
 <li>
-<a class="base-not-selected" href="http://wiki.apache.org/lucene-hadoop">Wiki</a>
+<a class="unselected" href="http://wiki.apache.org/lucene-hadoop">Wiki</a>
 </li>
 </ul>
+<!--+
+    |end Tabs
+    +-->
 </div>
 </div>
 <div id="main">
 <div id="publishedStrip">
+<!--+
+    |start Subtabs
+    +-->
 <div id="level2tabs"></div>
+<!--+
+    |end Endtabs
+    +-->
 <script type="text/javascript"><!--
-document.write("<text>Last Published:</text> " + document.lastModified);
+document.write("Last Published: " + document.lastModified);
 //  --></script>
 </div>
+<!--+
+    |breadtrail
+    +-->
 <div class="breadtrail">
-             
+
              &nbsp;
            </div>
+<!--+
+    |start Menu, mainarea
+    +-->
+<!--+
+    |start Menu
+    +-->
 <div id="menu">
 <div onclick="SwitchMenu('menu_selected_1.1', 'skin/')" id="menu_selected_1.1Title" class="menutitle" style="background-image: url('skin/images/chapter_open.gif');">Project</div>
 <div id="menu_selected_1.1" class="selectedmenuitemgroup" style="display: block;">
 <div class="menuitem">
-<a href="index.html">News</a>
+<a href="releases.html">Releases</a>
 </div>
 <div class="menuitem">
-<a href="about.html">About</a>
+<a href="releases.html#News">News</a>
 </div>
 <div class="menupage">
 <div class="menupagetitle">Credits</div>
 </div>
 <div class="menuitem">
-<a href="http://www.apache.org/dyn/closer.cgi/lucene/hadoop/">Download</a>
-</div>
-<div class="menuitem">
 <a href="http://www.cafepress.com/hadoop/">Buy Stuff</a>
 </div>
 </div>
 <div onclick="SwitchMenu('menu_1.2', 'skin/')" id="menu_1.2Title" class="menutitle">Documentation</div>
 <div id="menu_1.2" class="menuitemgroup">
 <div class="menuitem">
-<a href="http://wiki.apache.org/lucene-hadoop/FAQ">FAQ</a>
+<a href="hdfs_design.html">Hadoop File System</a>
+</div>
+<div class="menuitem">
+<a href="api/overview-summary.html#overview_description">Install and Configure</a>
+</div>
+<div class="menuitem">
+<a href="api/index.html">API Docs</a>
 </div>
 <div class="menuitem">
 <a href="http://wiki.apache.org/lucene-hadoop/">Wiki</a>
 </div>
 <div class="menuitem">
-<a href="hdfs_design.html">Hadoop File System</a>
+<a href="http://wiki.apache.org/lucene-hadoop/FAQ">FAQ</a>
 </div>
 <div class="menuitem">
-<a href="api/index.html">API Docs</a>
+<a href="mailing_lists.html#Users">Mailing Lists</a>
 </div>
 </div>
-<div onclick="SwitchMenu('menu_1.3', 'skin/')" id="menu_1.3Title" class="menutitle">Developer</div>
+<div onclick="SwitchMenu('menu_1.3', 'skin/')" id="menu_1.3Title" class="menutitle">Developers</div>
 <div id="menu_1.3" class="menuitemgroup">
 <div class="menuitem">
-<a href="mailing_lists.html">Mailing Lists</a>
+<a href="mailing_lists.html#Developers">Mailing Lists</a>
 </div>
 <div class="menuitem">
 <a href="issue_tracking.html">Issue Tracking</a>
@@ -102,20 +150,20 @@ document.write("<text>Last Published:</text> " + document.lastModified);
 <a href="http://lucene.zones.apache.org:8080/hudson/job/Hadoop-Nightly/">Nightly Build</a>
 </div>
 </div>
-<div onclick="SwitchMenu('menu_1.4', 'skin/')" id="menu_1.4Title" class="menutitle">Related Projects</div>
-<div id="menu_1.4" class="menuitemgroup">
-<div class="menuitem">
-<a href="http://lucene.apache.org/java/">Lucene</a>
-</div>
-<div class="menuitem">
-<a href="http://lucene.apache.org/nutch/">Nutch</a>
-</div>
-</div>
 <div id="credit"></div>
 <div id="roundbottom">
 <img style="display: none" class="corner" height="15" width="15" alt="" src="skin/images/rc-b-l-15-1body-2menu-3menu.png"></div>
+<!--+
+  |alternative credits
+  +-->
 <div id="credit2"></div>
 </div>
+<!--+
+    |end Menu
+    +-->
+<!--+
+    |start content
+    +-->
 <div id="content">
 <div title="Portable Document Format" class="pdflink">
 <a class="dida" href="credits.pdf"><img alt="PDF -icon" src="skin/images/pdfdoc.gif" class="skin"><br>
@@ -193,18 +241,27 @@ document.write("<text>Last Published:</text> " + document.lastModified);
 
 
 </div>
+<!--+
+    |end content
+    +-->
 <div class="clearboth">&nbsp;</div>
 </div>
 <div id="footer">
+<!--+
+    |start bottomstrip
+    +-->
 <div class="lastmodified">
 <script type="text/javascript"><!--
-document.write("<text>Last Published:</text> " + document.lastModified);
+document.write("Last Published: " + document.lastModified);
 //  --></script>
 </div>
 <div class="copyright">
         Copyright &copy;
          2007 <a href="http://www.apache.org/licenses/">The Apache Software Foundation.</a>
 </div>
+<!--+
+    |end bottomstrip
+    +-->
 </div>
 </body>
 </html>

+ 227 - 0
docs/documentation.html

@@ -0,0 +1,227 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<meta content="Apache Forrest" name="Generator">
+<meta name="Forrest-version" content="0.8">
+<meta name="Forrest-skin-name" content="pelt">
+<title>Hadoop Documentation</title>
+<link type="text/css" href="skin/basic.css" rel="stylesheet">
+<link media="screen" type="text/css" href="skin/screen.css" rel="stylesheet">
+<link media="print" type="text/css" href="skin/print.css" rel="stylesheet">
+<link type="text/css" href="skin/profile.css" rel="stylesheet">
+<script src="skin/getBlank.js" language="javascript" type="text/javascript"></script><script src="skin/getMenu.js" language="javascript" type="text/javascript"></script><script src="skin/fontsize.js" language="javascript" type="text/javascript"></script>
+<link rel="shortcut icon" href="images/favicon.ico">
+</head>
+<body onload="init()">
+<script type="text/javascript">ndeSetTextSize();</script>
+<div id="top">
+<!--+
+    |breadtrail
+    +-->
+<div class="breadtrail">
+<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://lucene.apache.org/">Lucene</a> &gt; <a href="http://lucene.apache.org/hadoop/">Hadoop</a><script src="skin/breadcrumbs.js" language="JavaScript" type="text/javascript"></script>
+</div>
+<!--+
+    |header
+    +-->
+<div class="header">
+<!--+
+    |start group logo
+    +-->
+<div class="grouplogo">
+<a href="http://lucene.apache.org/"><img class="logoImage" alt="Lucene" src="images/lucene_green_150.gif" title="Apache Lucene"></a>
+</div>
+<!--+
+    |end group logo
+    +-->
+<!--+
+    |start Project Logo
+    +-->
+<div class="projectlogo">
+<a href="http://lucene.apache.org/hadoop/"><img class="logoImage" alt="Hadoop" src="images/hadoop-logo.jpg" title="Scalable Computing Platform"></a>
+</div>
+<!--+
+    |end Project Logo
+    +-->
+<!--+
+    |start Search
+    +-->
+<div class="searchbox">
+<form action="http://www.google.com/search" method="get" class="roundtopsmall">
+<input value="lucene.apache.org" name="sitesearch" type="hidden"><input onFocus="getBlank (this, 'Search the site with google');" size="25" name="q" id="query" type="text" value="Search the site with google">&nbsp; 
+                    <input name="Search" value="Search" type="submit">
+</form>
+</div>
+<!--+
+    |end search
+    +-->
+<!--+
+    |start Tabs
+    +-->
+<ul id="tabs">
+<li class="current">
+<a class="selected" href="index.html">Main</a>
+</li>
+<li>
+<a class="unselected" href="http://wiki.apache.org/lucene-hadoop">Wiki</a>
+</li>
+</ul>
+<!--+
+    |end Tabs
+    +-->
+</div>
+</div>
+<div id="main">
+<div id="publishedStrip">
+<!--+
+    |start Subtabs
+    +-->
+<div id="level2tabs"></div>
+<!--+
+    |end Endtabs
+    +-->
+<script type="text/javascript"><!--
+document.write("Last Published: " + document.lastModified);
+//  --></script>
+</div>
+<!--+
+    |breadtrail
+    +-->
+<div class="breadtrail">
+
+             &nbsp;
+           </div>
+<!--+
+    |start Menu, mainarea
+    +-->
+<!--+
+    |start Menu
+    +-->
+<div id="menu">
+<div onclick="SwitchMenu('menu_1.1', 'skin/')" id="menu_1.1Title" class="menutitle">Project</div>
+<div id="menu_1.1" class="menuitemgroup">
+<div class="menuitem">
+<a href="releases.html">Releases</a>
+</div>
+<div class="menuitem">
+<a href="releases.html#News">News</a>
+</div>
+<div class="menuitem">
+<a href="credits.html">Credits</a>
+</div>
+<div class="menuitem">
+<a href="http://www.cafepress.com/hadoop/">Buy Stuff</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.2', 'skin/')" id="menu_1.2Title" class="menutitle">Documentation</div>
+<div id="menu_1.2" class="menuitemgroup">
+<div class="menuitem">
+<a href="hdfs_design.html">Hadoop File System</a>
+</div>
+<div class="menuitem">
+<a href="api/overview-summary.html#overview_description">Install and Configure</a>
+</div>
+<div class="menuitem">
+<a href="api/index.html">API Docs</a>
+</div>
+<div class="menuitem">
+<a href="http://wiki.apache.org/lucene-hadoop/">Wiki</a>
+</div>
+<div class="menuitem">
+<a href="http://wiki.apache.org/lucene-hadoop/FAQ">FAQ</a>
+</div>
+<div class="menuitem">
+<a href="mailing_lists.html#Users">Mailing Lists</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.3', 'skin/')" id="menu_1.3Title" class="menutitle">Developers</div>
+<div id="menu_1.3" class="menuitemgroup">
+<div class="menuitem">
+<a href="mailing_lists.html#Developers">Mailing Lists</a>
+</div>
+<div class="menuitem">
+<a href="issue_tracking.html">Issue Tracking</a>
+</div>
+<div class="menuitem">
+<a href="version_control.html">Version Control</a>
+</div>
+<div class="menuitem">
+<a href="http://lucene.zones.apache.org:8080/hudson/job/Hadoop-Nightly/">Nightly Build</a>
+</div>
+</div>
+<div id="credit"></div>
+<div id="roundbottom">
+<img style="display: none" class="corner" height="15" width="15" alt="" src="skin/images/rc-b-l-15-1body-2menu-3menu.png"></div>
+<!--+
+  |alternative credits
+  +-->
+<div id="credit2"></div>
+</div>
+<!--+
+    |end Menu
+    +-->
+<!--+
+    |start content
+    +-->
+<div id="content">
+<div title="Portable Document Format" class="pdflink">
+<a class="dida" href="documentation.pdf"><img alt="PDF -icon" src="skin/images/pdfdoc.gif" class="skin"><br>
+        PDF</a>
+</div>
+<h1>Hadoop Documentation</h1>
+    
+<p>
+    The following documents provide concepts and procedures that will help you get started using Hadoop.
+    If you have more questions, you can ask the <a href="mailing_lists.html">mailing list</a> or browse the archives.
+    </p>
+    
+<ul>
+      
+<li>
+<a href="hdfs_design.html">Hadoop Distributed File System (<acronym title="Hadoop Distributed File System">HDFS</acronym>)</a>
+</li>
+      
+<li>
+<a href="api/overview-summary.html#overview_description">Install and configure</a>
+</li>
+      
+<li>
+<a href="api/index.html">API Docs</a>
+</li>
+      
+<li>
+<a href="http://wiki.apache.org/lucene-hadoop/">Wiki</a>
+</li>
+      
+<li>
+<a href="http://wiki.apache.org/lucene-hadoop/FAQ">FAQ</a>
+</li>
+    
+</ul>
+  
+</div>
+<!--+
+    |end content
+    +-->
+<div class="clearboth">&nbsp;</div>
+</div>
+<div id="footer">
+<!--+
+    |start bottomstrip
+    +-->
+<div class="lastmodified">
+<script type="text/javascript"><!--
+document.write("Last Published: " + document.lastModified);
+//  --></script>
+</div>
+<div class="copyright">
+        Copyright &copy;
+         2007 <a href="http://www.apache.org/licenses/">The Apache Software Foundation.</a>
+</div>
+<!--+
+    |end bottomstrip
+    +-->
+</div>
+</body>
+</html>

+ 170 - 0
docs/documentation.pdf

@@ -0,0 +1,170 @@
+%PDF-1.3
+%ª«¬­
+4 0 obj
+<< /Type /Info
+/Producer (FOP 0.20.5) >>
+endobj
+5 0 obj
+<< /Length 1045 /Filter [ /ASCII85Decode /FlateDecode ]
+ >>
+stream
+Gat=+968f@&AJ$CkX];h<DPi>8Q2)Me.uYB-p9Pu!)JPJr.)o(YPaWHZ/]7P^rkC"qf]*l/e;a`bE;qD+9Ll2KrV>l6==G7JE-q;Y?J7MK%+t[q>gLIT):9:O*BM<EEr<UnX'OB5pV.k6tpZHrdj_Q$-E8q%Hms.G8t9@ef_*hU4V@SK>fa.j7F<;41,d2aLPJ8B'C`O27F]&!cc`!pdo_857h7k$#N&7pBtQ'UGu<*?Go?F]r.\^G!bfC$U6.0fS4_jU<OhH67h_dLmm*b[ICgL@GCZ,/]pGLC"?K;ng`>gV\/+-:UGN1YBoQ0ebj9$]ig>2nG>;OW+/2UgJU4h7*7^oL+0KdgTSNq6'j[k$s(q4lXAUpB04IQ5bVj_3;??UVr9,18Q-5Ue&4TZgOu4:;Yb)BU(aV528O9s(TglS()UU7W4"Y0<-DWSoULhTftKQl*7pp"Im4>7d7NE'0-*/Q3g;u![U'n>pddS'EpMNa\ofJVj3[Bg^G8?6?E@47Bnn))Le`#8"^L4LpaQI8["9HSCHrG!VBL8n]rS%);81@-H7;k5RZ&SB`V;aQL(ItP7,FuQbruoF>W'pP-m#Eh'=acWVQ#:]NX6k%V'>qAD==L(?+oET3/m)ZTIVdERVW7<)\B:fV$qR&hVM8]]3.6Z/m"OS.oeNAJ"4UR2o"pf=1:/7m\t*]=Efq_m6j/dZL:c[l8h'ckS]td*u5m2FQY9Pe]g&XTLo]`6L,\??)3$$H#,Uf1Oq/!W`jNf`FO_Qc;bZ27u2#h.l/pG/4_6Qs"#;)mM%EK=YuA+Ic\SuJ@+k2ro`ki\Ns7:75R_'4A<hLi2jJb`ZTT,]rNJ\:5Se:r%a="Dg$T1h4tLAB_H;rAY.K)s$X'</AWrjc@!HK2pql=p5OZ0D3.lVs15#_=g^LG?\?5sX%*d*#mZjugQ%!/kM>Xr&r1HY50RSBZ8n"<Q-sE1YNbR?Mg"tac2Sa"Z*FX%Nj@@F^G5/;I\>GrFBb:69NtYsAJ3So,G=2Mbias_F6AuDEfln\#Z^*g!DkM_TE~>
+endstream
+endobj
+6 0 obj
+<< /Type /Page
+/Parent 1 0 R
+/MediaBox [ 0 0 612 792 ]
+/Resources 3 0 R
+/Contents 5 0 R
+/Annots 7 0 R
+>>
+endobj
+7 0 obj
+[
+8 0 R
+9 0 R
+10 0 R
+11 0 R
+12 0 R
+13 0 R
+]
+endobj
+8 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 376.956 572.6 431.304 560.6 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A << /URI (mailing_lists.html)
+/S /URI >>
+/H /I
+>>
+endobj
+9 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 108.0 542.2 304.668 530.2 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A << /URI (hdfs_design.html)
+/S /URI >>
+/H /I
+>>
+endobj
+10 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 108.0 529.0 207.312 517.0 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A << /URI (api/overview-summary.html#overview_description)
+/S /URI >>
+/H /I
+>>
+endobj
+11 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 108.0 515.8 154.992 503.8 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A << /URI (api/index.html)
+/S /URI >>
+/H /I
+>>
+endobj
+12 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 108.0 502.6 132.0 490.6 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A << /URI (http://wiki.apache.org/lucene-hadoop/)
+/S /URI >>
+/H /I
+>>
+endobj
+13 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 108.0 489.4 132.0 477.4 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A << /URI (http://wiki.apache.org/lucene-hadoop/FAQ)
+/S /URI >>
+/H /I
+>>
+endobj
+14 0 obj
+<< /Type /Font
+/Subtype /Type1
+/Name /F3
+/BaseFont /Helvetica-Bold
+/Encoding /WinAnsiEncoding >>
+endobj
+15 0 obj
+<< /Type /Font
+/Subtype /Type1
+/Name /F5
+/BaseFont /Times-Roman
+/Encoding /WinAnsiEncoding >>
+endobj
+16 0 obj
+<< /Type /Font
+/Subtype /Type1
+/Name /F1
+/BaseFont /Helvetica
+/Encoding /WinAnsiEncoding >>
+endobj
+17 0 obj
+<< /Type /Font
+/Subtype /Type1
+/Name /F2
+/BaseFont /Helvetica-Oblique
+/Encoding /WinAnsiEncoding >>
+endobj
+1 0 obj
+<< /Type /Pages
+/Count 1
+/Kids [6 0 R ] >>
+endobj
+2 0 obj
+<< /Type /Catalog
+/Pages 1 0 R
+ >>
+endobj
+3 0 obj
+<< 
+/Font << /F3 14 0 R /F5 15 0 R /F1 16 0 R /F2 17 0 R >> 
+/ProcSet [ /PDF /ImageC /Text ] >> 
+endobj
+xref
+0 18
+0000000000 65535 f 
+0000002889 00000 n 
+0000002947 00000 n 
+0000002997 00000 n 
+0000000015 00000 n 
+0000000071 00000 n 
+0000001208 00000 n 
+0000001328 00000 n 
+0000001387 00000 n 
+0000001554 00000 n 
+0000001717 00000 n 
+0000001911 00000 n 
+0000002073 00000 n 
+0000002256 00000 n 
+0000002442 00000 n 
+0000002555 00000 n 
+0000002665 00000 n 
+0000002773 00000 n 
+trailer
+<<
+/Size 18
+/Root 2 0 R
+/Info 4 0 R
+>>
+startxref
+3109
+%%EOF

+ 90 - 33
docs/hdfs_design.html

@@ -1,9 +1,9 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 <html>
 <head>
 <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <meta content="Apache Forrest" name="Generator">
-<meta name="Forrest-version" content="0.7">
+<meta name="Forrest-version" content="0.8">
 <meta name="Forrest-skin-name" content="pelt">
 <title> 
       The Hadoop Distributed File System: Architecture and Design
@@ -18,81 +18,129 @@
 <body onload="init()">
 <script type="text/javascript">ndeSetTextSize();</script>
 <div id="top">
+<!--+
+    |breadtrail
+    +-->
 <div class="breadtrail">
 <a href="http://www.apache.org/">Apache</a> &gt; <a href="http://lucene.apache.org/">Lucene</a> &gt; <a href="http://lucene.apache.org/hadoop/">Hadoop</a><script src="skin/breadcrumbs.js" language="JavaScript" type="text/javascript"></script>
 </div>
+<!--+
+    |header
+    +-->
 <div class="header">
+<!--+
+    |start group logo
+    +-->
 <div class="grouplogo">
 <a href="http://lucene.apache.org/"><img class="logoImage" alt="Lucene" src="images/lucene_green_150.gif" title="Apache Lucene"></a>
 </div>
+<!--+
+    |end group logo
+    +-->
+<!--+
+    |start Project Logo
+    +-->
 <div class="projectlogo">
 <a href="http://lucene.apache.org/hadoop/"><img class="logoImage" alt="Hadoop" src="images/hadoop-logo.jpg" title="Scalable Computing Platform"></a>
 </div>
+<!--+
+    |end Project Logo
+    +-->
+<!--+
+    |start Search
+    +-->
 <div class="searchbox">
 <form action="http://www.google.com/search" method="get" class="roundtopsmall">
 <input value="lucene.apache.org" name="sitesearch" type="hidden"><input onFocus="getBlank (this, 'Search the site with google');" size="25" name="q" id="query" type="text" value="Search the site with google">&nbsp; 
-                    <input attr="value" name="Search" value="Search" type="submit">
+                    <input name="Search" value="Search" type="submit">
 </form>
 </div>
+<!--+
+    |end search
+    +-->
+<!--+
+    |start Tabs
+    +-->
 <ul id="tabs">
 <li class="current">
-<a class="base-selected" href="index.html">Main</a>
+<a class="selected" href="index.html">Main</a>
 </li>
 <li>
-<a class="base-not-selected" href="http://wiki.apache.org/lucene-hadoop">Wiki</a>
+<a class="unselected" href="http://wiki.apache.org/lucene-hadoop">Wiki</a>
 </li>
 </ul>
+<!--+
+    |end Tabs
+    +-->
 </div>
 </div>
 <div id="main">
 <div id="publishedStrip">
+<!--+
+    |start Subtabs
+    +-->
 <div id="level2tabs"></div>
+<!--+
+    |end Endtabs
+    +-->
 <script type="text/javascript"><!--
-document.write("<text>Last Published:</text> " + document.lastModified);
+document.write("Last Published: " + document.lastModified);
 //  --></script>
 </div>
+<!--+
+    |breadtrail
+    +-->
 <div class="breadtrail">
-             
+
              &nbsp;
            </div>
+<!--+
+    |start Menu, mainarea
+    +-->
+<!--+
+    |start Menu
+    +-->
 <div id="menu">
 <div onclick="SwitchMenu('menu_1.1', 'skin/')" id="menu_1.1Title" class="menutitle">Project</div>
 <div id="menu_1.1" class="menuitemgroup">
 <div class="menuitem">
-<a href="index.html">News</a>
+<a href="releases.html">Releases</a>
 </div>
 <div class="menuitem">
-<a href="about.html">About</a>
+<a href="releases.html#News">News</a>
 </div>
 <div class="menuitem">
 <a href="credits.html">Credits</a>
 </div>
 <div class="menuitem">
-<a href="http://www.apache.org/dyn/closer.cgi/lucene/hadoop/">Download</a>
-</div>
-<div class="menuitem">
 <a href="http://www.cafepress.com/hadoop/">Buy Stuff</a>
 </div>
 </div>
 <div onclick="SwitchMenu('menu_selected_1.2', 'skin/')" id="menu_selected_1.2Title" class="menutitle" style="background-image: url('skin/images/chapter_open.gif');">Documentation</div>
 <div id="menu_selected_1.2" class="selectedmenuitemgroup" style="display: block;">
+<div class="menupage">
+<div class="menupagetitle">Hadoop File System</div>
+</div>
 <div class="menuitem">
-<a href="http://wiki.apache.org/lucene-hadoop/FAQ">FAQ</a>
+<a href="api/overview-summary.html#overview_description">Install and Configure</a>
+</div>
+<div class="menuitem">
+<a href="api/index.html">API Docs</a>
 </div>
 <div class="menuitem">
 <a href="http://wiki.apache.org/lucene-hadoop/">Wiki</a>
 </div>
-<div class="menupage">
-<div class="menupagetitle">Hadoop File System</div>
+<div class="menuitem">
+<a href="http://wiki.apache.org/lucene-hadoop/FAQ">FAQ</a>
 </div>
 <div class="menuitem">
-<a href="api/index.html">API Docs</a>
+<a href="mailing_lists.html#Users">Mailing Lists</a>
 </div>
 </div>
-<div onclick="SwitchMenu('menu_1.3', 'skin/')" id="menu_1.3Title" class="menutitle">Developer</div>
+<div onclick="SwitchMenu('menu_1.3', 'skin/')" id="menu_1.3Title" class="menutitle">Developers</div>
 <div id="menu_1.3" class="menuitemgroup">
 <div class="menuitem">
-<a href="mailing_lists.html">Mailing Lists</a>
+<a href="mailing_lists.html#Developers">Mailing Lists</a>
 </div>
 <div class="menuitem">
 <a href="issue_tracking.html">Issue Tracking</a>
@@ -104,20 +152,20 @@ document.write("<text>Last Published:</text> " + document.lastModified);
 <a href="http://lucene.zones.apache.org:8080/hudson/job/Hadoop-Nightly/">Nightly Build</a>
 </div>
 </div>
-<div onclick="SwitchMenu('menu_1.4', 'skin/')" id="menu_1.4Title" class="menutitle">Related Projects</div>
-<div id="menu_1.4" class="menuitemgroup">
-<div class="menuitem">
-<a href="http://lucene.apache.org/java/">Lucene</a>
-</div>
-<div class="menuitem">
-<a href="http://lucene.apache.org/nutch/">Nutch</a>
-</div>
-</div>
 <div id="credit"></div>
 <div id="roundbottom">
 <img style="display: none" class="corner" height="15" width="15" alt="" src="skin/images/rc-b-l-15-1body-2menu-3menu.png"></div>
+<!--+
+  |alternative credits
+  +-->
 <div id="credit2"></div>
 </div>
+<!--+
+    |end Menu
+    +-->
+<!--+
+    |start content
+    +-->
 <div id="content">
 <div title="Portable Document Format" class="pdflink">
 <a class="dida" href="hdfs_design.pdf"><img alt="PDF -icon" src="skin/images/pdfdoc.gif" class="skin"><br>
@@ -297,8 +345,8 @@ document.write("<text>Last Published:</text> " + document.lastModified);
 <p>
       HDFS has a master/slave architecture. An HDFS cluster consists of a single <em>Namenode</em>, a master server that manages the file system namespace and regulates access to files by clients. In addition, there are a number of <em>Datanodes</em>, usually one per node in the cluster, which manage storage attached to the nodes that they run on. HDFS exposes a file system namespace and allows user data to be stored in files. Internally, a file is split into one or more blocks and these blocks are stored in a set of Datanodes. The Namenode executes file system namespace operations like opening, closing, and renaming files and directories. It also determines the mapping of blocks to Datanodes. The Datanodes are responsible for serving read and write requests from the file system&rsquo;s clients. The Datanodes also perform block creation, deletion, and replication upon instruction from the Namenode.
       </p>
-<div style="text-align: center;">
-<img class="figure" alt="HDFS Architecture" src="images/hdfsarchitecture.gif"></div>
+<div id="" style="text-align: center;">
+<img id="" class="figure" alt="HDFS Architecture" src="images/hdfsarchitecture.gif"></div>
 <p>
       The Namenode and Datanode are pieces of software designed to run on commodity machines. These machines typically run a GNU/Linux operating system (<acronym title="operating system">OS</acronym>). HDFS is built using the Java language; any machine that supports Java can run the Namenode or the Datanode software. Usage of the highly portable Java language means that HDFS can be deployed on a wide range of machines. A typical deployment has a dedicated machine that runs only the Namenode software. Each of the other machines in the cluster runs one instance of the Datanode software. The architecture does not preclude running multiple Datanodes on the same machine but in a real deployment that is rarely the case.
       </p>
@@ -333,8 +381,8 @@ document.write("<text>Last Published:</text> " + document.lastModified);
 <p>
       The Namenode makes all decisions regarding replication of blocks. It periodically receives a <em>Heartbeat</em> and a <em>Blockreport</em> from each of the Datanodes in the cluster. Receipt of a Heartbeat implies that the Datanode is functioning properly. A Blockreport contains a list of all blocks on a Datanode. 
     </p>
-<div style="text-align: center;">
-<img class="figure" alt="HDFS Datanodes" src="images/hdfsdatanodes.gif"></div>
+<div id="" style="text-align: center;">
+<img id="" class="figure" alt="HDFS Datanodes" src="images/hdfsdatanodes.gif"></div>
 <a name="N100AC"></a><a name="Replica+Placement%3A+The+First+Baby+Steps"></a>
 <h3 class="h4"> Replica Placement: The First Baby Steps </h3>
 <p>
@@ -410,7 +458,7 @@ document.write("<text>Last Published:</text> " + document.lastModified);
 <a name="N1013F"></a><a name="Data+Integrity"></a>
 <h3 class="h4"> Data Integrity </h3>
 <p>
-        
+        <!-- XXX "checksum checking" sounds funny -->
         It is possible that a block of data fetched from a Datanode arrives corrupted. This corruption can occur because of faults in a storage device, network faults, or buggy software. The HDFS client software implements checksum checking on the contents of HDFS files. When a client creates an HDFS file, it computes a checksum of each block of the file and stores these checksums in a separate hidden file in the same HDFS namespace. When a client retrieves file contents it verifies that the data it received from each Datanode matches the checksum stored in the associated checksum file. If not, then the client can opt to retrieve that block from another Datanode that has a replica of that block.
         </p>
 <a name="N1014B"></a><a name="Metadata+Disk+Failure"></a>
@@ -579,18 +627,27 @@ document.write("<text>Last Published:</text> " + document.lastModified);
 <font size="-2">by&nbsp;Dhruba Borthakur</font>
 </p>
 </div>
+<!--+
+    |end content
+    +-->
 <div class="clearboth">&nbsp;</div>
 </div>
 <div id="footer">
+<!--+
+    |start bottomstrip
+    +-->
 <div class="lastmodified">
 <script type="text/javascript"><!--
-document.write("<text>Last Published:</text> " + document.lastModified);
+document.write("Last Published: " + document.lastModified);
 //  --></script>
 </div>
 <div class="copyright">
         Copyright &copy;
          2007 <a href="http://www.apache.org/licenses/">The Apache Software Foundation.</a>
 </div>
+<!--+
+    |end bottomstrip
+    +-->
 </div>
 </body>
 </html>

文件差異過大導致無法顯示
+ 9 - 9
docs/hdfs_design.pdf


二進制
docs/images/architecture.gif


+ 169 - 337
docs/index.html

@@ -1,9 +1,9 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 <html>
 <head>
 <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <meta content="Apache Forrest" name="Generator">
-<meta name="Forrest-version" content="0.7">
+<meta name="Forrest-version" content="0.8">
 <meta name="Forrest-skin-name" content="pelt">
 <title>Welcome to Hadoop!</title>
 <link type="text/css" href="skin/basic.css" rel="stylesheet">
@@ -16,57 +16,99 @@
 <body onload="init()">
 <script type="text/javascript">ndeSetTextSize();</script>
 <div id="top">
+<!--+
+    |breadtrail
+    +-->
 <div class="breadtrail">
 <a href="http://www.apache.org/">Apache</a> &gt; <a href="http://lucene.apache.org/">Lucene</a> &gt; <a href="http://lucene.apache.org/hadoop/">Hadoop</a><script src="skin/breadcrumbs.js" language="JavaScript" type="text/javascript"></script>
 </div>
+<!--+
+    |header
+    +-->
 <div class="header">
+<!--+
+    |start group logo
+    +-->
 <div class="grouplogo">
 <a href="http://lucene.apache.org/"><img class="logoImage" alt="Lucene" src="images/lucene_green_150.gif" title="Apache Lucene"></a>
 </div>
+<!--+
+    |end group logo
+    +-->
+<!--+
+    |start Project Logo
+    +-->
 <div class="projectlogo">
 <a href="http://lucene.apache.org/hadoop/"><img class="logoImage" alt="Hadoop" src="images/hadoop-logo.jpg" title="Scalable Computing Platform"></a>
 </div>
+<!--+
+    |end Project Logo
+    +-->
+<!--+
+    |start Search
+    +-->
 <div class="searchbox">
 <form action="http://www.google.com/search" method="get" class="roundtopsmall">
 <input value="lucene.apache.org" name="sitesearch" type="hidden"><input onFocus="getBlank (this, 'Search the site with google');" size="25" name="q" id="query" type="text" value="Search the site with google">&nbsp; 
-                    <input attr="value" name="Search" value="Search" type="submit">
+                    <input name="Search" value="Search" type="submit">
 </form>
 </div>
+<!--+
+    |end search
+    +-->
+<!--+
+    |start Tabs
+    +-->
 <ul id="tabs">
 <li class="current">
-<a class="base-selected" href="index.html">Main</a>
+<a class="selected" href="index.html">Main</a>
 </li>
 <li>
-<a class="base-not-selected" href="http://wiki.apache.org/lucene-hadoop">Wiki</a>
+<a class="unselected" href="http://wiki.apache.org/lucene-hadoop">Wiki</a>
 </li>
 </ul>
+<!--+
+    |end Tabs
+    +-->
 </div>
 </div>
 <div id="main">
 <div id="publishedStrip">
+<!--+
+    |start Subtabs
+    +-->
 <div id="level2tabs"></div>
+<!--+
+    |end Endtabs
+    +-->
 <script type="text/javascript"><!--
-document.write("<text>Last Published:</text> " + document.lastModified);
+document.write("Last Published: " + document.lastModified);
 //  --></script>
 </div>
+<!--+
+    |breadtrail
+    +-->
 <div class="breadtrail">
-             
+
              &nbsp;
            </div>
+<!--+
+    |start Menu, mainarea
+    +-->
+<!--+
+    |start Menu
+    +-->
 <div id="menu">
-<div onclick="SwitchMenu('menu_selected_1.1', 'skin/')" id="menu_selected_1.1Title" class="menutitle" style="background-image: url('skin/images/chapter_open.gif');">Project</div>
-<div id="menu_selected_1.1" class="selectedmenuitemgroup" style="display: block;">
-<div class="menupage">
-<div class="menupagetitle">News</div>
-</div>
+<div onclick="SwitchMenu('menu_1.1', 'skin/')" id="menu_1.1Title" class="menutitle">Project</div>
+<div id="menu_1.1" class="menuitemgroup">
 <div class="menuitem">
-<a href="about.html">About</a>
+<a href="releases.html">Releases</a>
 </div>
 <div class="menuitem">
-<a href="credits.html">Credits</a>
+<a href="releases.html#News">News</a>
 </div>
 <div class="menuitem">
-<a href="http://www.apache.org/dyn/closer.cgi/lucene/hadoop/">Download</a>
+<a href="credits.html">Credits</a>
 </div>
 <div class="menuitem">
 <a href="http://www.cafepress.com/hadoop/">Buy Stuff</a>
@@ -75,22 +117,28 @@ document.write("<text>Last Published:</text> " + document.lastModified);
 <div onclick="SwitchMenu('menu_1.2', 'skin/')" id="menu_1.2Title" class="menutitle">Documentation</div>
 <div id="menu_1.2" class="menuitemgroup">
 <div class="menuitem">
-<a href="http://wiki.apache.org/lucene-hadoop/FAQ">FAQ</a>
+<a href="hdfs_design.html">Hadoop File System</a>
+</div>
+<div class="menuitem">
+<a href="api/overview-summary.html#overview_description">Install and Configure</a>
+</div>
+<div class="menuitem">
+<a href="api/index.html">API Docs</a>
 </div>
 <div class="menuitem">
 <a href="http://wiki.apache.org/lucene-hadoop/">Wiki</a>
 </div>
 <div class="menuitem">
-<a href="hdfs_design.html">Hadoop File System</a>
+<a href="http://wiki.apache.org/lucene-hadoop/FAQ">FAQ</a>
 </div>
 <div class="menuitem">
-<a href="api/index.html">API Docs</a>
+<a href="mailing_lists.html#Users">Mailing Lists</a>
 </div>
 </div>
-<div onclick="SwitchMenu('menu_1.3', 'skin/')" id="menu_1.3Title" class="menutitle">Developer</div>
+<div onclick="SwitchMenu('menu_1.3', 'skin/')" id="menu_1.3Title" class="menutitle">Developers</div>
 <div id="menu_1.3" class="menuitemgroup">
 <div class="menuitem">
-<a href="mailing_lists.html">Mailing Lists</a>
+<a href="mailing_lists.html#Developers">Mailing Lists</a>
 </div>
 <div class="menuitem">
 <a href="issue_tracking.html">Issue Tracking</a>
@@ -102,23 +150,23 @@ document.write("<text>Last Published:</text> " + document.lastModified);
 <a href="http://lucene.zones.apache.org:8080/hudson/job/Hadoop-Nightly/">Nightly Build</a>
 </div>
 </div>
-<div onclick="SwitchMenu('menu_1.4', 'skin/')" id="menu_1.4Title" class="menutitle">Related Projects</div>
-<div id="menu_1.4" class="menuitemgroup">
-<div class="menuitem">
-<a href="http://lucene.apache.org/java/">Lucene</a>
-</div>
-<div class="menuitem">
-<a href="http://lucene.apache.org/nutch/">Nutch</a>
-</div>
-</div>
 <div id="credit">
 <hr>
 <a href="http://forrest.apache.org/"><img border="0" title="Built with Apache Forrest" alt="Built with Apache Forrest - logo" src="images/built-with-forrest-button.png" style="width: 88px;height: 31px;"></a>
 </div>
 <div id="roundbottom">
 <img style="display: none" class="corner" height="15" width="15" alt="" src="skin/images/rc-b-l-15-1body-2menu-3menu.png"></div>
+<!--+
+  |alternative credits
+  +-->
 <div id="credit2"></div>
 </div>
+<!--+
+    |end Menu
+    +-->
+<!--+
+    |start content
+    +-->
 <div id="content">
 <div title="Portable Document Format" class="pdflink">
 <a class="dida" href="index.pdf"><img alt="PDF -icon" src="skin/images/pdfdoc.gif" class="skin"><br>
@@ -128,334 +176,115 @@ document.write("<text>Last Published:</text> " + document.lastModified);
 <div id="minitoc-area">
 <ul class="minitoc">
 <li>
-<a href="#News">News</a>
-<ul class="minitoc">
-<li>
-<a href="#25+July%2C+2007%3A+release+0.13.1+available">25 July, 2007: release 0.13.1 available</a>
-</li>
-<li>
-<a href="#8+June%2C+2007%3A+release+0.13.0+available">8 June, 2007: release 0.13.0 available</a>
-</li>
-<li>
-<a href="#6+April%2C+2007%3A+release+0.12.3+available">6 April, 2007: release 0.12.3 available</a>
-</li>
-<li>
-<a href="#23+March%2C+2007%3A+release+0.12.2+available">23 March, 2007: release 0.12.2 available</a>
-</li>
-<li>
-<a href="#17+March%2C+2007%3A+release+0.12.1+available">17 March, 2007: release 0.12.1 available</a>
-</li>
-<li>
-<a href="#2+March%2C+2007%3A+release+0.12.0+available">2 March, 2007: release 0.12.0 available</a>
-</li>
-<li>
-<a href="#16+February%2C+2007%3A+release+0.11.2+available">16 February, 2007: release 0.11.2 available</a>
-</li>
-<li>
-<a href="#9+February%2C+2007%3A+release+0.11.1+available">9 February, 2007: release 0.11.1 available</a>
-</li>
-<li>
-<a href="#2+February%2C+2007%3A+release+0.11.0+available">2 February, 2007: release 0.11.0 available</a>
-</li>
-<li>
-<a href="#10+January%2C+2007%3A+release+0.10.1+available">10 January, 2007: release 0.10.1 available</a>
-</li>
-<li>
-<a href="#5+January%2C+2007%3A+release+0.10.0+available">5 January, 2007: release 0.10.0 available</a>
-</li>
-<li>
-<a href="#15+December%2C+2006%3A+release+0.9.2+available">15 December, 2006: release 0.9.2 available</a>
-</li>
-<li>
-<a href="#6+December%2C+2006%3A+release+0.9.1+available">6 December, 2006: release 0.9.1 available</a>
-</li>
-<li>
-<a href="#1+December%2C+2006%3A+release+0.9.0+available">1 December, 2006: release 0.9.0 available</a>
-</li>
-<li>
-<a href="#3+November%2C+2006%3A+release+0.8.0+available">3 November, 2006: release 0.8.0 available</a>
-</li>
-<li>
-<a href="#18+October%2C+2006%3A+release+0.7.2+available">18 October, 2006: release 0.7.2 available</a>
-</li>
-<li>
-<a href="#11+October%2C+2006%3A+release+0.7.1+available">11 October, 2006: release 0.7.1 available</a>
-</li>
-<li>
-<a href="#6+October%2C+2006%3A+release+0.7.0+available">6 October, 2006: release 0.7.0 available</a>
-</li>
-<li>
-<a href="#18+September%2C+2006%3A+release+0.6.2+available">18 September, 2006: release 0.6.2 available</a>
-</li>
-<li>
-<a href="#13+September%2C+2006%3A+release+0.6.1+available">13 September, 2006: release 0.6.1 available</a>
-</li>
-<li>
-<a href="#8+September%2C+2006%3A+release+0.6.0+available">8 September, 2006: release 0.6.0 available</a>
-</li>
-<li>
-<a href="#4+August%2C+2006%3A+release+0.5.0+available">4 August, 2006: release 0.5.0 available</a>
+<a href="#Getting+Started"> Getting Started </a>
 </li>
 <li>
-<a href="#28+June%2C+2006%3A+release+0.4.0+available">28 June, 2006: release 0.4.0 available</a>
-</li>
-<li>
-<a href="#9+June%2C+2006%3A+release+0.3.2+available">9 June, 2006: release 0.3.2 available</a>
-</li>
-<li>
-<a href="#8+June%2C+2006%3A+FAQ+added+to+Wiki">8 June, 2006: FAQ added to Wiki</a>
-</li>
-<li>
-<a href="#5+June%2C+2006%3A+release+0.3.1+available">5 June, 2006: release 0.3.1 available</a>
-</li>
-<li>
-<a href="#2+June%2C+2006%3A+release+0.3.0+available">2 June, 2006: release 0.3.0 available</a>
-</li>
-<li>
-<a href="#12+May%2C+2006%3A+release+0.2.1+available">12 May, 2006: release 0.2.1 available</a>
-</li>
-<li>
-<a href="#5+May%2C+2006%3A+release+0.2.0+available">5 May, 2006: release 0.2.0 available</a>
+<a href="#Getting+Involved"> Getting Involved </a>
 </li>
+</ul>
+</div>
+    
+<p>
+    Hadoop is a software platform lets one easily write and run
+    applications that process vast amounts of data.</p>
+
+    
+<p>Here's what makes Hadoop especially useful:</p>
+    
+<ul>
+      
+<li>
+<strong>Scalable:</strong>
+      Hadoop can reliably store and process petabytes.</li>
+      
+<li>
+<strong>Economical:</strong>
+      It distributes the data and processing across clusters of
+      commonly available computers. These clusters can number into the
+      thousands of nodes.</li>
+      
+<li>
+<strong>Efficient:</strong>
+      By distributing the data, Hadoop can process it in parallel on
+      the nodes where the data is located. This makes it extremely
+      rapid.</li>
+      
+<li>
+<strong>Reliable:</strong>
+      Hadoop automatically maintains multiple copies of data and
+      automatically redeploys computing tasks based on failures.</li>
+    
+</ul>
+    
+<p>
+    Hadoop implements <a href="http://wiki.apache.org/lucene-hadoop/HadoopMapReduce">MapReduce</a>,
+    using the Hadoop Distributed File System (<a href="hdfs_design.html"><acronym title="Hadoop Distributed File System">HDFS</acronym></a>) (see figure below.)  MapReduce divides
+    applications into many small blocks of work.  HDFS creates
+    multiple replicas of data blocks for reliability, placing them on
+    compute nodes around the cluster.  MapReduce can then process the
+    data where it is located.
+    </p>
+
+    
+<div id="" style="text-align: center;">
+<img id="" class="figure" alt="architecture" src="images/architecture.gif"></div>
+
+    
+<a name="N1003A"></a><a name="Getting+Started"></a>
+<h2 class="h3"> Getting Started </h2>
+<div class="section">
+<p>
+      The Hadoop project plans to scale Hadoop up to handling thousands of computers. However, to begin with you can start by installing in on a single machine or a very small cluster.
+      </p>
+<ol>
+        
 <li>
-<a href="#2+April%2C+2006%3A+release+0.1.0+available">2 April, 2006: release 0.1.0 available</a>
-</li>
+<a href="documentation.html">Learn about</a> Hadoop by reading the documentation.</li>
+        
 <li>
-<a href="#6+February%2C+2006%3A+nightly+builds">6 February, 2006: nightly builds</a>
-</li>
+<a href="releases.html">Download</a> Hadoop from the release page.</li>
+        
 <li>
-<a href="#3+February%2C+2006%3A+Hadoop+code+moved+out+of+Nutch">3 February, 2006: Hadoop code moved out of Nutch</a>
-</li>
+<a href="api/overview-summary.html#overview_description">Install and configure</a> Hadoop. Scroll down the page.</li>
+        
 <li>
-<a href="#30+March%2C+2006%3A+Hadoop+project+approved">30 March, 2006: Hadoop project approved</a>
-</li>
-</ul>
-</li>
-</ul>
-</div> 
+<a href="mailing_lists.html">Discuss it</a> on the mailing list.</li>
+      
+</ol>
+</div>
 
     
-<a name="N1000C"></a><a name="News"></a>
-<h2 class="h3">News</h2>
+<a name="N1005F"></a><a name="Getting+Involved"></a>
+<h2 class="h3"> Getting Involved </h2>
 <div class="section">
-<a name="N10012"></a><a name="25+July%2C+2007%3A+release+0.13.1+available"></a>
-<h3 class="h4">25 July, 2007: release 0.13.1 available</h3>
-<p>This fixes critical bugs in the 0.13.0 release.  For full
-      details, see the <a href="http://tinyurl.com/2uoabd">release
-      notes</a>. The release can be obtained from <a href="http://www.apache.org/dyn/closer.cgi/lucene/hadoop/"> a
-      nearby mirror</a>.
-      </p>
-<a name="N10024"></a><a name="8+June%2C+2007%3A+release+0.13.0+available"></a>
-<h3 class="h4">8 June, 2007: release 0.13.0 available</h3>
-<p>In addition to new features, this release contains
-      significant performance and reliability improvements.  For
-      example, MapReduce sort performance on large clusters has <a href="http://wiki.apache.org/lucene-hadoop-data/attachments/FAQ/attachments/sort900-20070607.png">
-      doubled</a>.</p>
-<p>Note: when upgrading an existing HDFS filesystem to this
-      release, you should first start HDFS with <span class="codefrag">bin/start-dfs.sh
-      -upgrade</span>, which makes it possible to revert the upgrade.
-      For more information on this issue, see <a href="https://issues.apache.org/jira/browse/HADOOP-702#action_12482953">HADOOP-702</a>.
-      </p>
-<p>For full details, see the <a href="http://tinyurl.com/2prl3k">release notes</a>. The release
-      can be obtained from <a href="http://www.apache.org/dyn/closer.cgi/lucene/hadoop/"> a
-      nearby mirror</a>.
-      </p>
-<a name="N10047"></a><a name="6+April%2C+2007%3A+release+0.12.3+available"></a>
-<h3 class="h4">6 April, 2007: release 0.12.3 available</h3>
-<p>For details see the <a href="http://tinyurl.com/35qyhw">release notes</a>. The release can
-      be obtained from <a href="http://www.apache.org/dyn/closer.cgi/lucene/hadoop/"> a
-      nearby mirror</a>.
-      </p>
-<a name="N10059"></a><a name="23+March%2C+2007%3A+release+0.12.2+available"></a>
-<h3 class="h4">23 March, 2007: release 0.12.2 available</h3>
-<p>For details see the <a href="http://tinyurl.com/2r7kcw">release notes</a>. The release can
-      be obtained from <a href="http://www.apache.org/dyn/closer.cgi/lucene/hadoop/"> a
-      nearby mirror</a>.
-      </p>
-<a name="N1006B"></a><a name="17+March%2C+2007%3A+release+0.12.1+available"></a>
-<h3 class="h4">17 March, 2007: release 0.12.1 available</h3>
-<p>For details see the <a href="http://tinyurl.com/2kynuc">release notes</a>. The release can
-      be obtained from <a href="http://www.apache.org/dyn/closer.cgi/lucene/hadoop/"> a
-      nearby mirror</a>.
-      </p>
-<a name="N1007D"></a><a name="2+March%2C+2007%3A+release+0.12.0+available"></a>
-<h3 class="h4">2 March, 2007: release 0.12.0 available</h3>
-<p>For details see the <a href="http://tinyurl.com/2vp248">release notes</a>. The release can
-      be obtained from <a href="http://www.apache.org/dyn/closer.cgi/lucene/hadoop/"> a
-      nearby mirror</a>.
-      </p>
-<a name="N1008F"></a><a name="16+February%2C+2007%3A+release+0.11.2+available"></a>
-<h3 class="h4">16 February, 2007: release 0.11.2 available</h3>
-<p>This fixes critical bugs in 0.11.1. For details see the <a href="http://tinyurl.com/2ukkt3">release notes</a>. The release can
-      be obtained from <a href="http://www.apache.org/dyn/closer.cgi/lucene/hadoop/"> a
-      nearby mirror</a>.
-      </p>
-<a name="N100A1"></a><a name="9+February%2C+2007%3A+release+0.11.1+available"></a>
-<h3 class="h4">9 February, 2007: release 0.11.1 available</h3>
-<p>This fixes bugs in 0.11.0. For details see the <a href="http://tinyurl.com/37c5a3">release notes</a>. The release can
-      be obtained from <a href="http://www.apache.org/dyn/closer.cgi/lucene/hadoop/"> a
-      nearby mirror</a>.
-      </p>
-<a name="N100B3"></a><a name="2+February%2C+2007%3A+release+0.11.0+available"></a>
-<h3 class="h4">2 February, 2007: release 0.11.0 available</h3>
-<p>For details see the <a href="http://tinyurl.com/2yn8zs">release notes</a>. The release can
-      be obtained from <a href="http://www.apache.org/dyn/closer.cgi/lucene/hadoop/"> a
-      nearby mirror</a>.
-      </p>
-<a name="N100C5"></a><a name="10+January%2C+2007%3A+release+0.10.1+available"></a>
-<h3 class="h4">10 January, 2007: release 0.10.1 available</h3>
-<p>This fixes critical bugs in 0.10.0.  For details see the <a href="http://tinyurl.com/ycpsms">release notes</a>. The release can
-      be obtained from <a href="http://www.apache.org/dyn/closer.cgi/lucene/hadoop/"> a
-      nearby mirror</a>.
-      </p>
-<a name="N100D7"></a><a name="5+January%2C+2007%3A+release+0.10.0+available"></a>
-<h3 class="h4">5 January, 2007: release 0.10.0 available</h3>
-<p>For details see the <a href="http://tinyurl.com/yapkxs">release notes</a>. The release can
-      be obtained from <a href="http://www.apache.org/dyn/closer.cgi/lucene/hadoop/"> a
-      nearby mirror</a>.
-      </p>
-<a name="N100E9"></a><a name="15+December%2C+2006%3A+release+0.9.2+available"></a>
-<h3 class="h4">15 December, 2006: release 0.9.2 available</h3>
-<p>This fixes critical bugs in 0.9.1.  For details see the <a href="http://tinyurl.com/ya8lfd">release notes</a>. The release can
-      be obtained from <a href="http://www.apache.org/dyn/closer.cgi/lucene/hadoop/"> a
-      nearby mirror</a>.
-      </p>
-<a name="N100FB"></a><a name="6+December%2C+2006%3A+release+0.9.1+available"></a>
-<h3 class="h4">6 December, 2006: release 0.9.1 available</h3>
-<p>This fixes critical bugs in 0.9.0.  For details see the <a href="http://tinyurl.com/y55d7p">release notes</a>. The release can
-      be obtained from <a href="http://www.apache.org/dyn/closer.cgi/lucene/hadoop/"> a
-      nearby mirror</a>.
-      </p>
-<a name="N1010D"></a><a name="1+December%2C+2006%3A+release+0.9.0+available"></a>
-<h3 class="h4">1 December, 2006: release 0.9.0 available</h3>
-<p>For details see the <a href="http://tinyurl.com/sdjhb">release notes</a>. The release can
-      be obtained from <a href="http://www.apache.org/dyn/closer.cgi/lucene/hadoop/"> a
-      nearby mirror</a>.
-      </p>
-<a name="N1011F"></a><a name="3+November%2C+2006%3A+release+0.8.0+available"></a>
-<h3 class="h4">3 November, 2006: release 0.8.0 available</h3>
-<p>For details see the <a href="http://tinyurl.com/ykqv6s">release notes</a>. The release can
-      be obtained from <a href="http://www.apache.org/dyn/closer.cgi/lucene/hadoop/"> a
-      nearby mirror</a>.
-      </p>
-<a name="N10131"></a><a name="18+October%2C+2006%3A+release+0.7.2+available"></a>
-<h3 class="h4">18 October, 2006: release 0.7.2 available</h3>
-<p>This fixes critical bugs in 0.7.1.  For details see the <a href="http://tinyurl.com/ygy6y7">release notes</a>. The release can
-      be obtained from <a href="http://www.apache.org/dyn/closer.cgi/lucene/hadoop/"> a
-      nearby mirror</a>.
-      </p>
-<a name="N10143"></a><a name="11+October%2C+2006%3A+release+0.7.1+available"></a>
-<h3 class="h4">11 October, 2006: release 0.7.1 available</h3>
-<p>This fixes critical bugs in 0.7.0.  For details see the <a href="http://tinyurl.com/p7qod">release notes</a>. The release can
-      be obtained from <a href="http://www.apache.org/dyn/closer.cgi/lucene/hadoop/"> a
-      nearby mirror</a>.
-      </p>
-<a name="N10155"></a><a name="6+October%2C+2006%3A+release+0.7.0+available"></a>
-<h3 class="h4">6 October, 2006: release 0.7.0 available</h3>
-<p>For details see the <a href="http://tinyurl.com/kvd9m">release notes</a>. The release can
-      be obtained from <a href="http://www.apache.org/dyn/closer.cgi/lucene/hadoop/"> a
-      nearby mirror</a>.
-      </p>
-<a name="N10167"></a><a name="18+September%2C+2006%3A+release+0.6.2+available"></a>
-<h3 class="h4">18 September, 2006: release 0.6.2 available</h3>
-<p>This fixes critical bugs in 0.6.1.  For details see the <a href="http://tinyurl.com/gyb56">release notes</a>. The release can
-      be obtained from <a href="http://www.apache.org/dyn/closer.cgi/lucene/hadoop/"> a
-      nearby mirror</a>.
-      </p>
-<a name="N10179"></a><a name="13+September%2C+2006%3A+release+0.6.1+available"></a>
-<h3 class="h4">13 September, 2006: release 0.6.1 available</h3>
-<p>This fixes critical bugs in 0.6.0.  For details see the <a href="http://tinyurl.com/lykp4">release notes</a>. The release can
-      be obtained from <a href="http://www.apache.org/dyn/closer.cgi/lucene/hadoop/"> a
-      nearby mirror</a>.
-      </p>
-<a name="N1018B"></a><a name="8+September%2C+2006%3A+release+0.6.0+available"></a>
-<h3 class="h4">8 September, 2006: release 0.6.0 available</h3>
-<p>For details see the <a href="http://tinyurl.com/r3zoj">release notes</a>. The release can
-      be obtained from <a href="http://www.apache.org/dyn/closer.cgi/lucene/hadoop/"> a
-      nearby mirror</a>.
-      </p>
-<a name="N1019D"></a><a name="4+August%2C+2006%3A+release+0.5.0+available"></a>
-<h3 class="h4">4 August, 2006: release 0.5.0 available</h3>
-<p>For details see the <a href="http://tinyurl.com/pnml2">release notes</a>. The release can
-      be obtained from <a href="http://www.apache.org/dyn/closer.cgi/lucene/hadoop/"> a
-      nearby mirror</a>.
-      </p>
-<a name="N101AF"></a><a name="28+June%2C+2006%3A+release+0.4.0+available"></a>
-<h3 class="h4">28 June, 2006: release 0.4.0 available</h3>
-<p>For details see the <a href="http://tinyurl.com/o35b6">change log</a>. The release can
-      be obtained from <a href="http://www.apache.org/dyn/closer.cgi/lucene/hadoop/"> a
-      nearby mirror</a>.
-      </p>
-<a name="N101C1"></a><a name="9+June%2C+2006%3A+release+0.3.2+available"></a>
-<h3 class="h4">9 June, 2006: release 0.3.2 available</h3>
-<p>This is a bugfix release.  For details see the <a href="http://tinyurl.com/k9g5c">change log</a>. The release can
-      be obtained from <a href="http://www.apache.org/dyn/closer.cgi/lucene/hadoop/"> a
-      nearby mirror</a>.
-      </p>
-<a name="N101D3"></a><a name="8+June%2C+2006%3A+FAQ+added+to+Wiki"></a>
-<h3 class="h4">8 June, 2006: FAQ added to Wiki</h3>
-<p>Hadoop now has a <a href="http://wiki.apache.org/lucene-hadoop/FAQ">FAQ</a>.  Please
-      help make this more complete!
-      </p>
-<a name="N101E1"></a><a name="5+June%2C+2006%3A+release+0.3.1+available"></a>
-<h3 class="h4">5 June, 2006: release 0.3.1 available</h3>
-<p>This is a bugfix release.  For details see the <a href="http://tinyurl.com/l6on4">change log</a>. The release can
-      be obtained from <a href="http://www.apache.org/dyn/closer.cgi/lucene/hadoop/"> a
-      nearby mirror</a>.
-      </p>
-<a name="N101F3"></a><a name="2+June%2C+2006%3A+release+0.3.0+available"></a>
-<h3 class="h4">2 June, 2006: release 0.3.0 available</h3>
-<p>This includes many fixes, improving performance, scalability
-      and reliability and adding new features.  For details see the <a href="http://tinyurl.com/rq3f7">change log</a>. The release can
-      be obtained from <a href="http://www.apache.org/dyn/closer.cgi/lucene/hadoop/"> a
-      nearby mirror</a>.
-      </p>
-<a name="N10205"></a><a name="12+May%2C+2006%3A+release+0.2.1+available"></a>
-<h3 class="h4">12 May, 2006: release 0.2.1 available</h3>
-<p>This fixes a few bugs in release 0.2.0, listed in the <a href="http://tinyurl.com/rnnvz">change log</a>. The
-      release can be obtained from <a href="http://www.apache.org/dyn/closer.cgi/lucene/hadoop/"> a
-      nearby mirror</a>.
-      </p>
-<a name="N10217"></a><a name="5+May%2C+2006%3A+release+0.2.0+available"></a>
-<h3 class="h4">5 May, 2006: release 0.2.0 available</h3>
-<p>We are now aiming for monthly releases.  There have been many
-      bug fixes and improvements in the past month.  MapReduce and DFS
-      are now fairly reliable on clusters with up to 200 nodes.  See
-      the <a href="http://tinyurl.com/qkgsg">change log</a> for
-      details. The release can be obtained from <a href="http://www.apache.org/dyn/closer.cgi/lucene/hadoop/"> a
-      nearby mirror</a>.
+<p>
+      Hadoop is an open source volunteer project under the Apache Software Foundation. We encourage you to learn about the project and contribute your expertise. Here are some starter links:
       </p>
-<a name="N10229"></a><a name="2+April%2C+2006%3A+release+0.1.0+available"></a>
-<h3 class="h4">2 April, 2006: release 0.1.0 available</h3>
-<p>This is the first Hadoop release.  The release is available
-      <a href="http://www.apache.org/dyn/closer.cgi/lucene/hadoop/">
-      here</a>.</p>
-<a name="N10237"></a><a name="6+February%2C+2006%3A+nightly+builds"></a>
-<h3 class="h4">6 February, 2006: nightly builds</h3>
-<p>Hadoop now has nightly builds.  This automatically creates a
-      <a href="http://lucene.zones.apache.org:8080/hudson/job/Hadoop-Nightly/">downloadable version of Hadoop every
-      night</a>.  All unit tests must pass, or a message is sent to
-      the developers mailing list and no new version is created.  This
-      also updates the <a href="api/index.html">javadoc</a>.</p>
-<a name="N10249"></a><a name="3+February%2C+2006%3A+Hadoop+code+moved+out+of+Nutch"></a>
-<h3 class="h4">3 February, 2006: Hadoop code moved out of Nutch</h3>
-<p>The Hadoop code has now been moved into its own Subversion
-      tree, renamed into packages under <span class="codefrag">org.apache.hadoop</span>.
-      All unit tests pass, but little else has yet been tested.</p>
-<a name="N10256"></a><a name="30+March%2C+2006%3A+Hadoop+project+approved"></a>
-<h3 class="h4">30 March, 2006: Hadoop project approved</h3>
-<p>The Lucene PMC has elected to split the Nutch MapReduce and
-      distributed filesytem code into a new project named Hadoop.</p>
+<ol>
+        
+<li>See our <a href="http://wiki.apache.org/lucene-hadoop/HowToContribute">How to Contribute to Hadoop</a> page.</li>
+        
+<li>Give us <a href="issue_tracking.html">feedback</a>: What can we do better?</li>
+        
+<li>Join the <a href="mailing_lists.html">mailing list</a>: Meet the community.</li>
+      
+</ol>
 </div>
 
   
 </div>
+<!--+
+    |end content
+    +-->
 <div class="clearboth">&nbsp;</div>
 </div>
 <div id="footer">
+<!--+
+    |start bottomstrip
+    +-->
 <div class="lastmodified">
 <script type="text/javascript"><!--
-document.write("<text>Last Published:</text> " + document.lastModified);
+document.write("Last Published: " + document.lastModified);
 //  --></script>
 </div>
 <div class="copyright">
@@ -463,6 +292,9 @@ document.write("<text>Last Published:</text> " + document.lastModified);
          2007 <a href="http://www.apache.org/licenses/">The Apache Software Foundation.</a>
 </div>
 <div id="logos"></div>
+<!--+
+    |end bottomstrip
+    +-->
 </div>
 </body>
 </html>

文件差異過大導致無法顯示
+ 17 - 373
docs/index.pdf


+ 94 - 31
docs/issue_tracking.html

@@ -1,9 +1,9 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 <html>
 <head>
 <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <meta content="Apache Forrest" name="Generator">
-<meta name="Forrest-version" content="0.7">
+<meta name="Forrest-version" content="0.8">
 <meta name="Forrest-skin-name" content="pelt">
 <title>Hadoop Issue Tracking</title>
 <link type="text/css" href="skin/basic.css" rel="stylesheet">
@@ -16,81 +16,129 @@
 <body onload="init()">
 <script type="text/javascript">ndeSetTextSize();</script>
 <div id="top">
+<!--+
+    |breadtrail
+    +-->
 <div class="breadtrail">
 <a href="http://www.apache.org/">Apache</a> &gt; <a href="http://lucene.apache.org/">Lucene</a> &gt; <a href="http://lucene.apache.org/hadoop/">Hadoop</a><script src="skin/breadcrumbs.js" language="JavaScript" type="text/javascript"></script>
 </div>
+<!--+
+    |header
+    +-->
 <div class="header">
+<!--+
+    |start group logo
+    +-->
 <div class="grouplogo">
 <a href="http://lucene.apache.org/"><img class="logoImage" alt="Lucene" src="images/lucene_green_150.gif" title="Apache Lucene"></a>
 </div>
+<!--+
+    |end group logo
+    +-->
+<!--+
+    |start Project Logo
+    +-->
 <div class="projectlogo">
 <a href="http://lucene.apache.org/hadoop/"><img class="logoImage" alt="Hadoop" src="images/hadoop-logo.jpg" title="Scalable Computing Platform"></a>
 </div>
+<!--+
+    |end Project Logo
+    +-->
+<!--+
+    |start Search
+    +-->
 <div class="searchbox">
 <form action="http://www.google.com/search" method="get" class="roundtopsmall">
 <input value="lucene.apache.org" name="sitesearch" type="hidden"><input onFocus="getBlank (this, 'Search the site with google');" size="25" name="q" id="query" type="text" value="Search the site with google">&nbsp; 
-                    <input attr="value" name="Search" value="Search" type="submit">
+                    <input name="Search" value="Search" type="submit">
 </form>
 </div>
+<!--+
+    |end search
+    +-->
+<!--+
+    |start Tabs
+    +-->
 <ul id="tabs">
 <li class="current">
-<a class="base-selected" href="index.html">Main</a>
+<a class="selected" href="index.html">Main</a>
 </li>
 <li>
-<a class="base-not-selected" href="http://wiki.apache.org/lucene-hadoop">Wiki</a>
+<a class="unselected" href="http://wiki.apache.org/lucene-hadoop">Wiki</a>
 </li>
 </ul>
+<!--+
+    |end Tabs
+    +-->
 </div>
 </div>
 <div id="main">
 <div id="publishedStrip">
+<!--+
+    |start Subtabs
+    +-->
 <div id="level2tabs"></div>
+<!--+
+    |end Endtabs
+    +-->
 <script type="text/javascript"><!--
-document.write("<text>Last Published:</text> " + document.lastModified);
+document.write("Last Published: " + document.lastModified);
 //  --></script>
 </div>
+<!--+
+    |breadtrail
+    +-->
 <div class="breadtrail">
-             
+
              &nbsp;
            </div>
+<!--+
+    |start Menu, mainarea
+    +-->
+<!--+
+    |start Menu
+    +-->
 <div id="menu">
 <div onclick="SwitchMenu('menu_1.1', 'skin/')" id="menu_1.1Title" class="menutitle">Project</div>
 <div id="menu_1.1" class="menuitemgroup">
 <div class="menuitem">
-<a href="index.html">News</a>
+<a href="releases.html">Releases</a>
 </div>
 <div class="menuitem">
-<a href="about.html">About</a>
+<a href="releases.html#News">News</a>
 </div>
 <div class="menuitem">
 <a href="credits.html">Credits</a>
 </div>
 <div class="menuitem">
-<a href="http://www.apache.org/dyn/closer.cgi/lucene/hadoop/">Download</a>
-</div>
-<div class="menuitem">
 <a href="http://www.cafepress.com/hadoop/">Buy Stuff</a>
 </div>
 </div>
 <div onclick="SwitchMenu('menu_1.2', 'skin/')" id="menu_1.2Title" class="menutitle">Documentation</div>
 <div id="menu_1.2" class="menuitemgroup">
 <div class="menuitem">
-<a href="http://wiki.apache.org/lucene-hadoop/FAQ">FAQ</a>
+<a href="hdfs_design.html">Hadoop File System</a>
+</div>
+<div class="menuitem">
+<a href="api/overview-summary.html#overview_description">Install and Configure</a>
+</div>
+<div class="menuitem">
+<a href="api/index.html">API Docs</a>
 </div>
 <div class="menuitem">
 <a href="http://wiki.apache.org/lucene-hadoop/">Wiki</a>
 </div>
 <div class="menuitem">
-<a href="hdfs_design.html">Hadoop File System</a>
+<a href="http://wiki.apache.org/lucene-hadoop/FAQ">FAQ</a>
 </div>
 <div class="menuitem">
-<a href="api/index.html">API Docs</a>
+<a href="mailing_lists.html#Users">Mailing Lists</a>
 </div>
 </div>
-<div onclick="SwitchMenu('menu_selected_1.3', 'skin/')" id="menu_selected_1.3Title" class="menutitle" style="background-image: url('skin/images/chapter_open.gif');">Developer</div>
+<div onclick="SwitchMenu('menu_selected_1.3', 'skin/')" id="menu_selected_1.3Title" class="menutitle" style="background-image: url('skin/images/chapter_open.gif');">Developers</div>
 <div id="menu_selected_1.3" class="selectedmenuitemgroup" style="display: block;">
 <div class="menuitem">
-<a href="mailing_lists.html">Mailing Lists</a>
+<a href="mailing_lists.html#Developers">Mailing Lists</a>
 </div>
 <div class="menupage">
 <div class="menupagetitle">Issue Tracking</div>
@@ -102,20 +150,20 @@ document.write("<text>Last Published:</text> " + document.lastModified);
 <a href="http://lucene.zones.apache.org:8080/hudson/job/Hadoop-Nightly/">Nightly Build</a>
 </div>
 </div>
-<div onclick="SwitchMenu('menu_1.4', 'skin/')" id="menu_1.4Title" class="menutitle">Related Projects</div>
-<div id="menu_1.4" class="menuitemgroup">
-<div class="menuitem">
-<a href="http://lucene.apache.org/java/">Lucene</a>
-</div>
-<div class="menuitem">
-<a href="http://lucene.apache.org/nutch/">Nutch</a>
-</div>
-</div>
 <div id="credit"></div>
 <div id="roundbottom">
 <img style="display: none" class="corner" height="15" width="15" alt="" src="skin/images/rc-b-l-15-1body-2menu-3menu.png"></div>
+<!--+
+  |alternative credits
+  +-->
 <div id="credit2"></div>
 </div>
+<!--+
+    |end Menu
+    +-->
+<!--+
+    |start content
+    +-->
 <div id="content">
 <div title="Portable Document Format" class="pdflink">
 <a class="dida" href="issue_tracking.pdf"><img alt="PDF -icon" src="skin/images/pdfdoc.gif" class="skin"><br>
@@ -124,25 +172,40 @@ document.write("<text>Last Published:</text> " + document.lastModified);
 <h1>Hadoop Issue Tracking</h1>
     
 <p>
-      Hadoop issues (bugs, as well as enhancement requests) are tracked in 
-      Apache JIRA <a href="http://issues.apache.org/jira/browse/HADOOP">here</a>.
-      If you aren't sure whether something is a bug, post a question on the
-      Hadoop user <a href="mailing_lists.html">mailing list</a>.
+    Hadoop tracks both bugs and enhancement requests <a href="http://issues.apache.org/jira/browse/HADOOP">here</a> using Apache JIRA.
+    We welcome input, however, <strong>before filing a request,</strong> please make sure you do the following:
     </p>
+    
+<ul>
+      
+<li>Search the JIRA database.</li>
+      
+<li>Check the user <a href="mailing_lists.html#Users">mailing list</a>, both by searching the archives and by asking questions.</li>
+    
+</ul>
   
 </div>
+<!--+
+    |end content
+    +-->
 <div class="clearboth">&nbsp;</div>
 </div>
 <div id="footer">
+<!--+
+    |start bottomstrip
+    +-->
 <div class="lastmodified">
 <script type="text/javascript"><!--
-document.write("<text>Last Published:</text> " + document.lastModified);
+document.write("Last Published: " + document.lastModified);
 //  --></script>
 </div>
 <div class="copyright">
         Copyright &copy;
          2007 <a href="http://www.apache.org/licenses/">The Apache Software Foundation.</a>
 </div>
+<!--+
+    |end bottomstrip
+    +-->
 </div>
 </body>
 </html>

+ 28 - 20
docs/issue_tracking.pdf

@@ -5,10 +5,10 @@
 /Producer (FOP 0.20.5) >>
 endobj
 5 0 obj
-<< /Length 623 /Filter [ /ASCII85Decode /FlateDecode ]
+<< /Length 760 /Filter [ /ASCII85Decode /FlateDecode ]
  >>
 stream
-Gasam9lo#B&A@C2m&_tj.^G-eqj;It95[IO$TU0hCesspr)"g@^6/n<ECd"F!U[&`mI#=:h'M,o\H"61K4IK>rS%kf)$th]?N@A(Kn@]@(dV'9e*L/ID4:DC^2XmUfPK)\KD&p*VOQ23cK=U)ah<7l&F^;2!`LR;6RJ[td`,mQ`U(7NT"PP8pXM?''KkTb]H5ICT%4idl+6W7<kfO=^0Ao\;QILYgBmKfF]82/m69@ekjn];iV#7rO+b0.EC+pF#t2]>)TAD<1o.u^>(I(bPp/898mjK=$4cPrIZqD)Phfqj-Hi/,^2e'0G#beL*Zs47^=h')Quo;q-sS_!p3ST#cr,?Ze9(lUl&b5f1kNS=ANW_70-imU8#%CDF5M*<eS@pYU-\G3F,tI2DU?b`cE?K-3*"*T)D3E[F^[!>QFEXP^N;K2+SMhB./iR0$W"suL#Dt`quL8i?m)tR!>h@qpuOK3U5$k.;ZCa!cCjAR]c8OIDL2G^W0/8Cm>Q&lXbPY6qI[iDr:IEc>R?7E"B*Z-P[G9^o]o+sDt`X:Ola9+:Y&bThVsJCo[`*eiUL:;BKnDerc%e>8'eIYl>:8PMP@KJnJD^:]0j"bC\1,8dHH&\RXH]C~>
+Gat%!_/e6`&A@rkF<iYAO^q*?]d95t-FY=nl(R?-(kEQ`74]C4^TT=L>!l!<iP;PGHLL7dXn7t`pX9\Y#SWFR!cn33"+lg>7E#-QRN0pI6uXP`P\e^Md<@H,Ap]:s0c@UYkfMO^q_0I!\m?,p47jI<cOQNkb"hFh9J.V,,eCqTa5!USJlj,@9U11-?@n[sk!%-\VM\>kFA_kQ;SUi;<jn:c2$r,lP7mNY%0^0.Z(Sr_&iaoh2CK7J1KSM(Os>Qg0$t`R#![^[Ut]0-dCCZd!p[pMWEWEUe55WM++.;IVJDadLTO0)mGmB-QNulpT-1PnH"o5X;8:9uC+<m6<lMMM`dV9,p3NX[nbK-EePT0enKa.l3&A6%-/`.3nt'rGeb\eF2m?EBOBbUuF0.!dfVgZ`C^oV>VY7j]!#NKN/PMb*^!lfQXG%-D1D3g0XcPK]p^QbX`6AdK=XX/JX"qp(<#e[GLfK_/\N97f-&!N)s!K7;1YkY!P3I'OTW#<1*#K)&1E7Gf*ASTnK>D5KZ9u7p08&4\J>/$<4nBie-&j-]oJZ4S`5Moc&IL'W1^n@^jEW6eS?Hc%_'FA(nEkJii]7&M2`BpF:%)>UlqS'sF:_'tFUtAf\WnTpme:oC1hNIM@`_KsHqZ6SW75L#lG<F`\U=,i`(WW?<(f6l'>`)7\P]fd1>>1,>%X%L!T"Zk5%919n2b+<WUO!E.=O.4C9L761,X45L;_Vo_6uK#6,RP*XIYu-H4ERI"2<9H-i~>
 endstream
 endobj
 6 0 obj
@@ -29,7 +29,7 @@ endobj
 8 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 493.896 585.8 514.548 573.8 ]
+/Rect [ 341.616 585.8 362.268 573.8 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
 /A << /URI (http://issues.apache.org/jira/browse/HADOOP)
@@ -40,10 +40,10 @@ endobj
 9 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 472.776 572.6 527.124 560.6 ]
+/Rect [ 182.316 542.2 236.664 530.2 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
-/A << /URI (mailing_lists.html)
+/A << /URI (mailing_lists.html#Users)
 /S /URI >>
 /H /I
 >>
@@ -76,6 +76,13 @@ endobj
 /BaseFont /Helvetica-Oblique
 /Encoding /WinAnsiEncoding >>
 endobj
+14 0 obj
+<< /Type /Font
+/Subtype /Type1
+/Name /F7
+/BaseFont /Times-Bold
+/Encoding /WinAnsiEncoding >>
+endobj
 1 0 obj
 << /Type /Pages
 /Count 1
@@ -88,31 +95,32 @@ endobj
 endobj
 3 0 obj
 << 
-/Font << /F3 10 0 R /F5 11 0 R /F1 12 0 R /F2 13 0 R >> 
+/Font << /F3 10 0 R /F5 11 0 R /F1 12 0 R /F2 13 0 R /F7 14 0 R >> 
 /ProcSet [ /PDF /ImageC /Text ] >> 
 endobj
 xref
-0 14
+0 15
 0000000000 65535 f 
-0000001742 00000 n 
-0000001800 00000 n 
-0000001850 00000 n 
+0000001994 00000 n 
+0000002052 00000 n 
+0000002102 00000 n 
 0000000015 00000 n 
 0000000071 00000 n 
-0000000785 00000 n 
-0000000905 00000 n 
-0000000936 00000 n 
-0000001128 00000 n 
-0000001295 00000 n 
-0000001408 00000 n 
-0000001518 00000 n 
-0000001626 00000 n 
+0000000922 00000 n 
+0000001042 00000 n 
+0000001073 00000 n 
+0000001265 00000 n 
+0000001438 00000 n 
+0000001551 00000 n 
+0000001661 00000 n 
+0000001769 00000 n 
+0000001885 00000 n 
 trailer
 <<
-/Size 14
+/Size 15
 /Root 2 0 R
 /Info 4 0 R
 >>
 startxref
-1962
+2225
 %%EOF

+ 122 - 89
docs/linkmap.html

@@ -1,11 +1,11 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 <html>
 <head>
 <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <meta content="Apache Forrest" name="Generator">
-<meta name="Forrest-version" content="0.7">
+<meta name="Forrest-version" content="0.8">
 <meta name="Forrest-skin-name" content="pelt">
-<title>Site Linkmap</title>
+<title>Site Linkmap Table of Contents</title>
 <link type="text/css" href="skin/basic.css" rel="stylesheet">
 <link media="screen" type="text/css" href="skin/screen.css" rel="stylesheet">
 <link media="print" type="text/css" href="skin/print.css" rel="stylesheet">
@@ -16,81 +16,129 @@
 <body onload="init()">
 <script type="text/javascript">ndeSetTextSize();</script>
 <div id="top">
+<!--+
+    |breadtrail
+    +-->
 <div class="breadtrail">
 <a href="http://www.apache.org/">Apache</a> &gt; <a href="http://lucene.apache.org/">Lucene</a> &gt; <a href="http://lucene.apache.org/hadoop/">Hadoop</a><script src="skin/breadcrumbs.js" language="JavaScript" type="text/javascript"></script>
 </div>
+<!--+
+    |header
+    +-->
 <div class="header">
+<!--+
+    |start group logo
+    +-->
 <div class="grouplogo">
 <a href="http://lucene.apache.org/"><img class="logoImage" alt="Lucene" src="images/lucene_green_150.gif" title="Apache Lucene"></a>
 </div>
+<!--+
+    |end group logo
+    +-->
+<!--+
+    |start Project Logo
+    +-->
 <div class="projectlogo">
 <a href="http://lucene.apache.org/hadoop/"><img class="logoImage" alt="Hadoop" src="images/hadoop-logo.jpg" title="Scalable Computing Platform"></a>
 </div>
+<!--+
+    |end Project Logo
+    +-->
+<!--+
+    |start Search
+    +-->
 <div class="searchbox">
 <form action="http://www.google.com/search" method="get" class="roundtopsmall">
 <input value="lucene.apache.org" name="sitesearch" type="hidden"><input onFocus="getBlank (this, 'Search the site with google');" size="25" name="q" id="query" type="text" value="Search the site with google">&nbsp; 
-                    <input attr="value" name="Search" value="Search" type="submit">
+                    <input name="Search" value="Search" type="submit">
 </form>
 </div>
+<!--+
+    |end search
+    +-->
+<!--+
+    |start Tabs
+    +-->
 <ul id="tabs">
 <li class="current">
-<a class="base-selected" href="index.html">Main</a>
+<a class="selected" href="index.html">Main</a>
 </li>
 <li>
-<a class="base-not-selected" href="http://wiki.apache.org/lucene-hadoop">Wiki</a>
+<a class="unselected" href="http://wiki.apache.org/lucene-hadoop">Wiki</a>
 </li>
 </ul>
+<!--+
+    |end Tabs
+    +-->
 </div>
 </div>
 <div id="main">
 <div id="publishedStrip">
+<!--+
+    |start Subtabs
+    +-->
 <div id="level2tabs"></div>
+<!--+
+    |end Endtabs
+    +-->
 <script type="text/javascript"><!--
-document.write("<text>Last Published:</text> " + document.lastModified);
+document.write("Last Published: " + document.lastModified);
 //  --></script>
 </div>
+<!--+
+    |breadtrail
+    +-->
 <div class="breadtrail">
-             
+
              &nbsp;
            </div>
+<!--+
+    |start Menu, mainarea
+    +-->
+<!--+
+    |start Menu
+    +-->
 <div id="menu">
 <div onclick="SwitchMenu('menu_1.1', 'skin/')" id="menu_1.1Title" class="menutitle">Project</div>
 <div id="menu_1.1" class="menuitemgroup">
 <div class="menuitem">
-<a href="index.html">News</a>
+<a href="releases.html">Releases</a>
 </div>
 <div class="menuitem">
-<a href="about.html">About</a>
+<a href="releases.html#News">News</a>
 </div>
 <div class="menuitem">
 <a href="credits.html">Credits</a>
 </div>
 <div class="menuitem">
-<a href="http://www.apache.org/dyn/closer.cgi/lucene/hadoop/">Download</a>
-</div>
-<div class="menuitem">
 <a href="http://www.cafepress.com/hadoop/">Buy Stuff</a>
 </div>
 </div>
 <div onclick="SwitchMenu('menu_1.2', 'skin/')" id="menu_1.2Title" class="menutitle">Documentation</div>
 <div id="menu_1.2" class="menuitemgroup">
 <div class="menuitem">
-<a href="http://wiki.apache.org/lucene-hadoop/FAQ">FAQ</a>
+<a href="hdfs_design.html">Hadoop File System</a>
+</div>
+<div class="menuitem">
+<a href="api/overview-summary.html#overview_description">Install and Configure</a>
+</div>
+<div class="menuitem">
+<a href="api/index.html">API Docs</a>
 </div>
 <div class="menuitem">
 <a href="http://wiki.apache.org/lucene-hadoop/">Wiki</a>
 </div>
 <div class="menuitem">
-<a href="hdfs_design.html">Hadoop File System</a>
+<a href="http://wiki.apache.org/lucene-hadoop/FAQ">FAQ</a>
 </div>
 <div class="menuitem">
-<a href="api/index.html">API Docs</a>
+<a href="mailing_lists.html#Users">Mailing Lists</a>
 </div>
 </div>
-<div onclick="SwitchMenu('menu_1.3', 'skin/')" id="menu_1.3Title" class="menutitle">Developer</div>
+<div onclick="SwitchMenu('menu_1.3', 'skin/')" id="menu_1.3Title" class="menutitle">Developers</div>
 <div id="menu_1.3" class="menuitemgroup">
 <div class="menuitem">
-<a href="mailing_lists.html">Mailing Lists</a>
+<a href="mailing_lists.html#Developers">Mailing Lists</a>
 </div>
 <div class="menuitem">
 <a href="issue_tracking.html">Issue Tracking</a>
@@ -102,76 +150,63 @@ document.write("<text>Last Published:</text> " + document.lastModified);
 <a href="http://lucene.zones.apache.org:8080/hudson/job/Hadoop-Nightly/">Nightly Build</a>
 </div>
 </div>
-<div onclick="SwitchMenu('menu_1.4', 'skin/')" id="menu_1.4Title" class="menutitle">Related Projects</div>
-<div id="menu_1.4" class="menuitemgroup">
-<div class="menuitem">
-<a href="http://lucene.apache.org/java/">Lucene</a>
-</div>
-<div class="menuitem">
-<a href="http://lucene.apache.org/nutch/">Nutch</a>
-</div>
-</div>
 <div id="credit"></div>
 <div id="roundbottom">
 <img style="display: none" class="corner" height="15" width="15" alt="" src="skin/images/rc-b-l-15-1body-2menu-3menu.png"></div>
+<!--+
+  |alternative credits
+  +-->
 <div id="credit2"></div>
 </div>
+<!--+
+    |end Menu
+    +-->
+<!--+
+    |start content
+    +-->
 <div id="content">
 <div title="Portable Document Format" class="pdflink">
 <a class="dida" href="linkmap.pdf"><img alt="PDF -icon" src="skin/images/pdfdoc.gif" class="skin"><br>
         PDF</a>
 </div>
-<h1>Site Linkmap</h1>
-<div id="minitoc-area">
-<ul class="minitoc">
-<li>
-<a href="#Table+of+Contents">Table of Contents</a>
-</li>
-</ul>
-</div>
-<a name="N10007"></a><a name="Table+of+Contents"></a>
-<h2 class="h3">Table of Contents</h2>
-<div class="section">
+<h1>Site Linkmap Table of Contents</h1>
+<p>
+          This is a map of the complete site and its structure.
+        </p>
 <ul>
 <li>
-<a href="">Hadoop</a>&nbsp;&nbsp;&nbsp;_________________________&nbsp;&nbsp;<em>site</em>
+<a>Hadoop</a>&nbsp;&nbsp;___________________&nbsp;&nbsp;<em>site</em>
 </li>
 <ul>
 
   
 <ul>
 <li>
-<a href="">Project</a>&nbsp;&nbsp;&nbsp;_________________________&nbsp;&nbsp;<em>project</em>
+<a>Project</a>&nbsp;&nbsp;___________________&nbsp;&nbsp;<em>project</em>
 </li>
 <ul>
     
 <ul>
 <li>
-<a href="index.html">News</a>&nbsp;&nbsp;&nbsp;_________________________&nbsp;&nbsp;<em>news</em>
-</li>
-</ul>    
-    
-<ul>
-<li>
-<a href="about.html">About</a>&nbsp;&nbsp;&nbsp;_________________________&nbsp;&nbsp;<em>about</em>
+<a href="releases.html">Releases</a>&nbsp;&nbsp;___________________&nbsp;&nbsp;<em>releases</em>
 </li>
-</ul>    
+</ul>
     
 <ul>
 <li>
-<a href="credits.html">Credits</a>&nbsp;&nbsp;&nbsp;_________________________&nbsp;&nbsp;<em>credits</em>
+<a href="releases.html#News">News</a>&nbsp;&nbsp;___________________&nbsp;&nbsp;<em>news</em>
 </li>
-</ul>    
+</ul>
     
 <ul>
 <li>
-<a href="http://www.apache.org/dyn/closer.cgi/lucene/hadoop/">Download</a>&nbsp;&nbsp;&nbsp;_________________________&nbsp;&nbsp;<em>download</em>
+<a href="credits.html">Credits</a>&nbsp;&nbsp;___________________&nbsp;&nbsp;<em>credits</em>
 </li>
-</ul>
+</ul> 
     
 <ul>
 <li>
-<a href="http://www.cafepress.com/hadoop/">Buy Stuff</a>&nbsp;&nbsp;&nbsp;_________________________&nbsp;&nbsp;<em>store</em>
+<a href="http://www.cafepress.com/hadoop/">Buy Stuff</a>&nbsp;&nbsp;___________________&nbsp;&nbsp;<em>store</em>
 </li>
 </ul>    
   
@@ -181,65 +216,43 @@ document.write("<text>Last Published:</text> " + document.lastModified);
   
 <ul>
 <li>
-<a href="">Documentation</a>&nbsp;&nbsp;&nbsp;_________________________&nbsp;&nbsp;<em>docs</em>
+<a>Documentation</a>&nbsp;&nbsp;___________________&nbsp;&nbsp;<em>docs</em>
 </li>
-<ul>    
+<ul> 
     
 <ul>
 <li>
-<a href="http://wiki.apache.org/lucene-hadoop/FAQ">FAQ</a>&nbsp;&nbsp;&nbsp;_________________________&nbsp;&nbsp;<em>faq</em>
+<a href="hdfs_design.html">Hadoop File System</a>&nbsp;&nbsp;___________________&nbsp;&nbsp;<em>hdfs</em>
 </li>
-</ul>    
-    
-<ul>
-<li>
-<a href="http://wiki.apache.org/lucene-hadoop/">Wiki</a>&nbsp;&nbsp;&nbsp;_________________________&nbsp;&nbsp;<em>wiki</em>
-</li>
-</ul>    
-    
-<ul>
-<li>
-<a href="hdfs_design.html">Hadoop File System</a>&nbsp;&nbsp;&nbsp;_________________________&nbsp;&nbsp;<em>HDFS</em>
-</li>
-</ul>    
+</ul>
     
 <ul>
 <li>
-<a href="api/index.html">API Docs</a>&nbsp;&nbsp;&nbsp;_________________________&nbsp;&nbsp;<em>apidocs</em>
+<a href="api/overview-summary.html#overview_description">Install and Configure</a>&nbsp;&nbsp;___________________&nbsp;&nbsp;<em>install</em>
 </li>
 </ul>
-  
-</ul>
-</ul>
-
-  
-<ul>
-<li>
-<a href="">Developer</a>&nbsp;&nbsp;&nbsp;_________________________&nbsp;&nbsp;<em>resources</em>
-</li>
-<ul>
     
 <ul>
 <li>
-<a href="mailing_lists.html">Mailing Lists</a>&nbsp;&nbsp;&nbsp;_________________________&nbsp;&nbsp;<em>contact</em>
+<a href="api/index.html">API Docs</a>&nbsp;&nbsp;___________________&nbsp;&nbsp;<em>api</em>
 </li>
 </ul>
     
 <ul>
 <li>
-<a href="issue_tracking.html">Issue Tracking</a>&nbsp;&nbsp;&nbsp;_________________________&nbsp;&nbsp;<em>issues</em>
+<a href="http://wiki.apache.org/lucene-hadoop/">Wiki</a>&nbsp;&nbsp;___________________&nbsp;&nbsp;<em>wiki</em>
 </li>
 </ul>
     
 <ul>
 <li>
-<a href="version_control.html">Version Control</a>&nbsp;&nbsp;&nbsp;_________________________&nbsp;&nbsp;<em>vcs</em>
+<a href="http://wiki.apache.org/lucene-hadoop/FAQ">FAQ</a>&nbsp;&nbsp;___________________&nbsp;&nbsp;<em>faq</em>
 </li>
 </ul>
     
 <ul>
 <li>
-<a href="http://lucene.zones.apache.org:8080/hudson/job/Hadoop-Nightly/">Nightly Build</a>&nbsp;&nbsp;&nbsp;_________________________&nbsp;&nbsp;<em>nightly</em>
+<a href="mailing_lists.html#Users">Mailing Lists</a>&nbsp;&nbsp;___________________&nbsp;&nbsp;<em>usermail</em>
 </li>
 </ul>
   
@@ -249,19 +262,31 @@ document.write("<text>Last Published:</text> " + document.lastModified);
   
 <ul>
 <li>
-<a href="">Related Projects</a>&nbsp;&nbsp;&nbsp;_________________________&nbsp;&nbsp;<em>projects</em>
+<a>Developers</a>&nbsp;&nbsp;___________________&nbsp;&nbsp;<em>resources</em>
+</li>
+<ul>
+    
+<ul>
+<li>
+<a href="mailing_lists.html#Developers">Mailing Lists</a>&nbsp;&nbsp;___________________&nbsp;&nbsp;<em>devmail</em>
 </li>
+</ul>
+    
 <ul>
+<li>
+<a href="issue_tracking.html">Issue Tracking</a>&nbsp;&nbsp;___________________&nbsp;&nbsp;<em>issues</em>
+</li>
+</ul>
     
 <ul>
 <li>
-<a href="http://lucene.apache.org/java/">Lucene</a>&nbsp;&nbsp;&nbsp;_________________________&nbsp;&nbsp;<em>lucene</em>
+<a href="version_control.html">Version Control</a>&nbsp;&nbsp;___________________&nbsp;&nbsp;<em>vcs</em>
 </li>
 </ul>
     
 <ul>
 <li>
-<a href="http://lucene.apache.org/nutch/">Nutch</a>&nbsp;&nbsp;&nbsp;_________________________&nbsp;&nbsp;<em>nutch</em>
+<a href="http://lucene.zones.apache.org:8080/hudson/job/Hadoop-Nightly/">Nightly Build</a>&nbsp;&nbsp;___________________&nbsp;&nbsp;<em>nightly</em>
 </li>
 </ul>
   
@@ -274,19 +299,27 @@ document.write("<text>Last Published:</text> " + document.lastModified);
 </ul>
 </ul>
 </div>
-</div>
+<!--+
+    |end content
+    +-->
 <div class="clearboth">&nbsp;</div>
 </div>
 <div id="footer">
+<!--+
+    |start bottomstrip
+    +-->
 <div class="lastmodified">
 <script type="text/javascript"><!--
-document.write("<text>Last Published:</text> " + document.lastModified);
+document.write("Last Published: " + document.lastModified);
 //  --></script>
 </div>
 <div class="copyright">
         Copyright &copy;
          2007 <a href="http://www.apache.org/licenses/">The Apache Software Foundation.</a>
 </div>
+<!--+
+    |end bottomstrip
+    +-->
 </div>
 </body>
 </html>

+ 21 - 86
docs/linkmap.pdf

@@ -5,10 +5,10 @@
 /Producer (FOP 0.20.5) >>
 endobj
 5 0 obj
-<< /Length 357 /Filter [ /ASCII85Decode /FlateDecode ]
+<< /Length 991 /Filter [ /ASCII85Decode /FlateDecode ]
  >>
 stream
-GauI0_,>n>&;KY!METC?CGrC"Nj`F.NYeV(W<]6G1/^A&*T(0o)+Zp_BQ?ZCAG=hhs0WHJ>9?gp&kjq=\>2I.5nM+G'#`g5(eF;:#g<UH]j9#u/%AG;)K*4.U3]$MbmIdn4:EnQ1r1dMX;T+jcNKHEPnq3rPum.l5-:kLX86_r0p''/O]3Qe#m5V<OW1G%7,)fBqF^G*>hr$Mh_DcrLsR56#bIK6F`53R[DXtdUdiT?fEY&K$uH3ZGS9>i8i:fc@\e+]Ng%D?EQA^gaAXTIFn=&tLL\*oq4a5lV52V!1.TC[]-^*T]rUc(4)(7LD>dW)PJ3tGFOJ<P&[llGkcDt]YAB9Cf7*hB0p>c~>
+Gau1.;/b23&BE]".K%g^P[P!QIVd_,ldSr%@VlYA1jLuS=<3UZ3*!`lY\@Q[`>lEl+sdHSqu8Xc4.%D%%u\4j(dK`'B!D0UB$ac,Hk36\n&8QS`=N//nrf",j(-7X48$lq(o`X]CL0/?dd>DDUq]Q4>SP*IKr?8tA97&7oTINmR<UpDb*F"R6U2gGEljb/SI*`(S=%XenG#>C)d6-(b;C4WRFl=K-B4UOS#s'?%4,^Z26q*Ug"$QOfR3udM*W,pYhpZnr\7OtG&AH;!kb/mV_f3aRgXe\n?9<nK0f@R+:<N.a2g0<kNIXc["H.X5g[A3o6idtgKOM`R@FU!^d(1_>@P4Rl/n^G#=7Y,_=a(Y/8\KF)%;:8W?PQA4r>:bK*XjTZ5`KoSLOn1J?Wn*l4&abi@#P[jqZ94c#ULm-b9WdWY0h.OmR"GED\jb``HF:p3DJ"V/2'!1*R&$<OC6o.I-HJO"kWlr_&B])jRd.a[J)CI6esAQ;B3>,CJ)D3m\AIil-<R?5gq%q:nNLR7aPCW4cp1YOg`Z@S!&0EE+kO/PAUR<TTq4X0u6:WR*]!/Hif>*8qC%cl#"0[oW[oA\W+]2_"#NJgH_#q)BCSS2'Z,5Odpj#/7PFe=.E;_6Ge,(?]o1`%d5fl/O`tpR6`s9?Kn6XbQM\k05t#@Alpf(u'pb_s35E),2r=&"TtFa`aa">?4O4;o^kT,?q!VNG.YELk:@jh\cFoa,-*kc?<\]e<hD"7`&0SZpkBrl83k7fFp9EasXVAmj*p4VQ*+gq"U`;=;R/En]=t!P;0\D9X1_14/06X!'A*\L9K161lCn;j^gX3P=Vg#A1L]-M>joDam?:IH1]-j?`!=TGdu@[!"lDH?89']c+=o&;WIWn98#W*N!kP>#`'r"iW,':$XJSUF5;Z^=-7htr1Sfe%#l4Mg:4nfDpupH01@%Vdb<nfLpkJ'irLi?doB.%HL8^c1R0Y;/-j)BrrV$\/^X~>
 endstream
 endobj
 6 0 obj
@@ -17,143 +17,78 @@ endobj
 /MediaBox [ 0 0 612 792 ]
 /Resources 3 0 R
 /Contents 5 0 R
-/Annots 7 0 R
 >>
 endobj
 7 0 obj
-[
-8 0 R
-]
-endobj
-8 0 obj
-<< /Type /Annot
-/Subtype /Link
-/Rect [ 102.0 559.666 195.992 547.666 ]
-/C [ 0 0 0 ]
-/Border [ 0 0 0 ]
-/A 9 0 R
-/H /I
->>
-endobj
-10 0 obj
-<< /Length 1057 /Filter [ /ASCII85Decode /FlateDecode ]
- >>
-stream
-Gatn&b>R(K'Sc@-$8'F&TtBA3Q_r-'$oFQ!d<7Rj;1a^9"^f@?p6@;L1>nT=Q#)O/3r_,dkEjIS$"lbL#r$u;KW>sllPToJIP;%hh%P`69Eb\\i5Z'2&&9@Ip&9_#\kR=^1opWU;j3J-.uON!$\Y-b+2cca%9a#91i%_A#*faM2;^WoW`IG'\=MI":21m[0PQ)m0SDg3>F(n7n4qnTc<kuA,LmfBZ9<.J/WJFe9%d,A*rF\^'sF?0N*m3Y6/3Y5otNbJW'QMq7(VH7(q1L:\bW#\dM%QO$RQ'=gZQB4CnfeE8j`/.gQgV1Sm[^H9%ZBSCSFR$#mo/:<6)JFo$*N^0/TC]kS+b1:qTMFRd4N_HD`9D6E#H1r#Bs=N<K-QI)0u<G$/RSV'fN`Rd,*NQM\a%FOiJt%QLGZqTEAG<i_K=VqjUS+BapUT=-0Vn<as99O)H$XVR1YaZTA5C%CJf/PSA+$T!X[4>B(7nUqOk$\_UQ0MTL-Qlj$ipW7nNE[5g&bUFl2a*b+@"1hs2-ghq^GUc>!nRH2)]rZ"qKfD;d0;b`9'0P98j6MUEnuO8S5C;=sr#E[hRnQgi@h9RJ;1n(&SXQ\+4mBJ.JJngU\hI,*lY2"$fD::h^-kP]AEuFAQV$._>;HsYb1Js;[`qV?N`VQf1$5!aU8XTf%.bm]Dp`u80lQXJa<n=?4-E4tR%M+W]P+K9VtJ5-lA8-7irpA-5JH0(Uf`UZkUK`mQ)XB!S5`)Fq&D/KmB<\tZIuS0KTAY8N;;\<:8:]?Hdo2aoQ@ia_!4D5<Sm-g:LodD[Ud<XQW:+CmE:5,`F9sRG&aG$"<+Vo<E7%_^?lcD8Q,_VX:<pT+[A=OW![m`1/<D=G&SWkHY1[L#_tf?(e?sXb9spZ6sFk%W^j7)b/$V8ah-NQFtgQMNE6!koKnXD+fZrpc'a`chK?1Hl4F7<UMeY8MFbaXM%=ZS7gKUk4GF/[6_0\5;dNOJ'<`IWCn<ZT<s0]"YJNBW093M=m&h.:<UQU:fpS<Z>;e&JFH323^M't^B<;Q45O'Q]F8$L54b[&~>
-endstream
-endobj
-11 0 obj
-<< /Type /Page
-/Parent 1 0 R
-/MediaBox [ 0 0 612 792 ]
-/Resources 3 0 R
-/Contents 10 0 R
->>
-endobj
-13 0 obj
-<<
- /Title (\376\377\0\61\0\40\0\124\0\141\0\142\0\154\0\145\0\40\0\157\0\146\0\40\0\103\0\157\0\156\0\164\0\145\0\156\0\164\0\163)
- /Parent 12 0 R
- /A 9 0 R
->> endobj
-14 0 obj
 << /Type /Font
 /Subtype /Type1
 /Name /F3
 /BaseFont /Helvetica-Bold
 /Encoding /WinAnsiEncoding >>
 endobj
-15 0 obj
+8 0 obj
 << /Type /Font
 /Subtype /Type1
 /Name /F5
 /BaseFont /Times-Roman
 /Encoding /WinAnsiEncoding >>
 endobj
-16 0 obj
+9 0 obj
 << /Type /Font
 /Subtype /Type1
 /Name /F6
 /BaseFont /Times-Italic
 /Encoding /WinAnsiEncoding >>
 endobj
-17 0 obj
+10 0 obj
 << /Type /Font
 /Subtype /Type1
 /Name /F1
 /BaseFont /Helvetica
 /Encoding /WinAnsiEncoding >>
 endobj
-18 0 obj
+11 0 obj
 << /Type /Font
 /Subtype /Type1
 /Name /F2
 /BaseFont /Helvetica-Oblique
 /Encoding /WinAnsiEncoding >>
 endobj
-19 0 obj
-<< /Type /Font
-/Subtype /Type1
-/Name /F7
-/BaseFont /Times-Bold
-/Encoding /WinAnsiEncoding >>
-endobj
 1 0 obj
 << /Type /Pages
-/Count 2
-/Kids [6 0 R 11 0 R ] >>
+/Count 1
+/Kids [6 0 R ] >>
 endobj
 2 0 obj
 << /Type /Catalog
 /Pages 1 0 R
- /Outlines 12 0 R
- /PageMode /UseOutlines
  >>
 endobj
 3 0 obj
 << 
-/Font << /F3 14 0 R /F5 15 0 R /F1 17 0 R /F6 16 0 R /F2 18 0 R /F7 19 0 R >> 
+/Font << /F3 7 0 R /F5 8 0 R /F1 10 0 R /F6 9 0 R /F2 11 0 R >> 
 /ProcSet [ /PDF /ImageC /Text ] >> 
 endobj
-9 0 obj
-<<
-/S /GoTo
-/D [11 0 R /XYZ 85.0 659.0 null]
->>
-endobj
-12 0 obj
-<<
- /First 13 0 R
- /Last 13 0 R
->> endobj
 xref
-0 20
+0 12
 0000000000 65535 f 
-0000002901 00000 n 
-0000002966 00000 n 
-0000003058 00000 n 
+0000001814 00000 n 
+0000001872 00000 n 
+0000001922 00000 n 
 0000000015 00000 n 
 0000000071 00000 n 
-0000000519 00000 n 
-0000000639 00000 n 
-0000000664 00000 n 
-0000003192 00000 n 
-0000000799 00000 n 
-0000001949 00000 n 
-0000003255 00000 n 
-0000002057 00000 n 
-0000002234 00000 n 
-0000002347 00000 n 
-0000002457 00000 n 
-0000002568 00000 n 
-0000002676 00000 n 
-0000002792 00000 n 
+0000001153 00000 n 
+0000001259 00000 n 
+0000001371 00000 n 
+0000001480 00000 n 
+0000001590 00000 n 
+0000001698 00000 n 
 trailer
 <<
-/Size 20
+/Size 12
 /Root 2 0 R
 /Info 4 0 R
 >>
 startxref
-3306
+2042
 %%EOF

+ 88 - 31
docs/mailing_lists.html

@@ -1,9 +1,9 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 <html>
 <head>
 <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <meta content="Apache Forrest" name="Generator">
-<meta name="Forrest-version" content="0.7">
+<meta name="Forrest-version" content="0.8">
 <meta name="Forrest-skin-name" content="pelt">
 <title>Hadoop Mailing Lists</title>
 <link type="text/css" href="skin/basic.css" rel="stylesheet">
@@ -16,81 +16,129 @@
 <body onload="init()">
 <script type="text/javascript">ndeSetTextSize();</script>
 <div id="top">
+<!--+
+    |breadtrail
+    +-->
 <div class="breadtrail">
 <a href="http://www.apache.org/">Apache</a> &gt; <a href="http://lucene.apache.org/">Lucene</a> &gt; <a href="http://lucene.apache.org/hadoop/">Hadoop</a><script src="skin/breadcrumbs.js" language="JavaScript" type="text/javascript"></script>
 </div>
+<!--+
+    |header
+    +-->
 <div class="header">
+<!--+
+    |start group logo
+    +-->
 <div class="grouplogo">
 <a href="http://lucene.apache.org/"><img class="logoImage" alt="Lucene" src="images/lucene_green_150.gif" title="Apache Lucene"></a>
 </div>
+<!--+
+    |end group logo
+    +-->
+<!--+
+    |start Project Logo
+    +-->
 <div class="projectlogo">
 <a href="http://lucene.apache.org/hadoop/"><img class="logoImage" alt="Hadoop" src="images/hadoop-logo.jpg" title="Scalable Computing Platform"></a>
 </div>
+<!--+
+    |end Project Logo
+    +-->
+<!--+
+    |start Search
+    +-->
 <div class="searchbox">
 <form action="http://www.google.com/search" method="get" class="roundtopsmall">
 <input value="lucene.apache.org" name="sitesearch" type="hidden"><input onFocus="getBlank (this, 'Search the site with google');" size="25" name="q" id="query" type="text" value="Search the site with google">&nbsp; 
-                    <input attr="value" name="Search" value="Search" type="submit">
+                    <input name="Search" value="Search" type="submit">
 </form>
 </div>
+<!--+
+    |end search
+    +-->
+<!--+
+    |start Tabs
+    +-->
 <ul id="tabs">
 <li class="current">
-<a class="base-selected" href="index.html">Main</a>
+<a class="selected" href="index.html">Main</a>
 </li>
 <li>
-<a class="base-not-selected" href="http://wiki.apache.org/lucene-hadoop">Wiki</a>
+<a class="unselected" href="http://wiki.apache.org/lucene-hadoop">Wiki</a>
 </li>
 </ul>
+<!--+
+    |end Tabs
+    +-->
 </div>
 </div>
 <div id="main">
 <div id="publishedStrip">
+<!--+
+    |start Subtabs
+    +-->
 <div id="level2tabs"></div>
+<!--+
+    |end Endtabs
+    +-->
 <script type="text/javascript"><!--
-document.write("<text>Last Published:</text> " + document.lastModified);
+document.write("Last Published: " + document.lastModified);
 //  --></script>
 </div>
+<!--+
+    |breadtrail
+    +-->
 <div class="breadtrail">
-             
+
              &nbsp;
            </div>
+<!--+
+    |start Menu, mainarea
+    +-->
+<!--+
+    |start Menu
+    +-->
 <div id="menu">
 <div onclick="SwitchMenu('menu_1.1', 'skin/')" id="menu_1.1Title" class="menutitle">Project</div>
 <div id="menu_1.1" class="menuitemgroup">
 <div class="menuitem">
-<a href="index.html">News</a>
+<a href="releases.html">Releases</a>
 </div>
 <div class="menuitem">
-<a href="about.html">About</a>
+<a href="releases.html#News">News</a>
 </div>
 <div class="menuitem">
 <a href="credits.html">Credits</a>
 </div>
 <div class="menuitem">
-<a href="http://www.apache.org/dyn/closer.cgi/lucene/hadoop/">Download</a>
-</div>
-<div class="menuitem">
 <a href="http://www.cafepress.com/hadoop/">Buy Stuff</a>
 </div>
 </div>
 <div onclick="SwitchMenu('menu_1.2', 'skin/')" id="menu_1.2Title" class="menutitle">Documentation</div>
 <div id="menu_1.2" class="menuitemgroup">
 <div class="menuitem">
-<a href="http://wiki.apache.org/lucene-hadoop/FAQ">FAQ</a>
+<a href="hdfs_design.html">Hadoop File System</a>
+</div>
+<div class="menuitem">
+<a href="api/overview-summary.html#overview_description">Install and Configure</a>
+</div>
+<div class="menuitem">
+<a href="api/index.html">API Docs</a>
 </div>
 <div class="menuitem">
 <a href="http://wiki.apache.org/lucene-hadoop/">Wiki</a>
 </div>
 <div class="menuitem">
-<a href="hdfs_design.html">Hadoop File System</a>
+<a href="http://wiki.apache.org/lucene-hadoop/FAQ">FAQ</a>
 </div>
 <div class="menuitem">
-<a href="api/index.html">API Docs</a>
+<a href="mailing_lists.html#Users">Mailing Lists</a>
 </div>
 </div>
-<div onclick="SwitchMenu('menu_selected_1.3', 'skin/')" id="menu_selected_1.3Title" class="menutitle" style="background-image: url('skin/images/chapter_open.gif');">Developer</div>
-<div id="menu_selected_1.3" class="selectedmenuitemgroup" style="display: block;">
-<div class="menupage">
-<div class="menupagetitle">Mailing Lists</div>
+<div onclick="SwitchMenu('menu_1.3', 'skin/')" id="menu_1.3Title" class="menutitle">Developers</div>
+<div id="menu_1.3" class="menuitemgroup">
+<div class="menuitem">
+<a href="mailing_lists.html#Developers">Mailing Lists</a>
 </div>
 <div class="menuitem">
 <a href="issue_tracking.html">Issue Tracking</a>
@@ -102,20 +150,20 @@ document.write("<text>Last Published:</text> " + document.lastModified);
 <a href="http://lucene.zones.apache.org:8080/hudson/job/Hadoop-Nightly/">Nightly Build</a>
 </div>
 </div>
-<div onclick="SwitchMenu('menu_1.4', 'skin/')" id="menu_1.4Title" class="menutitle">Related Projects</div>
-<div id="menu_1.4" class="menuitemgroup">
-<div class="menuitem">
-<a href="http://lucene.apache.org/java/">Lucene</a>
-</div>
-<div class="menuitem">
-<a href="http://lucene.apache.org/nutch/">Nutch</a>
-</div>
-</div>
 <div id="credit"></div>
 <div id="roundbottom">
 <img style="display: none" class="corner" height="15" width="15" alt="" src="skin/images/rc-b-l-15-1body-2menu-3menu.png"></div>
+<!--+
+  |alternative credits
+  +-->
 <div id="credit2"></div>
 </div>
+<!--+
+    |end Menu
+    +-->
+<!--+
+    |start content
+    +-->
 <div id="content">
 <div title="Portable Document Format" class="pdflink">
 <a class="dida" href="mailing_lists.pdf"><img alt="PDF -icon" src="skin/images/pdfdoc.gif" class="skin"><br>
@@ -164,7 +212,7 @@ document.write("<text>Last Published:</text> " + document.lastModified);
 <a href="http://mail-archives.apache.org/mod_mbox/lucene-hadoop-user/">View List Archive</a> (<a href="http://lucene.apache.org/mail/hadoop-user/">Raw files</a>)</li>
       
 </ul>
-<div class="frame note">
+<div class="note">
 <div class="label">Note</div>
 <div class="content">In order to post to the list, it is necessary to first subscribe to it.</div>
 </div>
@@ -199,7 +247,7 @@ document.write("<text>Last Published:</text> " + document.lastModified);
 <a href="http://mail-archives.apache.org/mod_mbox/lucene-hadoop-dev/">View List Archive</a> (<a href="http://lucene.apache.org/mail/hadoop-dev/">Raw files</a>)</li>
       
 </ul>
-<div class="frame note">
+<div class="note">
 <div class="label">Note</div>
 <div class="content">In order to post to the list, it is necessary to first subscribe to it.</div>
 </div>
@@ -232,18 +280,27 @@ document.write("<text>Last Published:</text> " + document.lastModified);
   
   
 </div>
+<!--+
+    |end content
+    +-->
 <div class="clearboth">&nbsp;</div>
 </div>
 <div id="footer">
+<!--+
+    |start bottomstrip
+    +-->
 <div class="lastmodified">
 <script type="text/javascript"><!--
-document.write("<text>Last Published:</text> " + document.lastModified);
+document.write("Last Published: " + document.lastModified);
 //  --></script>
 </div>
 <div class="copyright">
         Copyright &copy;
          2007 <a href="http://www.apache.org/licenses/">The Apache Software Foundation.</a>
 </div>
+<!--+
+    |end bottomstrip
+    +-->
 </div>
 </body>
 </html>

+ 312 - 0
docs/releases.html

@@ -0,0 +1,312 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<meta content="Apache Forrest" name="Generator">
+<meta name="Forrest-version" content="0.8">
+<meta name="Forrest-skin-name" content="pelt">
+<title>Releases</title>
+<link type="text/css" href="skin/basic.css" rel="stylesheet">
+<link media="screen" type="text/css" href="skin/screen.css" rel="stylesheet">
+<link media="print" type="text/css" href="skin/print.css" rel="stylesheet">
+<link type="text/css" href="skin/profile.css" rel="stylesheet">
+<script src="skin/getBlank.js" language="javascript" type="text/javascript"></script><script src="skin/getMenu.js" language="javascript" type="text/javascript"></script><script src="skin/fontsize.js" language="javascript" type="text/javascript"></script>
+<link rel="shortcut icon" href="images/favicon.ico">
+</head>
+<body onload="init()">
+<script type="text/javascript">ndeSetTextSize();</script>
+<div id="top">
+<!--+
+    |breadtrail
+    +-->
+<div class="breadtrail">
+<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://lucene.apache.org/">Lucene</a> &gt; <a href="http://lucene.apache.org/hadoop/">Hadoop</a><script src="skin/breadcrumbs.js" language="JavaScript" type="text/javascript"></script>
+</div>
+<!--+
+    |header
+    +-->
+<div class="header">
+<!--+
+    |start group logo
+    +-->
+<div class="grouplogo">
+<a href="http://lucene.apache.org/"><img class="logoImage" alt="Lucene" src="images/lucene_green_150.gif" title="Apache Lucene"></a>
+</div>
+<!--+
+    |end group logo
+    +-->
+<!--+
+    |start Project Logo
+    +-->
+<div class="projectlogo">
+<a href="http://lucene.apache.org/hadoop/"><img class="logoImage" alt="Hadoop" src="images/hadoop-logo.jpg" title="Scalable Computing Platform"></a>
+</div>
+<!--+
+    |end Project Logo
+    +-->
+<!--+
+    |start Search
+    +-->
+<div class="searchbox">
+<form action="http://www.google.com/search" method="get" class="roundtopsmall">
+<input value="lucene.apache.org" name="sitesearch" type="hidden"><input onFocus="getBlank (this, 'Search the site with google');" size="25" name="q" id="query" type="text" value="Search the site with google">&nbsp; 
+                    <input name="Search" value="Search" type="submit">
+</form>
+</div>
+<!--+
+    |end search
+    +-->
+<!--+
+    |start Tabs
+    +-->
+<ul id="tabs">
+<li class="current">
+<a class="selected" href="index.html">Main</a>
+</li>
+<li>
+<a class="unselected" href="http://wiki.apache.org/lucene-hadoop">Wiki</a>
+</li>
+</ul>
+<!--+
+    |end Tabs
+    +-->
+</div>
+</div>
+<div id="main">
+<div id="publishedStrip">
+<!--+
+    |start Subtabs
+    +-->
+<div id="level2tabs"></div>
+<!--+
+    |end Endtabs
+    +-->
+<script type="text/javascript"><!--
+document.write("Last Published: " + document.lastModified);
+//  --></script>
+</div>
+<!--+
+    |breadtrail
+    +-->
+<div class="breadtrail">
+
+             &nbsp;
+           </div>
+<!--+
+    |start Menu, mainarea
+    +-->
+<!--+
+    |start Menu
+    +-->
+<div id="menu">
+<div onclick="SwitchMenu('menu_selected_1.1', 'skin/')" id="menu_selected_1.1Title" class="menutitle" style="background-image: url('skin/images/chapter_open.gif');">Project</div>
+<div id="menu_selected_1.1" class="selectedmenuitemgroup" style="display: block;">
+<div class="menupage">
+<div class="menupagetitle">Releases</div>
+</div>
+<div class="menuitem">
+<a href="releases.html#News">News</a>
+</div>
+<div class="menuitem">
+<a href="credits.html">Credits</a>
+</div>
+<div class="menuitem">
+<a href="http://www.cafepress.com/hadoop/">Buy Stuff</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.2', 'skin/')" id="menu_1.2Title" class="menutitle">Documentation</div>
+<div id="menu_1.2" class="menuitemgroup">
+<div class="menuitem">
+<a href="hdfs_design.html">Hadoop File System</a>
+</div>
+<div class="menuitem">
+<a href="api/overview-summary.html#overview_description">Install and Configure</a>
+</div>
+<div class="menuitem">
+<a href="api/index.html">API Docs</a>
+</div>
+<div class="menuitem">
+<a href="http://wiki.apache.org/lucene-hadoop/">Wiki</a>
+</div>
+<div class="menuitem">
+<a href="http://wiki.apache.org/lucene-hadoop/FAQ">FAQ</a>
+</div>
+<div class="menuitem">
+<a href="mailing_lists.html#Users">Mailing Lists</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.3', 'skin/')" id="menu_1.3Title" class="menutitle">Developers</div>
+<div id="menu_1.3" class="menuitemgroup">
+<div class="menuitem">
+<a href="mailing_lists.html#Developers">Mailing Lists</a>
+</div>
+<div class="menuitem">
+<a href="issue_tracking.html">Issue Tracking</a>
+</div>
+<div class="menuitem">
+<a href="version_control.html">Version Control</a>
+</div>
+<div class="menuitem">
+<a href="http://lucene.zones.apache.org:8080/hudson/job/Hadoop-Nightly/">Nightly Build</a>
+</div>
+</div>
+<div id="credit"></div>
+<div id="roundbottom">
+<img style="display: none" class="corner" height="15" width="15" alt="" src="skin/images/rc-b-l-15-1body-2menu-3menu.png"></div>
+<!--+
+  |alternative credits
+  +-->
+<div id="credit2"></div>
+</div>
+<!--+
+    |end Menu
+    +-->
+<!--+
+    |start content
+    +-->
+<div id="content">
+<div title="Portable Document Format" class="pdflink">
+<a class="dida" href="releases.pdf"><img alt="PDF -icon" src="skin/images/pdfdoc.gif" class="skin"><br>
+        PDF</a>
+</div>
+<h1>Releases</h1>
+<div id="minitoc-area">
+<ul class="minitoc">
+<li>
+<a href="#Download">Download</a>
+</li>
+<li>
+<a href="#Release+Notes">Release Notes</a>
+</li>
+<li>
+<a href="#Project+News">Project News</a>
+<ul class="minitoc">
+<li>
+<a href="#25+July%2C+2007%3A+release+0.13.1+available">25 July, 2007: release 0.13.1 available</a>
+</li>
+<li>
+<a href="#8+June%2C+2007%3A+release+0.13.0+available"> 8 June, 2007: release 0.13.0 available </a>
+</li>
+<li>
+<a href="#8+June%2C+2006%3A"> 8 June, 2006: FAQ added to Wiki </a>
+</li>
+<li>
+<a href="#5+May%2C+2006%3A+release+0.2.0+available"> 5 May, 2006: release 0.2.0 available </a>
+</li>
+<li>
+<a href="#6+February%2C+2006%3A+nightly+builds"> 6 February, 2006: nightly builds </a>
+</li>
+<li>
+<a href="#3+February%2C+2006%3A+Hadoop+code+moved+out+of+Nutch"> 3 February, 2006: Hadoop code moved out of Nutch </a>
+</li>
+</ul>
+</li>
+</ul>
+</div> 
+    
+<p>This page lists release numbers along with their dates and a
+    link to release notes. You can obtain releases from a nearby
+    mirror.</p>
+
+    
+<a name="N1000F"></a><a name="Download"></a>
+<h2 class="h3">Download</h2>
+<div class="section">
+<p>Releases may be downloaded from Apache mirrors.</p>
+<p>
+      
+<a href="http://www.apache.org/dyn/closer.cgi/lucene/hadoop/">
+      <strong><strong>Download a release now!</strong></strong></a>
+      
+</p>
+<p>On the mirror, all recent releases are available, but are not
+      guaranteed to be stable. For stable releases, look in the stable
+      directory.
+      </p>
+</div>
+
+    
+<a name="N10026"></a><a name="Release+Notes"></a>
+<h2 class="h3">Release Notes</h2>
+<div class="section">
+<p>Release notes for Hadoop releases are available in Jira.</p>
+<p>
+      
+<a href="http://issues.apache.org/jira/browse/HADOOP?report=com.atlassian.jira.plugin.system.project:changelog-panel">
+      <strong><strong>Browse release notes now!</strong></strong></a>
+      
+</p>
+</div>
+
+    
+<a name="N1003A"></a><a name="Project+News"></a>
+<h2 class="h3">Project News</h2>
+<div class="section">
+<a name="N10040"></a><a name="25+July%2C+2007%3A+release+0.13.1+available"></a>
+<h3 class="h4">25 July, 2007: release 0.13.1 available</h3>
+<p>This fixes critical bugs in the 0.13.0 release.</p>
+<a name="N1004A"></a><a name="8+June%2C+2007%3A+release+0.13.0+available"></a>
+<h3 class="h4"> 8 June, 2007: release 0.13.0 available </h3>
+<p>
+        In addition to new features, this release contains significant performance and reliability improvements.
+        For example, MapReduce sort performance on large clusters has <a href="http://wiki.apache.org/lucene-hadoop-data/attachments/FAQ/attachments/sort900-20070607.png">doubled</a>.
+        </p>
+<div class="note">
+<div class="label">Note</div>
+<div class="content">
+        When upgrading an existing <acronym title="Hadoop Distributed File System">HDFS</acronym> filesystem to this release, you should first start HDFS with <span class="codefrag">bin/start-dfs.sh -upgrade</span>
+        which makes it possible to revert the upgrade. For more information on this issue, see <a href="https://issues.apache.org/jira/browse/HADOOP-702#action_12482953">HADOOP-702</a>. 
+        </div>
+</div>
+<a name="N10066"></a><a name="8+June%2C+2006%3A"></a>
+<h3 class="h4"> 8 June, 2006: FAQ added to Wiki </h3>
+<p>
+        Hadoop now has a <a href="http://wiki.apache.org/lucene-hadoop/FAQ">FAQ</a>. Please help make this more complete!
+        </p>
+<a name="N10078"></a><a name="5+May%2C+2006%3A+release+0.2.0+available"></a>
+<h3 class="h4"> 5 May, 2006: release 0.2.0 available </h3>
+<p>
+        We are now aiming for monthly releases. There have been many bug fixes and improvements in the past month.
+        MapReduce and DFS are now fairly reliable on clusters with up to 200 nodes.
+        </p>
+<a name="N10082"></a><a name="6+February%2C+2006%3A+nightly+builds"></a>
+<h3 class="h4"> 6 February, 2006: nightly builds </h3>
+<p>
+        Hadoop now has nightly builds. This automatically creates a <a href="http://lucene.zones.apache.org:8080/hudson/job/Hadoop-Nightly/">downloadable version of Hadoop every night</a>.
+        All unit tests must pass, or a message is sent to the developers mailing list and no new version is created.
+        This also updates the <a href="http://lucene.apache.org/hadoop/api/index.html">javadoc</a>.
+        </p>
+<a name="N10094"></a><a name="3+February%2C+2006%3A+Hadoop+code+moved+out+of+Nutch"></a>
+<h3 class="h4"> 3 February, 2006: Hadoop code moved out of Nutch </h3>
+<p>
+        The Hadoop code has now been moved into its own Subversion tree, renamed into packages under org.apache.hadoop.
+        All unit tests pass, but little else has yet been tested.
+        </p>
+</div>
+
+  
+</div>
+<!--+
+    |end content
+    +-->
+<div class="clearboth">&nbsp;</div>
+</div>
+<div id="footer">
+<!--+
+    |start bottomstrip
+    +-->
+<div class="lastmodified">
+<script type="text/javascript"><!--
+document.write("Last Published: " + document.lastModified);
+//  --></script>
+</div>
+<div class="copyright">
+        Copyright &copy;
+         2007 <a href="http://www.apache.org/licenses/">The Apache Software Foundation.</a>
+</div>
+<!--+
+    |end bottomstrip
+    +-->
+</div>
+</body>
+</html>

文件差異過大導致無法顯示
+ 129 - 0
docs/releases.pdf


+ 6 - 6
docs/skin/CommonMessages_de.xml

@@ -1,11 +1,11 @@
 <?xml version="1.0" encoding="ISO-8859-1"?>
 <!--
-  Copyright 1999-2004 The Apache Software Foundation or its licensors,
-  as applicable.
-
-  Licensed 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
+  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
 

+ 7 - 7
docs/skin/CommonMessages_en_US.xml

@@ -1,11 +1,11 @@
 <?xml version="1.0" encoding="ISO-8859-1"?>
 <!--
-  Copyright 1999-2004 The Apache Software Foundation or its licensors,
-  as applicable.
-
-  Licensed 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
+  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
 
@@ -19,5 +19,5 @@
   <message  key="Font size:">Font size:</message>
   <message key="Last Published:">Last Published:</message>
   <message key="Search">Search</message>
-  <message key="Search the site with">Search the site with</message>
+  <message key="Search the site with">Search site with</message>
 </catalogue>

+ 6 - 7
docs/skin/CommonMessages_es.xml

@@ -1,11 +1,11 @@
 <?xml version="1.0" encoding="ISO-8859-1"?>
 <!--
-  Copyright 1999-2004 The Apache Software Foundation or its licensors,
-  as applicable.
-
-  Licensed 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
+  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
 
@@ -21,4 +21,3 @@
   <message key="Search">Buscar</message>
   <message key="Search the site with">Buscar en</message>
 </catalogue>
-

+ 6 - 6
docs/skin/CommonMessages_fr.xml

@@ -1,11 +1,11 @@
 <?xml version="1.0" encoding="ISO-8859-1"?>
 <!--
-  Copyright 1999-2004 The Apache Software Foundation or its licensors,
-  as applicable.
-
-  Licensed 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
+  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
 

+ 33 - 14
docs/skin/basic.css

@@ -1,10 +1,10 @@
 /*
-* Copyright 2002-2005 The Apache Software Foundation or its licensors,
-* as applicable.
-*
-* Licensed 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
+* 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
 *
@@ -38,34 +38,45 @@ img { border: 0; }
   clear: both;
 }
 
-.frame {
+.note, .warning, .fixme {
   border: solid black 1px;
   margin: 1em 3em;
 }
 
-.frame .label {
+.note .label {
   background: #369;
   color: white;
   font-weight: bold;
   padding: 5px 10px;
 }
-.frame .content {
-  padding: 5px 10px;
+.note .content {
   background: #F0F0FF;
   color: black;
   line-height: 120%;
   font-size: 90%;
+  padding: 5px 10px;
 }
 .warning .label {
   background: #C00;
   color: white;
+  font-weight: bold;
+  padding: 5px 10px;
 }
 .warning .content {
   background: #FFF0F0;
   color: black;
+  line-height: 120%;
+  font-size: 90%;
+  padding: 5px 10px;
 }
 .fixme .label {
   background: #C6C600;
+  color: black;
+  font-weight: bold;
+  padding: 5px 10px;
+}
+.fixme .content {
+  padding: 5px 10px;
 }
 
 /**
@@ -128,10 +139,18 @@ p {
 
 #content li,
 #content th,
-#content td {
-  line-height: 110%;  
-  margin-top: .1em;
-  margin-bottom: .1em;
+#content td,
+#content li ul,
+#content li ol{
+  margin-top: .5em;
+  margin-bottom: .5em;
+}
+
+
+#content li li,
+#minitoc-area li{
+  margin-top: 0em;
+  margin-bottom: 0em;
 }
 
 #content .attribution {

+ 6 - 6
docs/skin/breadcrumbs-optimized.js

@@ -1,10 +1,10 @@
 /*
-* Copyright 2002-2004 The Apache Software Foundation or its licensors,
-* as applicable.
-*
-* Licensed 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
+* 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
 *

+ 6 - 6
docs/skin/breadcrumbs.js

@@ -1,10 +1,10 @@
 /*
-* Copyright 2002-2004 The Apache Software Foundation or its licensors,
-* as applicable.
-*
-* Licensed 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
+* 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
 *

+ 6 - 6
docs/skin/fontsize.js

@@ -1,10 +1,10 @@
 /*
-* Copyright 2002-2004 The Apache Software Foundation or its licensors,
-* as applicable.
-*
-* Licensed 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
+* 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
 *

+ 16 - 8
docs/skin/getBlank.js

@@ -1,10 +1,10 @@
 /*
-* Copyright 2002-2004 The Apache Software Foundation or its licensors,
-* as applicable.
-*
-* Licensed 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
+* 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
 *
@@ -15,12 +15,14 @@
 * limitations under the License.
 */
 /**
- * This script, when included in a html file and called from a form text field, will set the value of this field to ""
+ * getBlank script - when included in a html file and called from a form text field, will set the value of this field to ""
  * if the text value is still the standard value.
+ * getPrompt script - when included in a html file and called from a form text field, will set the value of this field to the prompt
+ * if the text value is empty.
  *
  * Typical usage:
  * <script type="text/javascript" language="JavaScript" src="getBlank.js"></script>
- * <input type="text" id="query" value="Search the site:" onFocus="getBlank (this, 'Search the site:');"/>
+ * <input type="text" id="query" value="Search the site:" onFocus="getBlank (this, 'Search the site:');" onBlur="getBlank (this, 'Search the site:');"/>
  */
 <!--
 function getBlank (form, stdValue){
@@ -29,4 +31,10 @@ if (form.value == stdValue){
 	}
 return true;
 }
+function getPrompt (form, stdValue){
+if (form.value == ''){
+	form.value = stdValue;
+	}
+return true;
+}
 //-->

+ 6 - 6
docs/skin/getMenu.js

@@ -1,10 +1,10 @@
 /*
-* Copyright 2002-2004 The Apache Software Foundation or its licensors,
-* as applicable.
-*
-* Licensed 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
+* 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
 *

二進制
docs/skin/images/chapter_open.gif


二進制
docs/skin/images/rc-b-l-15-1body-2menu-3menu.png


二進制
docs/skin/images/rc-b-r-15-1body-2menu-3menu.png


二進制
docs/skin/images/rc-b-r-5-1header-2tab-selected-3tab-selected.png


二進制
docs/skin/images/rc-t-l-5-1header-2searchbox-3searchbox.png


二進制
docs/skin/images/rc-t-l-5-1header-2tab-selected-3tab-selected.png


二進制
docs/skin/images/rc-t-l-5-1header-2tab-unselected-3tab-unselected.png


二進制
docs/skin/images/rc-t-r-15-1body-2menu-3menu.png


二進制
docs/skin/images/rc-t-r-5-1header-2searchbox-3searchbox.png


二進制
docs/skin/images/rc-t-r-5-1header-2tab-selected-3tab-selected.png


二進制
docs/skin/images/rc-t-r-5-1header-2tab-unselected-3tab-unselected.png


+ 12 - 14
docs/skin/menu.js

@@ -1,10 +1,10 @@
 /*
-* Copyright 2002-2004 The Apache Software Foundation or its licensors,
-* as applicable.
-*
-* Licensed 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
+* 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
 *
@@ -32,19 +32,17 @@ function SwitchMenu(obj)
     var title = document.getElementById(obj+'Title');
 
     if(obj.indexOf("_selected_")==0&&el.style.display == ""){
-      //nicolaken: doesn't work :-(
-      //title.style.backgroundImage = "url('images/chapter_open.gif')";
       el.style.display = "block";
+      title.className = "pagegroupselected";
     }
 
-    if(el.style.display != "block"){ 
-      //nicolaken: doesn't work :-(
-      //title.style.backgroundImage = 'url([url]images/chapter_open.gif[/url])';
+    if(el.style.display != "block"){
       el.style.display = "block";
-    }else{
-      //nicolaken: doesn't work :-(
-      //title.style.backgroundImage = "url('images/chapter.gif')";
+      title.className = "pagegroupopen";
+    }
+    else{
       el.style.display = "none";
+      title.className = "pagegroup";
     }
   }// end -  if(document.getElementById) 
 }//end - function SwitchMenu(obj)

+ 8 - 8
docs/skin/print.css

@@ -1,10 +1,10 @@
 /*
-* Copyright 2002-2004 The Apache Software Foundation or its licensors,
-* as applicable.
-*
-* Licensed 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
+* 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
 *
@@ -31,12 +31,12 @@ body {
   padding: 0;
   float: none !important;
   color: black;
-  background: transparent;
+  background: inherit;
 }
 
 a:link, a:visited {
   color: #336699;
-  background: transparent;
+  background: inherit;
   text-decoration: underline;
 }
 

+ 10 - 5
docs/skin/profile.css

@@ -46,11 +46,16 @@ a.external  {
 #tabs li a:visited { color: #000000; }
 #tabs li a:hover { color: #000000; }
 
-#level2tabs       { background-color: #4C6C8F ;} 
+#level2tabs a.selected      { background-color: #4C6C8F ;} 
 #level2tabs a:link {  color: #ffffff;  }
 #level2tabs a:visited { color: #ffffff; }
 #level2tabs a:hover { color: #ffffff; }
 
+#level2tabs { background-color: #E5E4D9;}
+#level2tabs a.unselected:link {  color: #000000;  }
+#level2tabs a.unselected:visited { color: #000000; }
+#level2tabs a.unselected:hover { color: #000000; }
+
 .heading { background-color: #E5E4D9;} 
 
 .boxed { background-color: #E5E4D9;} 
@@ -80,7 +85,8 @@ color: #000000;
 background: #E5E4D9; 
 }
 
-#menu .menupagetitle  { background-color: #CFDCED}
+#menu .menupagetitle  { background-color: #CFDCED;
+  color: #000000;}
 
 #menu           { border-color: #999999;}
 #menu .menupagetitle  { border-color: #999999;}
@@ -104,7 +110,6 @@ background-color: #E5E4D9 ;
 color: #000000; 
 } 
  
-#menu .menupagetitle  { color: #000000;}    
 #menu .menupageitemgroup     { 
 background-color: #E5E4D9;
 }
@@ -123,8 +128,8 @@ background-color: #ffffff;
 color: #000000;
 } 
 a:link { color:#0000ff} 
-a:visited { color:#0000ff} 
-a:hover { color:#0000ff} 
+a:visited { color:#009999} 
+a:hover { color:#6587ff} 
 
  
 .ForrestTable      { background-color: #ccc;} 

+ 1257 - 0
docs/skin/prototype.js

@@ -0,0 +1,1257 @@
+/*  Prototype JavaScript framework, version 1.4.0_pre4
+ *  (c) 2005 Sam Stephenson <sam@conio.net>
+ *
+ *  THIS FILE IS AUTOMATICALLY GENERATED. When sending patches, please diff
+ *  against the source tree, available from the Prototype darcs repository. 
+ *
+ *  Prototype is freely distributable under the terms of an MIT-style license.
+ *
+ *  For details, see the Prototype web site: http://prototype.conio.net/
+ *
+/*--------------------------------------------------------------------------*/
+
+var Prototype = {
+  Version: '1.4.0_pre4',
+  
+  emptyFunction: function() {},
+  K: function(x) {return x}
+}
+
+var Class = {
+  create: function() {
+    return function() { 
+      this.initialize.apply(this, arguments);
+    }
+  }
+}
+
+var Abstract = new Object();
+
+Object.extend = function(destination, source) {
+  for (property in source) {
+    destination[property] = source[property];
+  }
+  return destination;
+}
+
+Function.prototype.bind = function(object) {
+  var __method = this;
+  return function() {
+    return __method.apply(object, arguments);
+  }
+}
+
+Function.prototype.bindAsEventListener = function(object) {
+  var __method = this;
+  return function(event) {
+    return __method.call(object, event || window.event);
+  }
+}
+
+Number.prototype.toColorPart = function() {
+  var digits = this.toString(16);
+  if (this < 16) return '0' + digits;
+  return digits;
+}
+
+var Try = {
+  these: function() {
+    var returnValue;
+
+    for (var i = 0; i < arguments.length; i++) {
+      var lambda = arguments[i];
+      try {
+        returnValue = lambda();
+        break;
+      } catch (e) {}
+    }
+
+    return returnValue;
+  }
+}
+
+/*--------------------------------------------------------------------------*/
+
+var PeriodicalExecuter = Class.create();
+PeriodicalExecuter.prototype = {
+  initialize: function(callback, frequency) {
+    this.callback = callback;
+    this.frequency = frequency;
+    this.currentlyExecuting = false;
+
+    this.registerCallback();
+  },
+
+  registerCallback: function() {
+    setInterval(this.onTimerEvent.bind(this), this.frequency * 1000);
+  },
+
+  onTimerEvent: function() {
+    if (!this.currentlyExecuting) {
+      try { 
+        this.currentlyExecuting = true;
+        this.callback(); 
+      } finally { 
+        this.currentlyExecuting = false;
+      }
+    }
+  }
+}
+
+/*--------------------------------------------------------------------------*/
+
+function $() {
+  var elements = new Array();
+
+  for (var i = 0; i < arguments.length; i++) {
+    var element = arguments[i];
+    if (typeof element == 'string')
+      element = document.getElementById(element);
+
+    if (arguments.length == 1) 
+      return element;
+
+    elements.push(element);
+  }
+
+  return elements;
+}
+
+if (!Array.prototype.push) {
+  Array.prototype.push = function() {
+		var startLength = this.length;
+		for (var i = 0; i < arguments.length; i++)
+      this[startLength + i] = arguments[i];
+	  return this.length;
+  }
+}
+
+if (!Function.prototype.apply) {
+  // Based on code from http://www.youngpup.net/
+  Function.prototype.apply = function(object, parameters) {
+    var parameterStrings = new Array();
+    if (!object)     object = window;
+    if (!parameters) parameters = new Array();
+    
+    for (var i = 0; i < parameters.length; i++)
+      parameterStrings[i] = 'parameters[' + i + ']';
+    
+    object.__apply__ = this;
+    var result = eval('object.__apply__(' + 
+      parameterStrings.join(', ') + ')');
+    object.__apply__ = null;
+    
+    return result;
+  }
+}
+
+Object.extend(String.prototype, {
+  stripTags: function() {
+    return this.replace(/<\/?[^>]+>/gi, '');
+  },
+
+  escapeHTML: function() {
+    var div = document.createElement('div');
+    var text = document.createTextNode(this);
+    div.appendChild(text);
+    return div.innerHTML;
+  },
+
+  unescapeHTML: function() {
+    var div = document.createElement('div');
+    div.innerHTML = this.stripTags();
+    return div.childNodes[0].nodeValue;
+  },
+  
+  parseQuery: function() {
+    var str = this;
+    if (str.substring(0,1) == '?') {
+      str = this.substring(1);
+    }
+    var result = {};
+    var pairs = str.split('&');
+    for (var i = 0; i < pairs.length; i++) {
+      var pair = pairs[i].split('=');
+      result[pair[0]] = pair[1];
+    }
+    return result;
+  }
+});
+
+
+var _break    = new Object();
+var _continue = new Object();
+
+var Enumerable = {
+  each: function(iterator) {
+    var index = 0;
+    try {
+      this._each(function(value) {
+        try {
+          iterator(value, index++);
+        } catch (e) {
+          if (e != _continue) throw e;
+        }
+      });
+    } catch (e) {
+      if (e != _break) throw e;
+    }
+  },
+  
+  all: function(iterator) {
+    var result = true;
+    this.each(function(value, index) {
+      if (!(result &= (iterator || Prototype.K)(value, index))) 
+        throw _break;
+    });
+    return result;
+  },
+  
+  any: function(iterator) {
+    var result = true;
+    this.each(function(value, index) {
+      if (result &= (iterator || Prototype.K)(value, index)) 
+        throw _break;
+    });
+    return result;
+  },
+  
+  collect: function(iterator) {
+    var results = [];
+    this.each(function(value, index) {
+      results.push(iterator(value, index));
+    });
+    return results;
+  },
+  
+  detect: function (iterator) {
+    var result;
+    this.each(function(value, index) {
+      if (iterator(value, index)) {
+        result = value;
+        throw _break;
+      }
+    });
+    return result;
+  },
+  
+  findAll: function(iterator) {
+    var results = [];
+    this.each(function(value, index) {
+      if (iterator(value, index))
+        results.push(value);
+    });
+    return results;
+  },
+  
+  grep: function(pattern, iterator) {
+    var results = [];
+    this.each(function(value, index) {
+      var stringValue = value.toString();
+      if (stringValue.match(pattern))
+        results.push((iterator || Prototype.K)(value, index));
+    })
+    return results;
+  },
+  
+  include: function(object) {
+    var found = false;
+    this.each(function(value) {
+      if (value == object) {
+        found = true;
+        throw _break;
+      }
+    });
+    return found;
+  },
+  
+  inject: function(memo, iterator) {
+    this.each(function(value, index) {
+      memo = iterator(memo, value, index);
+    });
+    return memo;
+  },
+  
+  invoke: function(method) {
+    var args = $A(arguments).slice(1);
+    return this.collect(function(value) {
+      return value[method].apply(value, args);
+    });
+  },
+  
+  max: function(iterator) {
+    var result;
+    this.each(function(value, index) {
+      value = (iterator || Prototype.K)(value, index);
+      if (value >= (result || value))
+        result = value;
+    });
+    return result;
+  },
+  
+  min: function(iterator) {
+    var result;
+    this.each(function(value, index) {
+      value = (iterator || Prototype.K)(value, index);
+      if (value <= (result || value))
+        result = value;
+    });
+    return result;
+  },
+  
+  partition: function(iterator) {
+    var trues = [], falses = [];
+    this.each(function(value, index) {
+      ((iterator || Prototype.K)(value, index) ? 
+        trues : falses).push(value);
+    });
+    return [trues, falses];
+  },
+  
+  pluck: function(property) {
+    var results = [];
+    this.each(function(value, index) {
+      results.push(value[property]);
+    });
+    return results;
+  },
+  
+  reject: function(iterator) {
+    var results = [];
+    this.each(function(value, index) {
+      if (!iterator(value, index))
+        results.push(value);
+    });
+    return results;
+  },
+  
+  sortBy: function(iterator) {
+    return this.collect(function(value, index) {
+      return {value: value, criteria: iterator(value, index)};
+    }).sort(function(left, right) {
+      var a = left.criteria, b = right.criteria;
+      return a < b ? -1 : a > b ? 1 : 0;
+    }).pluck('value');
+  },
+  
+  toArray: function() {
+    return this.collect(Prototype.K);
+  },
+  
+  zip: function() {
+    var iterator = Prototype.K, args = $A(arguments);
+    if (typeof args.last() == 'function')
+      iterator = args.pop();
+
+    var collections = [this].concat(args).map($A);
+    return this.map(function(value, index) {
+      iterator(value = collections.pluck(index));
+      return value;
+    });
+  }
+}
+
+Object.extend(Enumerable, {
+  map:     Enumerable.collect,
+  find:    Enumerable.detect,
+  select:  Enumerable.findAll,
+  member:  Enumerable.include,
+  entries: Enumerable.toArray
+});
+
+$A = Array.from = function(iterable) {
+  var results = [];
+  for (var i = 0; i < iterable.length; i++)
+    results.push(iterable[i]);
+  return results;
+}
+
+Object.extend(Array.prototype, {
+  _each: function(iterator) {
+    for (var i = 0; i < this.length; i++)
+      iterator(this[i]);
+  },
+  
+  first: function() {
+    return this[0];
+  },
+  
+  last: function() {
+    return this[this.length - 1];
+  }
+});
+
+Object.extend(Array.prototype, Enumerable);
+
+
+var Ajax = {
+  getTransport: function() {
+    return Try.these(
+      function() {return new ActiveXObject('Msxml2.XMLHTTP')},
+      function() {return new ActiveXObject('Microsoft.XMLHTTP')},
+      function() {return new XMLHttpRequest()}
+    ) || false;
+  }
+}
+
+Ajax.Base = function() {};
+Ajax.Base.prototype = {
+  setOptions: function(options) {
+    this.options = {
+      method:       'post',
+      asynchronous: true,
+      parameters:   ''
+    }
+    Object.extend(this.options, options || {});
+  },
+
+  responseIsSuccess: function() {
+    return this.transport.status == undefined
+        || this.transport.status == 0 
+        || (this.transport.status >= 200 && this.transport.status < 300);
+  },
+
+  responseIsFailure: function() {
+    return !this.responseIsSuccess();
+  }
+}
+
+Ajax.Request = Class.create();
+Ajax.Request.Events = 
+  ['Uninitialized', 'Loading', 'Loaded', 'Interactive', 'Complete'];
+
+Ajax.Request.prototype = Object.extend(new Ajax.Base(), {
+  initialize: function(url, options) {
+    this.transport = Ajax.getTransport();
+    this.setOptions(options);
+    this.request(url);
+  },
+
+  request: function(url) {
+    var parameters = this.options.parameters || '';
+    if (parameters.length > 0) parameters += '&_=';
+
+    try {
+      if (this.options.method == 'get')
+        url += '?' + parameters;
+
+      this.transport.open(this.options.method, url,
+        this.options.asynchronous);
+
+      if (this.options.asynchronous) {
+        this.transport.onreadystatechange = this.onStateChange.bind(this);
+        setTimeout((function() {this.respondToReadyState(1)}).bind(this), 10);
+      }
+
+      this.setRequestHeaders();
+
+      var body = this.options.postBody ? this.options.postBody : parameters;
+      this.transport.send(this.options.method == 'post' ? body : null);
+
+    } catch (e) {
+    }
+  },
+
+  setRequestHeaders: function() {
+    var requestHeaders = 
+      ['X-Requested-With', 'XMLHttpRequest',
+       'X-Prototype-Version', Prototype.Version];
+
+    if (this.options.method == 'post') {
+      requestHeaders.push('Content-type', 
+        'application/x-www-form-urlencoded');
+
+      /* Force "Connection: close" for Mozilla browsers to work around
+       * a bug where XMLHttpReqeuest sends an incorrect Content-length
+       * header. See Mozilla Bugzilla #246651. 
+       */
+      if (this.transport.overrideMimeType)
+        requestHeaders.push('Connection', 'close');
+    }
+
+    if (this.options.requestHeaders)
+      requestHeaders.push.apply(requestHeaders, this.options.requestHeaders);
+
+    for (var i = 0; i < requestHeaders.length; i += 2)
+      this.transport.setRequestHeader(requestHeaders[i], requestHeaders[i+1]);
+  },
+
+  onStateChange: function() {
+    var readyState = this.transport.readyState;
+    if (readyState != 1)
+      this.respondToReadyState(this.transport.readyState);
+  },
+
+  respondToReadyState: function(readyState) {
+    var event = Ajax.Request.Events[readyState];
+
+    if (event == 'Complete')
+      (this.options['on' + this.transport.status]
+       || this.options['on' + (this.responseIsSuccess() ? 'Success' : 'Failure')]
+       || Prototype.emptyFunction)(this.transport);
+
+    (this.options['on' + event] || Prototype.emptyFunction)(this.transport);
+
+    /* Avoid memory leak in MSIE: clean up the oncomplete event handler */
+    if (event == 'Complete')
+      this.transport.onreadystatechange = Prototype.emptyFunction;
+  }
+});
+
+Ajax.Updater = Class.create();
+Ajax.Updater.ScriptFragment = '(?:<script.*?>)((\n|.)*?)(?:<\/script>)';
+
+Object.extend(Object.extend(Ajax.Updater.prototype, Ajax.Request.prototype), {
+  initialize: function(container, url, options) {
+    this.containers = {
+      success: container.success ? $(container.success) : $(container),
+      failure: container.failure ? $(container.failure) :
+        (container.success ? null : $(container))
+    }
+
+    this.transport = Ajax.getTransport();
+    this.setOptions(options);
+
+    var onComplete = this.options.onComplete || Prototype.emptyFunction;
+    this.options.onComplete = (function() {
+      this.updateContent();
+      onComplete(this.transport);
+    }).bind(this);
+
+    this.request(url);
+  },
+
+  updateContent: function() {
+    var receiver = this.responseIsSuccess() ?
+      this.containers.success : this.containers.failure;
+
+    var match    = new RegExp(Ajax.Updater.ScriptFragment, 'img');
+    var response = this.transport.responseText.replace(match, '');
+    var scripts  = this.transport.responseText.match(match);
+
+    if (receiver) {
+      if (this.options.insertion) {
+        new this.options.insertion(receiver, response);
+      } else {
+        receiver.innerHTML = response;
+      }
+    }
+
+    if (this.responseIsSuccess()) {
+      if (this.onComplete)
+        setTimeout((function() {this.onComplete(
+          this.transport)}).bind(this), 10);
+    }
+
+    if (this.options.evalScripts && scripts) {
+      match = new RegExp(Ajax.Updater.ScriptFragment, 'im');
+      setTimeout((function() {
+        for (var i = 0; i < scripts.length; i++)
+          eval(scripts[i].match(match)[1]);
+      }).bind(this), 10);
+    }
+  }
+});
+
+Ajax.PeriodicalUpdater = Class.create();
+Ajax.PeriodicalUpdater.prototype = Object.extend(new Ajax.Base(), {
+  initialize: function(container, url, options) {
+    this.setOptions(options);
+    this.onComplete = this.options.onComplete;
+
+    this.frequency = (this.options.frequency || 2);
+    this.decay = 1;
+
+    this.updater = {};
+    this.container = container;
+    this.url = url;
+
+    this.start();
+  },
+
+  start: function() {
+    this.options.onComplete = this.updateComplete.bind(this);
+    this.onTimerEvent();
+  },
+
+  stop: function() {
+    this.updater.onComplete = undefined;
+    clearTimeout(this.timer);
+    (this.onComplete || Ajax.emptyFunction).apply(this, arguments);
+  },
+
+  updateComplete: function(request) {
+    if (this.options.decay) {
+      this.decay = (request.responseText == this.lastText ? 
+        this.decay * this.options.decay : 1);
+
+      this.lastText = request.responseText;
+    }
+    this.timer = setTimeout(this.onTimerEvent.bind(this), 
+      this.decay * this.frequency * 1000);
+  },
+
+  onTimerEvent: function() {
+    this.updater = new Ajax.Updater(this.container, this.url, this.options);
+  }
+});
+
+document.getElementsByClassName = function(className) {
+  var children = document.getElementsByTagName('*') || document.all;
+  var elements = new Array();
+  
+  for (var i = 0; i < children.length; i++) {
+    var child = children[i];
+    var classNames = child.className.split(' ');
+    for (var j = 0; j < classNames.length; j++) {
+      if (classNames[j] == className) {
+        elements.push(child);
+        break;
+      }
+    }
+  }
+  
+  return elements;
+}
+
+/*--------------------------------------------------------------------------*/
+
+if (!window.Element) {
+  var Element = new Object();
+}
+
+Object.extend(Element, {
+  toggle: function() {
+    for (var i = 0; i < arguments.length; i++) {
+      var element = $(arguments[i]);
+      element.style.display = 
+        (element.style.display == 'none' ? '' : 'none');
+    }
+  },
+
+  hide: function() {
+    for (var i = 0; i < arguments.length; i++) {
+      var element = $(arguments[i]);
+      element.style.display = 'none';
+    }
+  },
+
+  show: function() {
+    for (var i = 0; i < arguments.length; i++) {
+      var element = $(arguments[i]);
+      element.style.display = '';
+    }
+  },
+
+  remove: function(element) {
+    element = $(element);
+    element.parentNode.removeChild(element);
+  },
+   
+  getHeight: function(element) {
+    element = $(element);
+    return element.offsetHeight; 
+  },
+
+  hasClassName: function(element, className) {
+    element = $(element);
+    if (!element)
+      return;
+    var a = element.className.split(' ');
+    for (var i = 0; i < a.length; i++) {
+      if (a[i] == className)
+        return true;
+    }
+    return false;
+  },
+
+  addClassName: function(element, className) {
+    element = $(element);
+    Element.removeClassName(element, className);
+    element.className += ' ' + className;
+  },
+
+  removeClassName: function(element, className) {
+    element = $(element);
+    if (!element)
+      return;
+    var newClassName = '';
+    var a = element.className.split(' ');
+    for (var i = 0; i < a.length; i++) {
+      if (a[i] != className) {
+        if (i > 0)
+          newClassName += ' ';
+        newClassName += a[i];
+      }
+    }
+    element.className = newClassName;
+  },
+  
+  // removes whitespace-only text node children
+  cleanWhitespace: function(element) {
+    var element = $(element);
+    for (var i = 0; i < element.childNodes.length; i++) {
+      var node = element.childNodes[i];
+      if (node.nodeType == 3 && !/\S/.test(node.nodeValue)) 
+        Element.remove(node);
+    }
+  }
+});
+
+var Toggle = new Object();
+Toggle.display = Element.toggle;
+
+/*--------------------------------------------------------------------------*/
+
+Abstract.Insertion = function(adjacency) {
+  this.adjacency = adjacency;
+}
+
+Abstract.Insertion.prototype = {
+  initialize: function(element, content) {
+    this.element = $(element);
+    this.content = content;
+    
+    if (this.adjacency && this.element.insertAdjacentHTML) {
+      this.element.insertAdjacentHTML(this.adjacency, this.content);
+    } else {
+      this.range = this.element.ownerDocument.createRange();
+      if (this.initializeRange) this.initializeRange();
+      this.fragment = this.range.createContextualFragment(this.content);
+      this.insertContent();
+    }
+  }
+}
+
+var Insertion = new Object();
+
+Insertion.Before = Class.create();
+Insertion.Before.prototype = Object.extend(new Abstract.Insertion('beforeBegin'), {
+  initializeRange: function() {
+    this.range.setStartBefore(this.element);
+  },
+  
+  insertContent: function() {
+    this.element.parentNode.insertBefore(this.fragment, this.element);
+  }
+});
+
+Insertion.Top = Class.create();
+Insertion.Top.prototype = Object.extend(new Abstract.Insertion('afterBegin'), {
+  initializeRange: function() {
+    this.range.selectNodeContents(this.element);
+    this.range.collapse(true);
+  },
+  
+  insertContent: function() {  
+    this.element.insertBefore(this.fragment, this.element.firstChild);
+  }
+});
+
+Insertion.Bottom = Class.create();
+Insertion.Bottom.prototype = Object.extend(new Abstract.Insertion('beforeEnd'), {
+  initializeRange: function() {
+    this.range.selectNodeContents(this.element);
+    this.range.collapse(this.element);
+  },
+  
+  insertContent: function() {
+    this.element.appendChild(this.fragment);
+  }
+});
+
+Insertion.After = Class.create();
+Insertion.After.prototype = Object.extend(new Abstract.Insertion('afterEnd'), {
+  initializeRange: function() {
+    this.range.setStartAfter(this.element);
+  },
+  
+  insertContent: function() {
+    this.element.parentNode.insertBefore(this.fragment, 
+      this.element.nextSibling);
+  }
+});
+
+var Field = {
+  clear: function() {
+    for (var i = 0; i < arguments.length; i++)
+      $(arguments[i]).value = '';
+  },
+
+  focus: function(element) {
+    $(element).focus();
+  },
+  
+  present: function() {
+    for (var i = 0; i < arguments.length; i++)
+      if ($(arguments[i]).value == '') return false;
+    return true;
+  },
+  
+  select: function(element) {
+    $(element).select();
+  },
+   
+  activate: function(element) {
+    $(element).focus();
+    $(element).select();
+  }
+}
+
+/*--------------------------------------------------------------------------*/
+
+var Form = {
+  serialize: function(form) {
+    var elements = Form.getElements($(form));
+    var queryComponents = new Array();
+    
+    for (var i = 0; i < elements.length; i++) {
+      var queryComponent = Form.Element.serialize(elements[i]);
+      if (queryComponent)
+        queryComponents.push(queryComponent);
+    }
+    
+    return queryComponents.join('&');
+  },
+  
+  getElements: function(form) {
+    var form = $(form);
+    var elements = new Array();
+
+    for (tagName in Form.Element.Serializers) {
+      var tagElements = form.getElementsByTagName(tagName);
+      for (var j = 0; j < tagElements.length; j++)
+        elements.push(tagElements[j]);
+    }
+    return elements;
+  },
+  
+  getInputs: function(form, typeName, name) {
+    var form = $(form);
+    var inputs = form.getElementsByTagName('input');
+    
+    if (!typeName && !name)
+      return inputs;
+      
+    var matchingInputs = new Array();
+    for (var i = 0; i < inputs.length; i++) {
+      var input = inputs[i];
+      if ((typeName && input.type != typeName) ||
+          (name && input.name != name)) 
+        continue;
+      matchingInputs.push(input);
+    }
+
+    return matchingInputs;
+  },
+
+  disable: function(form) {
+    var elements = Form.getElements(form);
+    for (var i = 0; i < elements.length; i++) {
+      var element = elements[i];
+      element.blur();
+      element.disabled = 'true';
+    }
+  },
+
+  enable: function(form) {
+    var elements = Form.getElements(form);
+    for (var i = 0; i < elements.length; i++) {
+      var element = elements[i];
+      element.disabled = '';
+    }
+  },
+
+  focusFirstElement: function(form) {
+    var form = $(form);
+    var elements = Form.getElements(form);
+    for (var i = 0; i < elements.length; i++) {
+      var element = elements[i];
+      if (element.type != 'hidden' && !element.disabled) {
+        Field.activate(element);
+        break;
+      }
+    }
+  },
+
+  reset: function(form) {
+    $(form).reset();
+  }
+}
+
+Form.Element = {
+  serialize: function(element) {
+    var element = $(element);
+    var method = element.tagName.toLowerCase();
+    var parameter = Form.Element.Serializers[method](element);
+    
+    if (parameter)
+      return encodeURIComponent(parameter[0]) + '=' + 
+        encodeURIComponent(parameter[1]);                   
+  },
+  
+  getValue: function(element) {
+    var element = $(element);
+    var method = element.tagName.toLowerCase();
+    var parameter = Form.Element.Serializers[method](element);
+    
+    if (parameter) 
+      return parameter[1];
+  }
+}
+
+Form.Element.Serializers = {
+  input: function(element) {
+    switch (element.type.toLowerCase()) {
+      case 'submit':
+      case 'hidden':
+      case 'password':
+      case 'text':
+        return Form.Element.Serializers.textarea(element);
+      case 'checkbox':  
+      case 'radio':
+        return Form.Element.Serializers.inputSelector(element);
+    }
+    return false;
+  },
+
+  inputSelector: function(element) {
+    if (element.checked)
+      return [element.name, element.value];
+  },
+
+  textarea: function(element) {
+    return [element.name, element.value];
+  },
+
+  select: function(element) {
+    var value = '';
+    if (element.type == 'select-one') {
+      var index = element.selectedIndex;
+      if (index >= 0)
+        value = element.options[index].value || element.options[index].text;
+    } else {
+      value = new Array();
+      for (var i = 0; i < element.length; i++) {
+        var opt = element.options[i];
+        if (opt.selected)
+          value.push(opt.value || opt.text);
+      }
+    }
+    return [element.name, value];
+  }
+}
+
+/*--------------------------------------------------------------------------*/
+
+var $F = Form.Element.getValue;
+
+/*--------------------------------------------------------------------------*/
+
+Abstract.TimedObserver = function() {}
+Abstract.TimedObserver.prototype = {
+  initialize: function(element, frequency, callback) {
+    this.frequency = frequency;
+    this.element   = $(element);
+    this.callback  = callback;
+    
+    this.lastValue = this.getValue();
+    this.registerCallback();
+  },
+  
+  registerCallback: function() {
+    setInterval(this.onTimerEvent.bind(this), this.frequency * 1000);
+  },
+  
+  onTimerEvent: function() {
+    var value = this.getValue();
+    if (this.lastValue != value) {
+      this.callback(this.element, value);
+      this.lastValue = value;
+    }
+  }
+}
+
+Form.Element.Observer = Class.create();
+Form.Element.Observer.prototype = Object.extend(new Abstract.TimedObserver(), {
+  getValue: function() {
+    return Form.Element.getValue(this.element);
+  }
+});
+
+Form.Observer = Class.create();
+Form.Observer.prototype = Object.extend(new Abstract.TimedObserver(), {
+  getValue: function() {
+    return Form.serialize(this.element);
+  }
+});
+
+/*--------------------------------------------------------------------------*/
+
+Abstract.EventObserver = function() {}
+Abstract.EventObserver.prototype = {
+  initialize: function(element, callback) {
+    this.element  = $(element);
+    this.callback = callback;
+    
+    this.lastValue = this.getValue();
+    if (this.element.tagName.toLowerCase() == 'form')
+      this.registerFormCallbacks();
+    else
+      this.registerCallback(this.element);
+  },
+  
+  onElementEvent: function() {
+    var value = this.getValue();
+    if (this.lastValue != value) {
+      this.callback(this.element, value);
+      this.lastValue = value;
+    }
+  },
+  
+  registerFormCallbacks: function() {
+    var elements = Form.getElements(this.element);
+    for (var i = 0; i < elements.length; i++)
+      this.registerCallback(elements[i]);
+  },
+  
+  registerCallback: function(element) {
+    if (element.type) {
+      switch (element.type.toLowerCase()) {
+        case 'checkbox':  
+        case 'radio':
+          element.target = this;
+          element.prev_onclick = element.onclick || Prototype.emptyFunction;
+          element.onclick = function() {
+            this.prev_onclick(); 
+            this.target.onElementEvent();
+          }
+          break;
+        case 'password':
+        case 'text':
+        case 'textarea':
+        case 'select-one':
+        case 'select-multiple':
+          element.target = this;
+          element.prev_onchange = element.onchange || Prototype.emptyFunction;
+          element.onchange = function() {
+            this.prev_onchange(); 
+            this.target.onElementEvent();
+          }
+          break;
+      }
+    }    
+  }
+}
+
+Form.Element.EventObserver = Class.create();
+Form.Element.EventObserver.prototype = Object.extend(new Abstract.EventObserver(), {
+  getValue: function() {
+    return Form.Element.getValue(this.element);
+  }
+});
+
+Form.EventObserver = Class.create();
+Form.EventObserver.prototype = Object.extend(new Abstract.EventObserver(), {
+  getValue: function() {
+    return Form.serialize(this.element);
+  }
+});
+
+
+if (!window.Event) {
+  var Event = new Object();
+}
+
+Object.extend(Event, {
+  KEY_BACKSPACE: 8,
+  KEY_TAB:       9,
+  KEY_RETURN:   13,
+  KEY_ESC:      27,
+  KEY_LEFT:     37,
+  KEY_UP:       38,
+  KEY_RIGHT:    39,
+  KEY_DOWN:     40,
+  KEY_DELETE:   46,
+
+  element: function(event) {
+    return event.target || event.srcElement;
+  },
+
+  isLeftClick: function(event) {
+    return (((event.which) && (event.which == 1)) ||
+            ((event.button) && (event.button == 1)));
+  },
+
+  pointerX: function(event) {
+    return event.pageX || (event.clientX + 
+      (document.documentElement.scrollLeft || document.body.scrollLeft));
+  },
+
+  pointerY: function(event) {
+    return event.pageY || (event.clientY + 
+      (document.documentElement.scrollTop || document.body.scrollTop));
+  },
+
+  stop: function(event) {
+    if (event.preventDefault) { 
+      event.preventDefault(); 
+      event.stopPropagation(); 
+    } else {
+      event.returnValue = false;
+    }
+  },
+
+  // find the first node with the given tagName, starting from the
+  // node the event was triggered on; traverses the DOM upwards
+  findElement: function(event, tagName) {
+    var element = Event.element(event);
+    while (element.parentNode && (!element.tagName ||
+        (element.tagName.toUpperCase() != tagName.toUpperCase())))
+      element = element.parentNode;
+    return element;
+  },
+
+  observers: false,
+  
+  _observeAndCache: function(element, name, observer, useCapture) {
+    if (!this.observers) this.observers = [];
+    if (element.addEventListener) {
+      this.observers.push([element, name, observer, useCapture]);
+      element.addEventListener(name, observer, useCapture);
+    } else if (element.attachEvent) {
+      this.observers.push([element, name, observer, useCapture]);
+      element.attachEvent('on' + name, observer);
+    }
+  },
+  
+  unloadCache: function() {
+    if (!Event.observers) return;
+    for (var i = 0; i < Event.observers.length; i++) {
+      Event.stopObserving.apply(this, Event.observers[i]);
+      Event.observers[i][0] = null;
+    }
+    Event.observers = false;
+  },
+
+  observe: function(element, name, observer, useCapture) {
+    var element = $(element);
+    useCapture = useCapture || false;
+    
+    if (name == 'keypress' &&
+        ((/Konqueror|Safari|KHTML/.test(navigator.userAgent)) 
+        || element.attachEvent))
+      name = 'keydown';
+    
+    this._observeAndCache(element, name, observer, useCapture);
+  },
+
+  stopObserving: function(element, name, observer, useCapture) {
+    var element = $(element);
+    useCapture = useCapture || false;
+    
+    if (name == 'keypress' &&
+        ((/Konqueror|Safari|KHTML/.test(navigator.userAgent)) 
+        || element.detachEvent))
+      name = 'keydown';
+    
+    if (element.removeEventListener) {
+      element.removeEventListener(name, observer, useCapture);
+    } else if (element.detachEvent) {
+      element.detachEvent('on' + name, observer);
+    }
+  }
+});
+
+/* prevent memory leaks in IE */
+Event.observe(window, 'unload', Event.unloadCache, false);
+
+var Position = {
+
+  // set to true if needed, warning: firefox performance problems
+  // NOT neeeded for page scrolling, only if draggable contained in
+  // scrollable elements
+  includeScrollOffsets: false, 
+
+  // must be called before calling withinIncludingScrolloffset, every time the
+  // page is scrolled
+  prepare: function() {
+    this.deltaX =  window.pageXOffset 
+                || document.documentElement.scrollLeft 
+                || document.body.scrollLeft 
+                || 0;
+    this.deltaY =  window.pageYOffset 
+                || document.documentElement.scrollTop 
+                || document.body.scrollTop 
+                || 0;
+  },
+
+  realOffset: function(element) {
+    var valueT = 0, valueL = 0;
+    do {
+      valueT += element.scrollTop  || 0;
+      valueL += element.scrollLeft || 0; 
+      element = element.parentNode;
+    } while (element);
+    return [valueL, valueT];
+  },
+
+  cumulativeOffset: function(element) {
+    var valueT = 0, valueL = 0;
+    do {
+      valueT += element.offsetTop  || 0;
+      valueL += element.offsetLeft || 0;
+      element = element.offsetParent;
+    } while (element);
+    return [valueL, valueT];
+  },
+
+  // caches x/y coordinate pair to use with overlap
+  within: function(element, x, y) {
+    if (this.includeScrollOffsets)
+      return this.withinIncludingScrolloffsets(element, x, y);
+    this.xcomp = x;
+    this.ycomp = y;
+    this.offset = this.cumulativeOffset(element);
+
+    return (y >= this.offset[1] &&
+            y <  this.offset[1] + element.offsetHeight &&
+            x >= this.offset[0] && 
+            x <  this.offset[0] + element.offsetWidth);
+  },
+
+  withinIncludingScrolloffsets: function(element, x, y) {
+    var offsetcache = this.realOffset(element);
+
+    this.xcomp = x + offsetcache[0] - this.deltaX;
+    this.ycomp = y + offsetcache[1] - this.deltaY;
+    this.offset = this.cumulativeOffset(element);
+
+    return (this.ycomp >= this.offset[1] &&
+            this.ycomp <  this.offset[1] + element.offsetHeight &&
+            this.xcomp >= this.offset[0] && 
+            this.xcomp <  this.offset[0] + element.offsetWidth);
+  },
+
+  // within must be called directly before
+  overlap: function(mode, element) {  
+    if (!mode) return 0;  
+    if (mode == 'vertical') 
+      return ((this.offset[1] + element.offsetHeight) - this.ycomp) / 
+        element.offsetHeight;
+    if (mode == 'horizontal')
+      return ((this.offset[0] + element.offsetWidth) - this.xcomp) / 
+        element.offsetWidth;
+  },
+
+  clone: function(source, target) {
+    source = $(source);
+    target = $(target);
+    target.style.position = 'absolute';
+    var offsets = this.cumulativeOffset(source);
+    target.style.top    = offsets[1] + 'px';
+    target.style.left   = offsets[0] + 'px';
+    target.style.width  = source.offsetWidth + 'px';
+    target.style.height = source.offsetHeight + 'px';
+  }
+}

+ 56 - 19
docs/skin/screen.css

@@ -1,10 +1,10 @@
 /*
-* Copyright 2002-2004 The Apache Software Foundation or its licensors,
-* as applicable.
-*
-* Licensed 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
+* 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
 *
@@ -17,7 +17,7 @@
 body {  margin: 0px 0px 0px 0px; font-family: Verdana, Helvetica, sans-serif; }
 
 h1     { font-size : 160%; margin: 0px 0px 0px 0px;  padding: 0px; }
-h2     { font-size : 140%; margin: 0.9em 0px 0px 0px; padding: 0px; font-weight : bold;}
+h2     { font-size : 140%; margin: 1em 0px 0.8em 0px; padding: 0px; font-weight : bold;}
 h3     { font-size : 130%; margin: 0.8em 0px 0px 0px; padding: 0px; font-weight : bold; }
 .h3 { margin: 22px 0px 3px 0px; }
 h4     { font-size : 120%; margin: 0.7em 0px 0px 0px; padding: 0px; font-weight : normal; text-align: left; }
@@ -152,6 +152,12 @@ html>body #top .searchbox {
     width: .1em; /* IE/Win fix */
 }
 
+#tabs li a:hover {
+   
+    cursor: pointer;
+    text-decoration:underline;
+}
+
 #tabs > li a { width: auto; } /* Rest of IE/Win fix */
 
 /* Commented Backslash Hack hides rule from IE5-Mac \*/
@@ -188,6 +194,27 @@ html>body #top .searchbox {
 margin: 0;
 float:left;
 position:relative;
+
+}
+
+
+
+#level2tabs  a:hover {
+   
+    cursor: pointer;
+    text-decoration:underline;
+    
+}
+
+#level2tabs  a{
+   
+    cursor: pointer;
+    text-decoration:none;
+    background-image: url('images/chapter.gif');
+    background-repeat: no-repeat;
+    background-position: center left;
+    padding-left: 6px;
+    margin-left: 6px;
 }
 
 /*
@@ -252,10 +279,10 @@ img.cornersmall {
 /**
  * Side menu
  */
-#menu a {  font-weight: normal;}
+#menu a {  font-weight: normal; text-decoration: none;}
 #menu a:visited {  font-weight: normal; }
 #menu a:active {  font-weight: normal; }
-#menu a:hover {  font-weight: normal; }
+#menu a:hover {  font-weight: normal;  text-decoration:underline;}
 
 #menuarea { width:10em;}
 #menu {
@@ -268,6 +295,7 @@ img.cornersmall {
     z-index: 20;
     background-color: #f90;
     font-size : 70%;
+    
 }
 
 .menutitle {
@@ -278,20 +306,26 @@ img.cornersmall {
         background-repeat: no-repeat;
         background-position: center left;
         font-weight : bold;
+
+        
 }
 
+.menutitle:hover{text-decoration:underline;cursor: pointer;}
+
 #menu .menuitemgroup {
         margin: 0px 0px 6px 8px;
         padding: 0px;
         font-weight : bold; }
 
 #menu .selectedmenuitemgroup{
-        margin: 0px 0px 6px 8px;
+        margin: 0px 0px 0px 8px;
         padding: 0px;
-        font-weight : bold; }
+        font-weight : normal; 
+       
+        }
 
 #menu .menuitem {
-        padding: 0px 0px 2px 12px;
+        padding: 2px 0px 1px 13px;
         background-image: url('images/page.gif');
         background-repeat: no-repeat;
         background-position: center left;
@@ -300,19 +334,20 @@ img.cornersmall {
 }
 
 #menu .menupage {
-        margin: 5px 0px 5px 10px;
+        margin: 2px 0px 1px 10px;
         padding: 0px 3px 0px 12px;
-        background-image: url('images/current.gif');
+        background-image: url('images/page.gif');
         background-repeat: no-repeat;
-        background-position: top left;
+        background-position: center left;
         font-style : normal;
 }
 #menu .menupagetitle {
-        padding: 0px 0px 0px 6px;
+        padding: 0px 0px 0px 1px;
         font-style : normal;
         border-style: solid;
         border-width: 1px;
         margin-right: 10px;
+         
 }
 #menu .menupageitemgroup {
         padding: 3px 0px 4px 6px;
@@ -436,10 +471,11 @@ acronym { cursor: help; }
 #minitoc-area {
     border-top: solid 1px #4C6C8F;
     border-bottom: solid 1px #4C6C8F;
-    margin-bottom: 15px;
+    margin: 15px 10% 5px 15px;
+   /* margin-bottom: 15px;
     margin-left: 15px;
-    margin-right: 10%;
-    padding-bottom: 5px;
+    margin-right: 10%;*/
+    padding-bottom: 7px;
     padding-top: 5px;
 }
 .minitoc {
@@ -523,6 +559,7 @@ li p {
 }
 
 .printlink {
+    position: relative; /* IE bugfix cont'd */
     float: right;
 }
 .printlink br {

+ 84 - 27
docs/version_control.html

@@ -1,9 +1,9 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 <html>
 <head>
 <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <meta content="Apache Forrest" name="Generator">
-<meta name="Forrest-version" content="0.7">
+<meta name="Forrest-version" content="0.8">
 <meta name="Forrest-skin-name" content="pelt">
 <title>Hadoop Version Control System</title>
 <link type="text/css" href="skin/basic.css" rel="stylesheet">
@@ -16,81 +16,129 @@
 <body onload="init()">
 <script type="text/javascript">ndeSetTextSize();</script>
 <div id="top">
+<!--+
+    |breadtrail
+    +-->
 <div class="breadtrail">
 <a href="http://www.apache.org/">Apache</a> &gt; <a href="http://lucene.apache.org/">Lucene</a> &gt; <a href="http://lucene.apache.org/hadoop/">Hadoop</a><script src="skin/breadcrumbs.js" language="JavaScript" type="text/javascript"></script>
 </div>
+<!--+
+    |header
+    +-->
 <div class="header">
+<!--+
+    |start group logo
+    +-->
 <div class="grouplogo">
 <a href="http://lucene.apache.org/"><img class="logoImage" alt="Lucene" src="images/lucene_green_150.gif" title="Apache Lucene"></a>
 </div>
+<!--+
+    |end group logo
+    +-->
+<!--+
+    |start Project Logo
+    +-->
 <div class="projectlogo">
 <a href="http://lucene.apache.org/hadoop/"><img class="logoImage" alt="Hadoop" src="images/hadoop-logo.jpg" title="Scalable Computing Platform"></a>
 </div>
+<!--+
+    |end Project Logo
+    +-->
+<!--+
+    |start Search
+    +-->
 <div class="searchbox">
 <form action="http://www.google.com/search" method="get" class="roundtopsmall">
 <input value="lucene.apache.org" name="sitesearch" type="hidden"><input onFocus="getBlank (this, 'Search the site with google');" size="25" name="q" id="query" type="text" value="Search the site with google">&nbsp; 
-                    <input attr="value" name="Search" value="Search" type="submit">
+                    <input name="Search" value="Search" type="submit">
 </form>
 </div>
+<!--+
+    |end search
+    +-->
+<!--+
+    |start Tabs
+    +-->
 <ul id="tabs">
 <li class="current">
-<a class="base-selected" href="index.html">Main</a>
+<a class="selected" href="index.html">Main</a>
 </li>
 <li>
-<a class="base-not-selected" href="http://wiki.apache.org/lucene-hadoop">Wiki</a>
+<a class="unselected" href="http://wiki.apache.org/lucene-hadoop">Wiki</a>
 </li>
 </ul>
+<!--+
+    |end Tabs
+    +-->
 </div>
 </div>
 <div id="main">
 <div id="publishedStrip">
+<!--+
+    |start Subtabs
+    +-->
 <div id="level2tabs"></div>
+<!--+
+    |end Endtabs
+    +-->
 <script type="text/javascript"><!--
-document.write("<text>Last Published:</text> " + document.lastModified);
+document.write("Last Published: " + document.lastModified);
 //  --></script>
 </div>
+<!--+
+    |breadtrail
+    +-->
 <div class="breadtrail">
-             
+
              &nbsp;
            </div>
+<!--+
+    |start Menu, mainarea
+    +-->
+<!--+
+    |start Menu
+    +-->
 <div id="menu">
 <div onclick="SwitchMenu('menu_1.1', 'skin/')" id="menu_1.1Title" class="menutitle">Project</div>
 <div id="menu_1.1" class="menuitemgroup">
 <div class="menuitem">
-<a href="index.html">News</a>
+<a href="releases.html">Releases</a>
 </div>
 <div class="menuitem">
-<a href="about.html">About</a>
+<a href="releases.html#News">News</a>
 </div>
 <div class="menuitem">
 <a href="credits.html">Credits</a>
 </div>
 <div class="menuitem">
-<a href="http://www.apache.org/dyn/closer.cgi/lucene/hadoop/">Download</a>
-</div>
-<div class="menuitem">
 <a href="http://www.cafepress.com/hadoop/">Buy Stuff</a>
 </div>
 </div>
 <div onclick="SwitchMenu('menu_1.2', 'skin/')" id="menu_1.2Title" class="menutitle">Documentation</div>
 <div id="menu_1.2" class="menuitemgroup">
 <div class="menuitem">
-<a href="http://wiki.apache.org/lucene-hadoop/FAQ">FAQ</a>
+<a href="hdfs_design.html">Hadoop File System</a>
+</div>
+<div class="menuitem">
+<a href="api/overview-summary.html#overview_description">Install and Configure</a>
+</div>
+<div class="menuitem">
+<a href="api/index.html">API Docs</a>
 </div>
 <div class="menuitem">
 <a href="http://wiki.apache.org/lucene-hadoop/">Wiki</a>
 </div>
 <div class="menuitem">
-<a href="hdfs_design.html">Hadoop File System</a>
+<a href="http://wiki.apache.org/lucene-hadoop/FAQ">FAQ</a>
 </div>
 <div class="menuitem">
-<a href="api/index.html">API Docs</a>
+<a href="mailing_lists.html#Users">Mailing Lists</a>
 </div>
 </div>
-<div onclick="SwitchMenu('menu_selected_1.3', 'skin/')" id="menu_selected_1.3Title" class="menutitle" style="background-image: url('skin/images/chapter_open.gif');">Developer</div>
+<div onclick="SwitchMenu('menu_selected_1.3', 'skin/')" id="menu_selected_1.3Title" class="menutitle" style="background-image: url('skin/images/chapter_open.gif');">Developers</div>
 <div id="menu_selected_1.3" class="selectedmenuitemgroup" style="display: block;">
 <div class="menuitem">
-<a href="mailing_lists.html">Mailing Lists</a>
+<a href="mailing_lists.html#Developers">Mailing Lists</a>
 </div>
 <div class="menuitem">
 <a href="issue_tracking.html">Issue Tracking</a>
@@ -102,20 +150,20 @@ document.write("<text>Last Published:</text> " + document.lastModified);
 <a href="http://lucene.zones.apache.org:8080/hudson/job/Hadoop-Nightly/">Nightly Build</a>
 </div>
 </div>
-<div onclick="SwitchMenu('menu_1.4', 'skin/')" id="menu_1.4Title" class="menutitle">Related Projects</div>
-<div id="menu_1.4" class="menuitemgroup">
-<div class="menuitem">
-<a href="http://lucene.apache.org/java/">Lucene</a>
-</div>
-<div class="menuitem">
-<a href="http://lucene.apache.org/nutch/">Nutch</a>
-</div>
-</div>
 <div id="credit"></div>
 <div id="roundbottom">
 <img style="display: none" class="corner" height="15" width="15" alt="" src="skin/images/rc-b-l-15-1body-2menu-3menu.png"></div>
+<!--+
+  |alternative credits
+  +-->
 <div id="credit2"></div>
 </div>
+<!--+
+    |end Menu
+    +-->
+<!--+
+    |start content
+    +-->
 <div id="content">
 <div title="Portable Document Format" class="pdflink">
 <a class="dida" href="version_control.pdf"><img alt="PDF -icon" src="skin/images/pdfdoc.gif" class="skin"><br>
@@ -189,18 +237,27 @@ document.write("<text>Last Published:</text> " + document.lastModified);
     
   
 </div>
+<!--+
+    |end content
+    +-->
 <div class="clearboth">&nbsp;</div>
 </div>
 <div id="footer">
+<!--+
+    |start bottomstrip
+    +-->
 <div class="lastmodified">
 <script type="text/javascript"><!--
-document.write("<text>Last Published:</text> " + document.lastModified);
+document.write("Last Published: " + document.lastModified);
 //  --></script>
 </div>
 <div class="copyright">
         Copyright &copy;
          2007 <a href="http://www.apache.org/licenses/">The Apache Software Foundation.</a>
 </div>
+<!--+
+    |end bottomstrip
+    +-->
 </div>
 </body>
 </html>

+ 25 - 0
src/docs/src/documentation/content/xdocs/documentation.xml

@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" "http://forrest.apache.org/dtd/document-v20.dtd">
+
+<document>
+  
+  <header>
+    <title>Hadoop Documentation</title>
+  </header>
+  
+  <body>
+    <p>
+    The following documents provide concepts and procedures that will help you get started using Hadoop.
+    If you have more questions, you can ask the <a href="mailing_lists.html">mailing list</a> or browse the archives.
+    </p>
+    <ul>
+      <li><a href="hdfs_design.html">Hadoop Distributed File System (<acronym title="Hadoop Distributed File System">HDFS</acronym>)</a></li>
+      <li><a href="ext:overview">Install and configure</a></li>
+      <li><a href="ext:api">API Docs</a></li>
+      <li><a href="ext:wiki">Wiki</a></li>
+      <li><a href="ext:faq">FAQ</a></li>
+    </ul>
+  </body>
+  
+</document>

+ 53 - 305
src/docs/src/documentation/content/xdocs/index.xml

@@ -9,316 +9,64 @@
     <title>Welcome to Hadoop!</title> 
   </header> 
 
-  <body> 
+  <body>
+    <p>
+    Hadoop is a software platform lets one easily write and run
+    applications that process vast amounts of data.</p>
+
+    <p>Here's what makes Hadoop especially useful:</p>
+    <ul>
+      <li><strong>Scalable:</strong>
+      Hadoop can reliably store and process petabytes.</li>
+      <li><strong>Economical:</strong>
+      It distributes the data and processing across clusters of
+      commonly available computers. These clusters can number into the
+      thousands of nodes.</li>
+      <li><strong>Efficient:</strong>
+      By distributing the data, Hadoop can process it in parallel on
+      the nodes where the data is located. This makes it extremely
+      rapid.</li>
+      <li><strong>Reliable:</strong>
+      Hadoop automatically maintains multiple copies of data and
+      automatically redeploys computing tasks based on failures.</li>
+    </ul>
+    <p>
+    Hadoop implements <a
+    href="http://wiki.apache.org/lucene-hadoop/HadoopMapReduce">MapReduce</a>,
+    using the Hadoop Distributed File System (<a
+    href="hdfs_design.html"><acronym title="Hadoop Distributed File
+    System">HDFS</acronym></a>) (see figure below.)  MapReduce divides
+    applications into many small blocks of work.  HDFS creates
+    multiple replicas of data blocks for reliability, placing them on
+    compute nodes around the cluster.  MapReduce can then process the
+    data where it is located.
+    </p>
+
+    <figure alt="architecture" src="images/architecture.gif" />
 
     <section>
-      <title>News</title>
-
-      <section>
-      <title>25 July, 2007: release 0.13.1 available</title>
-      <p>This fixes critical bugs in the 0.13.0 release.  For full
-      details, see the <a href="http://tinyurl.com/2uoabd">release
-      notes</a>. The release can be obtained from <a
-      href="http://www.apache.org/dyn/closer.cgi/lucene/hadoop/"> a
-      nearby mirror</a>.
+      <title> Getting Started </title>
+      <p>
+      The Hadoop project plans to scale Hadoop up to handling thousands of computers. However, to begin with you can start by installing in on a single machine or a very small cluster.
       </p>
-      </section>
-
-      <section>
-      <title>8 June, 2007: release 0.13.0 available</title>
-      <p>In addition to new features, this release contains
-      significant performance and reliability improvements.  For
-      example, MapReduce sort performance on large clusters has <a
-      href="http://wiki.apache.org/lucene-hadoop-data/attachments/FAQ/attachments/sort900-20070607.png">
-      doubled</a>.</p>
+      <ol>
+        <li><a href="documentation.html">Learn about</a> Hadoop by reading the documentation.</li>
+        <li><a href="releases.html">Download</a> Hadoop from the release page.</li>
+        <li><a href="ext:overview">Install and configure</a> Hadoop. Scroll down the page.</li>
+        <li><a href="mailing_lists.html">Discuss it</a> on the mailing list.</li>
+      </ol>
+    </section>
 
-      <p>Note: when upgrading an existing HDFS filesystem to this
-      release, you should first start HDFS with <code>bin/start-dfs.sh
-      -upgrade</code>, which makes it possible to revert the upgrade.
-      For more information on this issue, see <a
-      href="https://issues.apache.org/jira/browse/HADOOP-702#action_12482953">HADOOP-702</a>.
+    <section>
+      <title> Getting Involved </title>
+      <p>
+      Hadoop is an open source volunteer project under the Apache Software Foundation. We encourage you to learn about the project and contribute your expertise. Here are some starter links:
       </p>
-
-      <p>For full details, see the <a
-      href="http://tinyurl.com/2prl3k">release notes</a>. The release
-      can be obtained from <a
-      href="http://www.apache.org/dyn/closer.cgi/lucene/hadoop/"> a
-      nearby mirror</a>.
-      </p> </section>
-
-      <section>
-      <title>6 April, 2007: release 0.12.3 available</title>
-      <p>For details see the <a
-      href="http://tinyurl.com/35qyhw">release notes</a>. The release can
-      be obtained from <a
-      href="http://www.apache.org/dyn/closer.cgi/lucene/hadoop/"> a
-      nearby mirror</a>.
-      </p> </section>
-
-      <section>
-      <title>23 March, 2007: release 0.12.2 available</title>
-      <p>For details see the <a
-      href="http://tinyurl.com/2r7kcw">release notes</a>. The release can
-      be obtained from <a
-      href="http://www.apache.org/dyn/closer.cgi/lucene/hadoop/"> a
-      nearby mirror</a>.
-      </p> </section>
-
-      <section>
-      <title>17 March, 2007: release 0.12.1 available</title>
-      <p>For details see the <a
-      href="http://tinyurl.com/2kynuc">release notes</a>. The release can
-      be obtained from <a
-      href="http://www.apache.org/dyn/closer.cgi/lucene/hadoop/"> a
-      nearby mirror</a>.
-      </p> </section>
-
-      <section>
-      <title>2 March, 2007: release 0.12.0 available</title>
-      <p>For details see the <a
-      href="http://tinyurl.com/2vp248">release notes</a>. The release can
-      be obtained from <a
-      href="http://www.apache.org/dyn/closer.cgi/lucene/hadoop/"> a
-      nearby mirror</a>.
-      </p> </section>
-
-      <section>
-      <title>16 February, 2007: release 0.11.2 available</title>
-      <p>This fixes critical bugs in 0.11.1. For details see the <a
-      href="http://tinyurl.com/2ukkt3">release notes</a>. The release can
-      be obtained from <a
-      href="http://www.apache.org/dyn/closer.cgi/lucene/hadoop/"> a
-      nearby mirror</a>.
-      </p> </section>
-
-      <section>
-      <title>9 February, 2007: release 0.11.1 available</title>
-      <p>This fixes bugs in 0.11.0. For details see the <a
-      href="http://tinyurl.com/37c5a3">release notes</a>. The release can
-      be obtained from <a
-      href="http://www.apache.org/dyn/closer.cgi/lucene/hadoop/"> a
-      nearby mirror</a>.
-      </p> </section>
-
-      <section>
-      <title>2 February, 2007: release 0.11.0 available</title>
-      <p>For details see the <a
-      href="http://tinyurl.com/2yn8zs">release notes</a>. The release can
-      be obtained from <a
-      href="http://www.apache.org/dyn/closer.cgi/lucene/hadoop/"> a
-      nearby mirror</a>.
-      </p> </section>
-
-      <section>
-      <title>10 January, 2007: release 0.10.1 available</title>
-      <p>This fixes critical bugs in 0.10.0.  For details see the <a
-      href="http://tinyurl.com/ycpsms">release notes</a>. The release can
-      be obtained from <a
-      href="http://www.apache.org/dyn/closer.cgi/lucene/hadoop/"> a
-      nearby mirror</a>.
-      </p> </section>
-
-      <section>
-      <title>5 January, 2007: release 0.10.0 available</title>
-      <p>For details see the <a
-      href="http://tinyurl.com/yapkxs">release notes</a>. The release can
-      be obtained from <a
-      href="http://www.apache.org/dyn/closer.cgi/lucene/hadoop/"> a
-      nearby mirror</a>.
-      </p> </section>
-
-      <section>
-      <title>15 December, 2006: release 0.9.2 available</title>
-      <p>This fixes critical bugs in 0.9.1.  For details see the <a
-      href="http://tinyurl.com/ya8lfd">release notes</a>. The release can
-      be obtained from <a
-      href="http://www.apache.org/dyn/closer.cgi/lucene/hadoop/"> a
-      nearby mirror</a>.
-      </p> </section>
-
-      <section>
-      <title>6 December, 2006: release 0.9.1 available</title>
-      <p>This fixes critical bugs in 0.9.0.  For details see the <a
-      href="http://tinyurl.com/y55d7p">release notes</a>. The release can
-      be obtained from <a
-      href="http://www.apache.org/dyn/closer.cgi/lucene/hadoop/"> a
-      nearby mirror</a>.
-      </p> </section>
-
-      <section>
-      <title>1 December, 2006: release 0.9.0 available</title>
-      <p>For details see the <a
-      href="http://tinyurl.com/sdjhb">release notes</a>. The release can
-      be obtained from <a
-      href="http://www.apache.org/dyn/closer.cgi/lucene/hadoop/"> a
-      nearby mirror</a>.
-      </p> </section>
-
-      <section>
-      <title>3 November, 2006: release 0.8.0 available</title>
-      <p>For details see the <a
-      href="http://tinyurl.com/ykqv6s">release notes</a>. The release can
-      be obtained from <a
-      href="http://www.apache.org/dyn/closer.cgi/lucene/hadoop/"> a
-      nearby mirror</a>.
-      </p> </section>
-
-      <section>
-      <title>18 October, 2006: release 0.7.2 available</title>
-      <p>This fixes critical bugs in 0.7.1.  For details see the <a
-      href="http://tinyurl.com/ygy6y7">release notes</a>. The release can
-      be obtained from <a
-      href="http://www.apache.org/dyn/closer.cgi/lucene/hadoop/"> a
-      nearby mirror</a>.
-      </p> </section>
-
-      <section>
-      <title>11 October, 2006: release 0.7.1 available</title>
-      <p>This fixes critical bugs in 0.7.0.  For details see the <a
-      href="http://tinyurl.com/p7qod">release notes</a>. The release can
-      be obtained from <a
-      href="http://www.apache.org/dyn/closer.cgi/lucene/hadoop/"> a
-      nearby mirror</a>.
-      </p> </section>
-
-      <section>
-      <title>6 October, 2006: release 0.7.0 available</title>
-      <p>For details see the <a
-      href="http://tinyurl.com/kvd9m">release notes</a>. The release can
-      be obtained from <a
-      href="http://www.apache.org/dyn/closer.cgi/lucene/hadoop/"> a
-      nearby mirror</a>.
-      </p> </section>
-
-      <section>
-      <title>18 September, 2006: release 0.6.2 available</title>
-      <p>This fixes critical bugs in 0.6.1.  For details see the <a
-      href="http://tinyurl.com/gyb56">release notes</a>. The release can
-      be obtained from <a
-      href="http://www.apache.org/dyn/closer.cgi/lucene/hadoop/"> a
-      nearby mirror</a>.
-      </p> </section>
-
-      <section>
-      <title>13 September, 2006: release 0.6.1 available</title>
-      <p>This fixes critical bugs in 0.6.0.  For details see the <a
-      href="http://tinyurl.com/lykp4">release notes</a>. The release can
-      be obtained from <a
-      href="http://www.apache.org/dyn/closer.cgi/lucene/hadoop/"> a
-      nearby mirror</a>.
-      </p> </section>
-
-      <section>
-      <title>8 September, 2006: release 0.6.0 available</title>
-      <p>For details see the <a
-      href="http://tinyurl.com/r3zoj">release notes</a>. The release can
-      be obtained from <a
-      href="http://www.apache.org/dyn/closer.cgi/lucene/hadoop/"> a
-      nearby mirror</a>.
-      </p> </section>
-
-      <section>
-      <title>4 August, 2006: release 0.5.0 available</title>
-      <p>For details see the <a
-      href="http://tinyurl.com/pnml2">release notes</a>. The release can
-      be obtained from <a
-      href="http://www.apache.org/dyn/closer.cgi/lucene/hadoop/"> a
-      nearby mirror</a>.
-      </p> </section>
-
-      <section>
-      <title>28 June, 2006: release 0.4.0 available</title>
-      <p>For details see the <a
-      href="http://tinyurl.com/o35b6">change log</a>. The release can
-      be obtained from <a
-      href="http://www.apache.org/dyn/closer.cgi/lucene/hadoop/"> a
-      nearby mirror</a>.
-      </p> </section>
-
-      <section>
-      <title>9 June, 2006: release 0.3.2 available</title>
-      <p>This is a bugfix release.  For details see the <a
-      href="http://tinyurl.com/k9g5c">change log</a>. The release can
-      be obtained from <a
-      href="http://www.apache.org/dyn/closer.cgi/lucene/hadoop/"> a
-      nearby mirror</a>.
-      </p> </section>
-
-      <section>
-      <title>8 June, 2006: FAQ added to Wiki</title>
-      <p>Hadoop now has a <a
-      href="http://wiki.apache.org/lucene-hadoop/FAQ">FAQ</a>.  Please
-      help make this more complete!
-      </p> </section>
-
-      <section>
-      <title>5 June, 2006: release 0.3.1 available</title>
-      <p>This is a bugfix release.  For details see the <a
-      href="http://tinyurl.com/l6on4">change log</a>. The release can
-      be obtained from <a
-      href="http://www.apache.org/dyn/closer.cgi/lucene/hadoop/"> a
-      nearby mirror</a>.
-      </p> </section>
-
-      <section>
-      <title>2 June, 2006: release 0.3.0 available</title>
-      <p>This includes many fixes, improving performance, scalability
-      and reliability and adding new features.  For details see the <a
-      href="http://tinyurl.com/rq3f7">change log</a>. The release can
-      be obtained from <a
-      href="http://www.apache.org/dyn/closer.cgi/lucene/hadoop/"> a
-      nearby mirror</a>.
-      </p> </section>
-
-      <section>
-      <title>12 May, 2006: release 0.2.1 available</title>
-      <p>This fixes a few bugs in release 0.2.0, listed in the <a
-      href="http://tinyurl.com/rnnvz">change log</a>. The
-      release can be obtained from <a
-      href="http://www.apache.org/dyn/closer.cgi/lucene/hadoop/"> a
-      nearby mirror</a>.
-      </p> </section>
-
-      <section>
-      <title>5 May, 2006: release 0.2.0 available</title>
-      <p>We are now aiming for monthly releases.  There have been many
-      bug fixes and improvements in the past month.  MapReduce and DFS
-      are now fairly reliable on clusters with up to 200 nodes.  See
-      the <a href="http://tinyurl.com/qkgsg">change log</a> for
-      details. The release can be obtained from <a
-      href="http://www.apache.org/dyn/closer.cgi/lucene/hadoop/"> a
-      nearby mirror</a>.
-      </p> </section>
-
-      <section>
-      <title>2 April, 2006: release 0.1.0 available</title>
-      <p>This is the first Hadoop release.  The release is available
-      <a href="http://www.apache.org/dyn/closer.cgi/lucene/hadoop/">
-      here</a>.</p>
-      </section>
-
-      <section>
-      <title>6 February, 2006: nightly builds</title>
-      <p>Hadoop now has nightly builds.  This automatically creates a
-      <a href="ext:nightly">downloadable version of Hadoop every
-      night</a>.  All unit tests must pass, or a message is sent to
-      the developers mailing list and no new version is created.  This
-      also updates the <a href="api/index.html">javadoc</a>.</p>
-      </section>
-
-      <section>
-      <title>3 February, 2006: Hadoop code moved out of Nutch</title>
-      <p>The Hadoop code has now been moved into its own Subversion
-      tree, renamed into packages under <code>org.apache.hadoop</code>.
-      All unit tests pass, but little else has yet been tested.</p> 
-      </section>
-
-      <section>
-      <title>30 March, 2006: Hadoop project approved</title>
-      <p>The Lucene PMC has elected to split the Nutch MapReduce and
-      distributed filesytem code into a new project named Hadoop.</p>
-      </section>
-
+      <ol>
+        <li>See our <a href="http://wiki.apache.org/lucene-hadoop/HowToContribute">How to Contribute to Hadoop</a> page.</li>
+        <li>Give us <a href="issue_tracking.html">feedback</a>: What can we do better?</li>
+        <li>Join the <a href="mailing_lists.html">mailing list</a>: Meet the community.</li>
+      </ol>
     </section>
 
   </body>

+ 6 - 4
src/docs/src/documentation/content/xdocs/issue_tracking.xml

@@ -10,11 +10,13 @@
   
   <body>
     <p>
-      Hadoop issues (bugs, as well as enhancement requests) are tracked in 
-      Apache JIRA <a href="http://issues.apache.org/jira/browse/HADOOP">here</a>.
-      If you aren't sure whether something is a bug, post a question on the
-      Hadoop user <a href="mailing_lists.html">mailing list</a>.
+    Hadoop tracks both bugs and enhancement requests <a href="http://issues.apache.org/jira/browse/HADOOP">here</a> using Apache JIRA.
+    We welcome input, however, <strong>before filing a request,</strong> please make sure you do the following:
     </p>
+    <ul>
+      <li>Search the JIRA database.</li>
+      <li>Check the user <a href="mailing_lists.html#Users">mailing list</a>, both by searching the archives and by asking questions.</li>
+    </ul>
   </body>
   
 </document>

+ 102 - 0
src/docs/src/documentation/content/xdocs/releases.xml

@@ -0,0 +1,102 @@
+<?xml version="1.0"?>
+
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" 
+          "http://forrest.apache.org/dtd/document-v20.dtd">
+
+<document> 
+
+  <header> 
+    <title>Releases</title> 
+  </header> 
+
+  <body> 
+    <p>This page lists release numbers along with their dates and a
+    link to release notes. You can obtain releases from a nearby
+    mirror.</p>
+
+    <section>
+      <title>Download</title>
+
+      <p>Releases may be downloaded from Apache mirrors.</p>
+
+      <p>
+      <a href="http://www.apache.org/dyn/closer.cgi/lucene/hadoop/">
+      <strong><strong>Download a release now!</strong></strong></a>
+      </p>
+
+      <p>On the mirror, all recent releases are available, but are not
+      guaranteed to be stable. For stable releases, look in the stable
+      directory.
+      </p>
+
+    </section>
+
+    <section>
+      <title>Release Notes</title>
+
+      <p>Release notes for Hadoop releases are available in Jira.</p>
+
+      <p>
+      <a href="http://issues.apache.org/jira/browse/HADOOP?report=com.atlassian.jira.plugin.system.project:changelog-panel">
+      <strong><strong>Browse release notes now!</strong></strong></a>
+      </p>
+
+    </section>
+
+    <section>
+      <title>Project News</title>
+
+      <section>
+      <title>25 July, 2007: release 0.13.1 available</title>
+      <p>This fixes critical bugs in the 0.13.0 release.</p>
+      </section>
+
+      <section>
+        <title> 8 June, 2007: release 0.13.0 available </title>
+        <p>
+        In addition to new features, this release contains significant performance and reliability improvements.
+        For example, MapReduce sort performance on large clusters has <a href="http://wiki.apache.org/lucene-hadoop-data/attachments/FAQ/attachments/sort900-20070607.png">doubled</a>.
+        </p>
+        <note>
+        When upgrading an existing <acronym title="Hadoop Distributed File System">HDFS</acronym> filesystem to this release, you should first start HDFS with <code>bin/start-dfs.sh -upgrade</code>
+        which makes it possible to revert the upgrade. For more information on this issue, see <a href="https://issues.apache.org/jira/browse/HADOOP-702#action_12482953">HADOOP-702</a>. 
+        </note>
+      </section>
+
+      <section>
+        <title> 8 June, 2006: <acronym title="Frequently Asked Questions">FAQ</acronym> added to Wiki </title>
+        <p>
+        Hadoop now has a <a href="http://wiki.apache.org/lucene-hadoop/FAQ">FAQ</a>. Please help make this more complete!
+        </p>
+      </section>
+
+      <section>
+        <title> 5 May, 2006: release 0.2.0 available </title>
+        <p>
+        We are now aiming for monthly releases. There have been many bug fixes and improvements in the past month.
+        MapReduce and DFS are now fairly reliable on clusters with up to 200 nodes.
+        </p>
+      </section>
+
+      <section>
+        <title> 6 February, 2006: nightly builds </title>
+        <p>
+        Hadoop now has nightly builds. This automatically creates a <a href="http://lucene.zones.apache.org:8080/hudson/job/Hadoop-Nightly/">downloadable version of Hadoop every night</a>.
+        All unit tests must pass, or a message is sent to the developers mailing list and no new version is created.
+        This also updates the <a href="http://lucene.apache.org/hadoop/api/index.html">javadoc</a>.
+        </p>
+      </section>
+
+      <section>
+        <title> 3 February, 2006: Hadoop code moved out of Nutch </title>
+        <p>
+        The Hadoop code has now been moved into its own Subversion tree, renamed into packages under org.apache.hadoop.
+        All unit tests pass, but little else has yet been tested.
+        </p>
+      </section>
+     
+    </section>
+
+  </body>
+
+</document>

+ 18 - 22
src/docs/src/documentation/content/xdocs/site.xml

@@ -17,40 +17,36 @@ See http://forrest.apache.org/docs/linking.html for more info.
 <site label="Hadoop" href="" xmlns="http://apache.org/forrest/linkmap/1.0">
 
   <project label="Project">
-    <news        label="News"             href="index.html" />    
-    <about       label="About"            href="about.html" />    
-    <credits     label="Credits"          href="credits.html" />    
-    <download    label="Download"         href="ext:releases" />
-    <store       label="Buy Stuff"        href="ext:store" />    
+    <releases  label="Releases"           href="releases.html" />
+    <news      label="News"               href="releases.html#News" />
+    <credits   label="Credits"            href="credits.html" /> 
+    <store     label="Buy Stuff"          href="ext:store" />    
   </project>
 
-  <docs label="Documentation">    
-    <faq         label="FAQ"              href="ext:faq" />    
-    <wiki        label="Wiki"             href="ext:wiki" />    
-    <HDFS        label="Hadoop File System"  href="hdfs_design.html" />    
-    <apidocs     label="API Docs"         href="api/index.html" />
+  <docs label="Documentation"> 
+    <hdfs      label="Hadoop File System" href="hdfs_design.html" />
+    <install   label="Install and Configure" href="ext:overview" />
+    <api       label="API Docs"           href="ext:api" />
+    <wiki      label="Wiki"               href="ext:wiki" />
+    <faq       label="FAQ"                href="ext:faq" />
+    <usermail  label="Mailing Lists"      href="mailing_lists.html#Users" />
   </docs>
 
-  <resources label="Developer">
-    <contact     label="Mailing Lists"    href="mailing_lists.html" />
-    <issues      label="Issue Tracking"   href="issue_tracking.html" />
-    <vcs         label="Version Control"  href="version_control.html" />
-    <nightly     label="Nightly Build"    href="ext:nightly" />
+  <resources label="Developers">
+    <devmail   label="Mailing Lists"      href="mailing_lists.html#Developers" />
+    <issues    label="Issue Tracking"     href="issue_tracking.html" />
+    <vcs       label="Version Control"    href="version_control.html" />
+    <nightly   label="Nightly Build"      href="ext:nightly" />
   </resources>
 
-  <projects label="Related Projects">
-    <lucene     label="Lucene"		  href="ext:lucene" />
-    <nutch      label="Nutch"             href="ext:nutch" />
-  </projects>
-
   <external-refs>
-    <lucene    href="http://lucene.apache.org/java/" />
-    <nutch     href="http://lucene.apache.org/nutch/" />
     <wiki      href="http://wiki.apache.org/lucene-hadoop/" />
     <faq       href="http://wiki.apache.org/lucene-hadoop/FAQ" />
     <nightly   href="http://lucene.zones.apache.org:8080/hudson/job/Hadoop-Nightly/" />
     <releases  href="http://www.apache.org/dyn/closer.cgi/lucene/hadoop/" />
     <store     href="http://www.cafepress.com/hadoop/" />
+    <api       href="api/index.html" />
+    <overview  href="api/overview-summary.html#overview_description" />
   </external-refs>
  
 </site>

+ 3 - 3
src/docs/src/documentation/content/xdocs/tabs.xml

@@ -1,7 +1,7 @@
 <?xml version="1.0"?>
 
 <!DOCTYPE tabs PUBLIC "-//APACHE//DTD Cocoon Documentation Tab V1.0//EN" 
-          "tab-cocoon-v10.dtd">
+          "http://forrest.apache.org/dtd/tab-cocoon-v10.dtd">
 
 <tabs software="Nutch"
       title="Nutch"
@@ -14,7 +14,7 @@
     directory (ends in '/'), in which case /index.html will be added
   -->
 
-  <tab label="Main" dir=""/>  
-  <tab label="Wiki" href="http://wiki.apache.org/lucene-hadoop"/>
+  <tab label="Main" dir="" />  
+  <tab label="Wiki" href="http://wiki.apache.org/lucene-hadoop" />
   
 </tabs>

二進制
src/docs/src/documentation/resources/images/architecture.gif


部分文件因文件數量過多而無法顯示