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 [2/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/configure-database.html
==============================================================================
--- websites/staging/rave/trunk/content/documentation/configure-database.html (added)
+++ websites/staging/rave/trunk/content/documentation/configure-database.html Mon Mar 26 19:51:18 2012
@@ -0,0 +1,718 @@
+<!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>Configure the databases</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">Configure the databases</h1>
+    <h2 id="default-setup">Default setup</h2>
+<p>In the default setup, Apache Rave uses a file-based <a href="http://www.h2database.com/">H2 database</a>. Apache Rave and Apache Shindig run in the same Apache Tomcat server as
+separate web applications but share data, so we use H2's <a href="http://www.h2database.com/html/features.html#auto_mixed_mode">Automatic Mixed Mode</a>.</p>
+<h3 id="filling-the-default-database">Filling the default database</h3>
+<p>All schemes are generated using JPA annotations. The H2 database is populated with low level SQL queries using the DataSourcePopulator which is configured as Spring bean. These queries are not guaranteed to work for a different database.</p>
+<div class="codehilite"><pre><span class="nt">&lt;bean</span> <span class="na">id=</span><span class="s">&quot;dataSourcePopulator&quot;</span> <span class="na">class=</span><span class="s">&quot;org.apache.rave.jdbc.util.DataSourcePopulator&quot;</span><span class="nt">&gt;</span>
+    <span class="nt">&lt;property</span> <span class="na">name=</span><span class="s">&quot;executeScriptQuery&quot;</span> <span class="na">value=</span><span class="s">&quot;SELECT * FROM WIDGET&quot;</span><span class="nt">/&gt;</span>
+    <span class="nt">&lt;property</span> <span class="na">name=</span><span class="s">&quot;scriptLocations&quot;</span><span class="nt">&gt;</span>
+        <span class="nt">&lt;list&gt;</span>
+            <span class="nt">&lt;value&gt;</span>classpath:initial_data.sql<span class="nt">&lt;/value&gt;</span>
+        <span class="nt">&lt;/list&gt;</span>
+    <span class="nt">&lt;/property&gt;</span>
+<span class="nt">&lt;/bean&gt;</span>
+</pre></div>
+
+
+<p>If the query in <code>executeScriptQuery</code> returns no error and no results, the database will be populated with the contents of <code>scriptLocations</code>.</p>
+<h3 id="access-the-default-database">Access the default database</h3>
+<p>When the application is running, the H2 databases can be accessed through a web interface. In the default setup this is configured using a Spring bean:</p>
+<div class="codehilite"><pre><span class="nt">&lt;bean</span> <span class="na">id=</span><span class="s">&quot;org.h2.tools.Server-WebServer&quot;</span> <span class="na">class=</span><span class="s">&quot;org.h2.tools.Server&quot;</span>
+      <span class="na">factory-method=</span><span class="s">&quot;createWebServer&quot;</span> <span class="na">depends-on=</span><span class="s">&quot;dataSource&quot;</span>
+      <span class="na">init-method=</span><span class="s">&quot;start&quot;</span> <span class="na">lazy-init=</span><span class="s">&quot;false&quot;</span> <span class="na">destroy-method=</span><span class="s">&quot;stop&quot;</span><span class="nt">&gt;</span>
+    <span class="nt">&lt;constructor-arg</span> <span class="na">value=</span><span class="s">&quot;-web,-webPort,11111&quot;</span><span class="nt">/&gt;</span>
+<span class="nt">&lt;/bean&gt;</span>
+</pre></div>
+
+
+<p>Both Apache Rave and Apache Shindig are accessible from the database: <a href="http://localhost:11111">http://localhost:11111</a>.  The default
+username is <code>sa</code>, password is <code>local</code>, and JDBC URL is <code>jdbc:h2:file:///tmp/rave_db</code>. In Windows the JDBC URL is <code>jdbc:h2:file://c:/tmp/rave_db</code> if you run Apache Rave from the c: drive.<br />
+</p>
+<p>You can change the file location for both databases by editing Apache Rave's top level pom.xml file. Change the property <code>rave.database.location</code> to the desired
+value.</p>
+<h2 id="setup-a-different-database">Setup a different database</h2>
+<p>First start with <a href="rave-extensions.html">extending Rave</a>.</p>
+<p>Make sure the JDBC driver ends up in the classpath. Either add it to a common lib directory of the application container or add its dependency to the pom of the several modules.</p>
+<p>Then customize the properties for the portal and Shindig to use the database of your choice.
+The default portal properties can be found in <code>rave-portal/src/main/resources/portal.properties</code>, the default Shindig properties in <code>rave-shindig/src/main/resource/rave.shindig.properties</code>.</p>
+<h2 id="sample-values">Sample values</h2>
+<h3 id="mysql">MySQL</h3>
+<h4 id="jdbc-driver">JDBC driver</h4>
+<div class="codehilite"><pre><span class="nt">&lt;dependency&gt;</span>
+    <span class="nt">&lt;groupId&gt;</span>mysql<span class="nt">&lt;/groupId&gt;</span>
+    <span class="nt">&lt;artifactId&gt;</span>mysql-connector-java<span class="nt">&lt;/artifactId&gt;</span>
+    <span class="nt">&lt;version&gt;</span>5.1.15<span class="nt">&lt;/version&gt;</span>
+<span class="nt">&lt;/dependency&gt;</span>
+</pre></div>
+
+
+<h4 id="properties">Properties</h4>
+<p>Apache Rave portal:</p>
+<div class="codehilite"><pre><span class="n">portal</span><span class="o">.</span><span class="n">dataSource</span><span class="o">.</span><span class="n">url</span><span class="o">=</span><span class="n">jdbc:mysql:</span><span class="sr">//</span><span class="n">localhost:3306</span><span class="o">/</span><span class="n">rave</span><span class="o">-</span><span class="n">portal</span>
+<span class="n">portal</span><span class="o">.</span><span class="n">dataSource</span><span class="o">.</span><span class="n">driver</span><span class="o">=</span><span class="n">com</span><span class="o">.</span><span class="n">mysql</span><span class="o">.</span><span class="n">jdbc</span><span class="o">.</span><span class="n">Driver</span>
+<span class="n">portal</span><span class="o">.</span><span class="n">dataSource</span><span class="o">.</span><span class="n">username</span><span class="o">=</span><span class="n">rave</span>
+<span class="n">portal</span><span class="o">.</span><span class="n">dataSource</span><span class="o">.</span><span class="n">password</span><span class="o">=</span><span class="n">rave</span>
+
+<span class="n">portal</span><span class="o">.</span><span class="n">jpaDialect</span><span class="o">=</span><span class="n">org</span><span class="o">.</span><span class="n">springframework</span><span class="o">.</span><span class="n">orm</span><span class="o">.</span><span class="n">jpa</span><span class="o">.</span><span class="n">DefaultJpaDialect</span>
+<span class="n">portal</span><span class="o">.</span><span class="n">jpaVendorAdapter</span><span class="o">.</span><span class="n">databasePlatform</span><span class="o">=</span><span class="n">org</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">openjpa</span><span class="o">.</span><span class="n">jdbc</span><span class="o">.</span><span class="n">sql</span><span class="o">.</span><span class="n">MySQLDictionary</span>
+<span class="n">portal</span><span class="o">.</span><span class="n">jpaVendorAdapter</span><span class="o">.</span><span class="n">database</span><span class="o">=</span><span class="n">MYSQL</span>
+</pre></div>
+
+
+<p>OpenSocial container (Apache Shindig):</p>
+<div class="codehilite"><pre><span class="n">rave</span><span class="o">-</span><span class="n">shindig</span><span class="o">.</span><span class="n">dataSource</span><span class="o">.</span><span class="n">url</span><span class="o">=</span><span class="n">jdbc:mysql:</span><span class="sr">//</span><span class="n">localhost:3306</span><span class="o">/</span><span class="n">rave</span><span class="o">-</span><span class="n">shindig</span>
+<span class="n">rave</span><span class="o">-</span><span class="n">shindig</span><span class="o">.</span><span class="n">dataSource</span><span class="o">.</span><span class="n">driver</span><span class="o">=</span><span class="n">com</span><span class="o">.</span><span class="n">mysql</span><span class="o">.</span><span class="n">jdbc</span><span class="o">.</span><span class="n">Driver</span>
+<span class="n">rave</span><span class="o">-</span><span class="n">shindig</span><span class="o">.</span><span class="n">dataSource</span><span class="o">.</span><span class="n">username</span><span class="o">=</span><span class="n">rave</span>
+<span class="n">rave</span><span class="o">-</span><span class="n">shindig</span><span class="o">.</span><span class="n">dataSource</span><span class="o">.</span><span class="n">password</span><span class="o">=</span><span class="n">rave</span>
+
+<span class="n">rave</span><span class="o">-</span><span class="n">shindig</span><span class="o">.</span><span class="n">jpaDialect</span><span class="o">=</span><span class="n">org</span><span class="o">.</span><span class="n">springframework</span><span class="o">.</span><span class="n">orm</span><span class="o">.</span><span class="n">jpa</span><span class="o">.</span><span class="n">DefaultJpaDialect</span>
+<span class="n">rave</span><span class="o">-</span><span class="n">shindig</span><span class="o">.</span><span class="n">jpaVendorAdapter</span><span class="o">.</span><span class="n">databasePlatform</span><span class="o">=</span><span class="n">org</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">openjpa</span><span class="o">.</span><span class="n">jdbc</span><span class="o">.</span><span class="n">sql</span><span class="o">.</span><span class="n">MySQLDictionary</span>
+<span class="n">rave</span><span class="o">-</span><span class="n">shindig</span><span class="o">.</span><span class="n">jpaVendorAdapter</span><span class="o">.</span><span class="n">database</span><span class="o">=</span><span class="n">MYSQL</span>
+</pre></div>
+
+
+<h4 id="notes">Notes</h4>
+<p>The DataSourcePopulator uses a single statement to execute all queries in the configured SQL files. The MySQL JDBC driver does not allow this by default, unless you add <code>allowMultiQueries=true</code> to the driver URL.</p>
+<h3 id="postgresql">PostgreSQL</h3>
+<h4 id="jdbc-driver_1">JDBC driver</h4>
+<div class="codehilite"><pre><span class="nt">&lt;dependency&gt;</span>
+    <span class="nt">&lt;groupId&gt;</span>postgresql<span class="nt">&lt;/groupId&gt;</span>
+    <span class="nt">&lt;artifactId&gt;</span>postgresql<span class="nt">&lt;/artifactId&gt;</span>
+    <span class="nt">&lt;version&gt;</span>9.0-801.jdbc4<span class="nt">&lt;/version&gt;</span>
+<span class="nt">&lt;/dependency&gt;</span>
+</pre></div>
+
+
+<h4 id="properties_1">Properties</h4>
+<p>Apache Rave portal:</p>
+<div class="codehilite"><pre><span class="n">portal</span><span class="o">.</span><span class="n">dataSource</span><span class="o">.</span><span class="n">url</span><span class="o">=</span><span class="n">jdbc:postgresql:</span><span class="sr">//</span><span class="n">localhost:5432</span><span class="o">/</span><span class="n">rave</span><span class="o">-</span><span class="n">portal</span>
+<span class="n">portal</span><span class="o">.</span><span class="n">dataSource</span><span class="o">.</span><span class="n">driver</span><span class="o">=</span><span class="n">org</span><span class="o">.</span><span class="n">postgresql</span><span class="o">.</span><span class="n">Driver</span>
+<span class="n">portal</span><span class="o">.</span><span class="n">dataSource</span><span class="o">.</span><span class="n">username</span><span class="o">=</span><span class="n">rave</span>
+<span class="n">portal</span><span class="o">.</span><span class="n">dataSource</span><span class="o">.</span><span class="n">password</span><span class="o">=</span><span class="n">rave</span>
+
+<span class="n">portal</span><span class="o">.</span><span class="n">jpaDialect</span><span class="o">=</span><span class="n">org</span><span class="o">.</span><span class="n">springframework</span><span class="o">.</span><span class="n">orm</span><span class="o">.</span><span class="n">jpa</span><span class="o">.</span><span class="n">DefaultJpaDialect</span>
+<span class="n">portal</span><span class="o">.</span><span class="n">jpaVendorAdapter</span><span class="o">.</span><span class="n">databasePlatform</span><span class="o">=</span><span class="n">org</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">openjpa</span><span class="o">.</span><span class="n">jdbc</span><span class="o">.</span><span class="n">sql</span><span class="o">.</span><span class="n">PostgresDictionary</span>
+<span class="n">portal</span><span class="o">.</span><span class="n">jpaVendorAdapter</span><span class="o">.</span><span class="n">database</span><span class="o">=</span><span class="n">POSTGRESQL</span>
+</pre></div>
+
+
+<p>OpenSocial container (Apache Shindig):</p>
+<div class="codehilite"><pre><span class="n">rave</span><span class="o">-</span><span class="n">shindig</span><span class="o">.</span><span class="n">dataSource</span><span class="o">.</span><span class="n">url</span><span class="o">=</span><span class="n">jdbc:postgresql:</span><span class="sr">//</span><span class="n">localhost:5432</span><span class="o">/</span><span class="n">rave</span><span class="o">-</span><span class="n">portal</span>
+<span class="n">rave</span><span class="o">-</span><span class="n">shindig</span><span class="o">.</span><span class="n">dataSource</span><span class="o">.</span><span class="n">driver</span><span class="o">=</span><span class="n">org</span><span class="o">.</span><span class="n">postgresql</span><span class="o">.</span><span class="n">Driver</span>
+<span class="n">rave</span><span class="o">-</span><span class="n">shindig</span><span class="o">.</span><span class="n">dataSource</span><span class="o">.</span><span class="n">username</span><span class="o">=</span><span class="n">rave</span>
+<span class="n">rave</span><span class="o">-</span><span class="n">shindig</span><span class="o">.</span><span class="n">dataSource</span><span class="o">.</span><span class="n">password</span><span class="o">=</span><span class="n">rave</span>
+
+<span class="n">rave</span><span class="o">-</span><span class="n">shindig</span><span class="o">.</span><span class="n">jpaDialect</span><span class="o">=</span><span class="n">org</span><span class="o">.</span><span class="n">springframework</span><span class="o">.</span><span class="n">orm</span><span class="o">.</span><span class="n">jpa</span><span class="o">.</span><span class="n">DefaultJpaDialect</span>
+<span class="n">rave</span><span class="o">-</span><span class="n">shindig</span><span class="o">.</span><span class="n">jpaVendorAdapter</span><span class="o">.</span><span class="n">databasePlatform</span><span class="o">=</span><span class="n">org</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">openjpa</span><span class="o">.</span><span class="n">jdbc</span><span class="o">.</span><span class="n">sql</span><span class="o">.</span><span class="n">PostgresDictionary</span>
+<span class="n">rave</span><span class="o">-</span><span class="n">shindig</span><span class="o">.</span><span class="n">jpaVendorAdapter</span><span class="o">.</span><span class="n">database</span><span class="o">=</span><span class="n">POSTGRESQL</span>
+</pre></div>
+
+
+<h4 id="notes_1">Notes</h4>
+<ul>
+<li>The DataSourcePopulator cannot handle a PostgreSQL database that has not yet been initialized.</li>
+<li>The syntax for setting variables in SQL queries in PostgreSQL is different from the syntax in H2 databases. Therefore the default data cannot be loaded using the initial_data.sql file.</li>
+</ul>
+<h3 id="oracle-10g">Oracle 10g</h3>
+<h4 id="jdbc-driver_2">JDBC driver</h4>
+<p>Install the <a href="http://www.oracle.com/technetwork/database/features/jdbc/index-091264.html">Oracle JDBC driver</a> in the lib directory of your Apache Tomcat instance. This driver is not available in a public Maven repository.</p>
+<h4 id="properties_2">Properties</h4>
+<p>Apache Rave portal:</p>
+<div class="codehilite"><pre><span class="n">portal</span><span class="o">.</span><span class="n">dataSource</span><span class="o">.</span><span class="n">url</span><span class="o">=</span><span class="n">jdbc:oracle:thin:</span><span class="nv">@localhost:1521:raveportal</span>
+<span class="n">portal</span><span class="o">.</span><span class="n">dataSource</span><span class="o">.</span><span class="n">driver</span><span class="o">=</span><span class="n">oracle</span><span class="o">.</span><span class="n">jdbc</span><span class="o">.</span><span class="n">OracleDriver</span>
+<span class="n">portal</span><span class="o">.</span><span class="n">dataSource</span><span class="o">.</span><span class="n">username</span><span class="o">=</span><span class="n">rave</span>
+<span class="n">portal</span><span class="o">.</span><span class="n">dataSource</span><span class="o">.</span><span class="n">password</span><span class="o">=</span><span class="n">rave</span>
+
+<span class="n">portal</span><span class="o">.</span><span class="n">jpaDialect</span><span class="o">=</span><span class="n">org</span><span class="o">.</span><span class="n">springframework</span><span class="o">.</span><span class="n">orm</span><span class="o">.</span><span class="n">jpa</span><span class="o">.</span><span class="n">DefaultJpaDialect</span>
+<span class="n">portal</span><span class="o">.</span><span class="n">jpaVendorAdapter</span><span class="o">.</span><span class="n">databasePlatform</span><span class="o">=</span><span class="n">org</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">openjpa</span><span class="o">.</span><span class="n">jdbc</span><span class="o">.</span><span class="n">sql</span><span class="o">.</span><span class="n">OracleDictionary</span>
+<span class="n">portal</span><span class="o">.</span><span class="n">jpaVendorAdapter</span><span class="o">.</span><span class="n">database</span><span class="o">=</span><span class="n">ORACLE</span>
+</pre></div>
+
+
+<p>OpenSocial container (Apache Shindig):</p>
+<div class="codehilite"><pre><span class="n">rave</span><span class="o">-</span><span class="n">shindig</span><span class="o">.</span><span class="n">dataSource</span><span class="o">.</span><span class="n">url</span><span class="o">=</span><span class="n">jdbc:oracle:thin:</span><span class="nv">@localhost:1521:raveportal</span>
+<span class="n">rave</span><span class="o">-</span><span class="n">shindig</span><span class="o">.</span><span class="n">dataSource</span><span class="o">.</span><span class="n">driver</span><span class="o">=</span><span class="n">oracle</span><span class="o">.</span><span class="n">jdbc</span><span class="o">.</span><span class="n">OracleDriver</span>
+<span class="n">rave</span><span class="o">-</span><span class="n">shindig</span><span class="o">.</span><span class="n">dataSource</span><span class="o">.</span><span class="n">username</span><span class="o">=</span><span class="n">rave</span>
+<span class="n">rave</span><span class="o">-</span><span class="n">shindig</span><span class="o">.</span><span class="n">dataSource</span><span class="o">.</span><span class="n">password</span><span class="o">=</span><span class="n">rave</span>
+
+<span class="n">rave</span><span class="o">-</span><span class="n">shindig</span><span class="o">.</span><span class="n">jpaDialect</span><span class="o">=</span><span class="n">org</span><span class="o">.</span><span class="n">springframework</span><span class="o">.</span><span class="n">orm</span><span class="o">.</span><span class="n">jpa</span><span class="o">.</span><span class="n">DefaultJpaDialect</span>
+<span class="n">rave</span><span class="o">-</span><span class="n">shindig</span><span class="o">.</span><span class="n">jpaVendorAdapter</span><span class="o">.</span><span class="n">databasePlatform</span><span class="o">=</span><span class="n">org</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">openjpa</span><span class="o">.</span><span class="n">jdbc</span><span class="o">.</span><span class="n">sql</span><span class="o">.</span><span class="n">OracleDictionary</span>
+<span class="n">rave</span><span class="o">-</span><span class="n">shindig</span><span class="o">.</span><span class="n">jpaVendorAdapter</span><span class="o">.</span><span class="n">database</span><span class="o">=</span><span class="n">ORACLE</span>
+</pre></div>
+
+
+<h4 id="initial-data">Initial data</h4>
+<p>The syntax for setting variables in SQL queries in Oracle is different from the syntax in H2 databases. Therefore the default data cannot be loaded using the initial_data.sql file.
+OpenJPA can create the schema. With help from <a href="http://www.oracle.com/technetwork/developer-tools/sql-developer/downloads/index.html">Oracle SQL Developer</a> the minimal set of necessary data can be inserted. The script below inserts the Apache Rave portal sequences, the page layouts and granted permissions:</p>
+<div class="codehilite"><pre><span class="n">SET</span> <span class="n">serveroutput</span> <span class="n">ON</span>
+<span class="n">SET</span> <span class="n">echo</span> <span class="n">OFF</span>
+<span class="n">DECLARE</span>
+  <span class="n">page_seq</span>               <span class="n">VARCHAR2</span><span class="p">(</span><span class="mi">128</span><span class="p">)</span> <span class="p">:</span><span class="o">=</span> <span class="s">&#39;page&#39;</span><span class="p">;</span>
+  <span class="n">page_layout_seq</span>        <span class="n">VARCHAR2</span><span class="p">(</span><span class="mi">128</span><span class="p">)</span> <span class="p">:</span><span class="o">=</span> <span class="s">&#39;page_layout&#39;</span><span class="p">;</span>
+  <span class="n">region_seq</span>             <span class="n">VARCHAR2</span><span class="p">(</span><span class="mi">128</span><span class="p">)</span> <span class="p">:</span><span class="o">=</span> <span class="s">&#39;region&#39;</span><span class="p">;</span>
+  <span class="n">region_widget_seq</span>      <span class="n">VARCHAR2</span><span class="p">(</span><span class="mi">128</span><span class="p">)</span> <span class="p">:</span><span class="o">=</span> <span class="s">&#39;region_widget&#39;</span><span class="p">;</span>
+  <span class="n">user_seq</span>               <span class="n">VARCHAR2</span><span class="p">(</span><span class="mi">128</span><span class="p">)</span> <span class="p">:</span><span class="o">=</span> <span class="s">&#39;person&#39;</span><span class="p">;</span>
+  <span class="n">person_association_seq</span> <span class="n">VARCHAR2</span><span class="p">(</span><span class="mi">128</span><span class="p">)</span> <span class="p">:</span><span class="o">=</span> <span class="s">&#39;person_association&#39;</span><span class="p">;</span>
+  <span class="n">groups_seq</span>             <span class="n">VARCHAR2</span><span class="p">(</span><span class="mi">128</span><span class="p">)</span> <span class="p">:</span><span class="o">=</span> <span class="s">&#39;groups&#39;</span><span class="p">;</span>
+  <span class="n">group_members_seq</span>      <span class="n">VARCHAR2</span><span class="p">(</span><span class="mi">128</span><span class="p">)</span> <span class="p">:</span><span class="o">=</span> <span class="s">&#39;group_members&#39;</span><span class="p">;</span>
+  <span class="n">widget_seq</span>             <span class="n">VARCHAR2</span><span class="p">(</span><span class="mi">128</span><span class="p">)</span> <span class="p">:</span><span class="o">=</span> <span class="s">&#39;widget&#39;</span><span class="p">;</span>
+  <span class="n">granted_authority_seq</span>  <span class="n">VARCHAR2</span><span class="p">(</span><span class="mi">128</span><span class="p">)</span> <span class="p">:</span><span class="o">=</span> <span class="s">&#39;granted_authority&#39;</span><span class="p">;</span>
+  <span class="n">widget_comment_seq</span>     <span class="n">VARCHAR2</span><span class="p">(</span><span class="mi">128</span><span class="p">)</span> <span class="p">:</span><span class="o">=</span> <span class="s">&#39;widget_comment&#39;</span><span class="p">;</span>
+  <span class="n">widget_rating_seq</span>      <span class="n">VARCHAR2</span><span class="p">(</span><span class="mi">128</span><span class="p">)</span> <span class="p">:</span><span class="o">=</span> <span class="s">&#39;widget_rating&#39;</span><span class="p">;</span>
+  <span class="n">portal_preference_seq</span>  <span class="n">VARCHAR2</span><span class="p">(</span><span class="mi">128</span><span class="p">)</span> <span class="p">:</span><span class="o">=</span> <span class="s">&#39;portal_preference&#39;</span><span class="p">;</span>
+  <span class="n">tag_seq</span>                <span class="n">VARCHAR2</span><span class="p">(</span><span class="mi">128</span><span class="p">)</span> <span class="p">:</span><span class="o">=</span> <span class="s">&#39;tag&#39;</span><span class="p">;</span>
+  <span class="n">widget_tag_seq</span>         <span class="n">VARCHAR2</span><span class="p">(</span><span class="mi">128</span><span class="p">)</span> <span class="p">:</span><span class="o">=</span> <span class="s">&#39;widget_tag&#39;</span><span class="p">;</span>
+  <span class="n">category_seq</span>           <span class="n">VARCHAR2</span><span class="p">(</span><span class="mi">128</span><span class="p">)</span> <span class="p">:</span><span class="o">=</span> <span class="s">&#39;category&#39;</span><span class="p">;</span>
+  <span class="n">page_type_seq</span>          <span class="n">VARCHAR2</span><span class="p">(</span><span class="mi">128</span><span class="p">)</span> <span class="p">:</span><span class="o">=</span> <span class="s">&#39;page_type&#39;</span><span class="p">;</span>
+  <span class="n">user_authority_id</span>      <span class="n">NUMBER</span><span class="p">;</span>
+  <span class="n">col_id</span>                 <span class="n">NUMBER</span><span class="p">;</span>
+<span class="k">BEGIN</span>
+  <span class="n">dbms_output</span><span class="o">.</span><span class="n">put_line</span><span class="p">(</span><span class="s">&#39;Apache Rave Initialisation script starting&#39;</span><span class="p">);</span>
+  <span class="k">BEGIN</span>
+    <span class="n">dbms_output</span><span class="o">.</span><span class="n">put_line</span><span class="p">(</span><span class="s">&#39;Dropping table RAVE_PORTAL_SEQUENCES&#39;</span><span class="p">);</span>
+    <span class="n">EXECUTE</span> <span class="n">IMMEDIATE</span> <span class="s">&#39;DROP TABLE RAVE_PORTAL_SEQUENCES&#39;</span><span class="p">;</span>
+  <span class="n">EXCEPTION</span>
+  <span class="n">WHEN</span> <span class="n">OTHERS</span> <span class="n">THEN</span>
+    <span class="n">dbms_output</span><span class="o">.</span><span class="n">put_line</span><span class="p">(</span><span class="s">&#39;Error &#39;</span> <span class="o">||</span> <span class="n">SQLCODE</span> <span class="o">||</span> <span class="s">&#39; - &#39;</span> <span class="o">||</span> <span class="n">SQLERRM</span><span class="p">);</span>
+  <span class="k">END</span><span class="p">;</span>
+  <span class="k">BEGIN</span>
+    <span class="n">dbms_output</span><span class="o">.</span><span class="n">put_line</span><span class="p">(</span><span class="s">&#39;Creating table RAVE_PORTAL_SEQUENCES&#39;</span><span class="p">);</span>
+    <span class="n">EXECUTE</span> <span class="n">IMMEDIATE</span> <span class="s">&#39;CREATE TABLE RAVE_PORTAL_SEQUENCES (seq_name VARCHAR(255) PRIMARY KEY NOT NULL,seq_count NUMBER(19))&#39;</span><span class="p">;</span>
+  <span class="n">EXCEPTION</span>
+  <span class="n">WHEN</span> <span class="n">OTHERS</span> <span class="n">THEN</span>
+    <span class="n">dbms_output</span><span class="o">.</span><span class="n">put_line</span><span class="p">(</span><span class="s">&#39;Error&#39;</span> <span class="o">||</span> <span class="n">SQLCODE</span> <span class="o">||</span> <span class="s">&#39; - &#39;</span> <span class="o">||</span> <span class="n">SQLERRM</span><span class="p">);</span>
+  <span class="k">END</span><span class="p">;</span>
+  <span class="k">BEGIN</span>
+    <span class="n">dbms_output</span><span class="o">.</span><span class="n">put_line</span><span class="p">(</span><span class="s">&#39;Inserting RAVE_PORTAL_SEQUENCES values&#39;</span><span class="p">);</span>
+    <span class="n">INSERT</span>
+    <span class="n">INTO</span> <span class="n">RAVE_PORTAL_SEQUENCES</span>
+      <span class="p">(</span>
+        <span class="n">seq_name</span><span class="p">,</span>
+        <span class="n">seq_count</span>
+      <span class="p">)</span>
+      <span class="n">VALUES</span>
+      <span class="p">(</span>
+        <span class="n">page_seq</span><span class="p">,</span>
+        <span class="mi">1</span>
+      <span class="p">);</span>
+    <span class="n">INSERT</span>
+    <span class="n">INTO</span> <span class="n">RAVE_PORTAL_SEQUENCES</span>
+      <span class="p">(</span>
+        <span class="n">seq_name</span><span class="p">,</span>
+        <span class="n">seq_count</span>
+      <span class="p">)</span>
+      <span class="n">VALUES</span>
+      <span class="p">(</span>
+        <span class="n">page_layout_seq</span><span class="p">,</span>
+        <span class="mi">1</span>
+      <span class="p">);</span>
+    <span class="n">INSERT</span>
+    <span class="n">INTO</span> <span class="n">RAVE_PORTAL_SEQUENCES</span>
+      <span class="p">(</span>
+        <span class="n">seq_name</span><span class="p">,</span>
+        <span class="n">seq_count</span>
+      <span class="p">)</span>
+      <span class="n">VALUES</span>
+      <span class="p">(</span>
+        <span class="n">region_seq</span><span class="p">,</span>
+        <span class="mi">1</span>
+      <span class="p">);</span>
+    <span class="n">INSERT</span>
+    <span class="n">INTO</span> <span class="n">RAVE_PORTAL_SEQUENCES</span>
+      <span class="p">(</span>
+        <span class="n">seq_name</span><span class="p">,</span>
+        <span class="n">seq_count</span>
+      <span class="p">)</span>
+      <span class="n">VALUES</span>
+      <span class="p">(</span>
+        <span class="n">region_widget_seq</span><span class="p">,</span>
+        <span class="mi">1</span>
+      <span class="p">);</span>
+    <span class="n">INSERT</span>
+    <span class="n">INTO</span> <span class="n">RAVE_PORTAL_SEQUENCES</span>
+      <span class="p">(</span>
+        <span class="n">seq_name</span><span class="p">,</span>
+        <span class="n">seq_count</span>
+      <span class="p">)</span>
+      <span class="n">VALUES</span>
+      <span class="p">(</span>
+        <span class="s">&#39;region_widget_preference&#39;</span><span class="p">,</span>
+        <span class="mi">1</span>
+      <span class="p">);</span>
+    <span class="n">INSERT</span>
+    <span class="n">INTO</span> <span class="n">RAVE_PORTAL_SEQUENCES</span>
+      <span class="p">(</span>
+        <span class="n">seq_name</span><span class="p">,</span>
+        <span class="n">seq_count</span>
+      <span class="p">)</span>
+      <span class="n">VALUES</span>
+      <span class="p">(</span>
+        <span class="n">user_seq</span><span class="p">,</span>
+        <span class="mi">1</span>
+      <span class="p">);</span>
+    <span class="n">INSERT</span>
+    <span class="n">INTO</span> <span class="n">RAVE_PORTAL_SEQUENCES</span>
+      <span class="p">(</span>
+        <span class="n">seq_name</span><span class="p">,</span>
+        <span class="n">seq_count</span>
+      <span class="p">)</span>
+      <span class="n">VALUES</span>
+      <span class="p">(</span>
+        <span class="n">person_association_seq</span><span class="p">,</span>
+        <span class="mi">1</span>
+      <span class="p">);</span>
+    <span class="n">INSERT</span>
+    <span class="n">INTO</span> <span class="n">RAVE_PORTAL_SEQUENCES</span>
+      <span class="p">(</span>
+        <span class="n">seq_name</span><span class="p">,</span>
+        <span class="n">seq_count</span>
+      <span class="p">)</span>
+      <span class="n">VALUES</span>
+      <span class="p">(</span>
+        <span class="n">groups_seq</span><span class="p">,</span>
+        <span class="mi">1</span>
+      <span class="p">);</span>
+    <span class="n">INSERT</span>
+    <span class="n">INTO</span> <span class="n">RAVE_PORTAL_SEQUENCES</span>
+      <span class="p">(</span>
+        <span class="n">seq_name</span><span class="p">,</span>
+        <span class="n">seq_count</span>
+      <span class="p">)</span>
+      <span class="n">VALUES</span>
+      <span class="p">(</span>
+        <span class="n">group_members_seq</span><span class="p">,</span>
+        <span class="mi">1</span>
+      <span class="p">);</span>
+    <span class="n">INSERT</span>
+    <span class="n">INTO</span> <span class="n">RAVE_PORTAL_SEQUENCES</span>
+      <span class="p">(</span>
+        <span class="n">seq_name</span><span class="p">,</span>
+        <span class="n">seq_count</span>
+      <span class="p">)</span>
+      <span class="n">VALUES</span>
+      <span class="p">(</span>
+        <span class="n">widget_seq</span><span class="p">,</span>
+        <span class="mi">1</span>
+      <span class="p">);</span>
+    <span class="n">INSERT</span>
+    <span class="n">INTO</span> <span class="n">RAVE_PORTAL_SEQUENCES</span>
+      <span class="p">(</span>
+        <span class="n">seq_name</span><span class="p">,</span>
+        <span class="n">seq_count</span>
+      <span class="p">)</span>
+      <span class="n">VALUES</span>
+      <span class="p">(</span>
+        <span class="n">widget_comment_seq</span><span class="p">,</span>
+        <span class="mi">1</span>
+      <span class="p">);</span>
+    <span class="n">INSERT</span>
+    <span class="n">INTO</span> <span class="n">RAVE_PORTAL_SEQUENCES</span>
+      <span class="p">(</span>
+        <span class="n">seq_name</span><span class="p">,</span>
+        <span class="n">seq_count</span>
+      <span class="p">)</span>
+      <span class="n">VALUES</span>
+      <span class="p">(</span>
+        <span class="n">widget_rating_seq</span><span class="p">,</span>
+        <span class="mi">1</span>
+      <span class="p">);</span>
+    <span class="n">INSERT</span>
+    <span class="n">INTO</span> <span class="n">RAVE_PORTAL_SEQUENCES</span>
+      <span class="p">(</span>
+        <span class="n">seq_name</span><span class="p">,</span>
+        <span class="n">seq_count</span>
+      <span class="p">)</span>
+      <span class="n">VALUES</span>
+      <span class="p">(</span>
+        <span class="n">granted_authority_seq</span><span class="p">,</span>
+        <span class="mi">1</span>
+      <span class="p">);</span>
+    <span class="n">INSERT</span>
+    <span class="n">INTO</span> <span class="n">RAVE_PORTAL_SEQUENCES</span>
+      <span class="p">(</span>
+        <span class="n">seq_name</span><span class="p">,</span>
+        <span class="n">seq_count</span>
+      <span class="p">)</span>
+      <span class="n">VALUES</span>
+      <span class="p">(</span>
+        <span class="n">portal_preference_seq</span><span class="p">,</span>
+        <span class="mi">1</span>
+      <span class="p">);</span>
+    <span class="n">INSERT</span> <span class="n">INTO</span> <span class="n">RAVE_PORTAL_SEQUENCES</span>
+      <span class="p">(</span><span class="n">seq_name</span><span class="p">,</span> <span class="n">seq_count</span>
+      <span class="p">)</span> <span class="n">VALUES</span>
+      <span class="p">(</span><span class="n">tag_seq</span><span class="p">,</span> <span class="mi">1</span>
+      <span class="p">);</span>
+    <span class="n">INSERT</span>
+    <span class="n">INTO</span> <span class="n">RAVE_PORTAL_SEQUENCES</span>
+      <span class="p">(</span>
+        <span class="n">seq_name</span><span class="p">,</span>
+        <span class="n">seq_count</span>
+      <span class="p">)</span>
+      <span class="n">VALUES</span>
+      <span class="p">(</span>
+        <span class="n">widget_tag_seq</span><span class="p">,</span>
+        <span class="mi">1</span>
+      <span class="p">);</span>
+    <span class="n">INSERT</span>
+    <span class="n">INTO</span> <span class="n">RAVE_PORTAL_SEQUENCES</span>
+      <span class="p">(</span>
+        <span class="n">seq_name</span><span class="p">,</span>
+        <span class="n">seq_count</span>
+      <span class="p">)</span>
+      <span class="n">VALUES</span>
+      <span class="p">(</span>
+        <span class="n">category_seq</span><span class="p">,</span>
+        <span class="mi">1</span>
+      <span class="p">);</span>
+    <span class="n">INSERT</span>
+    <span class="n">INTO</span> <span class="n">RAVE_PORTAL_SEQUENCES</span>
+      <span class="p">(</span>
+        <span class="n">seq_name</span><span class="p">,</span>
+        <span class="n">seq_count</span>
+      <span class="p">)</span>
+      <span class="n">VALUES</span>
+      <span class="p">(</span>
+        <span class="n">page_type_seq</span><span class="p">,</span>
+        <span class="mi">1</span>
+      <span class="p">);</span>
+  <span class="n">EXCEPTION</span>
+  <span class="n">WHEN</span> <span class="n">OTHERS</span> <span class="n">THEN</span>
+    <span class="n">dbms_output</span><span class="o">.</span><span class="n">put_line</span>
+    <span class="p">(</span>
+      <span class="s">&#39;Error&#39;</span> <span class="o">||</span> <span class="n">SQLCODE</span> <span class="o">||</span> <span class="s">&#39; - &#39;</span> <span class="o">||</span> <span class="n">SQLERRM</span>
+    <span class="p">)</span>
+    <span class="p">;</span>
+  <span class="k">END</span><span class="p">;</span>
+  <span class="k">BEGIN</span>
+    <span class="sr">/* USER */</span>
+    <span class="n">dbms_output</span><span class="o">.</span><span class="n">put_line</span>
+    <span class="p">(</span>
+      <span class="s">&#39;Inserting granted_authority USER value&#39;</span>
+    <span class="p">)</span>
+    <span class="p">;</span>
+    <span class="n">SELECT</span> <span class="n">seq_count</span>
+    <span class="n">INTO</span> <span class="n">user_authority_id</span>
+    <span class="n">FROM</span> <span class="n">RAVE_PORTAL_SEQUENCES</span>
+    <span class="n">WHERE</span> <span class="n">seq_name</span> <span class="o">=</span> <span class="n">granted_authority_seq</span><span class="p">;</span>
+    <span class="n">INSERT</span>
+    <span class="n">INTO</span> <span class="n">granted_authority</span>
+      <span class="p">(</span>
+        <span class="n">entity_id</span><span class="p">,</span>
+        <span class="n">authority</span><span class="p">,</span>
+        <span class="n">default_for_new_user</span>
+      <span class="p">)</span>
+      <span class="n">VALUES</span>
+      <span class="p">(</span>
+        <span class="n">user_authority_id</span><span class="p">,</span>
+        <span class="s">&#39;ROLE_USER&#39;</span><span class="p">,</span>
+        <span class="mi">1</span>
+      <span class="p">);</span>
+    <span class="n">UPDATE</span> <span class="n">RAVE_PORTAL_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="n">granted_authority_seq</span><span class="p">;</span>
+    <span class="n">dbms_output</span><span class="o">.</span><span class="n">put_line</span><span class="p">(</span><span class="s">&#39;Inserting granted_authority ADMIN value&#39;</span><span class="p">);</span>
+    <span class="sr">/* ADMIN */</span>
+    <span class="n">SELECT</span> <span class="n">seq_count</span>
+    <span class="n">INTO</span> <span class="n">user_authority_id</span>
+    <span class="n">FROM</span> <span class="n">RAVE_PORTAL_SEQUENCES</span>
+    <span class="n">WHERE</span> <span class="n">seq_name</span> <span class="o">=</span> <span class="n">granted_authority_seq</span><span class="p">;</span>
+    <span class="n">INSERT</span>
+    <span class="n">INTO</span> <span class="n">granted_authority</span>
+      <span class="p">(</span>
+        <span class="n">entity_id</span><span class="p">,</span>
+        <span class="n">authority</span><span class="p">,</span>
+        <span class="n">default_for_new_user</span>
+      <span class="p">)</span>
+      <span class="n">VALUES</span>
+      <span class="p">(</span>
+        <span class="n">user_authority_id</span><span class="p">,</span>
+        <span class="s">&#39;ROLE_ADMIN&#39;</span><span class="p">,</span>
+        <span class="mi">0</span>
+      <span class="p">);</span>
+    <span class="n">UPDATE</span> <span class="n">RAVE_PORTAL_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="n">granted_authority_seq</span><span class="p">;</span>
+  <span class="n">EXCEPTION</span>
+  <span class="n">WHEN</span> <span class="n">OTHERS</span> <span class="n">THEN</span>
+    <span class="n">dbms_output</span><span class="o">.</span><span class="n">put_line</span> <span class="p">(</span> <span class="s">&#39;Error&#39;</span> <span class="o">||</span> <span class="n">SQLCODE</span> <span class="o">||</span> <span class="s">&#39; - &#39;</span> <span class="o">||</span> <span class="n">SQLERRM</span> <span class="p">)</span> <span class="p">;</span>
+  <span class="k">END</span><span class="p">;</span>
+  <span class="k">BEGIN</span>
+    <span class="n">dbms_output</span><span class="o">.</span><span class="n">put_line</span><span class="p">(</span><span class="s">&#39;Inserting page_layout values&#39;</span><span class="p">);</span>
+    <span class="n">SELECT</span> <span class="n">seq_count</span>
+    <span class="n">INTO</span> <span class="n">col_id</span>
+    <span class="n">FROM</span> <span class="n">RAVE_PORTAL_SEQUENCES</span>
+    <span class="n">WHERE</span> <span class="n">seq_name</span> <span class="o">=</span> <span class="n">page_layout_seq</span><span class="p">;</span>
+    <span class="n">INSERT</span>
+    <span class="n">INTO</span> <span class="n">page_layout</span>
+      <span class="p">(</span>
+        <span class="n">entity_id</span><span class="p">,</span>
+        <span class="n">code</span><span class="p">,</span>
+        <span class="n">number_of_regions</span><span class="p">,</span>
+        <span class="n">render_sequence</span>
+      <span class="p">)</span>
+      <span class="n">VALUES</span>
+      <span class="p">(</span>
+        <span class="n">col_id</span><span class="p">,</span>
+        <span class="s">&#39;columns_1&#39;</span><span class="p">,</span>
+        <span class="mi">1</span><span class="p">,</span>
+        <span class="mi">0</span>
+      <span class="p">);</span>
+    <span class="n">UPDATE</span> <span class="n">RAVE_PORTAL_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="n">page_layout_seq</span><span class="p">;</span>
+    <span class="n">SELECT</span> <span class="n">seq_count</span>
+    <span class="n">INTO</span> <span class="n">col_id</span>
+    <span class="n">FROM</span> <span class="n">RAVE_PORTAL_SEQUENCES</span>
+    <span class="n">WHERE</span> <span class="n">seq_name</span> <span class="o">=</span> <span class="n">page_layout_seq</span><span class="p">;</span>
+    <span class="n">INSERT</span>
+    <span class="n">INTO</span> <span class="n">page_layout</span>
+      <span class="p">(</span>
+        <span class="n">entity_id</span><span class="p">,</span>
+        <span class="n">code</span><span class="p">,</span>
+        <span class="n">number_of_regions</span><span class="p">,</span>
+        <span class="n">render_sequence</span><span class="p">,</span>
+        <span class="n">user_selectable</span>
+      <span class="p">)</span>
+      <span class="n">VALUES</span>
+      <span class="p">(</span>
+        <span class="n">col_id</span><span class="p">,</span>
+        <span class="s">&#39;columns_2&#39;</span><span class="p">,</span>
+        <span class="mi">2</span><span class="p">,</span>
+        <span class="mi">1</span><span class="p">,</span>
+        <span class="mi">1</span>
+      <span class="p">);</span>
+    <span class="n">UPDATE</span> <span class="n">RAVE_PORTAL_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="n">page_layout_seq</span><span class="p">;</span>
+    <span class="n">SELECT</span> <span class="n">seq_count</span>
+    <span class="n">INTO</span> <span class="n">col_id</span>
+    <span class="n">FROM</span> <span class="n">RAVE_PORTAL_SEQUENCES</span>
+    <span class="n">WHERE</span> <span class="n">seq_name</span> <span class="o">=</span> <span class="n">page_layout_seq</span><span class="p">;</span>
+    <span class="n">INSERT</span>
+    <span class="n">INTO</span> <span class="n">page_layout</span>
+      <span class="p">(</span>
+        <span class="n">entity_id</span><span class="p">,</span>
+        <span class="n">code</span><span class="p">,</span>
+        <span class="n">number_of_regions</span><span class="p">,</span>
+        <span class="n">render_sequence</span><span class="p">,</span>
+        <span class="n">user_selectable</span>
+      <span class="p">)</span>
+      <span class="n">VALUES</span>
+      <span class="p">(</span>
+        <span class="n">col_id</span><span class="p">,</span>
+        <span class="s">&#39;columns_2wn&#39;</span><span class="p">,</span>
+        <span class="mi">2</span><span class="p">,</span>
+        <span class="mi">2</span><span class="p">,</span>
+        <span class="mi">1</span>
+      <span class="p">);</span>
+    <span class="n">UPDATE</span> <span class="n">RAVE_PORTAL_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="n">page_layout_seq</span><span class="p">;</span>
+    <span class="n">SELECT</span> <span class="n">seq_count</span>
+    <span class="n">INTO</span> <span class="n">col_id</span>
+    <span class="n">FROM</span> <span class="n">RAVE_PORTAL_SEQUENCES</span>
+    <span class="n">WHERE</span> <span class="n">seq_name</span> <span class="o">=</span> <span class="n">page_layout_seq</span><span class="p">;</span>
+    <span class="n">INSERT</span>
+    <span class="n">INTO</span> <span class="n">page_layout</span>
+      <span class="p">(</span>
+        <span class="n">entity_id</span><span class="p">,</span>
+        <span class="n">code</span><span class="p">,</span>
+        <span class="n">number_of_regions</span><span class="p">,</span>
+        <span class="n">render_sequence</span><span class="p">,</span>
+        <span class="n">user_selectable</span>
+      <span class="p">)</span>
+      <span class="n">VALUES</span>
+      <span class="p">(</span>
+        <span class="n">col_id</span><span class="p">,</span>
+        <span class="s">&#39;columns_3&#39;</span><span class="p">,</span>
+        <span class="mi">3</span><span class="p">,</span>
+        <span class="mi">3</span><span class="p">,</span>
+        <span class="mi">1</span>
+      <span class="p">);</span>
+    <span class="n">UPDATE</span> <span class="n">RAVE_PORTAL_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="n">page_layout_seq</span><span class="p">;</span>
+    <span class="n">SELECT</span> <span class="n">seq_count</span>
+    <span class="n">INTO</span> <span class="n">col_id</span>
+    <span class="n">FROM</span> <span class="n">RAVE_PORTAL_SEQUENCES</span>
+    <span class="n">WHERE</span> <span class="n">seq_name</span> <span class="o">=</span> <span class="n">page_layout_seq</span><span class="p">;</span>
+    <span class="n">INSERT</span>
+    <span class="n">INTO</span> <span class="n">page_layout</span>
+      <span class="p">(</span>
+        <span class="n">entity_id</span><span class="p">,</span>
+        <span class="n">code</span><span class="p">,</span>
+        <span class="n">number_of_regions</span><span class="p">,</span>
+        <span class="n">render_sequence</span><span class="p">,</span>
+        <span class="n">user_selectable</span>
+      <span class="p">)</span>
+      <span class="n">VALUES</span>
+      <span class="p">(</span>
+        <span class="n">col_id</span><span class="p">,</span>
+        <span class="s">&#39;columns_3nwn&#39;</span><span class="p">,</span>
+        <span class="mi">3</span><span class="p">,</span>
+        <span class="mi">4</span><span class="p">,</span>
+        <span class="mi">1</span>
+      <span class="p">);</span>
+    <span class="n">UPDATE</span> <span class="n">RAVE_PORTAL_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="n">page_layout_seq</span><span class="p">;</span>
+    <span class="n">SELECT</span> <span class="n">seq_count</span>
+    <span class="n">INTO</span> <span class="n">col_id</span>
+    <span class="n">FROM</span> <span class="n">RAVE_PORTAL_SEQUENCES</span>
+    <span class="n">WHERE</span> <span class="n">seq_name</span> <span class="o">=</span> <span class="n">page_layout_seq</span><span class="p">;</span>
+    <span class="n">INSERT</span>
+    <span class="n">INTO</span> <span class="n">page_layout</span>
+      <span class="p">(</span>
+        <span class="n">entity_id</span><span class="p">,</span>
+        <span class="n">code</span><span class="p">,</span>
+        <span class="n">number_of_regions</span><span class="p">,</span>
+        <span class="n">render_sequence</span><span class="p">,</span>
+        <span class="n">user_selectable</span>
+      <span class="p">)</span>
+      <span class="n">VALUES</span>
+      <span class="p">(</span>
+        <span class="n">col_id</span><span class="p">,</span>
+        <span class="s">&#39;columns_3_newuser&#39;</span><span class="p">,</span>
+        <span class="mi">3</span><span class="p">,</span>
+        <span class="mi">5</span><span class="p">,</span>
+        <span class="mi">1</span>
+      <span class="p">);</span>
+    <span class="n">UPDATE</span> <span class="n">RAVE_PORTAL_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="n">page_layout_seq</span><span class="p">;</span>
+    <span class="n">SELECT</span> <span class="n">seq_count</span>
+    <span class="n">INTO</span> <span class="n">col_id</span>
+    <span class="n">FROM</span> <span class="n">RAVE_PORTAL_SEQUENCES</span>
+    <span class="n">WHERE</span> <span class="n">seq_name</span> <span class="o">=</span> <span class="n">page_layout_seq</span><span class="p">;</span>
+    <span class="n">INSERT</span>
+    <span class="n">INTO</span> <span class="n">page_layout</span>
+      <span class="p">(</span>
+        <span class="n">entity_id</span><span class="p">,</span>
+        <span class="n">code</span><span class="p">,</span>
+        <span class="n">number_of_regions</span><span class="p">,</span>
+        <span class="n">render_sequence</span><span class="p">,</span>
+        <span class="n">user_selectable</span>
+      <span class="p">)</span>
+      <span class="n">VALUES</span>
+      <span class="p">(</span>
+        <span class="n">col_id</span><span class="p">,</span>
+        <span class="s">&#39;columns_4&#39;</span><span class="p">,</span>
+        <span class="mi">4</span><span class="p">,</span>
+        <span class="mi">6</span><span class="p">,</span>
+        <span class="mi">1</span>
+      <span class="p">);</span>
+    <span class="n">UPDATE</span> <span class="n">RAVE_PORTAL_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="n">page_layout_seq</span><span class="p">;</span>
+    <span class="n">SELECT</span> <span class="n">seq_count</span>
+    <span class="n">INTO</span> <span class="n">col_id</span>
+    <span class="n">FROM</span> <span class="n">RAVE_PORTAL_SEQUENCES</span>
+    <span class="n">WHERE</span> <span class="n">seq_name</span> <span class="o">=</span> <span class="n">page_layout_seq</span><span class="p">;</span>
+    <span class="n">INSERT</span>
+    <span class="n">INTO</span> <span class="n">page_layout</span>
+      <span class="p">(</span>
+        <span class="n">entity_id</span><span class="p">,</span>
+        <span class="n">code</span><span class="p">,</span>
+        <span class="n">number_of_regions</span><span class="p">,</span>
+        <span class="n">render_sequence</span><span class="p">,</span>
+        <span class="n">user_selectable</span>
+      <span class="p">)</span>
+      <span class="n">VALUES</span>
+      <span class="p">(</span>
+        <span class="n">col_id</span><span class="p">,</span>
+        <span class="s">&#39;columns_3nwn_1_bottom&#39;</span><span class="p">,</span>
+        <span class="mi">4</span><span class="p">,</span>
+        <span class="mi">7</span><span class="p">,</span>
+        <span class="mi">1</span>
+      <span class="p">);</span>
+    <span class="n">UPDATE</span> <span class="n">RAVE_PORTAL_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="n">page_layout_seq</span><span class="p">;</span>
+  <span class="n">EXCEPTION</span>
+  <span class="n">WHEN</span> <span class="n">OTHERS</span> <span class="n">THEN</span>
+    <span class="n">dbms_output</span><span class="o">.</span><span class="n">put_line</span> <span class="p">(</span> <span class="s">&#39;Error&#39;</span> <span class="o">||</span> <span class="n">SQLCODE</span> <span class="o">||</span> <span class="s">&#39; - &#39;</span> <span class="o">||</span> <span class="n">SQLERRM</span> <span class="p">)</span> <span class="p">;</span>
+  <span class="k">END</span><span class="p">;</span>
+<span class="k">END</span><span class="p">;</span>
+</pre></div>
+  </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/configure-locked-domain.html
==============================================================================
--- websites/staging/rave/trunk/content/documentation/configure-locked-domain.html (added)
+++ websites/staging/rave/trunk/content/documentation/configure-locked-domain.html Mon Mar 26 19:51:18 2012
@@ -0,0 +1,176 @@
+<!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>Configuring Shindig Locked Domain Support in Apache Rave</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">Configuring Shindig Locked Domain Support in Apache Rave</h1>
+    <h2 id="prerequisites">Prerequisites</h2>
+<p>To follow these instructions you'll need a working copy of Apache Rave up and running under Tomcat 6.  Please see the <a href="installing.html">Installing Rave</a> page for instructions on how to get up and running.</p>
+<h2 id="enabling-locked-domain-support-in-apache-rave">Enabling Locked Domain Support in Apache Rave</h2>
+<p>These instructions demonstrate how to get Apache Shindig locked domain support up and running in Apache Rave.  Locked domains take advantage of the web browsers domain-based sandboxing policies to isolate gadgets from each other and the main container page.  The Shindig mailing list is a good source of information for more details regarding locked domains.</p>
+<p>Enabling locked domain support within Apache Rave is achieved via a combination of DNS and Shindig configuration changes.  To fully support locked domain in a production environment you'll likely need to setup and configure your locked domain with wildcard DNS (otherwise you'd have to create manual DNS entries for every single gadget that you want to run on a locked domain).  For the purposes of experimenting with locked domain however just adding entries to the "hosts" file for the gadgets on a default Apache Rave page should be sufficient.  The Shindig configuration changes required are enabling locked domain support in the top level Shindig configuration and then configuring the individual Shindig container via the container.js file.</p>
+<p>The sample locked domain we'll use here will be "-locked.gadgets.example.com".</p>
+<p>The default locked domain implementation within Shindig generates locked domain URL's by taking a hash of the gadget specification URL and pre-pending it onto the configured locked domain suffix.  Here are the locked domain entries that were added to my local "hosts" file to support the default gadgets on an Apache Rave page at the time this documentation was written:</p>
+<div class="codehilite"><pre>    <span class="mf">127.0.0.1</span>   <span class="n">v6fvvlv3hm7kt7oj96mug1uvrdke6kpg</span><span class="o">-</span><span class="n">locked</span><span class="o">.</span><span class="n">gadgets</span><span class="o">.</span><span class="n">example</span><span class="o">.</span><span class="n">com</span>
+    <span class="mf">127.0.0.1</span>   <span class="mi">76</span><span class="n">r748j1k68i8t7v35r0oakjtb0uvpr3</span><span class="o">-</span><span class="n">locked</span><span class="o">.</span><span class="n">gadgets</span><span class="o">.</span><span class="n">example</span><span class="o">.</span><span class="n">com</span>
+    <span class="mf">127.0.0.1</span>   <span class="n">tqfbbnhq7v3nah5ifshpfrg5i9elegum</span><span class="o">-</span><span class="n">locked</span><span class="o">.</span><span class="n">gadgets</span><span class="o">.</span><span class="n">example</span><span class="o">.</span><span class="n">com</span>
+    <span class="mf">127.0.0.1</span>   <span class="n">fdtj4i7cslo8149tjpt9778jodkds1is</span><span class="o">-</span><span class="n">locked</span><span class="o">.</span><span class="n">gadgets</span><span class="o">.</span><span class="n">example</span><span class="o">.</span><span class="n">com</span>
+</pre></div>
+
+
+<p>For the Shindig configuration changes please refer to the patch generated from my local changes below.  With these changes in place you should be able to fire up Apache Rave, access the default page as one of the sample users and see the locked domains being utilized in the gadget iframe URL's.</p>
+<h2 id="complete-diff-of-modified-files-follows">Complete diff of modified files follows</h2>
+<div class="codehilite"><pre>    Index: rave-project/rave-shindig/src/main/webapp/WEB-INF/classes/containers/default/container.js
+    ===================================================================
+    --- rave-project/rave-shindig/src/main/webapp/WEB-INF/classes/containers/default/container.js   (revision 1228369)
+    +++ rave-project/rave-shindig/src/main/webapp/WEB-INF/classes/containers/default/container.js   (revision )
+    @@ -59,15 +59,15 @@
+     &quot;gadgets.parent&quot; : null,
+
+     // Should all gadgets be forced on to a locked domain?
+    -&quot;gadgets.uri.iframe.lockedDomainRequired&quot; : false,
+    +&quot;gadgets.uri.iframe.lockedDomainRequired&quot; : true,
+
+     // DNS domain on which gadgets should render.
+     // Default Uri config: these must be overridden - specified here for testing purposes
+    -&quot;gadgets.uri.iframe.unlockedDomain&quot;: &quot;<span class="cp">${</span><span class="n">Cur</span><span class="p">[</span><span class="s">&#39;defaultShindigTestAuthority&#39;</span><span class="p">]</span><span class="cp">}</span>&quot;,
+    +&quot;gadgets.uri.iframe.unlockedDomain&quot;: &quot;localhost:8080&quot;,
+     // When setting up the server to enable locked domains, you should set this to something that does not
+     // attempt to use the authority at all.  Ideally it would be another hostname that points to this server.
+     // Example: unlockedDomain=&quot;shindig.example.com&quot; lockedDomainSuffix=&quot;-locked.gadgets.example.com&quot;
+    -&quot;gadgets.uri.iframe.lockedDomainSuffix&quot;: &quot;<span class="cp">${</span><span class="n">Cur</span><span class="p">[</span><span class="s">&#39;defaultShindigTestAuthority&#39;</span><span class="p">]</span><span class="cp">}</span>&quot;,
+    +&quot;gadgets.uri.iframe.lockedDomainSuffix&quot;: &quot;-locked.gadgets.example.com:8080&quot;,
+
+     // Origins for CORS requests and/or Referer validation
+     // Indicate a set of origins or an entry with * to indicate that all origins are allowed
+    @@ -84,11 +84,8 @@
+     // jsUriTemplate will have %host% and %js% substituted.
+     // No locked domain special cases, but jsUriTemplate must
+     // never conflict with a lockedDomainSuffix.
+    -&quot;gadgets.jsUriTemplate&quot; : &quot;http://%host%<span class="cp">${</span><span class="n">CONTEXT_ROOT</span><span class="cp">}</span>/gadgets/js/%js%&quot;,
+    +&quot;gadgets.jsUriTemplate&quot; : &quot;http://<span class="cp">${</span><span class="n">Cur</span><span class="p">[</span><span class="s">&#39;gadgets.uri.iframe.unlockedDomain&#39;</span><span class="p">]</span><span class="cp">}</span>{CONTEXT_ROOT}/gadgets/js/%js%&quot;,
+
+    -&quot;gadgets.uri.js.host&quot; : &quot;http://www.example.com/&quot;,
+    -&quot;gadgets.uri.js.path&quot; : &quot;<span class="cp">${</span><span class="n">CONTEXT_ROOT</span><span class="cp">}</span>/gadgets/js&quot;,
+    -
+     // Callback URL.  Scheme relative URL for easy switch between https/http.
+     &quot;gadgets.uri.oauth.callbackTemplate&quot; : &quot;//%host%<span class="cp">${</span><span class="n">CONTEXT_ROOT</span><span class="cp">}</span>/gadgets/oauthcallback&quot;,
+
+    @@ -124,16 +121,16 @@
+     &quot;defaultShindigProxyConcatAuthority&quot;:&quot;%authority%&quot;,
+
+     // Default Js Uri config: also must be overridden.
+    -&quot;gadgets.uri.js.host&quot;: &quot;//<span class="cp">${</span><span class="n">Cur</span><span class="p">[</span><span class="s">&#39;defaultShindigTestAuthority&#39;</span><span class="p">]</span><span class="cp">}</span>&quot;,
+    +&quot;gadgets.uri.js.host&quot;: &quot;//<span class="cp">${</span><span class="n">Cur</span><span class="p">[</span><span class="s">&#39;gadgets.uri.iframe.unlockedDomain&#39;</span><span class="p">]</span><span class="cp">}</span>&quot;,
+     &quot;gadgets.uri.js.path&quot;: &quot;<span class="cp">${</span><span class="n">CONTEXT_ROOT</span><span class="cp">}</span>/gadgets/js&quot;,
+
+     // Default concat Uri config; used for testing.
+    -&quot;gadgets.uri.concat.host&quot; : &quot;<span class="cp">${</span><span class="n">Cur</span><span class="p">[</span><span class="s">&#39;defaultShindigProxyConcatAuthority&#39;</span><span class="p">]</span><span class="cp">}</span>&quot;,
+    +&quot;gadgets.uri.concat.host&quot; : &quot;<span class="cp">${</span><span class="n">Cur</span><span class="p">[</span><span class="s">&#39;gadgets.uri.iframe.unlockedDomain&#39;</span><span class="p">]</span><span class="cp">}</span>&quot;,
+     &quot;gadgets.uri.concat.path&quot; : &quot;<span class="cp">${</span><span class="n">CONTEXT_ROOT</span><span class="cp">}</span>/gadgets/concat&quot;,
+     &quot;gadgets.uri.concat.js.splitToken&quot; : &quot;false&quot;,
+
+     // Default proxy Uri config; used for testing.
+    -&quot;gadgets.uri.proxy.host&quot; : &quot;<span class="cp">${</span><span class="n">Cur</span><span class="p">[</span><span class="s">&#39;defaultShindigProxyConcatAuthority&#39;</span><span class="p">]</span><span class="cp">}</span>&quot;,
+    +&quot;gadgets.uri.proxy.host&quot; : &quot;<span class="cp">${</span><span class="n">Cur</span><span class="p">[</span><span class="s">&#39;gadgets.uri.iframe.unlockedDomain&#39;</span><span class="p">]</span><span class="cp">}</span>&quot;,
+     &quot;gadgets.uri.proxy.path&quot; : &quot;<span class="cp">${</span><span class="n">CONTEXT_ROOT</span><span class="cp">}</span>/gadgets/proxy&quot;,
+
+     //Enables/Disables feature administration
+    @@ -153,7 +150,7 @@
+         // Note: /proxy is an open proxy. Be careful how you expose this!
+         // Note: Here // is replaced with the current protocol http/https
+        //&quot;proxyUrl&quot; : &quot;//%host%<span class="cp">${</span><span class="n">CONTEXT_ROOT</span><span class="cp">}</span>/gadgets/proxy?container=%container%%rewriteMime%<span class="err">&amp;</span>refresh=%refresh%<span class="err">&amp;</span>gadget=%gadget%/%rawurl%&quot;,
+    -    &quot;proxyUrl&quot; : &quot;//%host%<span class="cp">${</span><span class="n">CONTEXT_ROOT</span><span class="cp">}</span>/gadgets/proxy?container=%container%<span class="err">&amp;</span>refresh=%refresh%<span class="err">&amp;</span>url=%url%%rewriteMime%&quot;,
+    +    &quot;proxyUrl&quot; : &quot;//<span class="cp">${</span><span class="n">Cur</span><span class="p">[</span><span class="s">&#39;gadgets.uri.iframe.unlockedDomain&#39;</span><span class="p">]</span><span class="cp">}${</span><span class="n">CONTEXT_ROOT</span><span class="cp">}</span>/gadgets/proxy?container=%container%<span class="err">&amp;</span>refresh=%refresh%<span class="err">&amp;</span>url=%url%%rewriteMime%&quot;,
+         &quot;jsonProxyUrl&quot; : &quot;//%host%<span class="cp">${</span><span class="n">CONTEXT_ROOT</span><span class="cp">}</span>/gadgets/makeRequest&quot;
+       },
+       &quot;views&quot; : {
+    Index: rave-project/rave-shindig/src/main/resources/rave.shindig.properties
+    ===================================================================
+    --- rave-project/rave-shindig/src/main/resources/rave.shindig.properties    (revision 1228398)
+    +++ rave-project/rave-shindig/src/main/resources/rave.shindig.properties    (revision )
+    @@ -96,7 +96,7 @@
+     shindig.signing.viewer-access-tokens-enabled=false
+
+     # If enabled here, configuration values can be found in container configuration files.
+    -shindig.locked-domain.enabled=false
+    +shindig.locked-domain.enabled=true
+
+     # TODO: This needs to be moved to container configuration.
+     shindig.content-rewrite.only-allow-excludes=false
+</pre></div>
+  </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>