You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rave.apache.org by bu...@apache.org on 2012/03/26 21:51:20 UTC

svn commit: r810108 [4/6] - in /websites/staging/rave/trunk/content: ./ css/ docs/ docs/governance/ documentation/ images/ rave/ rave/css/ rave/docs/ rave/documentation/ rave/images/

Added: websites/staging/rave/trunk/content/documentation/oauth-consumer.html
==============================================================================
--- websites/staging/rave/trunk/content/documentation/oauth-consumer.html (added)
+++ websites/staging/rave/trunk/content/documentation/oauth-consumer.html Mon Mar 26 19:51:18 2012
@@ -0,0 +1,127 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<!--
+
+    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.
+-->
+  <link rel="shortcut icon" href="/rave/images/RAVE-icon.ico" type="image/x-icon" />
+  <link href="/rave/css/rave.css" rel="stylesheet" type="text/css">
+  <title>Use Apache Rave as OAuth consumer</title>
+  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+</head>
+
+<body>
+  <div id="banner">
+    <img id="logo" alt="Apache Rave" src="/rave/images/RAVE-logo_main-logo-small.png"/>
+  </div>
+  
+  <div id="navigation">
+  <h1 id="general">General</h1>
+<ul>
+<li><a href="/rave/index.html">About</a></li>
+<li><a href="/rave/documentation/index.html">Documentation</a></li>
+<li><a href="/rave/downloads.html">Downloads</a></li>
+<li><a href="/rave/license.html">License</a></li>
+</ul>
+<h1 id="community">Community</h1>
+<ul>
+<li><a href="/rave/get-involved.html">Get Involved</a></li>
+<li><a href="/rave/mailing-lists.html">Mailing Lists</a></li>
+<li><a href="/rave/people.html">People</a></li>
+</ul>
+<h1 id="development">Development</h1>
+<ul>
+<li><a href="/rave/source.html">Getting Started</a></li>
+<li><a href="/rave/ide-settings-and-debugging.html">IDE Settings and debugging</a></li>
+<li><a href="/rave/release-management.html">Release Management</a></li>
+<li><a href="/rave/issue-management.html">Issue Tracker</a></li>
+<li><a href="https://builds.apache.org/hudson/view/M-R/view/Rave/">Continuous Integration</a></li>
+<li><a href="https://analysis.apache.org/dashboard/index/58996">Sonar Dashboard</a></li>
+<li><a href="/rave/edit-website.html">Website</a></li>
+</ul>
+<h1 id="asf">ASF</h1>
+<ul>
+<li><a href="http://www.apache.org">Apache Software Foundation</a></li>
+<li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
+<li><a href="http://www.apache.org/foundation/sponsorship.html">Become a Sponsor</a></li>
+<li><a href="http://www.apache.org/security/">Security</a></li>
+</ul>
+  </div>
+
+  <div id="content">
+    <h1 class="title">Use Apache Rave as OAuth consumer</h1>
+    <p>After following the instructions, you will be able to use Rave as an OAuth consumer. You will add an OpenSocial Gadget
+that displays your Google Contacts, using Google as OAuth provider.</p>
+<h2 id="place-the-gadget-definition-on-your-server">Place the gadget definition on your server</h2>
+<p>Place the <a href="http://gadget-doc-examples.googlecode.com/svn/trunk/opensocial-gadgets/oauth-contacts.xml">example OAuth Gadget</a>
+on your <em>own</em> public server. Make sure that the gadget is accessible without any restrictions.</p>
+<h2 id="register-your-web-application">Register your web application</h2>
+<p>Follow <a href="http://code.google.com/apis/accounts/docs/RegistrationForWebAppsAuto.html">Google's instructions</a> to register
+your domain for OAuth Authentication. You will create an OAuth consumer key and secret.</p>
+<h2 id="add-the-oauth-consumer-key-and-secret-to-the-rave-database">Add the OAuth consumer key and secret to the Rave database</h2>
+<p>Until there is a web interface to handle the contents of the database, modify and execute the following query:</p>
+<div class="codehilite"><pre><span class="n">SET</span> <span class="nv">@consumer_store_id_oauth</span> <span class="o">=</span> <span class="p">(</span><span class="n">SELECT</span> <span class="n">seq_count</span> <span class="n">FROM</span> <span class="n">RAVE_SHINDIG_SEQUENCES</span> <span class="n">WHERE</span> <span class="n">seq_name</span> <span class="o">=</span> <span class="s">&#39;oauth_consumer_store&#39;</span><span class="p">);</span>
+<span class="n">INSERT</span> <span class="n">INTO</span> <span class="n">oauth_consumer_store</span><span class="p">(</span><span class="n">entity_id</span><span class="p">,</span> <span class="n">gadget_uri</span><span class="p">,</span> <span class="n">service_name</span><span class="p">,</span> <span class="n">consumer_key</span><span class="p">,</span> <span class="n">consumer_secret</span><span class="p">,</span> <span class="n">key_type</span><span class="p">)</span>
+<span class="n">VALUES</span> <span class="p">(</span><span class="nv">@consumer_store_id_oauth</span><span class="p">,</span>
+                                <span class="s">&#39;http://example.com/sampleoauth.xml&#39;</span><span class="p">,</span> <span class="s">&#39;google&#39;</span><span class="p">,</span>
+                                <span class="s">&#39;gadgetConsumer&#39;</span><span class="p">,</span> <span class="s">&#39;gadgetSecret&#39;</span><span class="p">,</span> <span class="s">&#39;HMAC_SYMMETRIC&#39;</span><span class="p">);</span>
+<span class="n">UPDATE</span> <span class="n">RAVE_SHINDIG_SEQUENCES</span> <span class="n">SET</span> <span class="n">seq_count</span> <span class="o">=</span> <span class="p">(</span><span class="n">seq_count</span> <span class="o">+</span> <span class="mi">1</span><span class="p">)</span> <span class="n">WHERE</span> <span class="n">seq_name</span> <span class="o">=</span> <span class="s">&#39;oauth_consumer_store&#39;</span><span class="p">;</span>
+</pre></div>
+
+
+<ul>
+<li>gadget_uri: URI where the gadget definition is hosted</li>
+<li>service name: this value should match the value of attribute name in element OAuth/Service in the gadget definition. In this example the service name is google</li>
+<li>consumer_key: the consumer key the OAuth consumer (Apache Rave) uses for the authentication with the OAuth provider</li>
+<li>consumer_secret: the shared secret between the OAuth consumer (Apache Rave) and OAuth provider</li>
+<li>key_type: allowed values are "HMAC_SYMMETRIC", "RSA_PRIVATE" and "PLAINTEXT"</li>
+</ul>
+<h2 id="add-your-widget-to-the-apache-rave-portal">Add your Widget to the Apache Rave portal</h2>
+<ul>
+<li>Go to the widget store</li>
+<li>Click on "Add new widget"</li>
+<li>Enter the required form fields and submit the form</li>
+<li>Go to the admin interface (in the demo setup the 'canonical' user has admin privileges)</li>
+<li>Find the new widget and change its status from "preview" to "published"</li>
+</ul>
+<h2 id="use-the-widget">Use the Widget</h2>
+<ul>
+<li>Go to the Widget Store and add the "Google Contacts" gadget.</li>
+<li>Then go back to your page.<ul>
+<li>Click on the link "Personalize this gadget"</li>
+<li>If you are not logged in yet, log in with your Google account</li>
+<li>Click on the "Grant access" button</li>
+</ul>
+</li>
+<li>You are being redirected back to the portal. You should now see your Google contacts</li>
+</ul>
+<p><img alt="Screenshot of Sample OAuth Gadget" src="/rave/images/screenshot_oauth_gadget.png" /></p>
+  </div>
+
+  <div id="footer">
+    <div class="copyright">
+      <p>
+        Copyright &copy; 2011 The Apache Software Foundation, Licensed under
+        the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.
+        <br />
+        Apache and the Apache feather logos are trademarks of The Apache Software Foundation.
+      </p>
+    </div>
+  </div>
+
+</body>
+</html>

Added: websites/staging/rave/trunk/content/documentation/rave-extensions.html
==============================================================================
--- websites/staging/rave/trunk/content/documentation/rave-extensions.html (added)
+++ websites/staging/rave/trunk/content/documentation/rave-extensions.html Mon Mar 26 19:51:18 2012
@@ -0,0 +1,112 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<!--
+
+    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.
+-->
+  <link rel="shortcut icon" href="/rave/images/RAVE-icon.ico" type="image/x-icon" />
+  <link href="/rave/css/rave.css" rel="stylesheet" type="text/css">
+  <title>Extend Apache Rave to build your own portal</title>
+  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+</head>
+
+<body>
+  <div id="banner">
+    <img id="logo" alt="Apache Rave" src="/rave/images/RAVE-logo_main-logo-small.png"/>
+  </div>
+  
+  <div id="navigation">
+  <h1 id="general">General</h1>
+<ul>
+<li><a href="/rave/index.html">About</a></li>
+<li><a href="/rave/documentation/index.html">Documentation</a></li>
+<li><a href="/rave/downloads.html">Downloads</a></li>
+<li><a href="/rave/license.html">License</a></li>
+</ul>
+<h1 id="community">Community</h1>
+<ul>
+<li><a href="/rave/get-involved.html">Get Involved</a></li>
+<li><a href="/rave/mailing-lists.html">Mailing Lists</a></li>
+<li><a href="/rave/people.html">People</a></li>
+</ul>
+<h1 id="development">Development</h1>
+<ul>
+<li><a href="/rave/source.html">Getting Started</a></li>
+<li><a href="/rave/ide-settings-and-debugging.html">IDE Settings and debugging</a></li>
+<li><a href="/rave/release-management.html">Release Management</a></li>
+<li><a href="/rave/issue-management.html">Issue Tracker</a></li>
+<li><a href="https://builds.apache.org/hudson/view/M-R/view/Rave/">Continuous Integration</a></li>
+<li><a href="https://analysis.apache.org/dashboard/index/58996">Sonar Dashboard</a></li>
+<li><a href="/rave/edit-website.html">Website</a></li>
+</ul>
+<h1 id="asf">ASF</h1>
+<ul>
+<li><a href="http://www.apache.org">Apache Software Foundation</a></li>
+<li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
+<li><a href="http://www.apache.org/foundation/sponsorship.html">Become a Sponsor</a></li>
+<li><a href="http://www.apache.org/security/">Security</a></li>
+</ul>
+  </div>
+
+  <div id="content">
+    <h1 class="title">Extend Apache Rave to build your own portal</h1>
+    <p>One of the (main) goals of Apache Rave is to create an extendible platform. This document is to help Apache Rave users (developers) to customize Apache Rave based on needs.</p>
+<p>To get you started we have created a Sandbox and created a vanilla extension that shows how to implement CustomUserService and to personalize login page look and feel.
+The main objective of the vanilla extension is to provide reusable build environment with minimal required dependencies.
+Extension developers will be able to use the POM file provide and add additional project dependencies. </p>
+<h2 id="prerequisites">Prerequisites</h2>
+<p>The current version of Apache Rave must be in your local Maven repository.  To do this, <a href="../source.html">check out Apache Rave from SVN</a> and build with "mvn clean install".</p>
+<h2 id="vanilla-extension-location">Vanilla Extension Location</h2>
+<div class="codehilite"><pre><span class="n">svn</span> <span class="n">co</span> <span class="n">http:</span><span class="sr">//s</span><span class="n">vn</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">org</span><span class="sr">/repos/</span><span class="n">asf</span><span class="sr">/rave/s</span><span class="n">andbox</span><span class="sr">/rave-extensions/</span><span class="n">rave</span><span class="o">-</span><span class="n">vanilla</span><span class="o">-</span><span class="n">extension</span>
+<span class="n">cd</span> <span class="n">rave</span><span class="o">-</span><span class="n">vanilla</span><span class="o">-</span><span class="n">extension</span>
+<span class="n">mvn</span> <span class="n">clean</span> <span class="n">install</span>
+<span class="n">mvn</span> <span class="n">cargo:start</span>
+</pre></div>
+
+
+<h2 id="best-practices">Best Practices</h2>
+<ul>
+<li>Add new javascript functions to new file or copy existing functions to new file and customize them and change imports based on your need. Reason is, changes/fixes in rave libraries should come to your project.</li>
+<li>If you are are customizing css or adding new css methods add new files so that changes in default css files will come to your portal</li>
+<li>Report any bug or issue to <a href="https://issues.apache.org/jira/browse/RAVE">Apache Rave JIRA</a></li>
+</ul>
+<h2 id="customizations">Customizations</h2>
+<ul>
+<li>
+<p>User Service : Extension implements rave UserService interface as CustomUserService. To use CustomUserService for login you need to update
+Application Security context provided in ~/src/main/webapp/WEB-INF/applicationContext-security.xml and add name for customUserService. </p>
+</li>
+<li>
+<p>Login page : This is just to demonstrate that if you have your own login page and style sheets you can copy them to right location and they will be 
+included in portal war along with other portal files. If you will have the same files name as in portal war, they will be replaced with your version of files.</p>
+</li>
+</ul>
+  </div>
+
+  <div id="footer">
+    <div class="copyright">
+      <p>
+        Copyright &copy; 2011 The Apache Software Foundation, Licensed under
+        the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.
+        <br />
+        Apache and the Apache feather logos are trademarks of The Apache Software Foundation.
+      </p>
+    </div>
+  </div>
+
+</body>
+</html>

Added: websites/staging/rave/trunk/content/documentation/script-manager.html
==============================================================================
--- websites/staging/rave/trunk/content/documentation/script-manager.html (added)
+++ websites/staging/rave/trunk/content/documentation/script-manager.html Mon Mar 26 19:51:18 2012
@@ -0,0 +1,93 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<!--
+
+    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.
+-->
+  <link rel="shortcut icon" href="/rave/images/RAVE-icon.ico" type="image/x-icon" />
+  <link href="/rave/css/rave.css" rel="stylesheet" type="text/css">
+  <title>Working with the Script Manager</title>
+  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+</head>
+
+<body>
+  <div id="banner">
+    <img id="logo" alt="Apache Rave" src="/rave/images/RAVE-logo_main-logo-small.png"/>
+  </div>
+  
+  <div id="navigation">
+  <h1 id="general">General</h1>
+<ul>
+<li><a href="/rave/index.html">About</a></li>
+<li><a href="/rave/documentation/index.html">Documentation</a></li>
+<li><a href="/rave/downloads.html">Downloads</a></li>
+<li><a href="/rave/license.html">License</a></li>
+</ul>
+<h1 id="community">Community</h1>
+<ul>
+<li><a href="/rave/get-involved.html">Get Involved</a></li>
+<li><a href="/rave/mailing-lists.html">Mailing Lists</a></li>
+<li><a href="/rave/people.html">People</a></li>
+</ul>
+<h1 id="development">Development</h1>
+<ul>
+<li><a href="/rave/source.html">Getting Started</a></li>
+<li><a href="/rave/ide-settings-and-debugging.html">IDE Settings and debugging</a></li>
+<li><a href="/rave/release-management.html">Release Management</a></li>
+<li><a href="/rave/issue-management.html">Issue Tracker</a></li>
+<li><a href="https://builds.apache.org/hudson/view/M-R/view/Rave/">Continuous Integration</a></li>
+<li><a href="https://analysis.apache.org/dashboard/index/58996">Sonar Dashboard</a></li>
+<li><a href="/rave/edit-website.html">Website</a></li>
+</ul>
+<h1 id="asf">ASF</h1>
+<ul>
+<li><a href="http://www.apache.org">Apache Software Foundation</a></li>
+<li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
+<li><a href="http://www.apache.org/foundation/sponsorship.html">Become a Sponsor</a></li>
+<li><a href="http://www.apache.org/security/">Security</a></li>
+</ul>
+  </div>
+
+  <div id="content">
+    <h1 class="title">Working with the Script Manager</h1>
+    <p>The Script Manager is an Apache Rave bean that allows developers to register script blocks for inclusion in the bottom of the page.  The bean is designed to manage the registration of scripts that should be rendered on every page (Global) and within the current context.  Additionally, it tracks the requested position of the scripts relative to included libraries and out of the box Apache Rave scripts.</p>
+<h2 id="getting-the-scriptmanager">Getting the ScriptManager</h2>
+<p>The ScriptManager is a Spring bean defined by Rave and can be injected into any class via standard Spring autowiring mechanisms.  If your component is not managed by Apache Rave's Spring Application Context, you can retrieve the bean from the Application Context manually.</p>
+<h2 id="registering-a-script">Registering a Script</h2>
+<p>Scripts are registered to be rendered in a specific scope and relative location. </p>
+<h3 id="scope">Scope</h3>
+<p>There potential values for the scope of a script's registration are defined in the org.apache.rave.web.renderer.RenderScope enumeration.  Currently, there are two, GLOBAL and CURRENT_CONTEXT.  <br />
+</p>
+<h3 id="script-location">Script Location</h3>
+<p>Scripts can be rendered at various points relative to Apache Rave default includes and out of the box scripts.  The potential values are defined and document in the org.apache.rave.renderer.ScriptLocation enumeration.</p>
+<h3 id="render-context">Render Context</h3>
+<p>The render context represents the environment under which the script is to be rendered.  The context contains a set of key/value pairs that provide important context information to various components involved in the render process.  The developers interacting with the script manager are responsible for passing the Render Context to the ScriptManager.  Most often, the developer interacting with the ScriptManager will be doing so from within an Apache Rave render extension point, which will have a RenderContext passed to it.  If this isn't the case, the developer will need to retrieve the RenderContext object from the current HttpServletRequest prior to calling the script manager.</p>
+  </div>
+
+  <div id="footer">
+    <div class="copyright">
+      <p>
+        Copyright &copy; 2011 The Apache Software Foundation, Licensed under
+        the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.
+        <br />
+        Apache and the Apache feather logos are trademarks of The Apache Software Foundation.
+      </p>
+    </div>
+  </div>
+
+</body>
+</html>

Added: websites/staging/rave/trunk/content/documentation/security-model-permission.html
==============================================================================
--- websites/staging/rave/trunk/content/documentation/security-model-permission.html (added)
+++ websites/staging/rave/trunk/content/documentation/security-model-permission.html Mon Mar 26 19:51:18 2012
@@ -0,0 +1,130 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<!--
+
+    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.
+-->
+  <link rel="shortcut icon" href="/rave/images/RAVE-icon.ico" type="image/x-icon" />
+  <link href="/rave/css/rave.css" rel="stylesheet" type="text/css">
+  <title>How Apache Rave Model Permission Security Works</title>
+  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+</head>
+
+<body>
+  <div id="banner">
+    <img id="logo" alt="Apache Rave" src="/rave/images/RAVE-logo_main-logo-small.png"/>
+  </div>
+  
+  <div id="navigation">
+  <h1 id="general">General</h1>
+<ul>
+<li><a href="/rave/index.html">About</a></li>
+<li><a href="/rave/documentation/index.html">Documentation</a></li>
+<li><a href="/rave/downloads.html">Downloads</a></li>
+<li><a href="/rave/license.html">License</a></li>
+</ul>
+<h1 id="community">Community</h1>
+<ul>
+<li><a href="/rave/get-involved.html">Get Involved</a></li>
+<li><a href="/rave/mailing-lists.html">Mailing Lists</a></li>
+<li><a href="/rave/people.html">People</a></li>
+</ul>
+<h1 id="development">Development</h1>
+<ul>
+<li><a href="/rave/source.html">Getting Started</a></li>
+<li><a href="/rave/ide-settings-and-debugging.html">IDE Settings and debugging</a></li>
+<li><a href="/rave/release-management.html">Release Management</a></li>
+<li><a href="/rave/issue-management.html">Issue Tracker</a></li>
+<li><a href="https://builds.apache.org/hudson/view/M-R/view/Rave/">Continuous Integration</a></li>
+<li><a href="https://analysis.apache.org/dashboard/index/58996">Sonar Dashboard</a></li>
+<li><a href="/rave/edit-website.html">Website</a></li>
+</ul>
+<h1 id="asf">ASF</h1>
+<ul>
+<li><a href="http://www.apache.org">Apache Software Foundation</a></li>
+<li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
+<li><a href="http://www.apache.org/foundation/sponsorship.html">Become a Sponsor</a></li>
+<li><a href="http://www.apache.org/security/">Security</a></li>
+</ul>
+  </div>
+
+  <div id="content">
+    <h1 class="title">How Apache Rave Model Permission Security Works</h1>
+    <p>In a nutshell, Apache Rave uses Spring Security annotations to protect the service layer methods.  Below is an overview of the permission related classes in rave-core and what each is used for:</p>
+<p><em>org.apache.rave.portal.security</em></p>
+<p>ModelPermissionEvaluator</p>
+<ul>
+<li>
+<p>Interface that defines the various model Permission functions that need to be implemented.  Also defines a Permission enum to standardize the possible permission values across the model security code. </p>
+</li>
+<li>
+<p>Each model class in Apache Rave will have an associated default implementation of this interface.  For example, there is a DefaultPagePermissionEvaluator class in the org.apache.rave.portal.security.impl package that defines all of the permission logic for Page model objects.</p>
+</li>
+</ul>
+<p><em>org.apache.rave.portal.security.impl</em></p>
+<p>RaveMethodSecurityExpressionHandler</p>
+<ul>
+<li>
+<p>Extension of the org.springframework.security.access.expression.method.DefaultMethodSecurityExpressionHandler class which handles the logic for expression language security annotations.  The filter method needed to be overridden because the default implementation tries to modify the filterTarget parameter passed in, which can be a Collection or Array object.  Certain implementations of JPA (such as the default OpenJPA used by Apache Rave) create unmodifiable Collection types which cause exceptions to be thrown.  The Apache Rave implementation makes a copy of the Collection and passes it to the super method so it can be modified (filtered).</p>
+</li>
+<li>
+<p>This class is wired into Rave as the “expressionHandler” bean in the applicationContext-security.xml file under rave-portal-resources</p>
+</li>
+</ul>
+<p>RavePermissionEvaluator</p>
+<ul>
+<li>
+<p>Implements the org.springframework.security.access.PermissionEvaluator interface which allows us to inject our custom model permission logic into the Spring Security stack.  This class will be autowired with a List of ModelPermissionEvaluator implementation classes for each of the Apache Rave model classes and stored internally.  The overridden hasPermission functions of this classs inspect the type (class) of targetDomainObject being passed in via the security annotation and use the appropriate ModelPermissionEvalutor to check for permissions.</p>
+</li>
+<li>
+<p>this class is wired into Rave as a property to the RaveMethodSecurityExpressionHandler in the applicationContext-security.xml file under rave-portal-resources</p>
+</li>
+</ul>
+<p>RaveSecurityContext</p>
+<ul>
+<li>This is used as a Context object in the security annotation expression language for situations where permissions need to be checked on an object that is not necessarily the Model object that is being accessed. It contains two properties: Object id and String type.  type is the fully qualified class name of the Object, and id is the id.  See org.apache.rave.portal.service.PageService.getAllPages as an example on how this class is used.</li>
+</ul>
+<p>AbstractModelPermissionEvaluator</p>
+<ul>
+<li>an abstract implementation of the ModelPermissionEvaluator interface to define common functionality that should be shared across all ModelPermissionEvaluator implementations:
+   a) hasPermission: checks to see if the user is a portal administrator, which trumps all other granular permission checks
+   b) getLoadOrder: returns the integer 1.  This function is used by the RavePermissionEvaluator constructor to sort all of the component scanned ModelPermissionEvaluators before building its internal map.  This allows an easy way to override any of the default ModelPermissionEvaluator classes by third parties.  Overridden classes just need to override getLoadOrder() and return a number greater than 1 to ensure it gets put into the map after the default implementation.  A best practice could be to return super.getLoadOrder() + 1 which would allow an infinite number of overrides for a given ModelPermissionEvaluator.</li>
+</ul>
+<p>Default[Model]PermissionEvaluator classes</p>
+<ul>
+<li>the default implementation of each of the ModelPermissionEvaluator classes, such as DefaultPagePermissionEvaluator.  These implementations contain the default permission security logic for their associated Model class.</li>
+</ul>
+<p><em>org.apache.rave.portal.security.util</em></p>
+<p>AuthenticationUtils</p>
+<ul>
+<li>common helper functions related to org.springframework.security.core.Authentication objects</li>
+</ul>
+  </div>
+
+  <div id="footer">
+    <div class="copyright">
+      <p>
+        Copyright &copy; 2011 The Apache Software Foundation, Licensed under
+        the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.
+        <br />
+        Apache and the Apache feather logos are trademarks of The Apache Software Foundation.
+      </p>
+    </div>
+  </div>
+
+</body>
+</html>

Added: websites/staging/rave/trunk/content/documentation/sso-login.html
==============================================================================
--- websites/staging/rave/trunk/content/documentation/sso-login.html (added)
+++ websites/staging/rave/trunk/content/documentation/sso-login.html Mon Mar 26 19:51:18 2012
@@ -0,0 +1,189 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<!--
+
+    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.
+-->
+  <link rel="shortcut icon" href="/rave/images/RAVE-icon.ico" type="image/x-icon" />
+  <link href="/rave/css/rave.css" rel="stylesheet" type="text/css">
+  <title>How to configure Single Sign-On (Extension)</title>
+  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+</head>
+
+<body>
+  <div id="banner">
+    <img id="logo" alt="Apache Rave" src="/rave/images/RAVE-logo_main-logo-small.png"/>
+  </div>
+  
+  <div id="navigation">
+  <h1 id="general">General</h1>
+<ul>
+<li><a href="/rave/index.html">About</a></li>
+<li><a href="/rave/documentation/index.html">Documentation</a></li>
+<li><a href="/rave/downloads.html">Downloads</a></li>
+<li><a href="/rave/license.html">License</a></li>
+</ul>
+<h1 id="community">Community</h1>
+<ul>
+<li><a href="/rave/get-involved.html">Get Involved</a></li>
+<li><a href="/rave/mailing-lists.html">Mailing Lists</a></li>
+<li><a href="/rave/people.html">People</a></li>
+</ul>
+<h1 id="development">Development</h1>
+<ul>
+<li><a href="/rave/source.html">Getting Started</a></li>
+<li><a href="/rave/ide-settings-and-debugging.html">IDE Settings and debugging</a></li>
+<li><a href="/rave/release-management.html">Release Management</a></li>
+<li><a href="/rave/issue-management.html">Issue Tracker</a></li>
+<li><a href="https://builds.apache.org/hudson/view/M-R/view/Rave/">Continuous Integration</a></li>
+<li><a href="https://analysis.apache.org/dashboard/index/58996">Sonar Dashboard</a></li>
+<li><a href="/rave/edit-website.html">Website</a></li>
+</ul>
+<h1 id="asf">ASF</h1>
+<ul>
+<li><a href="http://www.apache.org">Apache Software Foundation</a></li>
+<li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
+<li><a href="http://www.apache.org/foundation/sponsorship.html">Become a Sponsor</a></li>
+<li><a href="http://www.apache.org/security/">Security</a></li>
+</ul>
+  </div>
+
+  <div id="content">
+    <h1 class="title">How to configure Single Sign-On (Extension)</h1>
+    <p>The default login mechanism relies on predefined users in the database with basic authentication or OpenId.
+With a different <a href="http://static.springsource.org/spring-security/site/docs/3.0.x/reference/springsecurity.html">Spring security</a> configuration Apache Rave supports login based on request headers.</p>
+<p>The following instructions assume there is already an SSO authentication service running in your network like <a href="http://shibboleth.internet2.edu">Shibboleth®</a></p>
+<h2 id="1-get-apache-rave">1) Get Apache Rave</h2>
+<p>There are multiple ways to build your custom Apache Rave instance, but the quickest is to use a Maven WAR overlay.  See <a href="rave-extensions.html">Extending Apache Rave</a> for an example overlay.</p>
+<h2 id="2-build-the-rave-sso-extension">2) Build the Rave SSO extension</h2>
+<p>Run the following commands in your shell/terminal/command to build the Single Sign-On extension from the Sandbox:</p>
+<div class="codehilite"><pre><span class="n">svn</span> <span class="n">co</span> <span class="n">http:</span><span class="sr">//s</span><span class="n">vn</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">org</span><span class="sr">/repos/</span><span class="n">asf</span><span class="sr">/rave/s</span><span class="n">andbox</span><span class="sr">/rave-extensions/</span><span class="n">rave</span><span class="o">-</span><span class="n">extension</span><span class="o">-</span><span class="n">sso</span>
+<span class="n">cd</span> <span class="n">rave</span><span class="o">-</span><span class="n">extension</span><span class="o">-</span><span class="n">sso</span>
+<span class="n">mvn</span> <span class="n">install</span>
+</pre></div>
+
+
+<h2 id="3-add-the-rave-sso-extension-to-the-pom-of-your-custom-portal-war">3) Add the Rave SSO Extension to the pom of your custom portal war</h2>
+<div class="codehilite"><pre><span class="nt">&lt;dependency&gt;</span>
+  <span class="nt">&lt;groupId&gt;</span>org.apache.rave.extensions<span class="nt">&lt;/groupId&gt;</span>
+  <span class="nt">&lt;artifactId&gt;</span>rave-extension-sso<span class="nt">&lt;/artifactId&gt;</span>
+<span class="nt">&lt;/dependency&gt;</span>
+</pre></div>
+
+
+<h2 id="4-add-a-custom-spring-security-configuration">4) Add a custom Spring security configuration</h2>
+<p>Place the following Spring security configuration in your war overlay project (<code>/src/main/webapp/WEB-INF</code>) as <code>applicationContext-security-extension-sso.xml</code></p>
+<div class="codehilite"><pre><span class="o">&lt;</span><span class="p">?</span><span class="n">xml</span> <span class="n">version</span><span class="o">=</span><span class="s">&quot;1.0&quot;</span> <span class="n">encoding</span><span class="o">=</span><span class="s">&quot;UTF-8&quot;</span><span class="p">?</span><span class="o">&gt;</span>
+<span class="o">&lt;</span><span class="n">beans:beans</span> <span class="n">xmlns:beans</span><span class="o">=</span><span class="s">&quot;http://www.springframework.org/schema/beans&quot;</span>
+             <span class="n">xmlns:xsi</span><span class="o">=</span><span class="s">&quot;http://www.w3.org/2001/XMLSchema-instance&quot;</span>
+             <span class="n">xmlns</span><span class="o">=</span><span class="s">&quot;http://www.springframework.org/schema/security&quot;</span>
+             <span class="n">xsi:schemaLocation</span><span class="o">=</span><span class="s">&quot;http://www.springframework.org/schema/beans</span>
+<span class="s">       http://www.springframework.org/schema/beans/spring-beans-3.1.xsd</span>
+<span class="s">       http://www.springframework.org/schema/security</span>
+<span class="s">       http://www.springframework.org/schema/security/spring-security-3.1.xsd&quot;</span><span class="o">&gt;</span>
+
+  <span class="o">&lt;</span><span class="n">http</span> <span class="k">use</span><span class="o">-</span><span class="n">expressions</span><span class="o">=</span><span class="s">&quot;true&quot;</span><span class="o">&gt;</span>
+    <span class="o">&lt;</span><span class="n">intercept</span><span class="o">-</span><span class="n">url</span> <span class="n">pattern</span><span class="o">=</span><span class="s">&quot;/newaccount.jsp*&quot;</span> <span class="n">access</span><span class="o">=</span><span class="s">&quot;permitAll&quot;</span><span class="o">/&gt;</span>
+    <span class="o">&lt;</span><span class="n">intercept</span><span class="o">-</span><span class="n">url</span> <span class="n">pattern</span><span class="o">=</span><span class="s">&quot;/app/newaccount*&quot;</span> <span class="n">access</span><span class="o">=</span><span class="s">&quot;permitAll&quot;</span><span class="o">/&gt;</span>
+    <span class="o">&lt;</span><span class="n">intercept</span><span class="o">-</span><span class="n">url</span> <span class="n">pattern</span><span class="o">=</span><span class="s">&quot;/login.jsp*&quot;</span> <span class="n">access</span><span class="o">=</span><span class="s">&quot;permitAll&quot;</span><span class="o">/&gt;</span>
+    <span class="o">&lt;</span><span class="n">intercept</span><span class="o">-</span><span class="n">url</span> <span class="n">pattern</span><span class="o">=</span><span class="s">&quot;/css/**&quot;</span> <span class="n">access</span><span class="o">=</span><span class="s">&quot;permitAll&quot;</span><span class="o">/&gt;</span>
+    <span class="o">&lt;</span><span class="n">intercept</span><span class="o">-</span><span class="n">url</span> <span class="n">pattern</span><span class="o">=</span><span class="s">&quot;/images/**&quot;</span> <span class="n">access</span><span class="o">=</span><span class="s">&quot;permitAll&quot;</span><span class="o">/&gt;</span>
+    <span class="o">&lt;</span><span class="n">intercept</span><span class="o">-</span><span class="n">url</span> <span class="n">pattern</span><span class="o">=</span><span class="s">&quot;/script/**&quot;</span> <span class="n">access</span><span class="o">=</span><span class="s">&quot;permitAll&quot;</span><span class="o">/&gt;</span>
+    <span class="o">&lt;</span><span class="n">intercept</span><span class="o">-</span><span class="n">url</span> <span class="n">pattern</span><span class="o">=</span><span class="s">&quot;/app/admin/**&quot;</span> <span class="n">access</span><span class="o">=</span><span class="s">&quot;hasRole(&#39;ROLE_ADMIN&#39;)&quot;</span><span class="o">/&gt;</span>
+    <span class="o">&lt;</span><span class="n">intercept</span><span class="o">-</span><span class="n">url</span> <span class="n">pattern</span><span class="o">=</span><span class="s">&quot;/**&quot;</span> <span class="n">access</span><span class="o">=</span><span class="s">&quot;hasAnyRole(&#39;ROLE_USER&#39;,&#39;ROLE_ADMIN&#39;)&quot;</span><span class="o">/&gt;</span>
+
+    <span class="o">&lt;</span><span class="n">form</span><span class="o">-</span><span class="n">login</span> <span class="n">login</span><span class="o">-</span><span class="n">page</span><span class="o">=</span><span class="s">&quot;/login.jsp&quot;</span> <span class="n">authentication</span><span class="o">-</span><span class="n">failure</span><span class="o">-</span><span class="n">url</span><span class="o">=</span><span class="s">&quot;/login.jsp?authfail=sso&quot;</span><span class="o">/&gt;</span>
+    <span class="o">&lt;</span><span class="n">logout</span> <span class="n">logout</span><span class="o">-</span><span class="n">success</span><span class="o">-</span><span class="n">url</span><span class="o">=</span><span class="s">&quot;/../Shibboleth.sso/Logout?target=/portal&quot;</span><span class="o">/&gt;</span>
+    <span class="o">&lt;!--</span> <span class="n">To</span> <span class="n">remove</span> <span class="n">SSO</span> <span class="n">header</span> <span class="n">authentication</span><span class="p">,</span> <span class="n">comment</span> <span class="n">out</span> <span class="n">the</span> <span class="n">following</span> <span class="n">line</span> <span class="o">--&gt;</span>
+    <span class="o">&lt;</span><span class="n">custom</span><span class="o">-</span><span class="n">filter</span> <span class="nb">ref</span><span class="o">=</span><span class="s">&quot;ssoHeaderFilter&quot;</span> <span class="n">position</span><span class="o">=</span><span class="s">&quot;PRE_AUTH_FILTER&quot;</span><span class="o">/&gt;</span>
+  <span class="sr">&lt;/http&gt;</span>
+
+  <span class="o">&lt;!--</span>
+    <span class="n">REMOTE_USER</span> <span class="n">is</span> <span class="n">the</span> <span class="n">header</span> <span class="n">we</span><span class="s">&#39;re expecting.</span>
+<span class="s">    It&#39;</span><span class="n">s</span> <span class="n">important</span> <span class="n">that</span> <span class="k">if</span> <span class="n">we</span><span class="err">&#39;</span><span class="n">re</span> <span class="n">using</span> <span class="n">this</span> <span class="n">header</span><span class="p">,</span> <span class="n">the</span> <span class="n">app</span> <span class="n">is</span> <span class="ow">not</span> <span class="n">accessed</span> <span class="n">directly</span><span class="p">,</span>
+    <span class="n">instead</span> <span class="n">accessed</span> <span class="n">only</span> <span class="n">through</span> <span class="n">e</span><span class="o">.</span><span class="n">g</span><span class="o">.</span> <span class="n">the</span> <span class="n">Apache</span> <span class="n">Shibboleth</span> <span class="n">module</span><span class="p">,</span> <span class="n">otherwise</span> <span class="n">this</span> <span class="n">header</span> <span class="n">could</span> <span class="n">be</span> <span class="n">faked</span><span class="o">.</span>
+  <span class="o">--&gt;</span>
+  <span class="o">&lt;</span><span class="n">beans:bean</span> <span class="n">id</span><span class="o">=</span><span class="s">&quot;ssoHeaderFilter&quot;</span>
+              <span class="n">class</span><span class="o">=</span><span class="s">&quot;org.apache.rave.portal.security.filter.SSORequestHeaderAuthenticationFilter&quot;</span><span class="o">&gt;</span>
+    <span class="o">&lt;</span><span class="n">beans:property</span> <span class="n">name</span><span class="o">=</span><span class="s">&quot;principalRequestHeader&quot;</span> <span class="n">value</span><span class="o">=</span><span class="s">&quot;REMOTE_USER&quot;</span><span class="o">/&gt;</span>
+    <span class="o">&lt;</span><span class="n">beans:property</span> <span class="n">name</span><span class="o">=</span><span class="s">&quot;authenticationManager&quot;</span> <span class="nb">ref</span><span class="o">=</span><span class="s">&quot;authenticationManager&quot;</span><span class="o">/&gt;</span>
+    <span class="o">&lt;</span><span class="n">beans:property</span> <span class="n">name</span><span class="o">=</span><span class="s">&quot;allowPreAuthenticatedPrincipals&quot;</span> <span class="n">value</span><span class="o">=</span><span class="s">&quot;true&quot;</span><span class="o">/&gt;</span>
+    <span class="o">&lt;</span><span class="n">beans:property</span> <span class="n">name</span><span class="o">=</span><span class="s">&quot;exceptionIfHeaderMissing&quot;</span> <span class="n">value</span><span class="o">=</span><span class="s">&quot;false&quot;</span><span class="o">/&gt;</span>
+    <span class="o">&lt;</span><span class="n">beans:constructor</span><span class="o">-</span><span class="n">arg</span> <span class="nb">index</span><span class="o">=</span><span class="s">&quot;0&quot;</span> <span class="nb">ref</span><span class="o">=</span><span class="s">&quot;userService&quot;</span><span class="o">/&gt;</span>
+    <span class="o">&lt;</span><span class="n">beans:constructor</span><span class="o">-</span><span class="n">arg</span> <span class="nb">index</span><span class="o">=</span><span class="s">&quot;1&quot;</span> <span class="nb">ref</span><span class="o">=</span><span class="s">&quot;ssoLoginHandler&quot;</span><span class="o">/&gt;</span>
+  <span class="sr">&lt;/beans:bean&gt;</span>
+
+  <span class="o">&lt;</span><span class="n">beans:bean</span> <span class="n">id</span><span class="o">=</span><span class="s">&quot;ssoLoginHandler&quot;</span> <span class="n">class</span><span class="o">=</span><span class="s">&quot;org.apache.rave.portal.security.impl.DefaultSSOLoginHandler&quot;</span><span class="o">&gt;</span>
+    <span class="o">&lt;</span><span class="n">beans:property</span> <span class="n">name</span><span class="o">=</span><span class="s">&quot;autoCreateUser&quot;</span> <span class="n">value</span><span class="o">=</span><span class="s">&quot;true&quot;</span><span class="o">/&gt;</span>
+    <span class="o">&lt;</span><span class="n">beans:property</span> <span class="n">name</span><span class="o">=</span><span class="s">&quot;ssoHeaderEmail&quot;</span> <span class="n">value</span><span class="o">=</span><span class="s">&quot;Shib-InetOrgPerson-mail&quot;</span><span class="o">/&gt;</span>
+    <span class="o">&lt;</span><span class="n">beans:property</span> <span class="n">name</span><span class="o">=</span><span class="s">&quot;ssoHeaderDisplayName&quot;</span> <span class="n">value</span><span class="o">=</span><span class="s">&quot;displayName&quot;</span><span class="o">/&gt;</span>
+    <span class="o">&lt;</span><span class="n">beans:property</span> <span class="n">name</span><span class="o">=</span><span class="s">&quot;defaultPageLayout&quot;</span> <span class="n">value</span><span class="o">=</span><span class="s">&quot;columns_2&quot;</span><span class="o">/&gt;</span>
+    <span class="o">&lt;</span><span class="n">beans:property</span> <span class="n">name</span><span class="o">=</span><span class="s">&quot;defaultUserRole&quot;</span> <span class="n">value</span><span class="o">=</span><span class="s">&quot;ROLE_USER&quot;</span><span class="o">/&gt;</span>
+    <span class="o">&lt;</span><span class="n">beans:constructor</span><span class="o">-</span><span class="n">arg</span> <span class="nb">index</span><span class="o">=</span><span class="s">&quot;0&quot;</span> <span class="nb">ref</span><span class="o">=</span><span class="s">&quot;defaultNewAccountService&quot;</span><span class="o">/&gt;</span>
+    <span class="o">&lt;</span><span class="n">beans:constructor</span><span class="o">-</span><span class="n">arg</span> <span class="nb">index</span><span class="o">=</span><span class="s">&quot;1&quot;</span> <span class="nb">ref</span><span class="o">=</span><span class="s">&quot;userDetailsService&quot;</span><span class="o">/&gt;</span>
+    <span class="o">&lt;</span><span class="n">beans:constructor</span><span class="o">-</span><span class="n">arg</span> <span class="nb">index</span><span class="o">=</span><span class="s">&quot;2&quot;</span> <span class="nb">ref</span><span class="o">=</span><span class="s">&quot;defaultAuthorityService&quot;</span><span class="o">/&gt;</span>
+  <span class="sr">&lt;/beans:bean&gt;</span>
+
+  <span class="o">&lt;</span><span class="n">beans:bean</span> <span class="n">id</span><span class="o">=</span><span class="s">&quot;preauthAuthProvider&quot;</span>
+              <span class="n">class</span><span class="o">=</span><span class="s">&quot;org.springframework.security.web.authentication.preauth.PreAuthenticatedAuthenticationProvider&quot;</span><span class="o">&gt;</span>
+    <span class="o">&lt;</span><span class="n">beans:property</span> <span class="n">name</span><span class="o">=</span><span class="s">&quot;preAuthenticatedUserDetailsService&quot;</span><span class="o">&gt;</span>
+      <span class="o">&lt;</span><span class="n">beans:bean</span> <span class="n">id</span><span class="o">=</span><span class="s">&quot;userDetailsServiceWrapper&quot;</span>
+                  <span class="n">class</span><span class="o">=</span><span class="s">&quot;org.springframework.security.core.userdetails.UserDetailsByNameServiceWrapper&quot;</span><span class="o">&gt;</span>
+        <span class="o">&lt;</span><span class="n">beans:property</span> <span class="n">name</span><span class="o">=</span><span class="s">&quot;userDetailsService&quot;</span> <span class="nb">ref</span><span class="o">=</span><span class="s">&quot;userDetailsService&quot;</span><span class="o">/&gt;</span>
+      <span class="sr">&lt;/beans:bean&gt;</span>
+    <span class="sr">&lt;/beans:property&gt;</span>
+  <span class="sr">&lt;/beans:bean&gt;</span>
+
+  <span class="o">&lt;</span><span class="n">beans:bean</span> <span class="n">id</span><span class="o">=</span><span class="s">&quot;userDetailsService&quot;</span> <span class="n">class</span><span class="o">=</span><span class="s">&quot;org.apache.rave.portal.service.impl.DefaultUserService&quot;</span><span class="o">/&gt;</span>
+
+  <span class="o">&lt;</span><span class="n">authentication</span><span class="o">-</span><span class="n">manager</span> <span class="n">alias</span><span class="o">=</span><span class="s">&quot;authenticationManager&quot;</span><span class="o">&gt;</span>
+    <span class="o">&lt;</span><span class="n">authentication</span><span class="o">-</span><span class="n">provider</span> <span class="nb">ref</span><span class="o">=</span><span class="s">&quot;preauthAuthProvider&quot;</span><span class="o">/&gt;</span>
+  <span class="sr">&lt;/authentication-manager&gt;</span>
+
+<span class="sr">&lt;/beans:beans&gt;</span>
+</pre></div>
+
+
+<p>Change the <code>web.xml</code></p>
+<div class="codehilite"><pre><span class="nt">&lt;context-param&gt;</span>
+    <span class="nt">&lt;param-name&gt;</span>contextConfigLocation<span class="nt">&lt;/param-name&gt;</span>
+    <span class="nt">&lt;param-value&gt;</span>
+        /WEB-INF/dataContext.xml
+        /WEB-INF/applicationContext.xml
+        /WEB-INF/applicationContext-security-extension-sso.xml
+    <span class="nt">&lt;/param-value&gt;</span>
+<span class="nt">&lt;/context-param&gt;</span>
+</pre></div>
+
+
+<h2 id="5-customize-the-loginjsp">5) Customize the login.jsp</h2>
+<p>Create your own login.jsp with e.g. a welcome text and a link to your SSO login form.</p>
+  </div>
+
+  <div id="footer">
+    <div class="copyright">
+      <p>
+        Copyright &copy; 2011 The Apache Software Foundation, Licensed under
+        the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.
+        <br />
+        Apache and the Apache feather logos are trademarks of The Apache Software Foundation.
+      </p>
+    </div>
+  </div>
+
+</body>
+</html>

Added: websites/staging/rave/trunk/content/documentation/translate-portal.html
==============================================================================
--- websites/staging/rave/trunk/content/documentation/translate-portal.html (added)
+++ websites/staging/rave/trunk/content/documentation/translate-portal.html Mon Mar 26 19:51:18 2012
@@ -0,0 +1,94 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<!--
+
+    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.
+-->
+  <link rel="shortcut icon" href="/rave/images/RAVE-icon.ico" type="image/x-icon" />
+  <link href="/rave/css/rave.css" rel="stylesheet" type="text/css">
+  <title>How to translate the portal</title>
+  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+</head>
+
+<body>
+  <div id="banner">
+    <img id="logo" alt="Apache Rave" src="/rave/images/RAVE-logo_main-logo-small.png"/>
+  </div>
+  
+  <div id="navigation">
+  <h1 id="general">General</h1>
+<ul>
+<li><a href="/rave/index.html">About</a></li>
+<li><a href="/rave/documentation/index.html">Documentation</a></li>
+<li><a href="/rave/downloads.html">Downloads</a></li>
+<li><a href="/rave/license.html">License</a></li>
+</ul>
+<h1 id="community">Community</h1>
+<ul>
+<li><a href="/rave/get-involved.html">Get Involved</a></li>
+<li><a href="/rave/mailing-lists.html">Mailing Lists</a></li>
+<li><a href="/rave/people.html">People</a></li>
+</ul>
+<h1 id="development">Development</h1>
+<ul>
+<li><a href="/rave/source.html">Getting Started</a></li>
+<li><a href="/rave/ide-settings-and-debugging.html">IDE Settings and debugging</a></li>
+<li><a href="/rave/release-management.html">Release Management</a></li>
+<li><a href="/rave/issue-management.html">Issue Tracker</a></li>
+<li><a href="https://builds.apache.org/hudson/view/M-R/view/Rave/">Continuous Integration</a></li>
+<li><a href="https://analysis.apache.org/dashboard/index/58996">Sonar Dashboard</a></li>
+<li><a href="/rave/edit-website.html">Website</a></li>
+</ul>
+<h1 id="asf">ASF</h1>
+<ul>
+<li><a href="http://www.apache.org">Apache Software Foundation</a></li>
+<li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
+<li><a href="http://www.apache.org/foundation/sponsorship.html">Become a Sponsor</a></li>
+<li><a href="http://www.apache.org/security/">Security</a></li>
+</ul>
+  </div>
+
+  <div id="content">
+    <h1 class="title">How to translate the portal</h1>
+    <p>The labels in the portal are maintained in <a href="http://download.oracle.com/javase/tutorial/i18n/resbundle/concept.html">Resource Bundles</a>. The default language of the portal is English. In this example you are going to add french translations to the portal.</p>
+<h2 id="1-get-rave">1) Get Rave</h2>
+<p>There are multiple ways to build your custom Apache Rave instance, but the quickest is to use a Maven WAR overlay.  See <a href="rave-extensions.html">Extending Rave</a> for an example overlay.</p>
+<h2 id="2-add-your-translation">2) Add your translation</h2>
+<ul>
+<li>Create a file <code>messages_fr.properties</code> in <code>src/main/resources</code>.</li>
+<li>Copy the contents from the <a href="http://svn.apache.org/repos/asf/rave/trunk/rave-portal-resources/src/main/resources/messages.properties">default language file</a> into your new file</li>
+<li>Translate the values</li>
+</ul>
+<h2 id="3-build-and-test">3) Build and test</h2>
+<p>Build your custom Apache Rave project and deploy it.
+You will see the French translations in the portal if the preferred language of your browser is French.</p>
+<p><img alt="Setting French as preferred language in Firefox" src="/rave/images/screenshot_preference_preferred_language.png" /></p>
+  </div>
+
+  <div id="footer">
+    <div class="copyright">
+      <p>
+        Copyright &copy; 2011 The Apache Software Foundation, Licensed under
+        the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.
+        <br />
+        Apache and the Apache feather logos are trademarks of The Apache Software Foundation.
+      </p>
+    </div>
+  </div>
+
+</body>
+</html>

Added: websites/staging/rave/trunk/content/downloads.html
==============================================================================
--- websites/staging/rave/trunk/content/downloads.html (added)
+++ websites/staging/rave/trunk/content/downloads.html Mon Mar 26 19:51:18 2012
@@ -0,0 +1,188 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<!--
+
+    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.
+-->
+  <link rel="shortcut icon" href="/rave/images/RAVE-icon.ico" type="image/x-icon" />
+  <link href="/rave/css/rave.css" rel="stylesheet" type="text/css">
+  <title>Downloads</title>
+  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+</head>
+
+<body>
+  <div id="banner">
+    <img id="logo" alt="Apache Rave" src="/rave/images/RAVE-logo_main-logo-small.png"/>
+  </div>
+  
+  <div id="navigation">
+  <h1 id="general">General</h1>
+<ul>
+<li><a href="/rave/index.html">About</a></li>
+<li><a href="/rave/documentation/index.html">Documentation</a></li>
+<li><a href="/rave/downloads.html">Downloads</a></li>
+<li><a href="/rave/license.html">License</a></li>
+</ul>
+<h1 id="community">Community</h1>
+<ul>
+<li><a href="/rave/get-involved.html">Get Involved</a></li>
+<li><a href="/rave/mailing-lists.html">Mailing Lists</a></li>
+<li><a href="/rave/people.html">People</a></li>
+</ul>
+<h1 id="development">Development</h1>
+<ul>
+<li><a href="/rave/source.html">Getting Started</a></li>
+<li><a href="/rave/ide-settings-and-debugging.html">IDE Settings and debugging</a></li>
+<li><a href="/rave/release-management.html">Release Management</a></li>
+<li><a href="/rave/issue-management.html">Issue Tracker</a></li>
+<li><a href="https://builds.apache.org/hudson/view/M-R/view/Rave/">Continuous Integration</a></li>
+<li><a href="https://analysis.apache.org/dashboard/index/58996">Sonar Dashboard</a></li>
+<li><a href="/rave/edit-website.html">Website</a></li>
+</ul>
+<h1 id="asf">ASF</h1>
+<ul>
+<li><a href="http://www.apache.org">Apache Software Foundation</a></li>
+<li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
+<li><a href="http://www.apache.org/foundation/sponsorship.html">Become a Sponsor</a></li>
+<li><a href="http://www.apache.org/security/">Security</a></li>
+</ul>
+  </div>
+
+  <div id="content">
+    <h1 class="title">Downloads</h1>
+    <p>Apache Rave is still in its development phase; however, we are releasing alpha candidates on a monthly basis as we march toward a 1.0 release.</p>
+<p>All downloads can be verified using the Apache Rave code signing <a href="http://www.apache.org/dist/incubator/rave/KEYS">KEYS</a>.</p>
+<p>Below is a list of the current downloads:</p>
+<h4 id="current-version-09-incubating">Current Version (0.9-incubating)</h4>
+<ul>
+<li>Source: <ul>
+<li><a href="http://www.apache.org/dyn/closer.cgi/incubator/rave/0.9-incubating/rave-project-0.9-incubating-source-release.zip">rave-project-0.9-incubating-source-release.zip</a>  [<a href="http://www.apache.org/dist/incubator/rave/0.9-incubating/rave-project-0.9-incubating-source-release.zip.asc">asc</a>] [<a href="http://www.apache.org/dist/incubator/rave/0.9-incubating/rave-project-0.9-incubating-source-release.zip.md5">md5</a>]</li>
+</ul>
+</li>
+<li>Demo Binaries: <ul>
+<li><a href="http://www.apache.org/dyn/closer.cgi/incubator/rave/0.9-incubating/apache-rave-0.9-incubating-bin.tar.gz">apache-rave-0.9-incubating-bin.tar.gz</a> [<a href="http://www.apache.org/dist/incubator/rave/0.9-incubating/apache-rave-0.9-incubating-bin.tar.gz.asc">asc</a>] [<a href="http://www.apache.org/dist/incubator/rave/0.9-incubating/apache-rave-0.9-incubating-bin.tar.gz.md5">md5</a>]</li>
+<li><a href="http://www.apache.org/dyn/closer.cgi/incubator/rave/0.9-incubating/apache-rave-0.9-incubating-bin.zip">apache-rave-0.9-incubating-bin.zip</a> [<a href="http://www.apache.org/dist/incubator/rave/0.9-incubating/apache-rave-0.9-incubating-bin.zip.asc">asc</a>] [<a href="http://www.apache.org/dist/incubator/rave/0.9-incubating/apache-rave-0.9-incubating-bin.zip.md5">md5</a>]</li>
+</ul>
+</li>
+</ul>
+<h4 id="08-incubating">0.8-incubating</h4>
+<ul>
+<li>Source: <ul>
+<li><a href="http://www.apache.org/dyn/closer.cgi/incubator/rave/0.8-incubating/rave-project-0.8-incubating-source-release.zip">rave-project-0.8-incubating-source-release.zip</a>  [<a href="http://www.apache.org/dist/incubator/rave/0.8-incubating/rave-project-0.8-incubating-source-release.zip.asc">asc</a>] [<a href="http://www.apache.org/dist/incubator/rave/0.8-incubating/rave-project-0.8-incubating-source-release.zip.md5">md5</a>]</li>
+</ul>
+</li>
+<li>Demo Binaries: <ul>
+<li><a href="http://www.apache.org/dyn/closer.cgi/incubator/rave/0.8-incubating/apache-rave-0.8-incubating-bin.tar.gz">apache-rave-0.8-incubating-bin.tar.gz</a> [<a href="http://www.apache.org/dist/incubator/rave/0.8-incubating/apache-rave-0.8-incubating-bin.tar.gz.asc">asc</a>] [<a href="http://www.apache.org/dist/incubator/rave/0.8-incubating/apache-rave-0.8-incubating-bin.tar.gz.md5">md5</a>]</li>
+<li><a href="http://www.apache.org/dyn/closer.cgi/incubator/rave/0.8-incubating/apache-rave-0.8-incubating-bin.zip">apache-rave-0.8-incubating-bin.zip</a> [<a href="http://www.apache.org/dist/incubator/rave/0.8-incubating/apache-rave-0.8-incubating-bin.zip.asc">asc</a>] [<a href="http://www.apache.org/dist/incubator/rave/0.8-incubating/apache-rave-0.8-incubating-bin.zip.md5">md5</a>]</li>
+</ul>
+</li>
+</ul>
+<h5 id="07-incubating">0.7-incubating</h5>
+<ul>
+<li>Source: <ul>
+<li><a href="http://www.apache.org/dyn/closer.cgi/incubator/rave/0.7-incubating/rave-project-0.7-incubating-source-release.zip">rave-project-0.7-incubating-source-release.zip</a>  [<a href="http://www.apache.org/dist/incubator/rave/0.7-incubating/rave-project-0.7-incubating-source-release.zip.asc">asc</a>] [<a href="http://www.apache.org/dist/incubator/rave/0.7-incubating/rave-project-0.7-incubating-source-release.zip.md5">md5</a>]</li>
+</ul>
+</li>
+<li>Demo Binaries: <ul>
+<li><a href="http://www.apache.org/dyn/closer.cgi/incubator/rave/0.7-incubating/apache-rave-0.7-incubating-bin.tar.gz">apache-rave-0.7-incubating-bin.tar.gz</a> [<a href="http://www.apache.org/dist/incubator/rave/0.7-incubating/apache-rave-0.7-incubating-bin.tar.gz.asc">asc</a>] [<a href="http://www.apache.org/dist/incubator/rave/0.7-incubating/apache-rave-0.7-incubating-bin.tar.gz.md5">md5</a>]</li>
+<li><a href="http://www.apache.org/dyn/closer.cgi/incubator/rave/0.7-incubating/apache-rave-0.7-incubating-bin.zip">apache-rave-0.7-incubating-bin.zip</a> [<a href="http://www.apache.org/dist/incubator/rave/0.7-incubating/apache-rave-0.7-incubating-bin.zip.asc">asc</a>] [<a href="http://www.apache.org/dist/incubator/rave/0.7-incubating/apache-rave-0.7-incubating-bin.zip.md5">md5</a>]</li>
+</ul>
+</li>
+</ul>
+<h5 id="06-incubating">0.6-incubating</h5>
+<ul>
+<li>Source: <ul>
+<li><a href="http://www.apache.org/dyn/closer.cgi/incubator/rave/0.6-incubating/rave-project-0.6-incubating-source-release.zip">rave-project-0.6-incubating-source-release.zip</a>  [<a href="http://www.apache.org/dist/incubator/rave/0.6-incubating/rave-project-0.6-incubating-source-release.zip.asc">asc</a>] [<a href="http://www.apache.org/dist/incubator/rave/0.6-incubating/rave-project-0.6-incubating-source-release.zip.md5">md5</a>]</li>
+</ul>
+</li>
+<li>Demo Binaries: <ul>
+<li><a href="http://www.apache.org/dyn/closer.cgi/incubator/rave/0.6-incubating/apache-rave-0.6-incubating-bin.tar.gz">apache-rave-0.6-incubating-bin.tar.gz</a> [<a href="http://www.apache.org/dist/incubator/rave/0.6-incubating/apache-rave-0.6-incubating-bin.tar.gz.asc">asc</a>] [<a href="http://www.apache.org/dist/incubator/rave/0.6-incubating/apache-rave-0.6-incubating-bin.tar.gz.md5">md5</a>]</li>
+<li><a href="http://www.apache.org/dyn/closer.cgi/incubator/rave/0.6-incubating/apache-rave-0.6-incubating-bin.zip">apache-rave-0.6-incubating-bin.zip</a> [<a href="http://www.apache.org/dist/incubator/rave/0.6-incubating/apache-rave-0.6-incubating-bin.zip.asc">asc</a>] [<a href="http://www.apache.org/dist/incubator/rave/0.6-incubating/apache-rave-0.6-incubating-bin.zip.md5">md5</a>]</li>
+</ul>
+</li>
+</ul>
+<p><em>NOTE: Users have reported a rare error with the demo binary that results in Rave failing to start correctly.  See <a href="https://issues.apache.org/jira/browse/RAVE-382">RAVE-382</a> for more information.</em></p>
+<h5 id="05-incubating">0.5-incubating</h5>
+<ul>
+<li>Source: <ul>
+<li><a href="http://www.apache.org/dyn/closer.cgi/incubator/rave/0.5-incubating/rave-project-0.5-incubating-source-release.zip">rave-project-0.5-incubating-source-release.zip</a>  [<a href="http://www.apache.org/dist/incubator/rave/0.5-incubating/rave-project-0.5-incubating-source-release.zip.asc">asc</a>] [<a href="http://www.apache.org/dist/incubator/rave/0.5-incubating/rave-project-0.5-incubating-source-release.zip.md5">md5</a>]</li>
+</ul>
+</li>
+<li>Demo Binaries: <ul>
+<li><a href="http://www.apache.org/dyn/closer.cgi/incubator/rave/0.5-incubating/apache-rave-0.5-incubating-bin.tar.gz">apache-rave-0.5-incubating-bin.tar.gz</a> [<a href="http://www.apache.org/dist/incubator/rave/0.5-incubating/apache-rave-0.5-incubating-bin.tar.gz.asc">asc</a>] [<a href="http://www.apache.org/dist/incubator/rave/0.5-incubating/apache-rave-0.5-incubating-bin.tar.gz.md5">md5</a>]</li>
+<li><a href="http://www.apache.org/dyn/closer.cgi/incubator/rave/0.5-incubating/apache-rave-0.5-incubating-bin.zip">apache-rave-0.5-incubating-bin.zip</a> [<a href="http://www.apache.org/dist/incubator/rave/0.5-incubating/apache-rave-0.5-incubating-bin.zip.asc">asc</a>] [<a href="http://www.apache.org/dist/incubator/rave/0.5-incubating/apache-rave-0.5-incubating-bin.zip.md5">md5</a>]</li>
+</ul>
+</li>
+</ul>
+<h5 id="04-incubating">0.4-incubating</h5>
+<ul>
+<li>Source: <ul>
+<li><a href="http://www.apache.org/dyn/closer.cgi/incubator/rave/0.4-incubating/rave-project-0.4-incubating-source-release.zip">rave-project-0.4-incubating-source-release.zip</a>  [<a href="http://www.apache.org/dist/incubator/rave/0.4-incubating/rave-project-0.4-incubating-source-release.zip.asc">asc</a>] [<a href="http://www.apache.org/dist/incubator/rave/0.4-incubating/rave-project-0.4-incubating-source-release.zip.md5">md5</a>]</li>
+</ul>
+</li>
+<li>Demo Binaries: <ul>
+<li><a href="http://www.apache.org/dyn/closer.cgi/incubator/rave/0.4-incubating/apache-rave-0.4-incubating-bin.tar.gz">apache-rave-0.4-incubating-bin.tar.gz</a> [<a href="http://www.apache.org/dist/incubator/rave/0.4-incubating/apache-rave-0.4-incubating-bin.tar.gz.asc">asc</a>] [<a href="http://www.apache.org/dist/incubator/rave/0.4-incubating/apache-rave-0.4-incubating-bin.tar.gz.md5">md5</a>]</li>
+<li><a href="http://www.apache.org/dyn/closer.cgi/incubator/rave/0.4-incubating/apache-rave-0.4-incubating-bin.zip">apache-rave-0.4-incubating-bin.zip</a> [<a href="http://www.apache.org/dist/incubator/rave/0.4-incubating/apache-rave-0.4-incubating-bin.zip.asc">asc</a>] [<a href="http://www.apache.org/dist/incubator/rave/0.4-incubating/apache-rave-0.4-incubating-bin.zip.md5">md5</a>]</li>
+</ul>
+</li>
+</ul>
+<p><em>NOTE: You must extract the demo binaries to a directory that does <strong>NOT</strong> include a space</em></p>
+<h5 id="03-incubating">0.3-incubating</h5>
+<ul>
+<li>Source:<br />
+<ul>
+<li><a href="http://www.apache.org/dyn/closer.cgi/incubator/rave/0.3-incubating/rave-project-0.3-incubating-source-release.zip">rave-project-0.3-incubating-source-release.zip</a> [<a href="http://www.apache.org/dist/incubator/rave/0.3-incubating/rave-project-0.3-incubating-source-release.zip.asc">asc</a>] [<a href="http://www.apache.org/dist/incubator/rave/0.3-incubating/rave-project-0.3-incubating-source-release.zip.md5">md5</a>]<br />
+</li>
+</ul>
+</li>
+<li>Demo Binaries:<br />
+<ul>
+<li><a href="http://www.apache.org/dyn/closer.cgi/incubator/rave/0.3-incubating/rave-0.3-incubating-bin.tar.gz">rave-0.3-incubating-bin.tar.gz</a> [<a href="http://www.apache.org/dist/incubator/rave/0.3-incubating/rave-0.3-incubating-bin.tar.gz.asc">asc</a>] [<a href="http://www.apache.org/dist/incubator/rave/0.3-incubating/rave-0.3-incubating-bin.tar.gz.md5">md5</a>]</li>
+<li><a href="http://www.apache.org/dyn/closer.cgi/incubator/rave/0.3-incubating/rave-0.3-incubating-bin.zip">rave-0.3-incubating-bin.zip</a> [<a href="http://www.apache.org/dist/incubator/rave/0.3-incubating/rave-0.3-incubating-bin.zip.asc">asc</a>] [<a href="http://www.apache.org/dist/incubator/rave/0.3-incubating/rave-0.3-incubating-bin.zip.md5">md5</a>]</li>
+</ul>
+</li>
+</ul>
+<h5 id="02-incubating">0.2-incubating</h5>
+<p><em>The 0.2-incubating release was cancelled by the community</em></p>
+<h5 id="01-incubating">0.1-incubating</h5>
+<ul>
+<li>Source: <ul>
+<li><a href="http://www.apache.org/dyn/closer.cgi/incubator/rave/0.1-incubating/rave-project-0.1-incubating-source-release.zip">rave-project-0.1-incubating-source-release.zip</a> [<a href="http://www.apache.org/dist/incubator/rave/0.1-incubating/rave-project-0.1-incubating-source-release.zip.asc">asc</a>] [<a href="http://www.apache.org/dist/incubator/rave/0.1-incubating/rave-project-0.1-incubating-source-release.zip.md5">md5</a>]</li>
+</ul>
+</li>
+<li>Demo Binaries:<br />
+<ul>
+<li><a href="http://www.apache.org/dyn/closer.cgi/incubator/rave/0.1-incubating/rave-0.1-incubating-bin.tar.gz">rave-0.1-incubating-bin.tar.gz</a> [<a href="http://www.apache.org/dist/incubator/rave/0.1-incubating/rave-0.1-incubating-bin.tar.gz.asc">asc</a>] [<a href="http://www.apache.org/dist/incubator/rave/0.1-incubating/rave-0.1-incubating-bin.tar.gz.md5">md5</a>]</li>
+<li><a href="http://www.apache.org/dyn/closer.cgi/incubator/rave/0.1-incubating/rave-0.1-incubating-bin.zip">rave-0.1-incubating-bin.zip</a> [<a href="http://www.apache.org/dist/incubator/rave/0.1-incubating/rave-0.1-incubating-bin.zip.asc">asc</a>] [<a href="http://www.apache.org/dist/incubator/rave/0.1-incubating/rave-0.1-incubating-bin.zip.md5">md5</a>]</li>
+</ul>
+</li>
+</ul>
+  </div>
+
+  <div id="footer">
+    <div class="copyright">
+      <p>
+        Copyright &copy; 2011 The Apache Software Foundation, Licensed under
+        the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.
+        <br />
+        Apache and the Apache feather logos are trademarks of The Apache Software Foundation.
+      </p>
+    </div>
+  </div>
+
+</body>
+</html>

Added: websites/staging/rave/trunk/content/edit-website.html
==============================================================================
--- websites/staging/rave/trunk/content/edit-website.html (added)
+++ websites/staging/rave/trunk/content/edit-website.html Mon Mar 26 19:51:18 2012
@@ -0,0 +1,162 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<!--
+
+    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.
+-->
+  <link rel="shortcut icon" href="/rave/images/RAVE-icon.ico" type="image/x-icon" />
+  <link href="/rave/css/rave.css" rel="stylesheet" type="text/css">
+  <title>Website editing</title>
+  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+</head>
+
+<body>
+  <div id="banner">
+    <img id="logo" alt="Apache Rave" src="/rave/images/RAVE-logo_main-logo-small.png"/>
+  </div>
+  
+  <div id="navigation">
+  <h1 id="general">General</h1>
+<ul>
+<li><a href="/rave/index.html">About</a></li>
+<li><a href="/rave/documentation/index.html">Documentation</a></li>
+<li><a href="/rave/downloads.html">Downloads</a></li>
+<li><a href="/rave/license.html">License</a></li>
+</ul>
+<h1 id="community">Community</h1>
+<ul>
+<li><a href="/rave/get-involved.html">Get Involved</a></li>
+<li><a href="/rave/mailing-lists.html">Mailing Lists</a></li>
+<li><a href="/rave/people.html">People</a></li>
+</ul>
+<h1 id="development">Development</h1>
+<ul>
+<li><a href="/rave/source.html">Getting Started</a></li>
+<li><a href="/rave/ide-settings-and-debugging.html">IDE Settings and debugging</a></li>
+<li><a href="/rave/release-management.html">Release Management</a></li>
+<li><a href="/rave/issue-management.html">Issue Tracker</a></li>
+<li><a href="https://builds.apache.org/hudson/view/M-R/view/Rave/">Continuous Integration</a></li>
+<li><a href="https://analysis.apache.org/dashboard/index/58996">Sonar Dashboard</a></li>
+<li><a href="/rave/edit-website.html">Website</a></li>
+</ul>
+<h1 id="asf">ASF</h1>
+<ul>
+<li><a href="http://www.apache.org">Apache Software Foundation</a></li>
+<li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
+<li><a href="http://www.apache.org/foundation/sponsorship.html">Become a Sponsor</a></li>
+<li><a href="http://www.apache.org/security/">Security</a></li>
+</ul>
+  </div>
+
+  <div id="content">
+    <h1 class="title">Website editing</h1>
+    <p>This HowTo documentation will show the needed steps to edit the Apache Rave
+website. This includes creation of new pages, modification, and deletion - for files
+and sub-directories.</p>
+<h2 id="how-it-works-in-general">How it works in general</h2>
+<p>The website is hosted in a Content Management System (CMS). You will not edit the
+HTML pages directly. The actual edit is split into two steps:</p>
+<ol>
+<li>
+<p>First you edit the content which is provided as <a href="http://daringfireball.net/projects/markdown/syntax">Markdown text</a> (mdtext).
+    This will be committed into the staging section (see the SVN commit mail with
+    your log message) and automatically build HTML files out of the the mdtext files
+    (see the commit mail with "Staging update by buildbot" as log messge).</p>
+</li>
+<li>
+<p>Second you need to publish the staging part to the production section (see the
+    commit mail with "Publishing merge to Apache Rave site by <your Apache ID>"
+    as log message).</p>
+</li>
+</ol>
+<h2 id="what-do-you-prefer-working-via-command-line-or-in-the-browser">What do you prefer: Working via command line or in the browser?</h2>
+<h3 id="via-command-line">Via command line</h3>
+<p>It is assumed that you have already checked out the code from the SVN repository
+(http://svn.apache.org/repos/asf/rave/).</p>
+<p>Edit the file via your favorite editor like vi and finally commit via SVN:</p>
+<div class="codehilite"><pre> <span class="n">vi</span> <span class="n">myfile</span><span class="o">.</span><span class="n">mdtext</span>
+ <span class="n">svn</span> <span class="n">ci</span> <span class="o">-</span><span class="n">m</span><span class="s">&quot;My log message&quot;</span> <span class="n">myfile</span><span class="o">.</span><span class="n">mdtext</span>
+</pre></div>
+
+
+<p>Now wait a few seconds so that the entire website can be rebuilt. Then:</p>
+<div class="codehilite"><pre><span class="n">curl</span> <span class="o">-</span><span class="n">sL</span> <span class="n">http:</span><span class="sr">//s</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">org</span><span class="o">/</span><span class="n">cms</span><span class="o">-</span><span class="n">cli</span> <span class="o">|</span> <span class="n">perl</span>
+</pre></div>
+
+
+<p>If this does not work on your local machine just do it on "people.apache.org" by
+executing this:</p>
+<div class="codehilite"><pre><span class="n">ssh</span> <span class="o">-</span><span class="n">t</span> <span class="sr">&lt;user&gt;</span><span class="nv">@people</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">org</span> <span class="n">publish</span><span class="o">.</span><span class="n">pl</span> <span class="n">rave</span> <span class="o">&lt;</span><span class="n">your</span> <span class="n">Apache</span> <span class="n">ID</span><span class="o">&gt;</span>
+</pre></div>
+
+
+<h3 id="editing-in-the-browser">Editing in the browser</h3>
+<h4 id="prerequisites">Prerequisites</h4>
+<h5 id="browser-bookmark">Browser bookmark</h5>
+<p>Normally you see the webpage in your browser. To update this page with an
+inline-editor and little preview you need to add a link as bookmark to your browser
+(more information see <a href="https://cms.apache.org/#bookmark">here</a>).</p>
+<p>Drag this <a href="javascript:void(location.href='https://cms.apache.org/redirect?uri='+escape(location.href))">Apache CMS</a> bookmarklet to your browser's toolbar.</p>
+<h5 id="apache-id">Apache ID</h5>
+<p>Furthermore, you need an Apache ID to authenticate to the system.</p>
+<h4 id="starting">Starting</h4>
+<p>Browse to the respective webpage or directory you would like to edit and click on
+the bookmark. Now click on the [Edit this directory] link on the top. The following
+is displayed as content from the CMS.</p>
+<h4 id="edit-an-existing-webpage">Edit an existing webpage</h4>
+<p>Click on the actions link [Edit] in the appropriate table cell for editing the
+favorite file. If the file is not in this directory but in a subdir, just click on
+the directory name (e.g., "docs/") to enter this directory.</p>
+<p>Now you should see a new webpage with a 4 fields:</p>
+<ol>
+<li>Upper left is the inline editor for text in markdown syntax.</li>
+<li>Upper right shows the written text as a permanent preview or as HTML source code.</li>
+<li>Below the editor you can enter a log message.</li>
+<li>Enter a general header text, e.g., the license of the entered text.</li>
+</ol>
+<p>When you have finished writing your text, check the "Log message" box, enter a
+commit message and click on [Submit].</p>
+<h4 id="create-a-new-webpage">Create a new webpage</h4>
+<p>When in the correct directory, at the top enter a name for the new text file (e.g.,
+"my-file.mdtext"). Now you enter your text (see topic above).</p>
+<h4 id="create-new-subdirectory">Create new subdirectory</h4>
+<p>When in the correct directory, at the top enter a name for the new directory (e.g.,
+"my-dir/"). Make sure you entered a trailing "/"!</p>
+<h4 id="delete-a-webpage-or-subdirectory">Delete a webpage or subdirectory</h4>
+<p>When in the correct directory, click on the actions link [Delete] in the appropriate
+table cell and enter a commit message. Finally click on [Submit].</p>
+<h4 id="how-to-put-into-production">How to put into production?</h4>
+<p>After you have edited your files and/or directories, you need now to pubish your
+modifications into production. For this please click on the link
+[Publish site] on the top of the webpage. Enter a commit message on click on [Submit].</p>
+<h3 id="links">Links</h3>
+<p><a href="http://www.apache.org/dev/cmsref.html">CMS Documentation Reference</a></p>
+  </div>
+
+  <div id="footer">
+    <div class="copyright">
+      <p>
+        Copyright &copy; 2011 The Apache Software Foundation, Licensed under
+        the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.
+        <br />
+        Apache and the Apache feather logos are trademarks of The Apache Software Foundation.
+      </p>
+    </div>
+  </div>
+
+</body>
+</html>

Added: websites/staging/rave/trunk/content/get-involved.html
==============================================================================
--- websites/staging/rave/trunk/content/get-involved.html (added)
+++ websites/staging/rave/trunk/content/get-involved.html Mon Mar 26 19:51:18 2012
@@ -0,0 +1,141 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<!--
+
+    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.
+-->
+  <link rel="shortcut icon" href="/rave/images/RAVE-icon.ico" type="image/x-icon" />
+  <link href="/rave/css/rave.css" rel="stylesheet" type="text/css">
+  <title>Get Involved</title>
+  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+</head>
+
+<body>
+  <div id="banner">
+    <img id="logo" alt="Apache Rave" src="/rave/images/RAVE-logo_main-logo-small.png"/>
+  </div>
+  
+  <div id="navigation">
+  <h1 id="general">General</h1>
+<ul>
+<li><a href="/rave/index.html">About</a></li>
+<li><a href="/rave/documentation/index.html">Documentation</a></li>
+<li><a href="/rave/downloads.html">Downloads</a></li>
+<li><a href="/rave/license.html">License</a></li>
+</ul>
+<h1 id="community">Community</h1>
+<ul>
+<li><a href="/rave/get-involved.html">Get Involved</a></li>
+<li><a href="/rave/mailing-lists.html">Mailing Lists</a></li>
+<li><a href="/rave/people.html">People</a></li>
+</ul>
+<h1 id="development">Development</h1>
+<ul>
+<li><a href="/rave/source.html">Getting Started</a></li>
+<li><a href="/rave/ide-settings-and-debugging.html">IDE Settings and debugging</a></li>
+<li><a href="/rave/release-management.html">Release Management</a></li>
+<li><a href="/rave/issue-management.html">Issue Tracker</a></li>
+<li><a href="https://builds.apache.org/hudson/view/M-R/view/Rave/">Continuous Integration</a></li>
+<li><a href="https://analysis.apache.org/dashboard/index/58996">Sonar Dashboard</a></li>
+<li><a href="/rave/edit-website.html">Website</a></li>
+</ul>
+<h1 id="asf">ASF</h1>
+<ul>
+<li><a href="http://www.apache.org">Apache Software Foundation</a></li>
+<li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
+<li><a href="http://www.apache.org/foundation/sponsorship.html">Become a Sponsor</a></li>
+<li><a href="http://www.apache.org/security/">Security</a></li>
+</ul>
+  </div>
+
+  <div id="content">
+    <h1 class="title">Get Involved</h1>
+    <p>You don't need to be a software developer to contribute to 
+Apache Rave. To be successful this project 
+requires a huge range of different skills, levels of involvement and degrees of 
+technical expertise. So, if you want to get involved in Apache Rave, there 
+is almost certainly a role for you. </p>
+<p>We are looking for people to:</p>
+<ul>
+<li>provide feedback</li>
+<li>write or update documentation</li>
+<li>help new users</li>
+<li>recommend the project to others</li>
+<li>test the code and report bugs</li>
+<li>fix bugs</li>
+<li>give us feedback on required features</li>
+<li>write and update the software</li>
+<li>create artwork</li>
+<li>translate to different languages</li>
+<li>anything you can see that needs doing</li>
+</ul>
+<p>All of these contributions help to keep a project active and strengthen 
+the community. The project team and the broader community will 
+therefore welcome and encourage participation, and attempt to make it 
+as easy as possible for people to get involved. </p>
+<h2 id="mailing-lists">Mailing lists</h2>
+<p>Your first engagement with the project should be to subscribe to our
+<a href="/rave/mailing-lists.html">mailing lists</a>.</p>
+<h2 id="decision-making">Decision Making</h2>
+<p>The most important thing about engaging with any Apache project is that everyone
+is equal. All people with an opinion are entitled to express that opinion and, where 
+appropriate, have it considered by the community.</p>
+<p>To some the idea of having to establish consensus in a large and distributed team 
+sounds inefficient and frustrating. Don't despair though, The Apache Way has a
+set of simple processes to ensure things proceed at a good pace.</p>
+<p>In ASF projects we don't like to vote. We reserve that for the few things that need 
+official approval for legal or process reasons (e.g. a release or a new committer). 
+Most of the time we work with the consensus building techniques documented below.</p>
+<h3 id="lazy-consensus">Lazy Consensus</h3>
+<p><a href="/rave/docs/governance/lazyConsensus.html">Lazy consensus</a> is the first, and possibly the most important, consensus building 
+tool we have. Essentially lazy consensus means that you don't need to get explicit
+approval to proceed, but you need to be prepared to listen if someone objects.</p>
+<h3 id="consensus-building">Consensus Building</h3>
+<p>Sometimes lazy consensus is not appropriate. In such cases it is necessary to
+make a proposal to the mailing list and discuss options. There are mechanisms
+for quickly showing your support or otherwise for a proposal and 
+<a href="/rave/docs/governance/consensusBuilding.html">building consensus</a> amongst the community.</p>
+<p>Once there is a consensus people can proceed with the work under the <a href="/rave/docs/governance/lazyConsensus.html">lazy 
+consensus</a> model.</p>
+<h3 id="voting">Voting</h3>
+<p>Occasionally a "feel" for consensus is not enough. Sometimes we need to 
+have a measurable consensus. For example, when <a href="/rave/docs/governance/voting.html">voting</a> in new committers or 
+to approve a release. </p>
+<h2 id="contributing-guidelines">Contributing Guidelines</h2>
+<p>We welcome code contributions for both existing and new project issues.  If you wish to contribute a solution to an existing entry in 
+<a href="https://issues.apache.org/jira/browse/RAVE">Rave's Jira</a>, please first comment on the issue to provide a description and patch for your solution.  Submitting the patch to
+Apache's Jira and selecting the "Grant license to ASF for inclusion" option is required. Then submit your patch to 
+the <a href="https://reviews.apache.org">Apache review system</a> and post a review request to the Apache Rave developer mailing list.</p>
+<p>If you wish to submit a solution to a problem that has not been identified in Rave's Jira, first create the new issue following our 
+<a href="/rave/issue-management.html">guidelines</a> and then submit your patch to the review system as before.</p>
+<p>In either case, the easiest way to create a patch on the command line is by running the command ''svn diff &gt; Rave-XYZ.patch'' from 
+the top level Apache Rave directory, where XYZ is the Jira issue number.</p>
+  </div>
+
+  <div id="footer">
+    <div class="copyright">
+      <p>
+        Copyright &copy; 2011 The Apache Software Foundation, Licensed under
+        the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.
+        <br />
+        Apache and the Apache feather logos are trademarks of The Apache Software Foundation.
+      </p>
+    </div>
+  </div>
+
+</body>
+</html>