You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafodion.apache.org by su...@apache.org on 2015/12/01 17:08:40 UTC

[5/6] incubator-trafodion git commit: [TRAFODION-1507] Incorporated review changes.

[TRAFODION-1507] Incorporated review changes.

jenkings, skip test


Project: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/commit/aeef01ec
Tree: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/tree/aeef01ec
Diff: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/diff/aeef01ec

Branch: refs/heads/master
Commit: aeef01ecfbb955024ac2b7e6c4ca89cc9e672cfc
Parents: c2493f1
Author: Gunnar Tapper <gt...@esgyn.local>
Authored: Wed Nov 18 19:46:32 2015 -0700
Committer: Gunnar Tapper <gt...@esgyn.local>
Committed: Wed Nov 18 19:46:32 2015 -0700

----------------------------------------------------------------------
 docs/src/site/markdown/architecture-overview.md | 58 ++++++++++++--------
 docs/src/site/markdown/contribute.md            | 44 ++++++++++-----
 docs/src/site/markdown/index.md                 | 12 ++--
 docs/src/site/markdown/release-notes-1-3-0.md   | 16 ++----
 docs/src/site/markdown/website.md               | 20 ++++---
 docs/src/site/resources/css/site.css            | 36 +++++++++++-
 docs/src/site/site.xml                          | 57 +++++++++++++++----
 7 files changed, 173 insertions(+), 70 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/aeef01ec/docs/src/site/markdown/architecture-overview.md
----------------------------------------------------------------------
diff --git a/docs/src/site/markdown/architecture-overview.md b/docs/src/site/markdown/architecture-overview.md
index c4fb519..658e91a 100644
--- a/docs/src/site/markdown/architecture-overview.md
+++ b/docs/src/site/markdown/architecture-overview.md
@@ -1,4 +1,16 @@
-## Overview ##
+<!--
+  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
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
 
 Trafodion provides an operational SQL engine on top of Hadoop -- a solution targeted toward operational workloads in the Hadoop Big Data environment. Included are:
 
@@ -16,7 +28,7 @@ Transaction management features include:
 * Thread-aware transaction management support to work with multi-threaded SQL clients
 * Non-transactional/direct access to HBase tables
 
-## Process Architecture ##
+# Process Architecture
 
 The following figure depicts the Trafodion process architecture:
 
@@ -31,7 +43,7 @@ The figure above should be interpreted as follows:
 * The DTM (Distributed Transaction Management) process manages distributed transactions. This includes log management and transaction coordination.
 * The Storage Engine layer consists of HBase and Hadoop processes. Trafodion allows SQL access to native HBase tables. Trafodion reads HBase metadata in order to process these tables. Trafodion also offers its own implementation of SQL table, stored as an HBase table, for applications that need a more efficient OLTP representation. Trafodion generates its own metadata for such tables, and stores that in HBase.
 
-## Connectivity ##
+# Connectivity
 
 The Database Connectivity Services (DCS) framework enables applications developed for ODBC/JDBC APIs to access a Trafodion SQL database server. DCS is a distributed service. It uses the underlying HBase ZooKeeper instance for its definition of a cluster. [Apache ZooKeeper] (http://zookeeper.apache.org/ "Zookeeper website") is a centralized service for maintaining configuration information, naming, providing distributed synchronization, and providing group services. All participating nodes and clients need to be able to access the running ZooKeeper.
 
@@ -42,7 +54,7 @@ DCS is a collection of components:
 * **DCS Server Process**: This process is responsible for starting and keeping a Master Executor (MXOSRVR) server process executing. There is one DCS Server process per node in the cluster.
 * **Master Executor Process**: This is the database server that provides database access to ODBC/JDBC clients. There is a one-to-one relationship between an ODBC/JDBC client connection and a database server process. The Master Executor performs all SQL queries on behalf of its client's requests. It will perform all required SQL calls to execute a SQL query through the Executor to access HBase tables. The Master Executor is often referred to as MXOSRVR.
 
-## Transaction Subsystem ##
+# Transactions
 
 Trafodion supports distributed ACID transaction semantics using the Multi-Version Concurrency Control (MVCC) model. The transaction management is built on top of a fork of the *HBase-trx* project implementing the following changes:
 
@@ -61,7 +73,7 @@ The original HBase-trx library worked by extending certain Java classes in the r
 
 For additional details, please refer to the [Trafodion Distributed Transaction Management] (presentations/dtm-architecture.pdf) presentation.
 
-## Compiler Architecture ##
+# Compiler Architecture
 
 The Trafodion Compiler translates SQL statements into query plans that can then be executed by the Trafodion execution engine, commonly called the Executor.
 
@@ -71,19 +83,19 @@ A copy of the compiler code runs in the Master process, which avoids inter-proce
 
 The compiler is written in C++.
 
-### Parser ###
+## Parser
 
-The parser pass performs lexical and syntactic analysis, transforming the SQL statement into a parse tree. Trafodion uses a hand-coded scanner for lexical analysis of UCS2 strings. (UTF-8 encoding for SQL statement text is support but is translated to UCS2 internally). 
+The parser pass performs lexical and syntactic analysis, transforming the SQL statement into a parse tree. Trafodion uses a hand-coded scanner for lexical analysis of UCS2 strings. (UTF-8 encoding for SQL statement text is supported but is translated to UCS2 internally). 
 
 The parser grammar is implemented as a set of Bison rules. The output of the parser is a tree of objects of class RelExpr, representing relational operators. Scalar expressions are represented by trees of ItemExpr objects, which are contained in the nodes of the RelExpr tree. This common model to represent a query is used throughout the compilation process.
 
-### Binder ###
+## Binder
 
 The binder pass takes the parse tree and decorates it with metadata information. All references to SQL objects (tables, views, columns and so on) are bound to their respective metadata. The binder also performs type synthesis. At this stage, errors such as the wrong data type being passed to a function call or that a column reference doesn't belong to any of the tables in scope are detected.
 
 The binder also manages a cache of query plans. If the binder detects that the new SQL statement is similar to one previously compiled, it simply reuses the earlier query plan (modifying parameters as needed), bypassing subsequent compiler passes. This can be significant as optimization is often the most expensive compilation phase.
 
-### Normalizer ###
+## Normalizer
 
 The SQL language is rich in redundancy. Many concepts can be expressed in multiple ways. For example, sub-queries can be expressed as joins. The DISTINCT clause can be transformed into GROUP BY. The normalizer pass removes this redundancy, transforming the parse tree into a normalized representation in the following steps.
 
@@ -91,7 +103,7 @@ The SQL language is rich in redundancy. Many concepts can be expressed in multip
 * **Normalization**: Predicates are pushed back down again, performing some optimizations. For example, if we have the query, select * from t1 join t2 on t1.a = t2.b where t1.a = 5, we can infer the predicate t2.b = 5 and push that down into the t2 scan operator.
 * **Semantic Query Optimization**: We perform unconditional transformations that depend on uniqueness or cardinality constraints.
 
-### Optimizer ###
+## Optimizer
 The Trafodion optimizer is a rule-based, cost-driven optimizer based on the Cascades Framework. By "rule-based", we mean that plan transformation is based on a set of rules coded within the Optimizer. (We don't mean syntax-driven optimization based on hints in the SQL statement text.) By "cost-driven", we mean that cost estimates are used to bound the search space.
 
 It is a top-down optimizer; that is, it generates an initial feasible plan for the query, then using rules, transforms that plan into semantically equivalent alternatives. The optimizer computes the cost of each plan, and uses these costs to bound its search for additional plans using a branch-and-bound algorithm. This is in contrast to classical, dynamic programming-style optimizers, that build up a set of plans "bottom-up", by first considering all one-table plans, then joins of two tables, then joins of three tables and so on.
@@ -104,51 +116,51 @@ Search spaces in general are exponential in size. So the optimizer is rich in he
 
 Another factor the optimizer takes into account is that traversal can wrap back to a previously visited plan. The optimizer remembers plans previously visited in a "memo" structure (class CascadesMemo). Plans are hashed for quick lookup.
 
-### Pre-Code Generator ###
+## Pre-Code Generator
 
 The pre-code generator performs unconditional transformations after the optimization phase. References to elements of an equivalence class are replaced with the most efficient alternatives. 
 
 For example, an equivalence class (VEG) containing { T1.A, T2.B, 5 }, in the context of a T2 scan operator results in the predicate T2.B = 5.
 
-### Generator ###
+## Generator
 
 The generator pass transforms the chosen optimized tree into a query plan which can then be executed by the Executor. Low-level optimizations of scalar expressions take place here. Many scalar expressions are generated in native machine code using the open source LLVM infrastructure. For those scalar operators where we have not yet implemented native expression support, we instead generate code that is interpreted at run time.
 
-### Heap Management ###
+## Heap Management
 
 In order to make heap management efficient, the Compiler uses heap classes, NAHeap, that it shares with the executor. One heap, the Statement heap, is used for objects that are particular to a given SQL statement's compilation, for example, parse tree nodes. At the end of statement compilation, we simply destroy the heap instead of calling "delete" on each of possibly thousands of objects. Another heap, the Context heap, is used for objects that may be reused across SQL statements. For example, metadata is cached within the compiler. As one can imagine, considerable care goes into selecting which heap to use when creating a given object, to avoid dangling references and other resource leaks. For example, access to a given file must be encapsulated in an object on the global heap, since on the statement heap we cannot count on execution of the destructor to close the file.
 
-### Error Management ###
+## Error Management
 
 The Compiler captures error information into a ComDiagsArea object. The style of programming is to return on errors rather than throw exceptions. Calling logic then checks for the presence of errors before continuing. So, for example, the main logic that invokes each compiler pass checks for errors before proceeding to the next pass.
 
-## Executor Architecture ##
+# Executor Architecture
 
 The Trafodion Executor implements a data-flow architecture. That is, each relational operator is implemented as a set of tasks which are scheduled for execution. Operators communicate with each other using queues.
 
-### Relational Operators ###
+## Relational Operators
 
 A query plan consists of a collection of fragments, each fragment being a portion of the query plan executed in a given process. Each fragment in turn is a tree of relational operators. A relational operator may in turn be decorated with additional scalar expressions. Relational operators in the query plan are represented by two class hierarchies, ex_tdb and ex_tcb. The ex_tdb (tdb = "task descriptor block") hierarchy contains the compiler-generated state for the operator. The ex_tcb (tcb = "task control block") hierarchy contains the run-time state for the operator. So, for example, the queue objects are pointed to by ex_tcb objects.
 
-### Scalar Expressions ###
+## Scalar Expressions
 
 Scalar expressions are evaluated by an expression evaluator. If the expression could be compiled into native machine code, the expression evaluator simply invokes this code. Otherwise, the expression evaluator implements an interpreter. For historical reasons, there are actually two interpreters. The first (and oldest) is a high level clause-based expression evaluator: each clause roughly corresponds to a scalar operator in the original SQL text. The second (and newest) is a PCODE-based evaluator, implementing a lower-level machine-like instruction set. Most expressions that cannot be generated as native machine code are generated as PCODE; those few expressions that PCODE cannot cover are generated as clause expressions. For debugging purposes, it is possible to force the Compiler to generate PCODE instead of native machine code, or clause-based expressions instead of either native machine code or PCODE.
 
-### Interprocess Communication ###
+## Interprocess Communication
 
-An IPC layer, shared with other components like the compiler, abstracts the (asynchronous) communication of objects across process boundaries. The sorts of things that flow are query plan objects, data rows, and error objects (ComDiagsArea).
+An IPC layer, shared with other components such as the compiler, abstracts the (asynchronous) communication of objects across process boundaries. The sorts of things that flow are query plan objects, data rows, and error objects (ComDiagsArea).
 
-### Call Level Interface ###
+## Call Level Interface
 
 At the highest level of the Executor is the Call Level Interface (CLI) layer. This layer implements an ODBC-like interface to the Executor. Connectivity code communicates to the Executor using this interface. The CLI layer keeps track of such abstractions as SQL statements and cursors. It also provides an interface to retrieve SQL diagnostics.
 
-### Heap Management ###
+## Heap Management
 
 The Executor also uses the NAHeap classes for heap management. Again, there are statement heaps for objects local to a given SQL statement, and a global heap for objects that exist across statements.
 
-### Error Management ###
+## Error Management
 The Executor too uses the ComDiagsArea classes for error management. Like the Compiler, the programming style relies on returns rather than exceptions; calling code is expected to check for the existence of errors and respond appropriately.
 
-### Statistics Reporting ###
+## Statistics Reporting
 
 The Executor also collects statistics concerning the execution of a particular query. These statistics are available at the CLI interface at the conclusion of statement execution.

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/aeef01ec/docs/src/site/markdown/contribute.md
----------------------------------------------------------------------
diff --git a/docs/src/site/markdown/contribute.md b/docs/src/site/markdown/contribute.md
index de06f7b..81ea3d9 100644
--- a/docs/src/site/markdown/contribute.md
+++ b/docs/src/site/markdown/contribute.md
@@ -12,22 +12,29 @@
   limitations under the 
   License.
 -->
+<div class="alert alert-dismissible alert-info">
+  <button type="button" class="close" data-dismiss="alert">&close;</button>
+  <p>Contributing to this project is open to every person caring for the improvement of its product(s) and/or its community — anyone willing to further the project.</p>
 
-# Contributing
+<p>If you want to do more; for example, be recognized for your commitment or be eligible for privileges (privileges to commit changes to the code base or have a binding vote on the directions of this project), then please follow steps outlined on this page.</p>
+</div>
 
-## Introduction
+First of all, a big **Thank You** from us for evaluating and/or using our products. We truly appreciate it! Our products exist and continues to improve thanks to you. But you can help us and yourself more!
 
-**This projects exists because of the actions of its contributors!**
+We are a community of volunteers working with the guidelines and policies of the Apache Software Foundation (the Apache Way) in mind. Therefore, we welcome any kind of input you can provide to create better products. These contributions, whether you think of reporting bugs, supplying code enhancements, improvements to our documentation, answering questions in our mailing lists, or anywhere else are valuable to us. Because these will help us in helping you.
 
-First of all, a big **Thank You** from us for evaluating and/or using our products. We truly appreciate it! Our products exist, and continues to improve thanks to you. But you can help us and yourself more!
+Your first step toward more involvement in our project is to subscribe to one of our [mailing lists](mail-lists.html). Next, please consider making your first contribution by simply sending an e-mail to our community discussing; for example:
 
-As we are a community of volunteers working with the guidelines and policies of the Apache Software Foundation (the Apache Way) in mind, we welcome any kind of input you can provide to get better products. These contributions, whether you think of reporting bugs, supplying code enhancements, improvements to our documentation, answering questions in our mailing lists or anywhere else are valuable to us. Because these will help us in helping you.
+* What you like about Trafodion and its documentation.
+* What you find missing.
+* A bug you encountered.
 
-So, you consider contributing to our project. But how do you go about achieving this?
-
-Well, it is as easy as pie. The first thing you need to do is to subscribe to one of our [mailing lists](mail-lists.html) and you are set to go to deliver your first contribution: a posting there, about how great our products (code, documentation) are, what you found missing, or even the bug you're confronted with.
+Or, help us by writing articles, blog posts, or sharing information about Trafodion at conferences and on social media such as Twitter (\#trafodion).
  
-After you have had your first contribution over and done with, it stays easy. You can:
+---
+
+## Contribution Ideas
+You've made your first contribution. Now, you can get more involved. For example:
 
 * Reply to questions, and/or share your viewpoint on how to get issues resolved.
 * Add to our [FAQ](faq.html), [Web Site](website.html), or [Wiki](wiki.html).
@@ -35,7 +42,8 @@ After you have had your first contribution over and done with, it stays easy. Yo
 * Evaluate bugs and proposed improvements provided by others in our team.
 * Help with outlining and evaluating the future direction of our project and the development iterations of our products.
 
-To make it a bit more explicit, we are looking for:
+## Contribution Areas
+Want to be even more involved? Some areas you should consider:
 
 * Source code (bugs and improvements) contributions
 * Documentation assistance
@@ -43,8 +51,18 @@ To make it a bit more explicit, we are looking for:
 * Detailed and constructive feedback
 * Articles (case studies, white papers, etc) and presentations (speeches) about how our products helps or helped you.
 
-But the list is not limited to the above! If you feel we missed something there, please let us know (via our [mailing lists](mail-lists.html)).
+These are just ideas to get you started. If you feel we missed something there, please let us know (via our [mailing lists](mail-lists.html) ). Together, we can grow Trafodion and its community.
+
+----
+
+## Becoming a Registered Contributor
+Do you want to be recognized on the [Team page](team-list.html) like many of us are? If so, please do the following:
+
+1. Send an email to the dev mailing list of the project stating that you, as a contributor, want to do more and be listed on the Team page. Any community member with edit permissions to the source code can then add your details to the list. 
+2. Send your [**ICLA**](https://www.apache.org/licenses/icla.txt) to the secretary of the Apache Software Foundation. Refer to the [Licenses](http://www.apache.org/licenses/) page for information about this requirement. 
+
+    As soon as you have your ICLA registration confirmed, inform the community. You can now be added (by designated space admins) to:
 
-## Recognized Contributors
+    * The Trafodion Confluence Contributors group, so that you can add new and edit existing wiki pages.
+    * The Trafodion JIRA Contributors group, so that you can assign yourself to any open issue in order to bring it further to resolution and/or closure.
 
-For an overview of contributors who have gone the extra mile and registered their iCLA, look [here](team-list.html). If you want to go the extra mile, have a look at our [on-boarding page](onboarding.html).
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/aeef01ec/docs/src/site/markdown/index.md
----------------------------------------------------------------------
diff --git a/docs/src/site/markdown/index.md b/docs/src/site/markdown/index.md
index 3af3200..19f7a61 100644
--- a/docs/src/site/markdown/index.md
+++ b/docs/src/site/markdown/index.md
@@ -75,8 +75,9 @@ Trafodion builds on the scalability, elasticity, and flexibility of Hadoop. Traf
 <center>
 <h2>Understand</h2>
 <img src="images/logos/understand.png" width="108" height="108"/>
-</center>
 <h4>What makes Trafodion unique</h4>
+<div class="customHr">.</div>
+</center>
 <ul>
 <li><a href="architecture-overview.html">Architecture</a></li>
 <li>Documentation</li>
@@ -88,8 +89,9 @@ Trafodion builds on the scalability, elasticity, and flexibility of Hadoop. Traf
 <center>
 <h2>Use</h2>
 <img src="images/logos/use.png" width="108" height="108"/>
-</center>
 <h4>Download and Try Trafodion</h4>
+<div class="customHr">.</div>
+</center>
 <ul>
 <li><a href="index.html">Features</a> and roadmap</li>
 <li>Release Notes</li>
@@ -101,8 +103,9 @@ Trafodion builds on the scalability, elasticity, and flexibility of Hadoop. Traf
 <center>
 <h2>Contribute</h2>
 <img src="images/logos/contribute.png" width="108" height="108"/>
-</center>
 <h4>Help enhance Trafodion</h4>
+<div class="customHr">.</div>
+</center>
 <ul>
 <li>Development environment</li>
 <li>Software architecture.</li>
@@ -114,8 +117,9 @@ Trafodion builds on the scalability, elasticity, and flexibility of Hadoop. Traf
 <center>
 <h2>Community</h2>
 <img src="images/logos/community.png" width="108" height="108"/>
-</center>
 <h4>Be part of Trafodion</h4>
+<div class="customHr">.</div>
+</center>
 <ul>
 <li>Join project team</li>
 <li>Community communication</li>

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/aeef01ec/docs/src/site/markdown/release-notes-1-3-0.md
----------------------------------------------------------------------
diff --git a/docs/src/site/markdown/release-notes-1-3-0.md b/docs/src/site/markdown/release-notes-1-3-0.md
index aa56817..26c4257 100644
--- a/docs/src/site/markdown/release-notes-1-3-0.md
+++ b/docs/src/site/markdown/release-notes-1-3-0.md
@@ -13,8 +13,6 @@
 -->
 
 # Release 1.3.0
-There are various ways to download and use this software see the Using the Software page for options.
-
 This is the first release of the Apache Trafodion (incubating) project. In addition to including a number of new features and improvements across the project, the focus of this release is to comply with Apache release guidelines.
 
 Build instructions are available [here](https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=61316378).
@@ -36,6 +34,10 @@ The following platforms are supported in this release.
       <td>**Java Version**</td>
       <td>JDK 1.7.0_67 or newer</td>
     </tr>
+    <tr>
+      <td>**HBase Version**</td>
+      <td>HBase 0.98.x</td>
+    </tr>
   </table>
 </span>
 
@@ -52,16 +54,6 @@ This release contains the following new features.
     </tr>
     <tr>
       <td>SQL</td>
-      <td>Support native HBase tables as EXTERNAL tables.</td>
-      <td>(TRAFODION-1483)</td>
-    </tr>
-    <tr>
-      <td>SQL</td>
-      <td>Support pre-splitting of unsalted tables.</td>
-      <td>(TRAFODION-50)</td>
-    </tr>
-    <tr>
-      <td>SQL</td>
       <td>Support for IDENTITY columns.</td>
       <td>(TRAFODION-62)</td>
     </tr>

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/aeef01ec/docs/src/site/markdown/website.md
----------------------------------------------------------------------
diff --git a/docs/src/site/markdown/website.md b/docs/src/site/markdown/website.md
index 5fa6065..4321788 100644
--- a/docs/src/site/markdown/website.md
+++ b/docs/src/site/markdown/website.md
@@ -12,7 +12,11 @@
   limitations under the 
   License.
 -->
-# Modify Web Site
+# Making Changes
+
+The Trafodion web site is part of the Trafodion source tree. The following information helps you understand how to make changes to the web-site content.
+
+----
 
 ## Technology
 
@@ -35,24 +39,26 @@ The code is located in the **<code>docs</code>** directory. The code organizatio
 
 **<code>docs/target</code>** contains the generated HTML files after you run a build.
 
-## Page Management
+## Managing Pages
 
 You add/rename/delete pages in **<code>docs/src/site/markdown</code>**. You make corresponding changes in **<code>docs/src/site.xml</code>** adding/renaming/deleting pages from menus and defining page configuration; for example: removal of the table of contents bar and the special page formatting provided by the Reflow skin. Refer to the [Maven Documentation](http://maven.apache.org/plugins/maven-site-plugin/examples/sitedescriptor.html) for more information.
 
-## Developing Pages
+## Providing Content
 
 When possible, ensure that you write in active voice and to the point. 
 
 Special functions such as buttons etc. can be access by clicking **Preview** in the theme preview. There's a \<\> feature on each function, which allows you to copy the special **<code>\<div\></code>** you need to insert the selected object.
 
-## Development and Build
+## Development Environment
 
 Typically, you'll use Eclipse to develop and build the website pages. The configuration goal is: **<code>clean site</code>**. The **<code>pom.xml</code>** file in the top-level directory drives the build steps for the web site.
 
-## Testing
+## Testing Changes
+
+The website files are located in **<code>docs/target</code>**. Open **<code>index.html</code>** from your browser and test your changes. For example, you want to validate the page layout, page navigation, links, and review the overall content on the pages you modified or added/deleted.
 
-The website files are located in **<code>docs/target</code>**. Open **<code>index.html</code>** from your browser and test your changes.
+----
 
-## Updating External Website
+# Publishing Web Site
 
 To be written.   
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/aeef01ec/docs/src/site/resources/css/site.css
----------------------------------------------------------------------
diff --git a/docs/src/site/resources/css/site.css b/docs/src/site/resources/css/site.css
index b644917..3685589 100644
--- a/docs/src/site/resources/css/site.css
+++ b/docs/src/site/resources/css/site.css
@@ -1,4 +1,27 @@
-.color-highlight {
+/**
+* @@@ START COPYRIGHT @@@  
+*
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements.  See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership.  The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License"); you may not use this file except in compliance
+* with the License.  You may obtain a copy of the License at
+*
+*   http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing,
+* software distributed under the License is distributed on an
+* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+* KIND, either express or implied.  See the License for the
+* specific language governing permissions and limitations
+* under the License.
+*
+* @@@ END COPYRIGHT @@@ 
+ */
+ 
+ .color-highlight {
 	color: #225E9B;
 }
 
@@ -26,6 +49,17 @@ h3, h4, h5, h6 {
   margin-top: 20px;
 }
 
+.customHr {
+    width: 90%
+    font-size: 1px;
+    color: grey;
+    line-height: 1px;
+
+    background-color: grey;
+    margin-top: -6px;
+    margin-bottom: 10px;
+}
+
 .carousel-caption a {
   color: white;
 }

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/aeef01ec/docs/src/site/site.xml
----------------------------------------------------------------------
diff --git a/docs/src/site/site.xml b/docs/src/site/site.xml
index 83d0960..4703bc0 100644
--- a/docs/src/site/site.xml
+++ b/docs/src/site/site.xml
@@ -94,38 +94,65 @@
             <body />
           </sections>
         </index>
+        <architecture-overview><shortTitle>Architecture Overview</shortTitle></architecture-overview>
+        <contribute>
+           <shortTitle>How to Contribute</shortTitle>
+           <toc>false</toc>
+          <sections>
+            <body />
+            <columns>2</columns>
+            <body />
+          </sections>
+        </contribute>
+        <develop>
+           <shortTitle>How to Develop</shortTitle>
+          <sections>
+            <body />
+          </sections>
+        </develop>
+        <faq>
+          <toc>top</toc>
+          <shortTitle>Frequently Asked Questions</shortTitle>
+          <tocTopFlatten>false</tocTopFlatten>
+        </faq>
         <issue-tracking><toc>false</toc></issue-tracking>
         <license><toc>false</toc></license>
         <mail-lists><toc>false</toc></mail-lists>
         <release-notes><toc>false</toc></release-notes>
-        <website><markPageHeader>false</markPageHeader></website>
+        <website>
+           <shortTitle>How to Update Web Site</shortTitle>
+           <tocTopFlatten>false</tocTopFlatten>
+           <sections>
+              <body />
+              <columns>2</columns>
+              <body />
+           </sections>
+        </website>
+        <wiki><toc>false</toc></wiki>
       </pages>
     </reflowSkin>
   </custom>
 
   <body>
-    <!--
     <breadcrumbs>
       <item name="Trafodion" href="index.html"/>
     </breadcrumbs>
-    -->
     <menu name="About">
-      <item href="index.html" name="Overview"/>
+      <item href="index.html" name="Project Overview"/>
       <item href="new-features.html" name="New Features"/>
       <item href="roadmap.html" name="Roadmap"/>
       <item href="performance.html" name="Performance"/>
+      <item href="http:divider" name=""/>
       <item href="team-list.html" name="Team"/>
       <item href="presentations.html" name="Presentations"/>
       <item href="mail-lists.html" name="Mailing List"/>
+      <item href="http:divider" name=""/>
       <item href="source-repository.html" name="Source Repository"/>
       <item href="issue-tracking.html" name="Issue Tracking"/>
+      <item href="license.html" name="License"/>
+      <item href="http:divider" name=""/>
       <item href="download.html" name="Download"/>
       <item href="install.html" name="Install"/>
-      <item href="http:divider" name=""/>
-      <item href="license.html" name="License"/>
-      <item href="http://www.apache.org/foundation/sponsorship.html" name="Sponsorship" target="_blank"/>
-      <item href="http://www.apache.org/foundation/thanks.html" name="Thanks" target="_blank"/>
-      <item href="http://www.apache.org/security/" name="Security" target="_blank"/>
     </menu>
     <menu name="Using">
       <item href="faq.html" name="F.A.Q."/>
@@ -156,12 +183,22 @@
     <menu name="Contributing">
       <item href="contribute.html" name="How to Contribute"/>
       <item href="develop.html" name="How to Develop"/>
-      <item href="website.html" name="How to Update Website"/>
       <item href="release.html" name="How to Test"/>
       <item href="release.html" name="How to Release"/>
+      <item href="website.html" name="How to Update Web Site"/>
+      <item href="wiki.html" name="How to Update Wiki Pages"/>
       <item href="http:divider" name=""/>
       <item href="design-papers.html" name="Design Paper Template"/>
     </menu>
+    <menu name="Apache">
+      <item href="http://incubator.apache.org/projects/trafodion.html" name="Status Page" target="_blank"/>
+      <item href="http://www.apache.org/foundation/how-it-works.html" name="Apache Foundation" target="_blank"/>
+      <item href="http://www.apache.org/licenses/" name="Apache License" target="_blank"/>
+      <item href="http://www.apache.org/security/" name="Apache Security" target="_blank"/>
+      <item href="http:divider" name=""/>
+      <item href="http://www.apache.org/foundation/sponsorship.html" name="Sponsorship" target="_blank"/>
+      <item href="http://www.apache.org/foundation/thanks.html" name="Thanks" target="_blank"/>
+    </menu>
     <footer>
       <hr />
       <div class="row span16">