[gatein-commits] gatein SVN: r982 - in portal/trunk/docs/reference-guide/en/modules: configuration and 1 other directory.

do-not-reply at jboss.org do-not-reply at jboss.org
Wed Dec 9 12:56:52 EST 2009


Author: thomas.heute at jboss.com
Date: 2009-12-09 12:56:51 -0500 (Wed, 09 Dec 2009)
New Revision: 982

Removed:
   portal/trunk/docs/reference-guide/en/modules/configuration/User_Workspace_Configuration.xml
   portal/trunk/docs/reference-guide/en/modules/configuration/Varnish_Configuration.xml
Modified:
   portal/trunk/docs/reference-guide/en/modules/Configuration.xml
   portal/trunk/docs/reference-guide/en/modules/configuration/Authentication_Token_Configuration.xml
   portal/trunk/docs/reference-guide/en/modules/configuration/Dashboard_Configuration.xml
   portal/trunk/docs/reference-guide/en/modules/configuration/Data_Injector_Configuration.xml
   portal/trunk/docs/reference-guide/en/modules/configuration/Database_Configuration.xml
   portal/trunk/docs/reference-guide/en/modules/configuration/Default_Portal_Configuration.xml
   portal/trunk/docs/reference-guide/en/modules/configuration/IDM_Configuration.xml
   portal/trunk/docs/reference-guide/en/modules/configuration/JavaScript_Configuration.xml
   portal/trunk/docs/reference-guide/en/modules/configuration/Portal_Default_Permission_Configuration.xml
   portal/trunk/docs/reference-guide/en/modules/configuration/Portal_Navigation_Configuration.xml
   portal/trunk/docs/reference-guide/en/modules/configuration/Predefined_User_Configuration.xml
   portal/trunk/docs/reference-guide/en/modules/configuration/Skin_Configuration.xml
Log:
More cleanup/fix

Modified: portal/trunk/docs/reference-guide/en/modules/Configuration.xml
===================================================================
--- portal/trunk/docs/reference-guide/en/modules/Configuration.xml	2009-12-09 14:50:00 UTC (rev 981)
+++ portal/trunk/docs/reference-guide/en/modules/Configuration.xml	2009-12-09 17:56:51 UTC (rev 982)
@@ -2,38 +2,19 @@
 <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
 ]>
 <chapter id="chap-Reference_Guide-Configuration">
-	<!--    
-
-    Copyright (C) 2009 eXo Platform SAS.
-    
-    This is free software; you can redistribute it and/or modify it
-    under the terms of the GNU Lesser General Public License as
-    published by the Free Software Foundation; either version 2.1 of
-    the License, or (at your option) any later version.
-    
-    This software is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-    Lesser General Public License for more details.
-    
-    You should have received a copy of the GNU Lesser General Public
-    License along with this software; if not, write to the Free
-    Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-    02110-1301 USA, or see the FSF site: http://www.fsf.org.
-
-    --><title>Configuration</title>
+	<title>Configuration</title>
 	<xi:include href="configuration/IDM_Configuration.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
 	<xi:include href="configuration/Default_Portal_Configuration.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
 	<xi:include href="configuration/Portal_Navigation_Configuration.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
 	<xi:include href="configuration/Predefined_User_Configuration.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
-	<xi:include href="configuration/User_Workspace_Configuration.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
 	<xi:include href="configuration/Portal_Default_Permission_Configuration.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
-	<!--     Kernel/Service_Configuration_for_Beginners      --><!--     Kernel/Service_Configuration_in_Detail     --><xi:include href="configuration/Database_Configuration.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+	<!--     Kernel/Service_Configuration_for_Beginners      --><!--     Kernel/Service_Configuration_in_Detail     -->
+   <xi:include href="configuration/Database_Configuration.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
 	<xi:include href="configuration/Data_Injector_Configuration.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
-	<!--      Core/LDAP_Configuration     --><xi:include href="configuration/Skin_Configuration.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+	<!--      Core/LDAP_Configuration     -->
+   <xi:include href="configuration/Skin_Configuration.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
 	<xi:include href="configuration/JavaScript_Configuration.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
 	<xi:include href="configuration/Dashboard_Configuration.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
 	<xi:include href="configuration/Authentication_Token_Configuration.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
-	<xi:include href="configuration/Varnish_Configuration.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
 </chapter>
 

Modified: portal/trunk/docs/reference-guide/en/modules/configuration/Authentication_Token_Configuration.xml
===================================================================
--- portal/trunk/docs/reference-guide/en/modules/configuration/Authentication_Token_Configuration.xml	2009-12-09 14:50:00 UTC (rev 981)
+++ portal/trunk/docs/reference-guide/en/modules/configuration/Authentication_Token_Configuration.xml	2009-12-09 17:56:51 UTC (rev 982)
@@ -2,120 +2,129 @@
 <!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
 ]>
 <section id="sect-Reference_Guide-Authentication_Token_Configuration">
-	<!--    
-
-    Copyright (C) 2009 eXo Platform SAS.
-    
-    This is free software; you can redistribute it and/or modify it
-    under the terms of the GNU Lesser General Public License as
-    published by the Free Software Foundation; either version 2.1 of
-    the License, or (at your option) any later version.
-    
-    This software is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-    Lesser General Public License for more details.
-    
-    You should have received a copy of the GNU Lesser General Public
-    License along with this software; if not, write to the Free
-    Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-    02110-1301 USA, or see the FSF site: http://www.fsf.org.
-
-    --><title>Authentication Token Configuration</title>
-	<section id="sect-Reference_Guide-Authentication_Token_Configuration-Overview">
-		<title>Overview</title>
-		<para>
-			In this article, you will learn:
+   <title>Authentication Token Configuration</title>
+   <section
+      id="sect-Reference_Guide-Authentication_Token_Configuration-Overview">
+      <title>Overview</title>
+      <para>
+         In this article, you will learn:
 		</para>
-		<itemizedlist>
-			<listitem>
-				<para>
-					What token services are.
+      <itemizedlist>
+         <listitem>
+            <para>
+               What token services are.
 				</para>
-			</listitem>
-			<listitem>
-				<para>
-					Implement a token service for using in GateIn portal.
+         </listitem>
+         <listitem>
+            <para>
+               Implement a token service for using in GateIn portal.
 				</para>
-			</listitem>
-			<listitem>
-				<para>
-					Configure a token service with a token's life-time.
+         </listitem>
+         <listitem>
+            <para>
+               Configure a token service with a token's life-time.
 				</para>
-			</listitem>
-		</itemizedlist>
-	</section>
-	
-	<section id="sect-Reference_Guide-Authentication_Token_Configuration-What_is_token_service">
-		<title>What is token service</title>
-		<para>
-			Token service is used in authentication.
+         </listitem>
+      </itemizedlist>
+   </section>
+
+   <section
+      id="sect-Reference_Guide-Authentication_Token_Configuration-What_is_token_service">
+      <title>What is token service</title>
+      <para>
+         Token service is used in authentication.
 		</para>
-		<para>
-			Using token helps preventing information such as user name, password into user request so the system will become more secure.
+      <para>
+         Using token helps preventing information such as user name, password into
+         user request so the system will become more secure.
 		</para>
-		<para>
-			Token service provides the way to manipulate tokens such as create, delete, retrieve, clean ... Token service also defines the life-time of token. After the life-time, token has no more effect. The life-time definition must be configured.
+      <para>
+         Token service provides the way to manipulate tokens such as create,
+         delete, retrieve, clean ... Token service also defines the
+         life-time of token. After the life-time, token has no more
+         effect. The life-time definition must be configured.
 		</para>
-	</section>
-	
-	<section id="sect-Reference_Guide-Authentication_Token_Configuration-Implement_token_services_API">
-		<title>Implement token service's API</title>
-		<para>
-			All token services used in GateIn portal's authentication must be a subclass of an abstract class <emphasis role="bold">AbstractTokenService</emphasis> . So they must have these following methods:
-		</para>
-		
-<programlisting>
-		public Token getToken(String id) throws PathNotFoundException,
-		RepositoryException;
-		public Token deleteToken(String id) throws PathNotFoundException,
-		RepositoryException;
+   </section>
+
+   <section
+      id="sect-Reference_Guide-Authentication_Token_Configuration-Implement_token_services_API">
+      <title>Implement token service's API</title>
+      <para>
+         All token services used in GateIn portal's authentication must
+         be a subclass of an abstract class
+         <emphasis role="bold">AbstractTokenService</emphasis>
+         . So they must have these following methods:
+      </para>
+
+      <programlisting role="JAVA"><![CDATA[
+		public Token getToken(String id) throws PathNotFoundException, RepositoryException;
+		public Token deleteToken(String id) throws PathNotFoundException, RepositoryException;
 		public String[] getAllTokens();
 		public long getNumberTokens() throws Exception;
-		public String createToken(Credentials credentials) throws
-		IllegalArgumentException,NullPointerException;
-		public Credentials validateToken(String tokenKey, boolean remove) throws
-		NullPointerException;
-</programlisting>
-		<para>
-			These methods show how the token-service manipulates its tokens.
+		public String createToken(Credentials credentials) throws IllegalArgumentException,NullPointerException;
+		public Credentials validateToken(String tokenKey, boolean remove) throws NullPointerException;
+]]></programlisting>
+      <para>
+         These methods show how the token-service manipulates its tokens.
 		</para>
-	</section>
-	
-	<section id="sect-Reference_Guide-Authentication_Token_Configuration-Configure_token_services">
-		<title>Configure token services</title>
-		<para>
-			Token services configuration is also known as specifying the life-time of token in the configuration file. The token service is configured as a portal component.
+   </section>
+
+   <section
+      id="sect-Reference_Guide-Authentication_Token_Configuration-Configure_token_services">
+      <title>Configure token services</title>
+      <para>
+         Token services configuration is also known as specifying the life-time of
+         token in the configuration file. The token service is
+         configured as a portal component.
 		</para>
-		<para>
-			Examples:
+      <para>
+         Examples:
 		</para>
-		
-<programlisting>
-&lt;component&gt;
-    &lt;key&gt;org.exoplatform.web.security.security.CookieTokenService&lt;/key&gt;
-    &lt;type&gt;org.exoplatform.web.security.security.CookieTokenService&lt;/type&gt;
-    &lt;init-params&gt;
-    	&lt;values-param&gt;
-          &lt;name&gt;tokenTimeout&lt;/name&gt;          
-          &lt;value&gt;jcr-token&lt;/value&gt;
-          &lt;value&gt;7&lt;/value&gt;
-          &lt;value&gt;DAY&lt;/value&gt;
-        &lt;/values-param&gt;    	
-    &lt;/init-params&gt;
-&lt;/component&gt;
-</programlisting>
-		<para>
-			In this example, <emphasis>CookieTokenService</emphasis> is a subclass of <emphasis role="bold">AbstractTokenService</emphasis> so it has a property which specifies <emphasis>how long token can live</emphasis>.
-		</para>
-		<para>
-			Service will initiate this property by looking for an init-param named as "<emphasis role="bold">service.configuration</emphasis>". This property must have 3 values (service's name, amount of time, unit of time). In this case, we can see the service's name is "jcr-token", the token's expiration time is a week.
-		</para>
-		<para>
-			At this time, GateIn Portal supports <emphasis>four</emphasis> timing units: <emphasis role="bold">SECOND</emphasis>, <emphasis role="bold">MINUTE</emphasis>, <emphasis role="bold">HOUR</emphasis> and <emphasis role="bold">DAY</emphasis>.
-		</para>
-	</section>
 
+      <programlisting role="XML"><![CDATA[<component>
+  <key>org.exoplatform.web.security.security.CookieTokenService</key>
+  <type>org.exoplatform.web.security.security.CookieTokenService</type>
+  <init-params>
+  	<values-param>
+      <name>tokenTimeout</name>          
+      <value>jcr-token</value>
+      <value>7</value>
+      <value>DAY</value>
+    </values-param>    	
+  </init-params>
+</component>]]></programlisting>
+      <para>
+         In this example,
+         <emphasis>CookieTokenService</emphasis>
+         is a subclass of
+         <emphasis role="bold">AbstractTokenService</emphasis>
+         so it has a property which specifies
+         <emphasis>how long token can live</emphasis>
+         .
+      </para>
+      <para>
+         Service will initiate this property by looking for an
+         init-param named as "
+         <emphasis role="bold">service.configuration</emphasis>
+         ". This property must have 3 values (service's name, amount of
+         time, unit of time). In this case, we can see the service's
+         name is "jcr-token", the token's expiration time is a week.
+      </para>
+      <para>
+         At this time, GateIn Portal supports
+         <emphasis>four</emphasis>
+         timing units:
+         <emphasis role="bold">SECOND</emphasis>
+         ,
+         <emphasis role="bold">MINUTE</emphasis>
+         ,
+         <emphasis role="bold">HOUR</emphasis>
+         and
+         <emphasis role="bold">DAY</emphasis>
+         .
+      </para>
+   </section>
+
 </section>
 
 

Modified: portal/trunk/docs/reference-guide/en/modules/configuration/Dashboard_Configuration.xml
===================================================================
--- portal/trunk/docs/reference-guide/en/modules/configuration/Dashboard_Configuration.xml	2009-12-09 14:50:00 UTC (rev 981)
+++ portal/trunk/docs/reference-guide/en/modules/configuration/Dashboard_Configuration.xml	2009-12-09 17:56:51 UTC (rev 982)
@@ -2,65 +2,50 @@
 <!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
 ]>
 <section id="sect-Reference_Guide-Dashboard_configuration">
-	<!--    
+   <title>Dashboard configuration</title>
+   <section
+      id="sect-Reference_Guide-Dashboard_configuration-Parameters_in_edit_mode">
+      <title>Parameters (in edit mode)</title>
 
-		Copyright (C) 2009 eXo Platform SAS. This is free software; you can
-		redistribute it and/or modify it under the terms of the GNU Lesser
-		General Public License as published by the Free Software Foundation;
-		either version 2.1 of the License, or (at your option) any later
-		version. This software is distributed in the hope that it will be
-		useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
-		MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-		Lesser General Public License for more details. You should have
-		received a copy of the GNU Lesser General Public License along with
-		this software; if not, write to the Free Software Foundation, Inc., 51
-		Franklin St, Fifth Floor, Boston, MA 02110-1301 USA, or see the FSF
-		site: http://www.fsf.org.
-	    --><title>Dashboard configuration</title>
-	<section id="sect-Reference_Guide-Dashboard_configuration-Parameters_in_edit_mode">
-		<title>Parameters (in edit mode)</title>
-		<para>
-			Stuff Goes Here?
-		</para>
-	</section>
-	
-	<section id="sect-Reference_Guide-Dashboard_configuration-owner">
-		<title>owner</title>
-		<itemizedlist>
-			<listitem>
-				<para>
-					if empty, everyone share the same dashboard and can edit it
+      <section id="sect-Reference_Guide-Dashboard_configuration-owner">
+         <title>owner</title>
+         <itemizedlist>
+            <listitem>
+               <para>
+                  if empty, everyone share the same dashboard and can edit it
 				</para>
-			</listitem>
-			<listitem>
-				<para>
-					if set to <emphasis>CURRENTUSER</emphasis> , every user has his own dashboard
+            </listitem>
+            <listitem>
+               <para>
+                  if set to
+                  <emphasis>CURRENTUSER</emphasis>
+                  , every user has his own dashboard
+               </para>
+            </listitem>
+            <listitem>
+               <para>
+                  if set to a username, everyone will see the dashboard of this person
+               </para>
+            </listitem>
+         </itemizedlist>
+      </section>
+
+      <section id="sect-Reference_Guide-Dashboard_configuration-isPrivate">
+         <title>isPrivate</title>
+         <itemizedlist>
+            <listitem>
+               <para>
+                  if set to 1, only the owner of the dashboard can edit it
 				</para>
-			</listitem>
-			<listitem>
-				<para>
-					if set to a username, everyone will see the dashboard of this person
+            </listitem>
+            <listitem>
+               <para>
+                  if set to 0, everyone can edit it
 				</para>
-			</listitem>
-		</itemizedlist>
-	</section>
-	
-	<section id="sect-Reference_Guide-Dashboard_configuration-isPrivate">
-		<title>isPrivate</title>
-		<itemizedlist>
-			<listitem>
-				<para>
-					if set to 1, only the owner of the dashboard can edit it
-				</para>
-			</listitem>
-			<listitem>
-				<para>
-					if set to 0, everyone can edit it
-				</para>
-			</listitem>
-		</itemizedlist>
-	</section>
-
+            </listitem>
+         </itemizedlist>
+      </section>
+   </section>
 </section>
 
 

Modified: portal/trunk/docs/reference-guide/en/modules/configuration/Data_Injector_Configuration.xml
===================================================================
--- portal/trunk/docs/reference-guide/en/modules/configuration/Data_Injector_Configuration.xml	2009-12-09 14:50:00 UTC (rev 981)
+++ portal/trunk/docs/reference-guide/en/modules/configuration/Data_Injector_Configuration.xml	2009-12-09 17:56:51 UTC (rev 982)
@@ -2,188 +2,210 @@
 <!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
 ]>
 <section id="sect-Reference_Guide-Data_Injector_Configuration">
-	<!--    
+   <title>Data Injector Configuration</title>
+   <section
+      id="sect-Reference_Guide-Data_Injector_Configuration-Data_Injector">
+      <title>Data Injector</title>
+      <para>
+         <emphasis>Data-injector</emphasis>
+         is an utility to initialize enterprise data for Portal. It is
+         packed as a .jar.
+<!--
+            and deployed under $TOMCATHOME/lib. It is started
+            automatically when Tomcat starts.
+         -->
 
-    Copyright (C) 2009 eXo Platform SAS.
-    
-    This is free software; you can redistribute it and/or modify it
-    under the terms of the GNU Lesser General Public License as
-    published by the Free Software Foundation; either version 2.1 of
-    the License, or (at your option) any later version.
-    
-    This software is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-    Lesser General Public License for more details.
-    
-    You should have received a copy of the GNU Lesser General Public
-    License along with this software; if not, write to the Free
-    Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-    02110-1301 USA, or see the FSF site: http://www.fsf.org.
+      </para>
+   </section>
 
-    --> <title>Data Injector Configuration</title>
-	<section id="sect-Reference_Guide-Data_Injector_Configuration-Data_Injector">
-		<title>Data Injector</title>
-		<para>
-			<emphasis>Data-injector</emphasis> is an utility to initialize enterprise data for Portal. It is packed in a .jar and deployed under $TOMCATHOME/lib. It is started automatically when Tomcat starts.
-		</para>
-	</section>
-	
-	<section id="sect-Reference_Guide-Data_Injector_Configuration-OrganizationInitializer">
-		<title>OrganizationInitializer</title>
-		<para>
-			<emphasis>OrganizationInitializer</emphasis> is the service that allows creating a large organization with many groups and users. It also creates portal navigation and page(s) for each group, each user.
-		</para>
-	</section>
-	
-	<section id="sect-Reference_Guide-Data_Injector_Configuration-Service_configuration_file">
-		<title>Service configuration file</title>
-		
-<programlisting>
-&lt;configuration&gt;
-  &lt;component&gt;
- &lt;key&gt;org.exoplatform.portal.initializer.organization.OrganizationInitializer&lt;/key&gt;
- &lt;type&gt;org.exoplatform.portal.initializer.organization.OrganizationInitializer&lt;/type&gt;
-     &lt;init-params&gt;
-       &lt;value-param&gt;
-        &lt;name&gt;auto.create.group.page.navigation&lt;/name&gt;
-        &lt;description&gt;true or false&lt;/description&gt;
-        &lt;value&gt;true&lt;/value&gt;
-       &lt;/value-param&gt;
+   <section
+      id="sect-Reference_Guide-Data_Injector_Configuration-OrganizationInitializer">
+      <title>OrganizationInitializer</title>
+      <para>
+         <emphasis>OrganizationInitializer</emphasis>
+         is the service that allows creating a large organization with
+         many groups and users. It also creates portal navigation and
+         page(s) for each group, each user.
+      </para>
+   </section>
+
+   <section
+      id="sect-Reference_Guide-Data_Injector_Configuration-Service_configuration_file">
+      <title>Service configuration file</title>
+
+      <programlisting role="XML"><![CDATA[<configuration>
+  <component>
+  <key>org.exoplatform.portal.initializer.organization.OrganizationInitializer</key>
+  <type>org.exoplatform.portal.initializer.organization.OrganizationInitializer</type>
+    <init-params>
+      <value-param>
+        <name>auto.create.group.page.navigation</name>
+        <description>true or false</description>
+        <value>true</value>
+      </value-param>
        
-       &lt;value-param&gt;
-        &lt;name&gt;auto.create.user.page.navigation&lt;/name&gt;
-        &lt;description&gt;number of pages per user&lt;/description&gt;
-        &lt;value&gt;10&lt;/value&gt;
-       &lt;/value-param&gt;
-       &lt;object-param&gt;
-        &lt;name&gt;organization&lt;/name&gt;
-        &lt;description&gt;description&lt;/description&gt;
-        &lt;object type="org.exoplatform.portal.initializer.organization.OrganizationConfig"&gt; &lt;field name="groups"&gt;
-        &lt;collection type="java.util.ArrayList"&gt;
-                &lt;value&gt;
-    &lt;object type="org.exoplatform.portal.initializer.organization.OrganizationConfig$GroupsConfig"&gt; &lt;field name="group"&gt;
-     &lt;object type="org.exoplatform.services.organization.OrganizationConfig$Group"&gt;
-    &lt;field  name="name"&gt;&lt;string&gt;province&lt;/string&gt;&lt;/field&gt;
-    &lt;field  name="parentId"&gt;&lt;string&gt;/africa/tanzania&lt;/string&gt;&lt;/field&gt;
-    &lt;field  name="description"&gt;&lt;string&gt;Tanzania's province&lt;/string&gt;&lt;/field&gt;
-    &lt;field  name="label"&gt;&lt;string&gt;Province&lt;/string&gt;&lt;/field&gt;
-      &lt;/object&gt;                
-    &lt;/field&gt; 
-       &lt;field name="from"&gt;&lt;string&gt;1&lt;/string&gt;&lt;/field&gt;
-          &lt;field name="to"&gt;&lt;string&gt;10&lt;/string&gt;&lt;/field&gt;
-            &lt;/object&gt;
-                 &lt;/value&gt;
-                &lt;/collection&gt;
-         &lt;/field&gt;
-         &lt;field name="users"&gt;
-                &lt;collection type="java.util.ArrayList"&gt; 
- 
-          &lt;value&gt;
-                         &lt;object type="org.exoplatform.portal.initializer.organization.OrganizationConfig$UsersConfig"&gt;
-              &lt;field name="user"&gt;
-                    &lt;object type="org.exoplatform.services.organization.OrganizationConfig$User"&gt;
-                        &lt;field  name="userName"&gt;&lt;string&gt;user&lt;/string&gt;&lt;/field&gt;
-                        &lt;field  name="password"&gt;&lt;string&gt;GateInPlatform&lt;/string&gt;&lt;/field&gt;
-                        &lt;field  name="firstName"&gt;&lt;string&gt;First-Name&lt;/string&gt;&lt;/field&gt;
-                        &lt;field  name="lastName"&gt;&lt;string&gt;Last-Name&lt;/string&gt;&lt;/field&gt;
-                        &lt;field  name="email"&gt;&lt;string&gt;exo at localhost&lt;/string&gt;&lt;/field&gt;
-                        &lt;field  name="groups"&gt;&lt;string&gt;member:/africa&lt;/string&gt;&lt;/field&gt;
-                    &lt;/object&gt;
-              &lt;/field&gt;
-                &lt;field name="from"&gt;&lt;string&gt;0&lt;/string&gt;&lt;/field&gt;
-                &lt;field name="to"&gt;&lt;string&gt;9&lt;/string&gt;&lt;/field&gt;
-           &lt;/object&gt;
-           &lt;/value&gt;
-          &lt;/collection&gt;
-          &lt;/field&gt;
-        &lt;/object&gt;
-           &lt;/object-param&gt;
-          &lt;/init-params&gt;
- &lt;/component&gt;  
-   
-&lt;/configuration&gt;
-</programlisting>
-	</section>
-	
-	<section id="sect-Reference_Guide-Data_Injector_Configuration-Parameters_for_Group">
-		<title>Parameters for Group</title>
-		<itemizedlist>
-			<listitem>
-				<para>
-					<emphasis>name</emphasis>: The name of group.
-				</para>
-			</listitem>
-			<listitem>
-				<para>
-					<emphasis>parentId</emphasis>: The id of parent group. If the parent id is null, it means that the group is at the first level. If parent groups do not exist, it will be created automatically.
-				</para>
-			</listitem>
-			<listitem>
-				<para>
-					<emphasis>description</emphasis>: The description of group.
-				</para>
-			</listitem>
-			<listitem>
-				<para>
-					<emphasis>label</emphasis>: The label of group.
-				</para>
-			</listitem>
-			<listitem>
-				<para>
-					<emphasis>from and to</emphasis>: This group can be cloned to may copies and each copy is marked a number from!images/number.png!images/ to!images/ number.png!.
-				</para>
-			</listitem>
-		</itemizedlist>
-	</section>
-	
-	<section id="sect-Reference_Guide-Data_Injector_Configuration-Parameters_for_User">
-		<title>Parameters for User</title>
-		<itemizedlist>
-			<listitem>
-				<para>
-					<emphasis>userName</emphasis>: The ID of user.
-				</para>
-			</listitem>
-			<listitem>
-				<para>
-					<emphasis>password</emphasis>: The password of user.
-				</para>
-			</listitem>
-			<listitem>
-				<para>
-					<emphasis>firstName</emphasis>: The first name of user.
-				</para>
-			</listitem>
-			<listitem>
-				<para>
-					<emphasis>lastName</emphasis>: The last name of user.
-				</para>
-			</listitem>
-			<listitem>
-				<para>
-					<emphasis>email</emphasis>: The email of user.
-				</para>
-			</listitem>
-			<listitem>
-				<para>
-					<emphasis>groups</emphasis>: The list of groups that user join with membership type
-				</para>
-			</listitem>
-			<listitem>
-				<para>
-					<emphasis>from and to</emphasis>: This user can be cloned to may copies and each copy is marked a number from!images/number.png!images/ to!images/ number.png!. With this configuration we can create a range of users and put them to various groups and other range to other groups.
-				</para>
-			</listitem>
-		</itemizedlist>
-		<para>
-			The " <emphasis>auto.create.group.page.navigation</emphasis> " Parameter Value is true or false. If TRUE it automatically create portal navigation and page for each group. If FALSE it does not create portal navigation and page for each group.
-		</para>
-		<para>
-			The "<emphasis>auto.create.user.page.navigation</emphasis> " Parameter Value is number of pages that automatically created for each user.
-		</para>
-	</section>
+      <value-param>
+        <name>auto.create.user.page.navigation</name>
+        <description>number of pages per user</description>
+        <value>10</value>
+      </value-param>
+      
+      <object-param>
+        <name>organization</name>
+        <description>description</description>
+        <object type="org.exoplatform.portal.initializer.organization.OrganizationConfig">
+          <field name="groups">
+            <collection type="java.util.ArrayList">
+              <value>
+                <object type="org.exoplatform.portal.initializer.organization.OrganizationConfig$GroupsConfig">
+                  <field name="group">
+                    <object type="org.exoplatform.services.organization.OrganizationConfig$Group">
+                      <field name="name"><string>province</string></field>
+                      <field name="parentId"><string>/africa/tanzania</string></field>
+                      <field name="description"><string>Tanzania's province</string></field>
+                      <field name="label"><string>Province</string></field>
+                    </object>                
+                  </field> 
+                  <field name="from"><string>1</string></field>
+                  <field name="to"><string>10</string></field>
+                </object>
+              </value>
+            </collection>
+          </field>
+          <field name="users">
+            <collection type="java.util.ArrayList"> 
+              <value>
+                <object type="org.exoplatform.portal.initializer.organization.OrganizationConfig$UsersConfig">
+                  <field name="user">
+                    <object type="org.exoplatform.services.organization.OrganizationConfig$User">
+                      <field name="userName"><string>user</string></field>
+                      <field name="password"><string>GateInPlatform</string></field>
+                      <field name="firstName"><string>First-Name</string></field>
+                      <field name="lastName"><string>Last-Name</string></field>
+                      <field name="email"><string>exo at localhost</string></field>
+                      <field name="groups"><string>member:/africa</string></field>
+                    </object>
+                  </field>
+                  <field name="from"><string>0</string></field>
+                  <field name="to"><string>9</string></field>
+                </object>
+              </value>
+            </collection>
+          </field>
+        </object>
+      </object-param>
+    </init-params>
+  </component>  
+</configuration>]]></programlisting>
+   </section>
 
+   <section
+      id="sect-Reference_Guide-Data_Injector_Configuration-Parameters_for_Group">
+      <title>Parameters for Group</title>
+      <itemizedlist>
+         <listitem>
+            <para>
+               <emphasis>name</emphasis>
+               : The name of group.
+            </para>
+         </listitem>
+         <listitem>
+            <para>
+               <emphasis>parentId</emphasis>
+               : The id of parent group. If the parent id is null, it
+               means that the group is at the first level. If parent
+               groups do not exist, it will be created automatically.
+            </para>
+         </listitem>
+         <listitem>
+            <para>
+               <emphasis>description</emphasis>
+               : The description of group.
+            </para>
+         </listitem>
+         <listitem>
+            <para>
+               <emphasis>label</emphasis>
+               : The label of group.
+            </para>
+         </listitem>
+         <listitem>
+            <para>
+               <emphasis>from and to</emphasis>
+               : This group can be cloned to may copies and each copy is
+               marked a number from!images/number.png!images/ to!images/
+               number.png!.
+            </para>
+         </listitem>
+      </itemizedlist>
+   </section>
+
+   <section
+      id="sect-Reference_Guide-Data_Injector_Configuration-Parameters_for_User">
+      <title>Parameters for User</title>
+      <itemizedlist>
+         <listitem>
+            <para>
+               <emphasis>userName</emphasis>
+               : The ID of user.
+            </para>
+         </listitem>
+         <listitem>
+            <para>
+               <emphasis>password</emphasis>
+               : The password of user.
+            </para>
+         </listitem>
+         <listitem>
+            <para>
+               <emphasis>firstName</emphasis>
+               : The first name of user.
+            </para>
+         </listitem>
+         <listitem>
+            <para>
+               <emphasis>lastName</emphasis>
+               : The last name of user.
+            </para>
+         </listitem>
+         <listitem>
+            <para>
+               <emphasis>email</emphasis>
+               : The email of user.
+            </para>
+         </listitem>
+         <listitem>
+            <para>
+               <emphasis>groups</emphasis>
+               : The list of groups that user join with membership type
+            </para>
+         </listitem>
+         <listitem>
+            <para>
+               <emphasis>from and to</emphasis>
+               : This user can be cloned to may copies and each copy is
+               marked a number from!images/number.png!images/ to!images/
+               number.png!. With this configuration we can create a
+               range of users and put them to various groups and other
+               range to other groups.
+            </para>
+         </listitem>
+      </itemizedlist>
+      <para>
+         The "
+         <emphasis>auto.create.group.page.navigation</emphasis>
+         " Parameter Value is true or false. If TRUE it automatically
+         create portal navigation and page for each group. If FALSE it
+         does not create portal navigation and page for each group.
+      </para>
+      <para>
+         The "
+         <emphasis>auto.create.user.page.navigation</emphasis>
+         " Parameter Value is number of pages that automatically created
+         for each user.
+      </para>
+   </section>
+
 </section>
 
 

Modified: portal/trunk/docs/reference-guide/en/modules/configuration/Database_Configuration.xml
===================================================================
--- portal/trunk/docs/reference-guide/en/modules/configuration/Database_Configuration.xml	2009-12-09 14:50:00 UTC (rev 981)
+++ portal/trunk/docs/reference-guide/en/modules/configuration/Database_Configuration.xml	2009-12-09 17:56:51 UTC (rev 982)
@@ -2,199 +2,211 @@
 <!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
 ]>
 <section id="sect-Reference_Guide-Database_Configuration">
-	<!--    
-
-    Copyright (C) 2009 eXo Platform SAS.
-    
-    This is free software; you can redistribute it and/or modify it
-    under the terms of the GNU Lesser General Public License as
-    published by the Free Software Foundation; either version 2.1 of
-    the License, or (at your option) any later version.
-    
-    This software is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-    Lesser General Public License for more details.
-    
-    You should have received a copy of the GNU Lesser General Public
-    License along with this software; if not, write to the Free
-    Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-    02110-1301 USA, or see the FSF site: http://www.fsf.org.
-
-    --><title>Database Configuration</title>
-	<section id="sect-Reference_Guide-Database_Configuration-Overview">
-		<title>Overview</title>
-		<para>
-			GateIn Portal has two different database dependencies. One is the Hibernate service configuration, which depends on the the Hibernate and c3p0 projects. The other database dependency is Java content repository (JCR) service, which depends on the native JDBC API and it can integrate with any existing datasource implementation.
+   <title>Database Configuration</title>
+   <section id="sect-Reference_Guide-Database_Configuration-Overview">
+      <title>Overview</title>
+      <para>
+         GateIn Portal has two different database dependencies. One is the Hibernate
+         service configuration, which depends on the the Hibernate and
+         c3p0 projects. The other database dependency is Java content
+         repository (JCR) service, which depends on the native JDBC API
+         and it can integrate with any existing datasource
+         implementation.
 		</para>
-		<para>
-			When you change the database configuration for the first time, GateIn will automatically generate the proper schema (assuming that the database user has the appropriate permissions).
+      <para>
+         When you change the database configuration for the first time, GateIn
+         will automatically generate the proper schema (assuming that
+         the database user has the appropriate permissions).
 		</para>
-		<para>
-			Currently (as of GateIn r23239 or GateIn Portal 2.5 and later), GateIn assumes the default encoding for your database is &lt;code&gt;latin1&lt;/code&gt;. You will need to change this parameter for your database in order to work properly.
+      <para>
+         GateIn assumes the default encoding for your database is
+         <literal>latin1</literal>
+         . You will need to change this parameter for your database in
+         order to work properly.
+      </para>
+   </section>
+
+   <section
+      id="sect-Reference_Guide-Database_Configuration-DB_and_datasource_configuration">
+      <title>DB and datasource configuration</title>
+      <para>
+         You can find the database configuration in the
+         portal/WEB-INF/conf/database/database-configuration.xml file
+         (located in your application server's web application
+         directory).
 		</para>
-	</section>
-	
-	<section id="sect-Reference_Guide-Database_Configuration-DB_and_datasource_configuration">
-		<title>DB and datasource configuration</title>
-		<para>
-			You can find the database configuration in the portal/WEB-INF/conf/database/database-configuration.xml file (located in your application server's web application directory).
-		</para>
-		
-<programlisting>&lt;?xml version="1.0" encoding="ISO-8859-1"?&gt;
-&lt;configuration&gt;
+
+      <programlisting role="XML"><![CDATA[<?xml version="1.0" encoding="ISO-8859-1"?>
+<configuration>
   [...]
-  &lt;component&gt;
-    &lt;key&gt;org.exoplatform.services.database.HibernateService&lt;/key&gt;
-    &lt;jmx-name&gt;database:type=HibernateService&lt;/jmx-name&gt;
-    &lt;type&gt;org.exoplatform.services.database.impl.HibernateServiceImpl&lt;/type&gt;
-    &lt;init-params&gt;
-      &lt;properties-param&gt;
-        &lt;name&gt;hibernate.properties&lt;/name&gt;
-        &lt;description&gt;Default Hibernate Service&lt;/description&gt;
-        &lt;property name="hibernate.show_sql" value="false"/&gt;
-        &lt;property name="hibernate.cglib.use_reflection_optimizer" value="true"/&gt;
-        &lt;property name="hibernate.connection.url" value="jdbc:hsqldb:file:../temp/data/exodb"/&gt;
-        &lt;property name="hibernate.connection.driver_class" value="org.hsqldb.jdbcDriver"/&gt;
-        &lt;property name="hibernate.connection.autocommit" value="true"/&gt;
-        &lt;property name="hibernate.connection.username" value="sa"/&gt;
-        &lt;property name="hibernate.connection.password" value=""/&gt;
-        &lt;property name="hibernate.dialect" value="org.hibernate.dialect.HSQLDialect"/&gt;
-        &lt;property name="hibernate.c3p0.min_size" value="5"/&gt;
-        &lt;property name="hibernate.c3p0.max_size" value="20"/&gt;
-        &lt;property name="hibernate.c3p0.timeout" value="1800"/&gt;
-        &lt;property name="hibernate.c3p0.max_statements" value="50"/&gt;
-      &lt;/properties-param&gt;
-    &lt;/init-params&gt;
-  &lt;/component&gt;
-  &lt;external-component-plugins&gt;
-    &lt;target-component&gt;org.exoplatform.services.naming.InitialContextInitializer&lt;/target-component&gt;
-    &lt;component-plugin&gt;
-      &lt;name&gt;bind.datasource&lt;/name&gt;
-      &lt;set-method&gt;addPlugin&lt;/set-method&gt;
-      &lt;type&gt;org.exoplatform.services.naming.BindReferencePlugin&lt;/type&gt;
-      &lt;init-params&gt;
-        &lt;value-param&gt;
-          &lt;name&gt;bind-name&lt;/name&gt;
-          &lt;value&gt;jdbcexo&lt;/value&gt;
-        &lt;/value-param&gt;
-        &lt;value-param&gt;
-          &lt;name&gt;class-name&lt;/name&gt;
-          &lt;value&gt;javax.sql.DataSource&lt;/value&gt;
-        &lt;/value-param&gt;
-        &lt;value-param&gt;
-          &lt;name&gt;factory&lt;/name&gt;
-          &lt;value&gt;org.apache.commons.dbcp.BasicDataSourceFactory&lt;/value&gt;
-        &lt;/value-param&gt;
-        &lt;properties-param&gt;
-          &lt;name&gt;ref-addresses&lt;/name&gt;
-          &lt;description&gt;ref-addresses&lt;/description&gt;
-          &lt;property name="driverClassName" value="org.hsqldb.jdbcDriver"/&gt;
-          &lt;property name="url" value="jdbc:hsqldb:file:../temp/data/exodb"/&gt;
-          &lt;property name="username" value="sa"/&gt;
-          &lt;property name="password" value=""/&gt;
-        &lt;/properties-param&gt;
-      &lt;/init-params&gt;
-    &lt;/component-plugin&gt;
-  &lt;/external-component-plugins&gt;
+  <component>
+    <key>org.exoplatform.services.database.HibernateService</key>
+    <jmx-name>database:type=HibernateService</jmx-name>
+    <type>org.exoplatform.services.database.impl.HibernateServiceImpl</type>
+    <init-params>
+      <properties-param>
+        <name>hibernate.properties</name>
+        <description>Default Hibernate Service</description>
+        <property name="hibernate.show_sql" value="false"/>
+        <property name="hibernate.cglib.use_reflection_optimizer" value="true"/>
+        <property name="hibernate.connection.url" value="jdbc:hsqldb:file:../temp/data/exodb"/>
+        <property name="hibernate.connection.driver_class" value="org.hsqldb.jdbcDriver"/>
+        <property name="hibernate.connection.autocommit" value="true"/>
+        <property name="hibernate.connection.username" value="sa"/>
+        <property name="hibernate.connection.password" value=""/>
+        <property name="hibernate.dialect" value="org.hibernate.dialect.HSQLDialect"/>
+        <property name="hibernate.c3p0.min_size" value="5"/>
+        <property name="hibernate.c3p0.max_size" value="20"/>
+        <property name="hibernate.c3p0.timeout" value="1800"/>
+        <property name="hibernate.c3p0.max_statements" value="50"/>
+      </properties-param>
+    </init-params>
+  </component>
+  <external-component-plugins>
+    <target-component>org.exoplatform.services.naming.InitialContextInitializer</target-component>
+    <component-plugin>
+      <name>bind.datasource</name>
+      <set-method>addPlugin</set-method>
+      <type>org.exoplatform.services.naming.BindReferencePlugin</type>
+      <init-params>
+        <value-param>
+          <name>bind-name</name>
+          <value>jdbcexo</value>
+        </value-param>
+        <value-param>
+          <name>class-name</name>
+          <value>javax.sql.DataSource</value>
+        </value-param>
+        <value-param>
+          <name>factory</name>
+          <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
+        </value-param>
+        <properties-param>
+          <name>ref-addresses</name>
+          <description>ref-addresses</description>
+          <property name="driverClassName" value="org.hsqldb.jdbcDriver"/>
+          <property name="url" value="jdbc:hsqldb:file:../temp/data/exodb"/>
+          <property name="username" value="sa"/>
+          <property name="password" value=""/>
+        </properties-param>
+      </init-params>
+    </component-plugin>
+  </external-component-plugins>
   [...]
-&lt;/configuration&gt;
-</programlisting>
-		<para>
-			The first component configuration is for the Hibernate service. You can enter any additional properties in a hibernate.properties file, but GateIn will override hibernate.properties with values read in from this configuration file.
+</configuration>]]></programlisting>
+      <para>
+         The first component configuration is for the Hibernate service. You can
+         enter any additional properties in a hibernate.properties file,
+         but GateIn will override hibernate.properties with values read
+         in from this configuration file.
 		</para>
-		<para>
-			The second component configuration is for the JCR datasource. The InitialContextInitializer component will load the factory class, use the factory object to create a datasource, and bind that datasource in the JNDI tree with the value of the "bind-name" parameter. If you want to change the bind-name, for example "jdbcexo" to "myjdbc", you also need to change JCR repository configuration in order that the service picks up the right datasource.
+      <para>
+         The second component configuration is for the JCR datasource. The
+         InitialContextInitializer component will load the factory
+         class, use the factory object to create a datasource, and bind
+         that datasource in the JNDI tree with the value of the
+         "bind-name" parameter. If you want to change the bind-name, for
+         example "jdbcexo" to "myjdbc", you also need to change JCR
+         repository configuration in order that the service picks up the
+         right datasource.
 		</para>
-		<para>
-			Make sure you update the database connection properties and dialect for both of these component configurations.
+      <para>
+         Make sure you update the database connection properties and dialect for
+         both of these component configurations.
 		</para>
-	</section>
-	
-	<section id="sect-Reference_Guide-Database_Configuration-JCR_database_configuration">
-		<title>JCR database configuration</title>
-		<para>
-			There are two JCR configuration files that must be changed to support a different database. In both files, <emphasis role="bold">edit the dialect (and the data source name if necessary)</emphasis>.
-		</para>
-		<para>
-			The first file is portal/WEB-INF/conf/jcr/jcr-configuration.xml:
-		</para>
-		
-<programlisting>[...]
- &lt;component&gt;
-   &lt;key&gt;org.exoplatform.services.jcr.config.RepositoryServiceConfiguration&lt;/key&gt;
-   &lt;type&gt;org.exoplatform.services.jcr.impl.config.RepositoryServiceConfigurationImpl&lt;/type&gt;
-   &lt;init-params&gt;
-     &lt;value-param&gt;
-       &lt;name&gt;conf-path&lt;/name&gt;
-       &lt;description&gt;JCR configuration file&lt;/description&gt;
-       &lt;value&gt;war:/conf/jcr/repository-configuration.xml&lt;/value&gt;
-     &lt;/value-param&gt;
-     &lt;properties-param&gt;
-       &lt;name&gt;working-conf&lt;/name&gt;
-       &lt;description&gt;working-conf&lt;/description&gt;
-       &lt;property name="persisterClassName" value="org.exoplatform.services.jcr.impl.config.JDBCConfigurationPersister"/&gt;
-       &lt;property name="sourceName" value="jdbcexo"/&gt;
-       &lt;property name="dialect" value="hsqldb"/&gt;
-     &lt;/properties-param&gt;
-   &lt;/init-params&gt;
- &lt;/component&gt;
+   </section>
+
+   <section
+      id="sect-Reference_Guide-Database_Configuration-JCR_database_configuration">
+      <title>JCR database configuration</title>
+      <para>
+         There are two JCR configuration files that must be changed to
+         support a different database. In both files,
+         <emphasis role="bold">edit the dialect (and the data source
+            name if necessary)</emphasis>
+         .
+      </para>
+      <para>
+         The first file is
+         <filename>02portal.war:/WEB-INF/conf/jcr/jcr-configuration.xml</filename>
+         :
+      </para>
+
+      <programlisting><![CDATA[[...]
+ <component>
+   <key>org.exoplatform.services.jcr.config.RepositoryServiceConfiguration</key>
+   <type>org.exoplatform.services.jcr.impl.config.RepositoryServiceConfigurationImpl</type>
+   <init-params>
+     <value-param>
+       <name>conf-path</name>
+       <description>JCR configuration file</description>
+       <value>war:/conf/jcr/repository-configuration.xml</value>
+     </value-param>
+     <properties-param>
+       <name>working-conf</name>
+       <description>working-conf</description>
+       <property name="persisterClassName" value="org.exoplatform.services.jcr.impl.config.JDBCConfigurationPersister"/>
+       <property name="sourceName" value="jdbcexo"/>
+       <property name="dialect" value="hsqldb"/>
+     </properties-param>
+   </init-params>
+ </component>
+[...]]]></programlisting>
+      <para>
+         The second file is
+         <filename>02portal.war:/WEB-INF/conf/jcr/repository-configuration.xml</filename>
+         :
+      </para>
+
+      <programlisting role="XML"> <![CDATA[...]     
+     <workspaces>
+       <workspace name="system" auto-init-root-nodetype="nt:unstructured" 
+                  auto-init-permissions="*:/platform/administrators read;*:/platform/administrators add_node;*:/platform/administrators set_property;*:/platform/administrators remove" >
+          <!-- for system storage -->
+          <container class="org.exoplatform.services.jcr.impl.storage.jdbc.JDBCWorkspaceDataContainer">
+            <properties>
+              <property name="sourceName" value="jdbcexo"/>
+              <property name="dialect" value="hsql"/>
+              <!-- property name="db-type" value="mysql"/ -->
+              <property name="multi-db" value="false"/>
+              <property name="update-storage" value="true"/>
+              <property name="max-buffer-size" value="204800"/>
+              <property name="swap-directory" value="../temp/swap/system"/>
+            </properties>
 [...]
-</programlisting>
-		<para>
-			The second file is portal/WEB-INF/conf/jcr/repository-configuration.xml:
-		</para>
-		
-<programlisting>[...]     
-     &lt;workspaces&gt;
-       &lt;workspace name="system" auto-init-root-nodetype="nt:unstructured" 
-                  auto-init-permissions="*:/platform/administrators read;*:/platform/administrators add_node;*:/platform/administrators set_property;*:/platform/administrators remove" &gt;
-          &lt;!-- for system storage --&gt;
-          &lt;container class="org.exoplatform.services.jcr.impl.storage.jdbc.JDBCWorkspaceDataContainer"&gt;
-            &lt;properties&gt;
-              &lt;property name="sourceName" value="jdbcexo"/&gt;
-              &lt;property name="dialect" value="hsql"/&gt;
-              &lt;!-- property name="db-type" value="mysql"/ --&gt;
-              &lt;property name="multi-db" value="false"/&gt;
-              &lt;property name="update-storage" value="true"/&gt;
-              &lt;property name="max-buffer-size" value="204800"/&gt;
-              &lt;property name="swap-directory" value="../temp/swap/system"/&gt;
-            &lt;/properties&gt;
+       </workspace>
+       <workspace name="collaboration" auto-init-root-nodetype="nt:unstructured" 
+                  auto-init-permissions="any read;*:/platform/administrators read;*:/platform/administrators add_node;*:/platform/administrators set_property;*:/platform/administrators remove" >
+          <!-- for system storage -->
+          <container class="org.exoplatform.services.jcr.impl.storage.jdbc.JDBCWorkspaceDataContainer">
+            <properties>
+              <property name="sourceName" value="jdbcexo"/>
+              <property name="dialect" value="hsqldb"/>
+              <property name="multi-db" value="false"/>
+              <property name="update-storage" value="true"/>
+              <property name="max-buffer-size" value="204800"/>
+              <property name="swap-directory" value="../temp/swap/collaboration"/>
+            </properties>
 [...]
-       &lt;/workspace&gt;
-       &lt;workspace name="collaboration" auto-init-root-nodetype="nt:unstructured" 
-                  auto-init-permissions="any read;*:/platform/administrators read;*:/platform/administrators add_node;*:/platform/administrators set_property;*:/platform/administrators remove" &gt;
-          &lt;!-- for system storage --&gt;
-          &lt;container class="org.exoplatform.services.jcr.impl.storage.jdbc.JDBCWorkspaceDataContainer"&gt;
-            &lt;properties&gt;
-              &lt;property name="sourceName" value="jdbcexo"/&gt;
-              &lt;property name="dialect" value="hsqldb"/&gt;
-              &lt;property name="multi-db" value="false"/&gt;
-              &lt;property name="update-storage" value="true"/&gt;
-              &lt;property name="max-buffer-size" value="204800"/&gt;
-              &lt;property name="swap-directory" value="../temp/swap/collaboration"/&gt;
-            &lt;/properties&gt;
+       </workspace>
+       <workspace name="backup" auto-init-root-nodetype="nt:unstructured" 
+                  auto-init-permissions="any read;*:/platform/administrators read;*:/platform/administrators add_node;*:/platform/administrators set_property;*:/platform/administrators remove" >
+          <!-- for system storage -->
+          <container class="org.exoplatform.services.jcr.impl.storage.jdbc.JDBCWorkspaceDataContainer">
+            <properties>
+              <property name="sourceName" value="jdbcexo"/>
+              <property name="dialect" value="mysql"/>
+              <!-- property name="db-type" value="mysql"/ -->
+              <property name="multi-db" value="false"/>
+              <property name="update-storage" value="true"/>
+              <property name="max-buffer-size" value="204800"/>
+              <property name="swap-directory" value="../temp/swap/backup"/>
+            </properties>
+       </workspace>
 [...]
-       &lt;/workspace&gt;
-       &lt;workspace name="backup" auto-init-root-nodetype="nt:unstructured" 
-                  auto-init-permissions="any read;*:/platform/administrators read;*:/platform/administrators add_node;*:/platform/administrators set_property;*:/platform/administrators remove" &gt;
-          &lt;!-- for system storage --&gt;
-          &lt;container class="org.exoplatform.services.jcr.impl.storage.jdbc.JDBCWorkspaceDataContainer"&gt;
-            &lt;properties&gt;
-              &lt;property name="sourceName" value="jdbcexo"/&gt;
-              &lt;property name="dialect" value="mysql"/&gt;
-              &lt;!-- property name="db-type" value="mysql"/ --&gt;
-              &lt;property name="multi-db" value="false"/&gt;
-              &lt;property name="update-storage" value="true"/&gt;
-              &lt;property name="max-buffer-size" value="204800"/&gt;
-              &lt;property name="swap-directory" value="../temp/swap/backup"/&gt;
-            &lt;/properties&gt;
-       &lt;/workspace&gt;
-[...]
-      &lt;/workspaces&gt;
-[...]
-</programlisting>
-	</section>
+      </workspaces>
+[...]]]></programlisting>
+   </section>
 
 </section>
 

Modified: portal/trunk/docs/reference-guide/en/modules/configuration/Default_Portal_Configuration.xml
===================================================================
--- portal/trunk/docs/reference-guide/en/modules/configuration/Default_Portal_Configuration.xml	2009-12-09 14:50:00 UTC (rev 981)
+++ portal/trunk/docs/reference-guide/en/modules/configuration/Default_Portal_Configuration.xml	2009-12-09 17:56:51 UTC (rev 982)
@@ -2,64 +2,51 @@
 <!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
 ]>
 <section id="sect-Reference_Guide-Default_Portal_Configuration">
-	<!--    
+   <title>Default Portal Configuration</title>
+   <section id="sect-Reference_Guide-Default_Portal_Configuration-Overview">
+      <title>Overview</title>
+      <para>
+         default portal will be accessed when the user doesn't specify the
+         portal. For example: <literal>http://hostname:port/portal/</literal>. And the
+         default portal be used for checking at starting of tomcat to
+         determine whether database is empty or not, too.
+		</para>
+   </section>
 
-    Copyright (C) 2009 eXo Platform SAS.
-    
-    This is free software; you can redistribute it and/or modify it
-    under the terms of the GNU Lesser General Public License as
-    published by the Free Software Foundation; either version 2.1 of
-    the License, or (at your option) any later version.
-    
-    This software is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-    Lesser General Public License for more details.
-    
-    You should have received a copy of the GNU Lesser General Public
-    License along with this software; if not, write to the Free
-    Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-    02110-1301 USA, or see the FSF site: http://www.fsf.org.
+   <section
+      id="sect-Reference_Guide-Default_Portal_Configuration-Configuration">
+      <title>Configuration</title>
+      <para>
+         Configuration file path : "02portal.war:/WEB-INF/conf/portal/portal-configuration.xml"
+      </para>
 
-    --> <title>Default Portal Configuration</title>
-	<section id="sect-Reference_Guide-Default_Portal_Configuration-Overview">
-		<title>Overview</title>
-		<para>
-			default portal will be accessed by default when user doesn't specify the portal. For example: http://hostname:port/portal/. And the default portal be used for checking at starting of tomcat to determine whether database is empty or not, too.
-		</para>
-	</section>
-	
-	<section id="sect-Reference_Guide-Default_Portal_Configuration-Configuration">
-		<title>Configuration</title>
-		<para>
-			Configuration file path : "portal/WEB-INF/conf/portal/portal-configuration.xml"
-		</para>
-		
-<programlisting>  &lt;component&gt;
-    &lt;key&gt;org.exoplatform.portal.config.UserPortalConfigService&lt;/key&gt;
-    &lt;type&gt;org.exoplatform.portal.config.UserPortalConfigService&lt;/type&gt;
-    &lt;component-plugins&gt;           
-     &lt;component-plugin&gt;
-       &lt;name&gt;new.portal.config.user.listener&lt;/name&gt;
-       &lt;set-method&gt;initListener&lt;/set-method&gt;
-       &lt;type&gt;org.exoplatform.portal.config.NewPortalConfigListener&lt;/type&gt;
-       &lt;description&gt;this listener init the portal configuration&lt;/description&gt;
-       &lt;init-params&gt;
-         &lt;value-param&gt;
-           &lt;name&gt;default.portal&lt;/name&gt;
-           &lt;description&gt;The default portal for checking db is empty or not&lt;/description&gt;
-           &lt;value&gt;classic&lt;/value&gt;
-         &lt;/value-param&gt; 
+      <programlisting role="XML"><![CDATA[<component>
+    <key>org.exoplatform.portal.config.UserPortalConfigService</key>
+    <type>org.exoplatform.portal.config.UserPortalConfigService</type>
+    <component-plugins>           
+     <component-plugin>
+       <name>new.portal.config.user.listener</name>
+       <set-method>initListener</set-method>
+       <type>org.exoplatform.portal.config.NewPortalConfigListener</type>
+       <description>this listener init the portal configuration</description>
+       <init-params>
+         <value-param>
+           <name>default.portal</name>
+           <description>The default portal for checking db is empty or not</description>
+           <value>classic</value>
+         </value-param> 
          ..........
-       &lt;/init-params&gt;
-     &lt;/component-plugin&gt;
-    &lt;/component-plugins&gt; 
-  &lt;/component&gt;
-</programlisting>
-		<para>
-			You can see in the configuration above, we defined the classic as a default portal. Notes that the definition should be as a initial parameter of the NewPortalConfigListener component-plugin
+       </init-params>
+     </component-plugin>
+    </component-plugins> 
+  </component>]]></programlisting>
+      <para>
+         You can see in the configuration above, we defined the classic as a
+         default portal. Notes that the definition should be as a
+         initial parameter of the NewPortalConfigListener
+         component-plugin
 		</para>
-	</section>
+   </section>
 
 </section>
 

Modified: portal/trunk/docs/reference-guide/en/modules/configuration/IDM_Configuration.xml
===================================================================
--- portal/trunk/docs/reference-guide/en/modules/configuration/IDM_Configuration.xml	2009-12-09 14:50:00 UTC (rev 981)
+++ portal/trunk/docs/reference-guide/en/modules/configuration/IDM_Configuration.xml	2009-12-09 17:56:51 UTC (rev 982)
@@ -2,77 +2,95 @@
 <!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
 ]>
 <section id="sect-Reference_Guide-JBoss_Identity_IDM_integration">
-	<title>JBoss Identity IDM integration</title>
-	<para>
-		GateIn by default uses JBoss Identity IDM component to persist identity information (user, groups, memberships and etc.). While still legacy exo interfaces are used (org.exoplatform.services.organization) for identity management the wrapper implementation delegates to the JBoss Identity IDM framework. This section won't provide information about JBoss Identity IDM and its configuration - please refer to proper project documentation. It is important to fully understand concepts behind this framework design before changing configuration
+   <title>PicketLink IDM integration</title>
+   <para>
+      GateIn by default uses PicketLink IDM component to persist identity
+      information (user, groups, memberships and etc.). While still
+      legacy exo interfaces are used
+      (org.exoplatform.services.organization) for identity management
+      the wrapper implementation delegates to the PicketLink IDM
+      framework. This section won't provide information about PicketLink
+      IDM and its configuration - please refer to proper
+      project documentation (<ulink url="http://jboss.org/picketlink/IDM.html"/>).
+      It is important to fully understand concepts behind this framework
+      design before changing configuration
 	</para>
-	<para>
-		Identity model represented in 'org.exoplatform.services.organization' interfaces and one used in JBoss Identity IDM have some major differences. JBoss Identity IDM provides greater abstraction - for example it is possible for groups in IDM framework to form memberships with many parents while GateIn model allows only pure tree like membership structures - this requires recursive ID translation. Additionally GateIn membership concept needs to be translated into IDM Role concept. Therefore JBoss Identity IDM model is used in a limited way. All those translations are applied by the integration layer
+   <para>
+      Identity model represented in 'org.exoplatform.services.organization'
+      interfaces and one used in JBoss Identity IDM have some major
+      differences. JBoss Identity IDM provides greater abstraction - for
+      example it is possible for groups in IDM framework to form
+      memberships with many parents while GateIn model allows only pure
+      tree like membership structures - this requires recursive ID
+      translation. Additionally GateIn membership concept needs to be
+      translated into IDM Role concept. Therefore JBoss Identity IDM
+      model is used in a limited way. All those translations are applied
+      by the integration layer
 	</para>
-	<section id="sect-Reference_Guide-JBoss_Identity_IDM_integration-Configuration_files">
-		<title>Configuration files</title>
-		<para>
-			Main configuration file is <emphasis role="bold">idm-configuration</emphasis>:
-		</para>
-		
-<programlisting>
-         
-&lt;configuration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+   <section
+      id="sect-Reference_Guide-JBoss_Identity_IDM_integration-Configuration_files">
+      <title>Configuration files</title>
+      <para>
+         Main configuration file is
+         <emphasis role="bold">idm-configuration</emphasis>
+         :
+      </para>
+
+      <programlisting role="XML"><![CDATA[<configuration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                xsi:schemaLocation="http://www.exoplaform.org/xml/ns/kernel_1_0.xsd http://www.exoplaform.org/xml/ns/kernel_1_0.xsd"
-               xmlns="http://www.exoplaform.org/xml/ns/kernel_1_0.xsd"&gt;
+               xmlns="http://www.exoplaform.org/xml/ns/kernel_1_0.xsd">
 
-   &lt;component&gt;
-      &lt;key&gt;org.exoplatform.services.organization.jbidm.JBossIDMService&lt;/key&gt;
-      &lt;type&gt;org.exoplatform.services.organization.jbidm.JBossIDMServiceImpl&lt;/type&gt;
-      &lt;init-params&gt;
-         &lt;value-param&gt;
-            &lt;name&gt;config&lt;/name&gt;
-            &lt;value&gt;war:/conf/organization/idm-config.xml&lt;/value&gt;
-         &lt;/value-param&gt;
-         &lt;values-param&gt;
-            &lt;name&gt;hibernate.annotations&lt;/name&gt;
-            &lt;value&gt;org.jboss.identity.idm.impl.model.hibernate.HibernateIdentityObject&lt;/value&gt;
-            &lt;value&gt;org.jboss.identity.idm.impl.model.hibernate.HibernateIdentityObjectAttribute&lt;/value&gt;
-            &lt;value&gt;org.jboss.identity.idm.impl.model.hibernate.HibernateIdentityObjectBinaryAttribute&lt;/value&gt;
-            &lt;value&gt;org.jboss.identity.idm.impl.model.hibernate.HibernateIdentityObjectBinaryAttributeValue&lt;/value&gt;
-            &lt;value&gt;org.jboss.identity.idm.impl.model.hibernate.HibernateIdentityObjectCredential&lt;/value&gt;
-            &lt;value&gt;org.jboss.identity.idm.impl.model.hibernate.HibernateIdentityObjectCredentialType&lt;/value&gt;
-            &lt;value&gt;org.jboss.identity.idm.impl.model.hibernate.HibernateIdentityObjectRelationship&lt;/value&gt;
-            &lt;value&gt;org.jboss.identity.idm.impl.model.hibernate.HibernateIdentityObjectRelationshipName&lt;/value&gt;
-            &lt;value&gt;org.jboss.identity.idm.impl.model.hibernate.HibernateIdentityObjectRelationshipType&lt;/value&gt;
-            &lt;value&gt;org.jboss.identity.idm.impl.model.hibernate.HibernateIdentityObjectTextAttribute&lt;/value&gt;
-            &lt;value&gt;org.jboss.identity.idm.impl.model.hibernate.HibernateIdentityObjectType&lt;/value&gt;
-            &lt;value&gt;org.jboss.identity.idm.impl.model.hibernate.HibernateRealm&lt;/value&gt;
-         &lt;/values-param&gt;
-         &lt;properties-param&gt;
-            &lt;name&gt;hibernate.properties&lt;/name&gt;
-            &lt;property name="hibernate.hbm2ddl.auto" value="update"/&gt;
-            &lt;property name="hibernate.current_session_context_class" value="thread"/&gt;
-            &lt;property name="hibernate.show_sql" value="false"/&gt;
-            &lt;property name="hibernate.cglib.use_reflection_optimizer" value="true"/&gt;
-            &lt;property name="hibernate.connection.url" value="jdbc:hsqldb:file:../temp/data/exodb${container.name.suffix}"/&gt;
-            &lt;property name="hibernate.connection.driver_class" value="org.hsqldb.jdbcDriver"/&gt;
-            &lt;property name="hibernate.connection.autocommit" value="true"/&gt;
-            &lt;property name="hibernate.connection.username" value="sa"/&gt;
-            &lt;property name="hibernate.connection.password" value=""/&gt;
-            &lt;property name="hibernate.dialect" value="org.hibernate.dialect.HSQLDialect"/&gt;
-            &lt;property name="hibernate.c3p0.min_size" value="5"/&gt;
-            &lt;property name="hibernate.c3p0.max_size" value="20"/&gt;
-            &lt;property name="hibernate.c3p0.timeout" value="1800"/&gt;
-            &lt;property name="hibernate.c3p0.max_statements" value="50"/&gt;
-            &lt;property name="hibernate.connection.provider_class" value="org.hibernate.connection.C3P0ConnectionProvider" /&gt;
-         &lt;/properties-param&gt;
+   <component>
+      <key>org.exoplatform.services.organization.jbidm.JBossIDMService</key>
+      <type>org.exoplatform.services.organization.jbidm.JBossIDMServiceImpl</type>
+      <init-params>
+         <value-param>
+            <name>config</name>
+            <value>war:/conf/organization/idm-config.xml</value>
+         </value-param>
+         <values-param>
+            <name>hibernate.annotations</name>
+            <value>org.jboss.identity.idm.impl.model.hibernate.HibernateIdentityObject</value>
+            <value>org.jboss.identity.idm.impl.model.hibernate.HibernateIdentityObjectAttribute</value>
+            <value>org.jboss.identity.idm.impl.model.hibernate.HibernateIdentityObjectBinaryAttribute</value>
+            <value>org.jboss.identity.idm.impl.model.hibernate.HibernateIdentityObjectBinaryAttributeValue</value>
+            <value>org.jboss.identity.idm.impl.model.hibernate.HibernateIdentityObjectCredential</value>
+            <value>org.jboss.identity.idm.impl.model.hibernate.HibernateIdentityObjectCredentialType</value>
+            <value>org.jboss.identity.idm.impl.model.hibernate.HibernateIdentityObjectRelationship</value>
+            <value>org.jboss.identity.idm.impl.model.hibernate.HibernateIdentityObjectRelationshipName</value>
+            <value>org.jboss.identity.idm.impl.model.hibernate.HibernateIdentityObjectRelationshipType</value>
+            <value>org.jboss.identity.idm.impl.model.hibernate.HibernateIdentityObjectTextAttribute</value>
+            <value>org.jboss.identity.idm.impl.model.hibernate.HibernateIdentityObjectType</value>
+            <value>org.jboss.identity.idm.impl.model.hibernate.HibernateRealm</value>
+         </values-param>
+         <properties-param>
+            <name>hibernate.properties</name>
+            <property name="hibernate.hbm2ddl.auto" value="update"/>
+            <property name="hibernate.current_session_context_class" value="thread"/>
+            <property name="hibernate.show_sql" value="false"/>
+            <property name="hibernate.cglib.use_reflection_optimizer" value="true"/>
+            <property name="hibernate.connection.url" value="jdbc:hsqldb:file:../temp/data/exodb${container.name.suffix}"/>
+            <property name="hibernate.connection.driver_class" value="org.hsqldb.jdbcDriver"/>
+            <property name="hibernate.connection.autocommit" value="true"/>
+            <property name="hibernate.connection.username" value="sa"/>
+            <property name="hibernate.connection.password" value=""/>
+            <property name="hibernate.dialect" value="org.hibernate.dialect.HSQLDialect"/>
+            <property name="hibernate.c3p0.min_size" value="5"/>
+            <property name="hibernate.c3p0.max_size" value="20"/>
+            <property name="hibernate.c3p0.timeout" value="1800"/>
+            <property name="hibernate.c3p0.max_statements" value="50"/>
+            <property name="hibernate.connection.provider_class" value="org.hibernate.connection.C3P0ConnectionProvider" />
+         </properties-param>
 
-      &lt;/init-params&gt;
-   &lt;/component&gt;
+      </init-params>
+   </component>
 
-   &lt;component&gt;
-      &lt;key&gt;org.exoplatform.services.organization.OrganizationService&lt;/key&gt;
-      &lt;type&gt;org.exoplatform.services.organization.jbidm.JBossIDMOrganizationServiceImpl&lt;/type&gt;
-   &lt;/component&gt;
+   <component>
+      <key>org.exoplatform.services.organization.OrganizationService</key>
+      <type>org.exoplatform.services.organization.jbidm.JBossIDMOrganizationServiceImpl</type>
+   </component>
 
-&lt;/configuration&gt;
-</programlisting>
+</configuration>]]></programlisting>
 		<para>
 			<emphasis role="bold">org.exoplatform.services.organization.jbidm.JBossIDMOrganizationServiceImpl</emphasis> is a main entrypoint implementing <emphasis role="bold">org.exoplatform.services.organization.OrganizationService</emphasis> and is dependant on <emphasis role="bold">org.exoplatform.services.organization.jbidm.JBossIDMService</emphasis>
 		</para>
@@ -160,82 +178,79 @@
 			Sample JBoss Identity IDM configuration file is shown below. To understand all options present in it please refer to the JBoss Identity IDM Reference Guide
 		</para>
 		
-<programlisting>
-         
-&lt;jboss-identity xmlns="urn:jboss:identity:idm:config:v1_0_beta"
+<programlisting><![CDATA[<jboss-identity xmlns="urn:jboss:identity:idm:config:v1_0_beta"
                 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-                xsi:schemaLocation="urn:jboss:identity:idm:config:v1_0_alpha identity-config.xsd"&gt;
-    &lt;realms&gt;
-        &lt;realm&gt;
-            &lt;id&gt;PortalRealm&lt;/id&gt;
-            &lt;repository-id-ref&gt;PortalRepository&lt;/repository-id-ref&gt;
-            &lt;identity-type-mappings&gt;
-                &lt;user-mapping&gt;USER&lt;/user-mapping&gt;
-            &lt;/identity-type-mappings&gt;
-        &lt;/realm&gt;
-    &lt;/realms&gt;
-    &lt;repositories&gt;
-        &lt;repository&gt;
-            &lt;id&gt;PortalRepository&lt;/id&gt;
-            &lt;class&gt;org.jboss.identity.idm.impl.repository.WrapperIdentityStoreRepository&lt;/class&gt;
-            &lt;external-config/&gt;
-            &lt;default-identity-store-id&gt;HibernateStore&lt;/default-identity-store-id&gt;
-            &lt;default-attribute-store-id&gt;HibernateStore&lt;/default-attribute-store-id&gt;
-        &lt;/repository&gt;
-    &lt;/repositories&gt;
-    &lt;stores&gt;
-        &lt;attribute-stores/&gt;
-        &lt;identity-stores&gt;
-            &lt;identity-store&gt;
-                &lt;id&gt;HibernateStore&lt;/id&gt;
-                &lt;class&gt;org.jboss.identity.idm.impl.store.hibernate.HibernateIdentityStoreImpl&lt;/class&gt;
-                &lt;external-config/&gt;
-                &lt;supported-relationship-types&gt;
-                    &lt;relationship-type&gt;JBOSS_IDENTITY_MEMBERSHIP&lt;/relationship-type&gt;
-                    &lt;relationship-type&gt;JBOSS_IDENTITY_ROLE&lt;/relationship-type&gt;
-                &lt;/supported-relationship-types&gt;
-                &lt;supported-identity-object-types&gt;
-                    &lt;identity-object-type&gt;
-                        &lt;name&gt;USER&lt;/name&gt;
-                        &lt;relationships/&gt;
-                        &lt;credentials&gt;
-                            &lt;credential-type&gt;PASSWORD&lt;/credential-type&gt;
-                        &lt;/credentials&gt;
-                        &lt;attributes/&gt;
-                        &lt;options/&gt;
-                    &lt;/identity-object-type&gt;
-                &lt;/supported-identity-object-types&gt;
-                &lt;options&gt;
-                    &lt;option&gt;
-                        &lt;name&gt;hibernateSessionFactoryRegistryName&lt;/name&gt;
-                        &lt;value&gt;hibernateSessionFactory&lt;/value&gt;
-                    &lt;/option&gt;
-                    &lt;option&gt;
-                        &lt;name&gt;allowNotDefinedIdentityObjectTypes&lt;/name&gt;
-                        &lt;value&gt;true&lt;/value&gt;
-                    &lt;/option&gt;
-                    &lt;option&gt;
-                        &lt;name&gt;populateRelationshipTypes&lt;/name&gt;
-                        &lt;value&gt;true&lt;/value&gt;
-                    &lt;/option&gt;
-                    &lt;option&gt;
-                        &lt;name&gt;populateIdentityObjectTypes&lt;/name&gt;
-                        &lt;value&gt;true&lt;/value&gt;
-                    &lt;/option&gt;
-                    &lt;option&gt;
-                        &lt;name&gt;allowNotDefinedAttributes&lt;/name&gt;
-                        &lt;value&gt;true&lt;/value&gt;
-                    &lt;/option&gt;
-                    &lt;option&gt;
-                        &lt;name&gt;isRealmAware&lt;/name&gt;
-                        &lt;value&gt;true&lt;/value&gt;
-                    &lt;/option&gt;
-                &lt;/options&gt;
-            &lt;/identity-store&gt;
-        &lt;/identity-stores&gt;
-    &lt;/stores&gt;
-&lt;/jboss-identity&gt;
-</programlisting>
+                xsi:schemaLocation="urn:jboss:identity:idm:config:v1_0_alpha identity-config.xsd">
+    <realms>
+        <realm>
+            <id>PortalRealm</id>
+            <repository-id-ref>PortalRepository</repository-id-ref>
+            <identity-type-mappings>
+                <user-mapping>USER</user-mapping>
+            </identity-type-mappings>
+        </realm>
+    </realms>
+    <repositories>
+        <repository>
+            <id>PortalRepository</id>
+            <class>org.jboss.identity.idm.impl.repository.WrapperIdentityStoreRepository</class>
+            <external-config/>
+            <default-identity-store-id>HibernateStore</default-identity-store-id>
+            <default-attribute-store-id>HibernateStore</default-attribute-store-id>
+        </repository>
+    </repositories>
+    <stores>
+        <attribute-stores/>
+        <identity-stores>
+            <identity-store>
+                <id>HibernateStore</id>
+                <class>org.jboss.identity.idm.impl.store.hibernate.HibernateIdentityStoreImpl</class>
+                <external-config/>
+                <supported-relationship-types>
+                    <relationship-type>JBOSS_IDENTITY_MEMBERSHIP</relationship-type>
+                    <relationship-type>JBOSS_IDENTITY_ROLE</relationship-type>
+                </supported-relationship-types>
+                <supported-identity-object-types>
+                    <identity-object-type>
+                        <name>USER</name>
+                        <relationships/>
+                        <credentials>
+                            <credential-type>PASSWORD</credential-type>
+                        </credentials>
+                        <attributes/>
+                        <options/>
+                    </identity-object-type>
+                </supported-identity-object-types>
+                <options>
+                    <option>
+                        <name>hibernateSessionFactoryRegistryName</name>
+                        <value>hibernateSessionFactory</value>
+                    </option>
+                    <option>
+                        <name>allowNotDefinedIdentityObjectTypes</name>
+                        <value>true</value>
+                    </option>
+                    <option>
+                        <name>populateRelationshipTypes</name>
+                        <value>true</value>
+                    </option>
+                    <option>
+                        <name>populateIdentityObjectTypes</name>
+                        <value>true</value>
+                    </option>
+                    <option>
+                        <name>allowNotDefinedAttributes</name>
+                        <value>true</value>
+                    </option>
+                    <option>
+                        <name>isRealmAware</name>
+                        <value>true</value>
+                    </option>
+                </options>
+            </identity-store>
+        </identity-stores>
+    </stores>
+</jboss-identity>]]></programlisting>
 	</section>
 
 </section>

Modified: portal/trunk/docs/reference-guide/en/modules/configuration/JavaScript_Configuration.xml
===================================================================
--- portal/trunk/docs/reference-guide/en/modules/configuration/JavaScript_Configuration.xml	2009-12-09 14:50:00 UTC (rev 981)
+++ portal/trunk/docs/reference-guide/en/modules/configuration/JavaScript_Configuration.xml	2009-12-09 17:56:51 UTC (rev 982)
@@ -2,93 +2,93 @@
 <!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
 ]>
 <section id="sect-Reference_Guide-Javascript_Configuration">
-	<!--    
-
-    Copyright (C) 2009 eXo Platform SAS.
-    
-    This is free software; you can redistribute it and/or modify it
-    under the terms of the GNU Lesser General Public License as
-    published by the Free Software Foundation; either version 2.1 of
-    the License, or (at your option) any later version.
-    
-    This software is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-    Lesser General Public License for more details.
-    
-    You should have received a copy of the GNU Lesser General Public
-    License along with this software; if not, write to the Free
-    Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-    02110-1301 USA, or see the FSF site: http://www.fsf.org.
-
-    --><title>Javascript Configuration</title>
-	<para>
-		Manaing Javascript scripts in an application like GateIn Platform is a critical part of the configuration work if you want to get good response time.
+   <title>Javascript Configuration</title>
+   <para>
+      Manaing Javascript scripts in an application like GateIn
+      Platform is a
+      critical part of the configuration work if you want
+      to get good
+      response time.
 	</para>
-	<para>
-		Every portlet can have its own javscript code but in many cases it is more convenient to reuse some existing shared libraries. For that reason, GateIn has a mechanism to easily register the libraries that will be loaded when the first page will be rendered. To do so, every WAR deployed in GateIn can register the js files thanks to a groovy script "WEB-INF/conf/script/groovy/JavascriptScript.groovy". The next file is the one you can find in the GateInResources.war
+   <para>
+      Every portlet can have its own javscript code but in many cases
+      it is more
+      convenient to reuse some existing shared libraries. For
+      that
+      reason, GateIn has a mechanism to easily register the
+      libraries
+      that will be loaded when the first page will be rendered.
+      To do
+      so, every WAR deployed in GateIn can register the js files
+      thanks
+      to a groovy script
+      "WEB-INF/conf/script/groovy/JavascriptScript.groovy". The next
+      file is the one you can find in the GateInResources.war
 	</para>
-	
-<programlisting>JavascriptService.addJavascript("GateIn", "/javascript/GateIn.js", ServletContext);
+
+   <programlisting>JavascriptService.addJavascript("eXo", "/javascript/eXo.js", ServletContext);
 /* Animation Javascripts */
-JavascriptService.addJavascript("GateIn.animation.ImplodeExplode", "/javascript/GateIn/animation/ImplodeExplode.js", ServletContext);
+JavascriptService.addJavascript("eXo.animation.ImplodeExplode", "/javascript/eXo/animation/ImplodeExplode.js", ServletContext);
 /* Application descriptor */
-JavascriptService.addJavascript("GateIn.application.ApplicationDescriptor", "/javascript/GateIn/application/ApplicationDescriptor.js", ServletContext);
+JavascriptService.addJavascript("eXo.application.ApplicationDescriptor", "/javascript/eXo/application/ApplicationDescriptor.js", ServletContext);
 /* CORE Javascripts */
-JavascriptService.addJavascript("GateIn.core.Utils", "/javascript/GateIn/core/Util.js", ServletContext);
-JavascriptService.addJavascript("GateIn.core.DOMUtil", "/javascript/GateIn/core/DOMUtil.js", ServletContext);
-JavascriptService.addJavascript("GateIn.core.Browser", "/javascript/GateIn/core/Browser.js", ServletContext);
-JavascriptService.addJavascript("GateIn.core.MouseEventManager", "/javascript/GateIn/core/MouseEventManager.js", ServletContext);
-JavascriptService.addJavascript("GateIn.core.UIMaskLayer", "/javascript/GateIn/core/UIMaskLayer.js", ServletContext);
-JavascriptService.addJavascript("GateIn.core.Skin", "/javascript/GateIn/core/Skin.js", ServletContext);
-JavascriptService.addJavascript("GateIn.core.DragDrop", "/javascript/GateIn/core/DragDrop.js", ServletContext);
-JavascriptService.addJavascript("GateIn.core.TemplateEngine", "/javascript/GateIn/core/TemplateEngine.js", ServletContext);
+JavascriptService.addJavascript("eXo.core.Utils", "/javascript/eXo/core/Util.js", ServletContext);
+JavascriptService.addJavascript("eXo.core.DOMUtil", "/javascript/eXo/core/DOMUtil.js", ServletContext);
+JavascriptService.addJavascript("eXo.core.Browser", "/javascript/eXo/core/Browser.js", ServletContext);
+JavascriptService.addJavascript("eXo.core.MouseEventManager", "/javascript/eXo/core/MouseEventManager.js", ServletContext);
+JavascriptService.addJavascript("eXo.core.UIMaskLayer", "/javascript/eXo/core/UIMaskLayer.js", ServletContext);
+JavascriptService.addJavascript("eXo.core.Skin", "/javascript/eXo/core/Skin.js", ServletContext);
+JavascriptService.addJavascript("eXo.core.DragDrop", "/javascript/eXo/core/DragDrop.js", ServletContext);
+JavascriptService.addJavascript("eXo.core.TemplateEngine", "/javascript/eXo/core/TemplateEngine.js", ServletContext);
 /* Widget Javascripts */
-JavascriptService.addJavascript("GateIn.widget.UIWidget", "/javascript/GateIn/widget/UIWidget.js", ServletContext);
-JavascriptService.addJavascript("GateIn.widget.UIAddWidget", "/javascript/GateIn/widget/UIAddWidget.js", ServletContext);
-JavascriptService.addJavascript("GateIn.widget.UIExoWidget", "/javascript/GateIn/widget/UIExoWidget.js", ServletContext);
+JavascriptService.addJavascript("eXo.widget.UIWidget", "/javascript/eXo/widget/UIWidget.js", ServletContext);
+JavascriptService.addJavascript("eXo.widget.UIAddWidget", "/javascript/eXo/widget/UIAddWidget.js", ServletContext);
+JavascriptService.addJavascript("eXo.widget.UIExoWidget", "/javascript/eXo/widget/UIExoWidget.js", ServletContext);
 /* Desktop Javascripts */
-JavascriptService.addJavascript("GateIn.desktop.UIDockbar", "/javascript/GateIn/desktop/UIDockbar.js", ServletContext);
-JavascriptService.addJavascript("GateIn.desktop.UIDesktop", "/javascript/GateIn/desktop/UIDesktop.js", ServletContext);
+JavascriptService.addJavascript("eXo.desktop.UIDockbar", "/javascript/eXo/desktop/UIDockbar.js", ServletContext);
+JavascriptService.addJavascript("eXo.desktop.UIDesktop", "/javascript/eXo/desktop/UIDesktop.js", ServletContext);
 /* WebUI Javascripts */ 
-JavascriptService.addJavascript("GateIn.webui.UIItemSelector", "/javascript/GateIn/webui/UIItemSelector.js", ServletContext);
-JavascriptService.addJavascript("GateIn.webui.UIForm", "/javascript/GateIn/webui/UIForm.js", ServletContext);
-JavascriptService.addJavascript("GateIn.webui.UIPopup", "/javascript/GateIn/webui/UIPopup.js", ServletContext);
-JavascriptService.addJavascript("GateIn.webui.UIPopupSelectCategory", "/javascript/GateIn/webui/UIPopupSelectCategory.js", ServletContext);
-JavascriptService.addJavascript("GateIn.webui.UIPopupWindow", "/javascript/GateIn/webui/UIPopupWindow.js", ServletContext);
-JavascriptService.addJavascript("GateIn.webui.UIVerticalScroller", "/javascript/GateIn/webui/UIVerticalScroller.js", ServletContext);
-JavascriptService.addJavascript("GateIn.webui.UIHorizontalTabs", "/javascript/GateIn/webui/UIHorizontalTabs.js", ServletContext);
-JavascriptService.addJavascript("GateIn.webui.UIPopupMenu", "/javascript/GateIn/webui/UIPopupMenu.js", ServletContext);
-JavascriptService.addJavascript("GateIn.webui.UIDropDownControl", "/javascript/GateIn/webui/UIDropDownControl.js", ServletContext);
+JavascriptService.addJavascript("eXo.webui.UIItemSelector", "/javascript/eXo/webui/UIItemSelector.js", ServletContext);
+JavascriptService.addJavascript("eXo.webui.UIForm", "/javascript/eXo/webui/UIForm.js", ServletContext);
+JavascriptService.addJavascript("eXo.webui.UIPopup", "/javascript/eXo/webui/UIPopup.js", ServletContext);
+JavascriptService.addJavascript("eXo.webui.UIPopupSelectCategory", "/javascript/eXo/webui/UIPopupSelectCategory.js", ServletContext);
+JavascriptService.addJavascript("eXo.webui.UIPopupWindow", "/javascript/eXo/webui/UIPopupWindow.js", ServletContext);
+JavascriptService.addJavascript("eXo.webui.UIVerticalScroller", "/javascript/eXo/webui/UIVerticalScroller.js", ServletContext);
+JavascriptService.addJavascript("eXo.webui.UIHorizontalTabs", "/javascript/eXo/webui/UIHorizontalTabs.js", ServletContext);
+JavascriptService.addJavascript("eXo.webui.UIPopupMenu", "/javascript/eXo/webui/UIPopupMenu.js", ServletContext);
+JavascriptService.addJavascript("eXo.webui.UIDropDownControl", "/javascript/eXo/webui/UIDropDownControl.js", ServletContext);
 /* Portal Javascripts */ 
-JavascriptService.addJavascript("GateIn.portal.PortalHttpRequest", "/javascript/GateIn/portal/PortalHttpRequest.js", ServletContext);
-JavascriptService.addJavascript("GateIn.portal.UIPortal", "/javascript/GateIn/portal/UIPortal.js", ServletContext);
-JavascriptService.addJavascript("GateIn.portal.UIWorkspace", "/javascript/GateIn/portal/UIWorkspace.js", ServletContext);
-JavascriptService.addJavascript("GateIn.portal.UIPortalControl", "/javascript/GateIn/portal/UIPortalControl.js", ServletContext);
-JavascriptService.addJavascript("GateIn.portal.PortalDragDrop", "/javascript/GateIn/portal/PortalDragDrop.js", ServletContext);
-JavascriptService.addJavascript("GateIn.portal.UIPortalNavigation", "/javascript/GateIn/portal/UIPortalNavigation.js", ServletContext);
-JavascriptService.addJavascript("GateIn.portal.UIMaskWorkspace", "/javascript/GateIn/portal/UIMaskWorkspace.js", ServletContext);
-JavascriptService.addJavascript("GateIn.portal.UIExoStartMenu", "/javascript/GateIn/portal/UIExoStartMenu.js", ServletContext);
+JavascriptService.addJavascript("eXo.portal.PortalHttpRequest", "/javascript/eXo/portal/PortalHttpRequest.js", ServletContext);
+JavascriptService.addJavascript("eXo.portal.UIPortal", "/javascript/eXo/portal/UIPortal.js", ServletContext);
+JavascriptService.addJavascript("eXo.portal.UIWorkspace", "/javascript/eXo/portal/UIWorkspace.js", ServletContext);
+JavascriptService.addJavascript("eXo.portal.UIPortalControl", "/javascript/eXo/portal/UIPortalControl.js", ServletContext);
+JavascriptService.addJavascript("eXo.portal.PortalDragDrop", "/javascript/eXo/portal/PortalDragDrop.js", ServletContext);
+JavascriptService.addJavascript("eXo.portal.UIPortalNavigation", "/javascript/eXo/portal/UIPortalNavigation.js", ServletContext);
+JavascriptService.addJavascript("eXo.portal.UIMaskWorkspace", "/javascript/eXo/portal/UIMaskWorkspace.js", ServletContext);
+JavascriptService.addJavascript("eXo.portal.UIExoStartMenu", "/javascript/eXo/portal/UIExoStartMenu.js", ServletContext);
 /* Desktop Javascripts 2 */
-JavascriptService.addJavascript("GateIn.desktop.UIWindow", "/javascript/GateIn/desktop/UIWindow.js", ServletContext);
+JavascriptService.addJavascript("eXo.desktop.UIWindow", "/javascript/eXo/desktop/UIWindow.js", ServletContext);
 </programlisting>
+   <para>
+      Note that even if the you register dedicated javascripts, they
+      will be merged into a single
+      <literal>merged.js</literal>
+      file when the server will load in order to reduce the number of
+      HTTP calls as seen in the home page source code:
+   </para>
+
+   <programlisting>&lt;script type="text/javascript" src="/portal/javascript/merged.js"&gt;&lt;/script&gt;</programlisting>
 	<para>
-		Note that even if the you register dedicated javascripts, they will be merged into a single <literal>merged.js</literal> file when the server will load in order to reduce the number of HTTP calls as seen in the home page source code:
+		Although this optimization is useful for a production environment, you may find it easier to deactivate this optimization while debugging your javascript. For that, you simply need to set the java system property <literal>exo.product.developing</literal> to <literal>true</literal>. But if you <emphasis>want to see or use the merged file</emphasis> you have to set this property to <literal>false</literal>.
+       You can pass the property as a JVM parameter with the <literal>-D</literal> option in your <literal>GateIn.sh</literal> or <literal>GateIn.bat</literal> startup script: 
 	</para>
-	
-<programlisting>    &lt;script type="text/javascript" src="/portal/javascript/merged.js"&gt;&lt;/script&gt;
-</programlisting>
 	<para>
-		Although this optimization is useful for a production environment, you may find it easier to deactivate this optimization while debugging your javascript. For that, you simply need to set the java system property <literal>exo.product.developing</literal> to <literal>true</literal>. But if you <emphasis>want to see or use the merged file</emphasis> you have to set this property to <literal>false</literal>. You can pass the property as a JVM parameter with the <literal>-D</literal> option in your <literal>GateIn.sh</literal> or <literal>GateIn.bat</literal> startup script: {code} EXO{code}
+		Every javascript file is referenced with a module name of type "eXo.core.DragDrop" which acts like a namespace. Inside the associated files, global javascript functions are used following the same namespace convention:
 	</para>
-	<para>
-		Every javascript file is referenced with a module name of type "GateIn.core.DragDrop" which acts like a namespace. Inside the associated files, global javascript functions are used following the same namespace convention:
-	</para>
 	
-<programlisting>GateIn.core.DragDrop = new DragDrop() ;
-</programlisting>
+<programlisting>eXo.core.DragDrop = new DragDrop() ;</programlisting>
 	<para>
-		It is also possible to use the GateIn.require() javascript method to lazy load and evaluate some javascript code. This is quite useful from the portlet or widget applications that will use this javascript only once. Otherwise, if the library is reusable in several places it is better to reference it in the groovy file.
+		It is also possible to use the eXo.require() javascript method to lazy load and evaluate some javascript code. This is quite useful from the portlet or widget applications that will use this javascript only once. Otherwise, if the library is reusable in several places it is better to reference it in the groovy file.
 	</para>
 </section>
 

Modified: portal/trunk/docs/reference-guide/en/modules/configuration/Portal_Default_Permission_Configuration.xml
===================================================================
--- portal/trunk/docs/reference-guide/en/modules/configuration/Portal_Default_Permission_Configuration.xml	2009-12-09 14:50:00 UTC (rev 981)
+++ portal/trunk/docs/reference-guide/en/modules/configuration/Portal_Default_Permission_Configuration.xml	2009-12-09 17:56:51 UTC (rev 982)
@@ -2,124 +2,126 @@
 <!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
 ]>
 <section id="sect-Reference_Guide-Portal_Default_Permission_Configuration">
-	<!--    
+   <title>Portal Default Permission Configuration</title>
+   <section
+      id="sect-Reference_Guide-Portal_Default_Permission_Configuration-Overview">
+      <title>Overview</title>
+      <para>
+         The permission configuration for the portal is defined in the
+         file
+         <filename>02portal.war:/WEB-INF/conf/portal/portal-configuration.xml
+         </filename>
+         . The component UserACL is described there along with other
+         portal component configurations.
+      </para>
+      <para>
+         It defines 5 permissions types:
+		</para>
+      <itemizedlist>
+         <listitem>
+            <para>
+               <emphasis>super.user</emphasis>
+               : The super user has all the rights on the platform, by
+               default this user is called root
+            </para>
+         </listitem>
+         <listitem>
+            <para>
+               <emphasis>portal.creator.groups</emphasis>
+               : This list defines all groups that will be able to
+               manage the different portals, they also have the
+               permission to create new portals. The format is
+               "membership:/group/subgroup".
+            </para>
+         </listitem>
+         <listitem>
+            <para>
+               <emphasis>navigation.creator.membership.type</emphasis>
+               : Defines the membership type of the group managers. The
+               group managers have the permission to create and edit
+               group pages and they can modify the group navigation.
+            </para>
+         </listitem>
+         <listitem>
+            <para>
+               <emphasis>guests.group</emphasis>
+               : Contains the name of the group that is used as guest
+               group. Any anonymous user becomes automatically member of
+               this group when he enters the public pages.
+            </para>
+         </listitem>
+         <listitem>
+            <para>
+               <emphasis>access.control.workspace</emphasis>
+               : Defines the users that have access to the control
+               workspace. In the demo version the control workspace is
+               accessible only to 'root' and 'john'. They can
+               expand/collapse the workspace at the left hand side. The
+               format is "membership:/group/subgroup", An asterisk ''
+               gives permission to all memberships.
+            </para>
+         </listitem>
+      </itemizedlist>
 
-    Copyright (C) 2009 eXo Platform SAS.
-    
-    This is free software; you can redistribute it and/or modify it
-    under the terms of the GNU Lesser General Public License as
-    published by the Free Software Foundation; either version 2.1 of
-    the License, or (at your option) any later version.
-    
-    This software is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-    Lesser General Public License for more details.
-    
-    You should have received a copy of the GNU Lesser General Public
-    License along with this software; if not, write to the Free
-    Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-    02110-1301 USA, or see the FSF site: http://www.fsf.org.
-
-    --> <title>Portal Default Permission Configuration</title>
-	<section id="sect-Reference_Guide-Portal_Default_Permission_Configuration-Overview">
-		<title>Overview</title>
-		<para>
-			The permission configuration for the portal is defined in the file portal/WEB-INF/conf/portal/portal-configuration.xml. The component UserACL is described there along with other portal component configurations.
-		</para>
-		<para>
-			It defines 5 permissions types:
-		</para>
-		<itemizedlist>
-			<listitem>
-				<para>
-					<emphasis>super.user</emphasis>: The super user has all the rights on the platform, by default this user is called root
-				</para>
-			</listitem>
-			<listitem>
-				<para>
-					<emphasis>portal.creator.groups</emphasis>: This list defines all groups that will be able to manage the different portals, they also have the permission to create new portals. The format is "membership:/group/subgroup".
-				</para>
-			</listitem>
-			<listitem>
-				<para>
-					<emphasis>navigation.creator.membership.type</emphasis>: Defines the membership type of the group managers. The group managers have the permission to create and edit group pages and they can modify the group navigation.
-				</para>
-			</listitem>
-			<listitem>
-				<para>
-					<emphasis>guests.group</emphasis>: Contains the name of the group that is used as guest group. Any anonymous user becomes automatically member of this group when he enters the public pages.
-				</para>
-			</listitem>
-			<listitem>
-				<para>
-					<emphasis>access.control.workspace</emphasis>: Defines the users that have access to the control workspace. In the demo version the control workspace is accessible only to 'root' and 'john'. They can expand/collapse the workspace at the left hand side. The format is "membership:/group/subgroup", An asterisk '' gives permission to all memberships.
-				</para>
-			</listitem>
-		</itemizedlist>
-		
-<programlisting> &lt;component&gt;
-    &lt;key&gt;org.exoplatform.portal.config.UserACL&lt;/key&gt;
-    &lt;type&gt;org.exoplatform.portal.config.UserACL&lt;/type&gt;   
-    &lt;init-params&gt;      
-      &lt;value-param&gt;
-        &lt;name&gt;super.user&lt;/name&gt;
-        &lt;description&gt;administrator&lt;/description&gt;
-        &lt;value&gt;root&lt;/value&gt;     
-      &lt;/value-param&gt;
+      <programlisting role="XML"><![CDATA[<component>
+  <key>org.exoplatform.portal.config.UserACL</key>
+  <type>org.exoplatform.portal.config.UserACL</type>   
+  <init-params>      
+    <value-param>
+      <name>super.user</name>
+      <description>administrator</description>
+      <value>root</value>     
+    </value-param>
       
-      &lt;value-param&gt;
-        &lt;name&gt;portal.creator.groups&lt;/name&gt;
-        &lt;description&gt;groups with membership type have permission to manage portal&lt;/description&gt;
-        &lt;value&gt;*:/platform/administrators,*:/organization/management/executive-board&lt;/value&gt;     
-      &lt;/value-param&gt;
+    <value-param>
+      <name>portal.creator.groups</name>
+      <description>groups with membership type have permission to manage portal</description>
+      <value>*:/platform/administrators,*:/organization/management/executive-board</value>     
+    </value-param>
       
-      &lt;value-param&gt;
-        &lt;name&gt;navigation.creator.membership.type&lt;/name&gt;
-        &lt;description&gt;specific membership type have full permission with group navigation&lt;/description&gt;
-        &lt;value&gt;manager&lt;/value&gt;     
-      &lt;/value-param&gt;
-      &lt;value-param&gt;
-        &lt;name&gt;guests.group&lt;/name&gt;
-        &lt;description&gt;guests group&lt;/description&gt;
-        &lt;value&gt;/platform/guests&lt;/value&gt;     
-      &lt;/value-param&gt;     
-      &lt;value-param&gt;
-        &lt;name&gt;access.control.workspace&lt;/name&gt;
-        &lt;description&gt;groups with memberships that have the right to access the User Control Workspace&lt;/description&gt;
-        &lt;value&gt;*:/platform/administrators,*:/organization/management/executive-board&lt;/value&gt;     
-      &lt;/value-param&gt;           
-    &lt;/init-params&gt;   
-  &lt;/component&gt;
-</programlisting>
-		<para>
-			1 Overwrite Portal Default Permissions In GateIn Portal 2.5 and later the UserACL component supports adding a PortalACLPlugin plugin that allows to overwrite portal default permissions.
-		</para>
+    <value-param>
+      <name>navigation.creator.membership.type</name>
+      <description>specific membership type have full permission with group navigation</description>
+      <value>manager</value>     
+    </value-param>
+    <value-param>
+      <name>guests.group</name>
+      <description>guests group</description>
+      <value>/platform/guests</value>     
+    </value-param>     
+    <value-param>
+      <name>access.control.workspace</name>
+      <description>groups with memberships that have the right to access the User Control Workspace</description>
+      <value>*:/platform/administrators,*:/organization/management/executive-board</value>     
+    </value-param>           
+  </init-params>   
+</component>]]></programlisting>
+      </section>
+      <section>
+		<title>Overwrite Portal Default Permissions</title>
 		
-<programlisting>  &lt;external-component-plugins&gt;
-    &lt;target-component&gt;org.exoplatform.portal.config.UserACL&lt;/target-component&gt;
-    &lt;component-plugin&gt;
-      &lt;name&gt;addPortalACLPlugin&lt;/name&gt;
-      &lt;set-method&gt;addPortalACLPlugin&lt;/set-method&gt;
-      &lt;type&gt;org.exoplatform.portal.config.PortalACLPlugin&lt;/type&gt;
-      &lt;description&gt;setting some permission for portal&lt;/description&gt;
-      &lt;init-params&gt;     
-        &lt;values-param&gt;
-          &lt;name&gt;access.control.workspace.roles&lt;/name&gt;
-          &lt;value&gt;*:/platform/administrators&lt;/value&gt;
-          &lt;value&gt;*:/organization/management/executive-board&lt;/value&gt;       
-        &lt;/values-param&gt;
-        &lt;values-param&gt;
-          &lt;name&gt;portal.creation.roles&lt;/name&gt;
-          &lt;value&gt;*:/platform/administrators&lt;/value&gt;
-          &lt;value&gt;*:/organization/management/executive-board&lt;/value&gt;      
-        &lt;/values-param&gt;
-      &lt;/init-params&gt;
-    &lt;/component-plugin&gt;
-  &lt;/external-component-plugins&gt;
-</programlisting>
+<programlisting role="XML"><![CDATA[<external-component-plugins>
+    <target-component>org.exoplatform.portal.config.UserACL</target-component>
+    <component-plugin>
+      <name>addPortalACLPlugin</name>
+      <set-method>addPortalACLPlugin</set-method>
+      <type>org.exoplatform.portal.config.PortalACLPlugin</type>
+      <description>setting some permission for portal</description>
+      <init-params>     
+        <values-param>
+          <name>access.control.workspace.roles</name>
+          <value>*:/platform/administrators</value>
+          <value>*:/organization/management/executive-board</value>       
+        </values-param>
+        <values-param>
+          <name>portal.creation.roles</name>
+          <value>*:/platform/administrators</value>
+          <value>*:/organization/management/executive-board</value>      
+        </values-param>
+      </init-params>
+    </component-plugin>
+  </external-component-plugins>]]></programlisting>
 	</section>
-
 </section>
 
 

Modified: portal/trunk/docs/reference-guide/en/modules/configuration/Portal_Navigation_Configuration.xml
===================================================================
--- portal/trunk/docs/reference-guide/en/modules/configuration/Portal_Navigation_Configuration.xml	2009-12-09 14:50:00 UTC (rev 981)
+++ portal/trunk/docs/reference-guide/en/modules/configuration/Portal_Navigation_Configuration.xml	2009-12-09 17:56:51 UTC (rev 982)
@@ -2,391 +2,523 @@
 <!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
 ]>
 <section id="sect-Reference_Guide-Portal_Navigation_Configuration">
-	<!--    
-
-    Copyright (C) 2009 eXo Platform SAS.
-    
-    This is free software; you can redistribute it and/or modify it
-    under the terms of the GNU Lesser General Public License as
-    published by the Free Software Foundation; either version 2.1 of
-    the License, or (at your option) any later version.
-    
-    This software is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-    Lesser General Public License for more details.
-    
-    You should have received a copy of the GNU Lesser General Public
-    License along with this software; if not, write to the Free
-    Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-    02110-1301 USA, or see the FSF site: http://www.fsf.org.
-
-    --><title>Portal Navigation Configuration</title>
-	<section id="sect-Reference_Guide-Portal_Navigation_Configuration-Overview">
-		<title>Overview</title>
-		<para>
-			When a user logs in he sees three types of navigation tree:
-		</para>
-		<itemizedlist>
-			<listitem>
-				<para>
-					Portal Navigation
+   <title>Portal Navigation Configuration</title>
+   <section
+      id="sect-Reference_Guide-Portal_Navigation_Configuration-Overview">
+      <title>Overview</title>
+      <para>
+         When a user logs in he sees three types of navigation tree:
+      </para>
+      <itemizedlist>
+         <listitem>
+            <para>
+               Portal Navigation
 				</para>
-			</listitem>
-			<listitem>
-				<para>
-					Group Navigation
+         </listitem>
+         <listitem>
+            <para>
+               Group Navigation
 				</para>
-			</listitem>
-			<listitem>
-				<para>
-					User Navigation
+         </listitem>
+         <listitem>
+            <para>
+               User Navigation
 				</para>
-			</listitem>
-		</itemizedlist>
-		<para>
-			they all are configured thanks to the usual XML configuration syntax in a file: "portal/WEB-INF/conf/portal/portal-configuration.xml"
+         </listitem>
+      </itemizedlist>
+      <para>
+         they all are configured thanks to the usual XML
+         configuration syntax in a
+         file:
+         "02portal.war:/WEB-INF/conf/portal/portal-configuration.xml"
+      </para>
+
+      <programlisting role="XML"><![CDATA[<component>
+  <key>org.exoplatform.portal.config.UserPortalConfigService</key>
+  <type>org.exoplatform.portal.config.UserPortalConfigService</type>
+  <component-plugins>           
+   <component-plugin>
+     <name>new.portal.config.user.listener</name>
+     <set-method>initListener</set-method>
+     <type>org.exoplatform.portal.config.NewPortalConfigListener</type>
+     <description>this listener init the portal configuration</description>
+     <init-params>
+       <value-param>
+         <name>default.portal</name>
+         <description>The default portal for checking db is empty or not</description>
+         <value>classic</value>
+       </value-param> 
+       <object-param>
+         <name>portal.configuration</name>
+         <description>description</description>
+         <object type="org.exoplatform.portal.config.NewPortalConfig">
+           <field  name="predefinedOwner">
+             <collection type="java.util.HashSet">                
+               <value><string>classic</string></value>
+               <value><string>webos</string></value>
+             </collection>
+           </field>
+           <field  name="ownerType"><string>portal</string></field>
+           <field  name="templateLocation"><string>war:/conf/portal</string></field> 
+         </object>
+       </object-param> 
+       <object-param>
+         <name>group.configuration</name>
+         <description>description</description>
+         <object type="org.exoplatform.portal.config.NewPortalConfig">
+           <field  name="predefinedOwner">
+             <collection type="java.util.HashSet">            
+              <value><string>platform/administrators</string></value>    
+              <value><string>platform/users</string></value>
+              <value><string>platform/guests</string></value>
+              <value><string>organization/management/executive-board</string></value>               
+             </collection>
+           </field>
+           <field  name="ownerType"><string>group</string></field>
+           <field  name="templateLocation"><string>war:/conf/portal</string></field> 
+         </object>
+       </object-param>       
+       <object-param>
+         <name>user.configuration</name>
+         <description>description</description>
+         <object type="org.exoplatform.portal.config.NewPortalConfig">
+           <field  name="predefinedOwner">
+             <collection type="java.util.HashSet">                
+               <value><string>root</string></value>
+               <value><string>john</string></value>
+               <value><string>mary</string></value>
+               <value><string>demo</string></value>
+             </collection>
+           </field>
+           <field  name="ownerType"><string>user</string></field>
+           <field  name="templateLocation"><string>war:/conf/portal</string></field> 
+         </object>
+       </object-param>
+     </init-params>
+   </component-plugin>
+</component-plugins>]]></programlisting>
+      <para>
+         In the previous XML file we define, for the 3 navigation
+         types, some
+         sets of predefined portal, groups or users that will
+         have some
+         XML files inside the war. Those files will be used to
+         create an
+         initial navigation the first time the portal is
+         launched. That
+         information will then be stored in the JCR and
+         hence only
+         modifiable from the portal UI.
 		</para>
-		
-<programlisting>  &lt;component&gt;
-    &lt;key&gt;org.exoplatform.portal.config.UserPortalConfigService&lt;/key&gt;
-    &lt;type&gt;org.exoplatform.portal.config.UserPortalConfigService&lt;/type&gt;
-    &lt;component-plugins&gt;           
-     &lt;component-plugin&gt;
-       &lt;name&gt;new.portal.config.user.listener&lt;/name&gt;
-       &lt;set-method&gt;initListener&lt;/set-method&gt;
-       &lt;type&gt;org.exoplatform.portal.config.NewPortalConfigListener&lt;/type&gt;
-       &lt;description&gt;this listener init the portal configuration&lt;/description&gt;
-       &lt;init-params&gt;
-         &lt;value-param&gt;
-           &lt;name&gt;default.portal&lt;/name&gt;
-           &lt;description&gt;The default portal for checking db is empty or not&lt;/description&gt;
-           &lt;value&gt;classic&lt;/value&gt;
-         &lt;/value-param&gt; 
-         &lt;object-param&gt;
-           &lt;name&gt;portal.configuration&lt;/name&gt;
-           &lt;description&gt;description&lt;/description&gt;
-           &lt;object type="org.exoplatform.portal.config.NewPortalConfig"&gt;
-             &lt;field  name="predefinedOwner"&gt;
-               &lt;collection type="java.util.HashSet"&gt;                
-                 &lt;value&gt;&lt;string&gt;classic&lt;/string&gt;&lt;/value&gt;
-                 &lt;value&gt;&lt;string&gt;webos&lt;/string&gt;&lt;/value&gt;
-               &lt;/collection&gt;
-             &lt;/field&gt;
-             &lt;field  name="ownerType"&gt;&lt;string&gt;portal&lt;/string&gt;&lt;/field&gt;
-             &lt;field  name="templateLocation"&gt;&lt;string&gt;war:/conf/portal&lt;/string&gt;&lt;/field&gt; 
-           &lt;/object&gt;
-         &lt;/object-param&gt; 
-         &lt;object-param&gt;
-           &lt;name&gt;group.configuration&lt;/name&gt;
-           &lt;description&gt;description&lt;/description&gt;
-           &lt;object type="org.exoplatform.portal.config.NewPortalConfig"&gt;
-             &lt;field  name="predefinedOwner"&gt;
-               &lt;collection type="java.util.HashSet"&gt;            
-                &lt;value&gt;&lt;string&gt;platform/administrators&lt;/string&gt;&lt;/value&gt;    
-                &lt;value&gt;&lt;string&gt;platform/users&lt;/string&gt;&lt;/value&gt;
-                &lt;value&gt;&lt;string&gt;platform/guests&lt;/string&gt;&lt;/value&gt;
-                &lt;value&gt;&lt;string&gt;organization/management/executive-board&lt;/string&gt;&lt;/value&gt;               
-               &lt;/collection&gt;
-             &lt;/field&gt;
-             &lt;field  name="ownerType"&gt;&lt;string&gt;group&lt;/string&gt;&lt;/field&gt;
-             &lt;field  name="templateLocation"&gt;&lt;string&gt;war:/conf/portal&lt;/string&gt;&lt;/field&gt; 
-           &lt;/object&gt;
-         &lt;/object-param&gt;       
-         &lt;object-param&gt;
-           &lt;name&gt;user.configuration&lt;/name&gt;
-           &lt;description&gt;description&lt;/description&gt;
-           &lt;object type="org.exoplatform.portal.config.NewPortalConfig"&gt;
-             &lt;field  name="predefinedOwner"&gt;
-               &lt;collection type="java.util.HashSet"&gt;                
-                 &lt;value&gt;&lt;string&gt;root&lt;/string&gt;&lt;/value&gt;
-                 &lt;value&gt;&lt;string&gt;john&lt;/string&gt;&lt;/value&gt;
-                 &lt;value&gt;&lt;string&gt;marry&lt;/string&gt;&lt;/value&gt;
-                 &lt;value&gt;&lt;string&gt;demo&lt;/string&gt;&lt;/value&gt;
-               &lt;/collection&gt;
-             &lt;/field&gt;
-             &lt;field  name="ownerType"&gt;&lt;string&gt;user&lt;/string&gt;&lt;/field&gt;
-             &lt;field  name="templateLocation"&gt;&lt;string&gt;war:/conf/portal&lt;/string&gt;&lt;/field&gt; 
-           &lt;/object&gt;
-         &lt;/object-param&gt;
-       &lt;/init-params&gt;
-     &lt;/component-plugin&gt;
-  &lt;/component-plugins&gt;
-</programlisting>
-		<para>
-			In the previous XML file we define, for the 3 navigation types, some sets of predefined portal, groups or users that will have some XML files inside the war. Those files will be used to create an initial navigation the first time the portal is launched. That information will then be stored in the JCR and hence only modifiable from the portal UI.
+   </section>
+
+   <section
+      id="sect-Reference_Guide-Portal_Navigation_Configuration-Portal_Navigation">
+      <title>Portal Navigation</title>
+      <para>
+         The portal navigation incorporates the pages that can be
+         accessed even
+         when the user is not logged in (if the permission
+         allow a
+         public access). Several portal navigations are used for
+         example
+         when a company has several trademarks and each trade
+         would have
+         its own website.
 		</para>
-	</section>
-	
-	<section id="sect-Reference_Guide-Portal_Navigation_Configuration-Portal_Navigation">
-		<title>Portal Navigation</title>
-		<para>
-			The portal navigation incorporates the pages that can be accessed even when the user is not logged in (if the permission allow a public access). Several portal navigations are used for example when a company has several trademarks and each trade would have its own website.
+      <para>
+         The configuration of a portal called "classic" is made by
+         providing 4
+         XML files under the directory
+         portal/WEBINF/conf/portal/portal/classic:
 		</para>
-		<para>
-			The configuration of a portal called "classic" is made by providing 4 XML files under the directory portal/WEBINF/conf/portal/portal/classic:
+   </section>
+
+   <section
+      id="sect-Reference_Guide-Portal_Navigation_Configuration-Portal.xml">
+      <title>Portal.xml</title>
+      <para>
+         That file describes the layout and portlets that will be
+         shown for all
+         pages. Usually the layout contains the banner,
+         footer, menu,
+         breadcrumbs portlets. Indeed, in GateIn, every
+         area is a
+         portlet even the banner and footer which makes the
+         platform
+         extremely configurable.
 		</para>
-	</section>
-	
-	<section id="sect-Reference_Guide-Portal_Navigation_Configuration-Portal.xml">
-		<title>Portal.xml</title>
-		<para>
-			That file describes the layout and portlets that will be shown for all pages. Usually the layout contains the banner, footer, menu, breadcrumbs portlets. Indeed, in GateIn, every area is a portlet even the banner and footer which makes the platform extremely configurable.
-		</para>
-		
-<programlisting>&lt;?xml version="1.0" encoding="ISO-8859-1"?&gt;
-&lt;portal-config&gt;
-  &lt;portal-name&gt;classic&lt;/portal-name&gt;
-  &lt;locale&gt;en&lt;/locale&gt;
-  &lt;factory-id&gt;office&lt;/factory-id&gt;
-  &lt;access-permissions&gt;Everyone&lt;/access-permissions&gt;
-  &lt;edit-permission&gt;*:/platform/administrators&lt;/edit-permission&gt;
-  &lt;creator&gt;root&lt;/creator&gt;    
+      <programlisting role="XML"><![CDATA[<?xml version="1.0" encoding="ISO-8859-1"?>
+<portal-config>
+  <portal-name>classic</portal-name>
+  <locale>en</locale>
+  <factory-id>office</factory-id>
+  <access-permissions>Everyone</access-permissions>
+  <edit-permission>*:/platform/administrators</edit-permission>
+  <creator>root</creator>    
     
-  &lt;portal-layout&gt;   
-  &lt;application&gt;
-     &lt;instance-id&gt;portal#classic:/web/BannerPortlet/banner&lt;/instance-id&gt;
-     &lt;show-info-bar&gt;false&lt;/show-info-bar&gt;
-   &lt;/application&gt;
-   &lt;application&gt;
-    &lt;instance-id&gt;portal#classic:/web/NavigationPortlet/toolbar&lt;/instance-id&gt;
-     &lt;show-info-bar&gt;false&lt;/show-info-bar&gt;
-   &lt;/application&gt;
+  <portal-layout>   
+  <application>
+     <instance-id>portal#classic:/web/BannerPortlet/banner</instance-id>
+     <show-info-bar>false</show-info-bar>
+   </application>
+   <application>
+    <instance-id>portal#classic:/web/NavigationPortlet/toolbar</instance-id>
+     <show-info-bar>false</show-info-bar>
+   </application>
   
-   &lt;application&gt;
-     &lt;instance-id&gt;portal#classic:/web/BreadcumbsPortlet/breadcumbs&lt;/instance-id&gt;
-     &lt;show-info-bar&gt;false&lt;/show-info-bar&gt;
-   &lt;/application&gt;
+   <application>
+     <instance-id>portal#classic:/web/BreadcumbsPortlet/breadcumbs</instance-id>
+     <show-info-bar>false</show-info-bar>
+   </application>
    
  
-   &lt;page-body&gt; &lt;/page-body&gt;
+   <page-body> </page-body>
    
-   &lt;application&gt;
-     &lt;instance-id&gt;portal#classic:/web/FooterPortlet/footer&lt;/instance-id&gt;
-     &lt;show-info-bar&gt;false&lt;/show-info-bar&gt;
-   &lt;/application&gt;
-  &lt;/portal-layout&gt;
+   <application>
+     <instance-id>portal#classic:/web/FooterPortlet/footer</instance-id>
+     <show-info-bar>false</show-info-bar>
+   </application>
+  </portal-layout>
   
-&lt;/portal-config&gt;
-</programlisting>
-		<para>
-			Even if not shown in the previous XML file, it is also possible to apply a nested container that can also contain portlets. Containers are then responsible of the layout of their children (row, column or tabs containers exist).
+</portal-config>]]></programlisting>
+      <para>
+         Even if not shown in the previous XML file, it is also
+         possible to apply
+         a nested container that can also contain
+         portlets. Containers
+         are then responsible of the layout of their
+         children (row,
+         column or tabs containers exist).
 		</para>
-		<para>
-			Each application references a portlet using the id portal#{portalName}:/{portletWarName}/{portletName}/{uniqueId}
+      <para>
+         Each application references a portlet using the id
+         portal#{portalName}:/{portletWarName}/{portletName}/{uniqueId}
+      </para>
+      <para>
+         In order to define at which location GateIn Portal shall
+         render the
+         current page use the page-body tag.
 		</para>
-		<para>
-			In order to define at which location GateIn Portal shall render the current page use the page-body tag.
+      <para>
+         The defined classic portal is accessible to "Everyone" (that
+         means it
+         can be accessed through the URL /portal/public/classic)
+         but
+         only members of the group /platform/administrators can edit
+         it.
+      </para>
+   </section>
+
+   <section
+      id="sect-Reference_Guide-Portal_Navigation_Configuration-Navigation.xml">
+      <title>Navigation.xml</title>
+      <para>
+         This file defines all the navigation nodes the portal will
+         have. The
+         syntax is simple as we get nested node tags. Each node
+         references a page that is defined in the next XML file.
 		</para>
-		<para>
-			The defined classic portal is accessible to "Everyone" (that means it can be accessed through the URL /portal/public/classic) but only members of the group /platform/administrators can edit it.
+      <para>
+         If the label #{} is used then it means the i18n mechanism is
+         activated
+         and that the real label to render is taken from an
+         associated
+         properties file for the current locale.
 		</para>
-	</section>
-	
-	<section id="sect-Reference_Guide-Portal_Navigation_Configuration-Navigation.xml">
-		<title>Navigation.xml</title>
-		<para>
-			This file defines all the navigation nodes the portal will have. The syntax is simple as we get nested node tags. Each node references a page that is defined in the next XML file.
+
+      <programlisting role="XML"><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
+<node-navigation>
+  <owner-type>portal</owner-type>
+  <owner-id>classic</owner-id>
+  <priority>1</priority>
+  <page-nodes>
+   <node>
+     <uri>home</uri>
+     <name>home</name>
+     <label>#{portal.classic.home}</label>
+     <page-reference>portal::classic::homepage</page-reference>     
+   </node>    
+   <node>
+     <uri>webexplorer</uri>
+     <name>webexplorer</name>
+     <label>#{portal.classic.webexplorer}</label>
+     <page-reference>portal::classic::webexplorer</page-reference>     
+   </node>
+  </page-nodes>
+</node-navigation>]]></programlisting>
+      <para>
+         This navigation tree can have multiple views inside portlets
+         such as the
+         breadcrumbs that render the current view node, the
+         site map or
+         the menu portlets.
 		</para>
-		<para>
-			If the label #{} is used then it means the i18n mechanism is activated and that the real label to render is taken from an associated properties file for the current locale.
+      <warning>
+          <para>
+         For top nodes, the
+         <emphasis role="bold">uri</emphasis>
+         and the
+         <emphasis role="bold">name</emphasis>
+         of your navigation nodes must have the
+         <emphasis role="bold">same</emphasis>
+         value. For the other nodes the uri is composed like
+         <emphasis>
+            <uri>contentmanagement/fileexplorer</uri>
+         </emphasis>
+         where 'contentmanagement' is the name of the parent node and
+         'fileexplorer' the name of the node (
+         <emphasis>&lt;name&gt;fileexplorer&lt;/name&gt; </emphasis>
+         ).
+         </para>
+      </warning>
+   </section>
+
+   <section
+      id="sect-Reference_Guide-Portal_Navigation_Configuration-Pages.xml">
+      <title>Pages.xml</title>
+      <para>
+         This XML file structure is very similar to portal.xml and it
+         can also
+         contain container tags. Each application can decide if
+         it
+         wishes to render the portlet border, the window state icons
+         or
+         the mode.
 		</para>
-		
-<programlisting>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
-&lt;node-navigation&gt;
-  &lt;owner-type&gt;portal&lt;/owner-type&gt;
-  &lt;owner-id&gt;classic&lt;/owner-id&gt;
-  &lt;priority&gt;1&lt;/priority&gt;
-  &lt;page-nodes&gt;
-   &lt;node&gt;
-     &lt;uri&gt;home&lt;/uri&gt;
-     &lt;name&gt;home&lt;/name&gt;
-     &lt;label&gt;#{portal.classic.home}&lt;/label&gt;
-     &lt;page-reference&gt;portal::classic::homepage&lt;/page-reference&gt;     
-   &lt;/node&gt;    
-   &lt;node&gt;
-     &lt;uri&gt;webexplorer&lt;/uri&gt;
-     &lt;name&gt;webexplorer&lt;/name&gt;
-     &lt;label&gt;#{portal.classic.webexplorer}&lt;/label&gt;
-     &lt;page-reference&gt;portal::classic::webexplorer&lt;/page-reference&gt;     
-   &lt;/node&gt;
-  &lt;/page-nodes&gt;
-&lt;/node-navigation&gt;
-</programlisting>
-		<para>
-			This navigation tree can have multiple views inside portlets such as the breadcrumbs that render the current view node, the site map or the menu portlets.
-		</para>
-		<para>
-			+Warning+: For top nodes, the <emphasis role="bold">uri</emphasis> and the <emphasis role="bold">name</emphasis> of your navigation nodes must have the <emphasis role="bold">same</emphasis> value. For the other nodes the uri is composed like <emphasis>&lt;uri&gt;contentmanagement/fileexplorer&lt;/uri&gt;</emphasis> where 'contentmanagement' is the name of the parent node and 'fileexplorer' the name of the node (<emphasis>&lt;name&gt;fileexplorer&lt;/name&gt;</emphasis>).
-		</para>
-	</section>
-	
-	<section id="sect-Reference_Guide-Portal_Navigation_Configuration-Pages.xml">
-		<title>Pages.xml</title>
-		<para>
-			This XML file structure is very similar to portal.xml and it can also contain container tags. Each application can decide if it wishes to render the portlet border, the window state icons or the mode.
-		</para>
-		
-<programlisting>&lt;?xml version="1.0" encoding="ISO-8859-1"?&gt;
-&lt;page-set&gt;  
-  &lt;page&gt;
-    &lt;page-id&gt;portal::classic::homepage&lt;/page-id&gt;
-    &lt;owner-type&gt;portal&lt;/owner-type&gt;
-    &lt;owner-id&gt;classic&lt;/owner-id&gt;
-    &lt;name&gt;homepage&lt;/name&gt;
-    &lt;title&gt;Home Page&lt;/title&gt;
-    &lt;access-permissions&gt;Everyone&lt;/access-permissions&gt;
-    &lt;edit-permission&gt;*:/platform/administrators&lt;/edit-permission&gt;
-    &lt;application&gt;
-      &lt;instance-id&gt;portal#classic:/web/HomePagePortlet/homepageportlet&lt;/instance-id&gt;
-      &lt;title&gt;Home Page portlet&lt;/title&gt;
-      &lt;show-info-bar&gt;false&lt;/show-info-bar&gt;
-      &lt;show-application-state&gt;false&lt;/show-application-state&gt;
-      &lt;show-application-mode&gt;false&lt;/show-application-mode&gt;
-    &lt;/application&gt;
-  &lt;/page&gt;    
+
+      <programlisting role="XML"><![CDATA[<?xml version="1.0" encoding="ISO-8859-1"?>
+<page-set>  
+  <page>
+    <page-id>portal::classic::homepage</page-id>
+    <owner-type>portal</owner-type>
+    <owner-id>classic</owner-id>
+    <name>homepage</name>
+    <title>Home Page</title>
+    <access-permissions>Everyone</access-permissions>
+    <edit-permission>*:/platform/administrators</edit-permission>
+    <application>
+      <instance-id>portal#classic:/web/HomePagePortlet/homepageportlet</instance-id>
+      <title>Home Page portlet</title>
+      <show-info-bar>false</show-info-bar>
+      <show-application-state>false</show-application-state>
+      <show-application-mode>false</show-application-mode>
+    </application>
+  </page>    
     
-  &lt;page&gt;
-    &lt;page-id&gt;portal::classic::webexplorer&lt;/page-id&gt;
-    &lt;owner-type&gt;portal&lt;/owner-type&gt;
-    &lt;owner-id&gt;classic&lt;/owner-id&gt;
-    &lt;name&gt;webexplorer&lt;/name&gt;
-    &lt;title&gt;Web Explorer&lt;/title&gt;
-    &lt;access-permissions&gt;*:/platform/users&lt;/access-permissions&gt;
-    &lt;edit-permission&gt;*:/platform/administrators&lt;/edit-permission&gt;    
-    &lt;application&gt;
-      &lt;instance-id&gt;group#platform/users:/web/BrowserPortlet/WebExplorer&lt;/instance-id&gt;
-      &lt;title&gt;Web Explorer&lt;/title&gt;
-      &lt;show-info-bar&gt;false&lt;/show-info-bar&gt;
-    &lt;/application&gt;  
-  &lt;/page&gt;  
-&lt;/page-set&gt;
-</programlisting>
-	</section>
-	
-	<section id="sect-Reference_Guide-Portal_Navigation_Configuration-Portlet_preferences.xml">
-		<title>Portlet-preferences.xml</title>
-		<para>
-			Porlet instances can be associated with portlet-preferences that override the one defined in the usual portlet.xml file of the portlet application WAR.
+  <page>
+    <page-id>portal::classic::webexplorer</page-id>
+    <owner-type>portal</owner-type>
+    <owner-id>classic</owner-id>
+    <name>webexplorer</name>
+    <title>Web Explorer</title>
+    <access-permissions>*:/platform/users</access-permissions>
+    <edit-permission>*:/platform/administrators</edit-permission>    
+    <application>
+      <instance-id>group#platform/users:/web/BrowserPortlet/WebExplorer</instance-id>
+      <title>Web Explorer</title>
+      <show-info-bar>false</show-info-bar>
+    </application>  
+  </page>  
+</page-set>]]></programlisting>
+   </section>
+
+   <section
+      id="sect-Reference_Guide-Portal_Navigation_Configuration-Portlet_preferences.xml">
+      <title>Portlet-preferences.xml</title>
+      <para>
+         Porlet instances can be associated with portlet-preferences
+         that override
+         the one defined in the usual portlet.xml file of
+         the portlet
+         application WAR.
 		</para>
-		
-<programlisting>&lt;?xml version="1.0" encoding="ISO-8859-1"?&gt;
-&lt;portlet-preferences-set&gt;
-  &lt;portlet-preferences&gt;
-    &lt;owner-type&gt;portal&lt;/owner-type&gt;
-    &lt;owner-id&gt;classic&lt;/owner-id&gt;
-    &lt;window-id&gt;portal#classic:/web/BannerPortlet/banner&lt;/window-id&gt;
-    &lt;preference&gt;
-      &lt;name&gt;template&lt;/name&gt;
-      &lt;value&gt;par:/groovy/groovy/webui/component/UIBannerPortlet.gtmpl&lt;/value&gt;
-      &lt;read-only&gt;false&lt;/read-only&gt;
-    &lt;/preference&gt;
-  &lt;/portlet-preferences&gt;
-  &lt;portlet-preferences&gt;
-    &lt;owner-type&gt;portal&lt;/owner-type&gt;
-    &lt;owner-id&gt;classic&lt;/owner-id&gt;
-    &lt;window-id&gt;portal#classic:/web/NavigationPortlet/toolbar&lt;/window-id&gt;
-    &lt;preference&gt;
-      &lt;name&gt;useAJAX&lt;/name&gt;
-      &lt;value&gt;true&lt;/value&gt;
-      &lt;read-only&gt;false&lt;/read-only&gt;
-    &lt;/preference&gt;
-  &lt;/portlet-preferences&gt;
-  &lt;portlet-preferences&gt;
-    &lt;owner-type&gt;portal&lt;/owner-type&gt;
-    &lt;owner-id&gt;classic&lt;/owner-id&gt;
-    &lt;window-id&gt;portal#classic:/web/FooterPortlet/footer&lt;/window-id&gt;
-    &lt;preference&gt;
-      &lt;name&gt;template&lt;/name&gt;
-      &lt;value&gt;par:/groovy/groovy/webui/component/UIFooterPortlet.gtmpl&lt;/value&gt;
-      &lt;read-only&gt;false&lt;/read-only&gt;
-    &lt;/preference&gt;
-  &lt;/portlet-preferences&gt;
+
+      <programlisting role="XML"><![CDATA[<?xml version="1.0" encoding="ISO-8859-1"?>
+<portlet-preferences-set>
+  <portlet-preferences>
+    <owner-type>portal</owner-type>
+    <owner-id>classic</owner-id>
+    <window-id>portal#classic:/web/BannerPortlet/banner</window-id>
+    <preference>
+      <name>template</name>
+      <value>par:/groovy/groovy/webui/component/UIBannerPortlet.gtmpl</value>
+      <read-only>false</read-only>
+    </preference>
+  </portlet-preferences>
+  <portlet-preferences>
+    <owner-type>portal</owner-type>
+    <owner-id>classic</owner-id>
+    <window-id>portal#classic:/web/NavigationPortlet/toolbar</window-id>
+    <preference>
+      <name>useAJAX</name>
+      <value>true</value>
+      <read-only>false</read-only>
+    </preference>
+  </portlet-preferences>
+  <portlet-preferences>
+    <owner-type>portal</owner-type>
+    <owner-id>classic</owner-id>
+    <window-id>portal#classic:/web/FooterPortlet/footer</window-id>
+    <preference>
+      <name>template</name>
+      <value>par:/groovy/groovy/webui/component/UIFooterPortlet.gtmpl</value>
+      <read-only>false</read-only>
+    </preference>
+  </portlet-preferences>
   
   
-  &lt;portlet-preferences&gt;
-    &lt;owner-type&gt;portal&lt;/owner-type&gt;
-    &lt;owner-id&gt;classic&lt;/owner-id&gt;
-    &lt;window-id&gt;portal#classic:/web/GroovyPortlet/groovyportlet&lt;/window-id&gt;
-    &lt;preference&gt;
-      &lt;name&gt;template&lt;/name&gt;
-      &lt;value&gt;par:/groovy/groovy/webui/component/UIGroovyPortlet.gtmpl&lt;/value&gt;
-      &lt;read-only&gt;false&lt;/read-only&gt;
-    &lt;/preference&gt;
-  &lt;/portlet-preferences&gt;
-&lt;/portlet-preferences-set&gt;
-</programlisting>
-	</section>
-	
-	<section id="sect-Reference_Guide-Portal_Navigation_Configuration-Group_Navigation">
-		<title>Group Navigation</title>
-		<para>
-			Group navigations are dynamically added (mounted) to the user navigation when he logs in. This means that a user sees in his menu also all the pages that are assigned to the groups to which he belongs to.
+  <portlet-preferences>
+    <owner-type>portal</owner-type>
+    <owner-id>classic</owner-id>
+    <window-id>portal#classic:/web/GroovyPortlet/groovyportlet</window-id>
+    <preference>
+      <name>template</name>
+      <value>par:/groovy/groovy/webui/component/UIGroovyPortlet.gtmpl</value>
+      <read-only>false</read-only>
+    </preference>
+  </portlet-preferences>
+</portlet-preferences-set>]]></programlisting>
+   </section>
+
+   <section
+      id="sect-Reference_Guide-Portal_Navigation_Configuration-Group_Navigation">
+      <title>Group Navigation</title>
+      <para>
+         Group navigations are dynamically added (mounted) to the
+         user navigation
+         when he logs in. This means that a user sees in
+         his menu also
+         all the pages that are assigned to the groups to
+         which he
+         belongs to.
 		</para>
-		<para>
-			Here only 3 XML files are necessary: navigation.xml, pages.xml and portlet-preferences.xml. The syntax is the same as for portal navigations.
+      <para>
+         Here only 3 XML files are necessary: navigation.xml,
+         pages.xml and
+         portlet-preferences.xml. The syntax is the same as
+         for portal
+         navigations.
 		</para>
-		<para>
-			The 3 files are located in the directory: "portal/WEB-INF/conf/portal/group/group-name-path/" like for example "portal/WEB-INF/conf/portal/group/platform/administrators/"
+      <para>
+         The 3 files are located in the directory:
+         "portal/WEB-INF/conf/portal/group/group-name-path/" like for
+         example
+         "portal/WEB-INF/conf/portal/group/platform/administrators/"
+      </para>
+   </section>
+
+   <section
+      id="sect-Reference_Guide-Portal_Navigation_Configuration-User_Navigation">
+      <title>User Navigation</title>
+      <para>
+         The user navigation is the set of nodes and pages that is owned
+         by a user. You can see that part as the user dashboard. The
+         files needed are navigation.xml, pages.xml,
+         portlet-preferences.xml. You will also find gadgets.xml
+         (formerly called widgets.xml) which defines the gadgets
+         (widgets) that will be located in the user workspace. The user
+         workspace is located at the left hand side, the access is
+         restricted to some privileged users, see
+         <xref linkend="sect-Reference_Guide-Predefined_User_Configuration" />
+      </para>
+      <para>
+         Those files are located in the directory
+         "portal/WEB-INF/conf/portal/users/{userName}"
 		</para>
-	</section>
-	
-	<section id="sect-Reference_Guide-Portal_Navigation_Configuration-User_Navigation">
-		<title>User Navigation</title>
-		<para>
-			The user navigation is the set of nodes and pages that is owned by a user. You can see that part as the user dashboard. The files needed are navigation.xml, pages.xml, portlet-preferences.xml. You will also find gadgets.xml (formerly called widgets.xml) which defines the gadgets (widgets) that will be located in the user workspace. The user workspace is located at the left hand side, the access is restricted to some privileged users, see <xref linkend="sect-Reference_Guide-Predefined_User_Configuration" />
-		</para>
-		<para>
-			Those files are located in the directory "portal/WEB-INF/conf/portal/users/{userName}"
-		</para>
-		
-<programlisting>&lt;?xml version="1.0" encoding="ISO-8859-1"?&gt;
-&lt;widgets&gt;
-  &lt;owner-type&gt;user&lt;/owner-type&gt;
-  &lt;owner-id&gt;root&lt;/owner-id&gt;
+
+      <programlisting role="XML"><![CDATA[<?xml version="1.0" encoding="ISO-8859-1"?>
+<widgets>
+  <owner-type>user</owner-type>
+  <owner-id>root</owner-id>
  
-  &lt;container id="Information"&gt;
-    &lt;name&gt;Information&lt;/name&gt;
-    &lt;description&gt;Information's Description&lt;/description&gt;
-    &lt;application&gt;
-      &lt;instance-id&gt;user#root:/GateInWidgetWeb/WelcomeWidget/WelcomeWidget1&lt;/instance-id&gt;
-      &lt;application-type&gt;GateInWidget&lt;/application-type&gt;
-    &lt;/application&gt;
+  <container id="Information">
+    <name>Information</name>
+    <description>Information's Description</description>
+    <application>
+      <instance-id>user#root:/GateInWidgetWeb/WelcomeWidget/WelcomeWidget1</instance-id>
+      <application-type>GateInWidget</application-type>
+    </application>
       
-    &lt;application&gt;
-      &lt;instance-id&gt;user#root:/GateInWidgetWeb/StickerWidget/StickerWidget&lt;/instance-id&gt;
-      &lt;application-type&gt;GateInWidget&lt;/application-type&gt; 
-    &lt;/application&gt;
+    <application>
+      <instance-id>user#root:/GateInWidgetWeb/StickerWidget/StickerWidget</instance-id>
+      <application-type>GateInWidget</application-type> 
+    </application>
     
-    &lt;application&gt;
-      &lt;instance-id&gt;user#root:/GateInWidgetWeb/InfoWidget/InfoWidget1&lt;/instance-id&gt;
-      &lt;application-type&gt;GateInWidget&lt;/application-type&gt;
-    &lt;/application&gt;
-  &lt;/container&gt;
+    <application>
+      <instance-id>user#root:/GateInWidgetWeb/InfoWidget/InfoWidget1</instance-id>
+      <application-type>GateInWidget</application-type>
+    </application>
+  </container>
   
-  &lt;container id="Calendar"&gt;
-    &lt;name&gt;Calendar&lt;/name&gt;
-    &lt;description&gt;Calendar's Description&lt;/description&gt;
-    &lt;application&gt;
-      &lt;instance-id&gt;user#root:/GateInWidgetWeb/CalendarWidget/CalendarWidget&lt;/instance-id&gt;
-      &lt;application-type&gt;GateInWidget&lt;/application-type&gt; 
-    &lt;/application&gt;
-  &lt;/container&gt; 
+  <container id="Calendar">
+    <name>Calendar</name>
+    <description>Calendar's Description</description>
+    <application>
+      <instance-id>user#root:/GateInWidgetWeb/CalendarWidget/CalendarWidget</instance-id>
+      <application-type>GateInWidget</application-type> 
+    </application>
+  </container> 
  
-&lt;/widgets&gt;
-</programlisting>
-		<para>
-			Note that when you develop a portal, we advise you to use the XML instead of the User Interface as XML will allow you to provide a preconfigured package to your customer. But as each time you start the server the first time, the XML files are stored in the JCR, it will be necessary to remove the database (the jcr leverages a database). During the development phase using tomcat it simply means to delete the directory: exo-tomcat/temp
-		</para>
-	</section>
-	
-	<section id="sect-Reference_Guide-Portal_Navigation_Configuration-Tips">
-		<title>Tips</title>
-		<para>
-			Stuff Goes Here?
-		</para>
-	</section>
+</widgets>]]></programlisting>
+      <para>
+         Note that when you develop a portal, we advise you to use
+         the XML instead
+         of the User Interface as XML will allow you to
+         provide a
+         preconfigured package to your customer. But as each
+         time you
+         start the server the first time, the XML files are
+         stored in
+         the JCR, it will be necessary to remove the database
+         (the jcr
+         leverages a database). During the development phase
+         using
+         tomcat it simply means to delete the directory:
+         exo-tomcat/temp
+      </para>
+   </section>
 
+   <section id="sect-Reference_Guide-Portal_Navigation_Configuration-Tips">
+      <title>Tips</title>
+      <section>
+         <title>Direct External Links</title>
+         <para>
+            If you wish to add a link to a URL outside the portal you
+            you first
+            have to define a "page" which will not be used.
+            Then add
+            the URL to the navigation.
+            pages.xml:
+ </para>
+         <programlisting><![CDATA[<page>
+  <owner-type>portal</owner-type>
+  <owner-id>website</owner-id>
+  <name>documentation</name>
+  <title>Documentation</title>
+  <access-permissions>Everyone</access-permissions>
+  <edit-permission>*:/platform/administrators</edit-permission>
+</page>]]></programlisting>
+         <para>
+            naviguation.xml:</para>
+
+         <programlisting><![CDATA[<node>
+  <uri>http://wiki.exoplatform.com/xwiki/bin/view/Main/WebHome</uri>
+  <name>documentation</name>
+  <label>#{portal.classic.documentation}</label>
+  <page-reference>portal::website::documentation</page-reference>
+</node>]]></programlisting>
+
+         <warning>
+            <title>Direct external links were not a design goal</title>
+            <para>Currently you cannot modify the URL using the portal
+               interface, you
+               must change it in the configuration files
+               or modify the underlying
+               database table.</para>
+         </warning>
+      </section>
+   </section>
 </section>
 
 

Modified: portal/trunk/docs/reference-guide/en/modules/configuration/Predefined_User_Configuration.xml
===================================================================
--- portal/trunk/docs/reference-guide/en/modules/configuration/Predefined_User_Configuration.xml	2009-12-09 14:50:00 UTC (rev 981)
+++ portal/trunk/docs/reference-guide/en/modules/configuration/Predefined_User_Configuration.xml	2009-12-09 17:56:51 UTC (rev 982)
@@ -2,129 +2,212 @@
 <!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
 ]>
 <section id="sect-Reference_Guide-Predefined_User_Configuration">
-	<!--    
+   <title>Predefined User Configuration</title>
+   <section
+      id="sect-Reference_Guide-Predefined_User_Configuration-Overview">
+      <title>Overview</title>
+      <para>
+         To specify the initial Organization configuration, the content
+         of
+         <literal>02portal.war:/WEB-INF/conf/organization/organization-configuration.xml
+         </literal>
+         should be edited. This file complies with the XML GateIn
+         configuration schema. It lists several configuration plugins.
+      </para>
+   </section>
 
-    Copyright (C) 2009 eXo Platform SAS.
-    
-    This is free software; you can redistribute it and/or modify it
-    under the terms of the GNU Lesser General Public License as
-    published by the Free Software Foundation; either version 2.1 of
-    the License, or (at your option) any later version.
-    
-    This software is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-    Lesser General Public License for more details.
-    
-    You should have received a copy of the GNU Lesser General Public
-    License along with this software; if not, write to the Free
-    Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-    02110-1301 USA, or see the FSF site: http://www.fsf.org.
+   <section
+      id="sect-Reference_Guide-Predefined_User_Configuration-Plugin_for_adding_users_groups_and_membership_types">
+      <title>Plugin for adding users, groups and membership types
+      </title>
+      <para>
+         The plugin of type
+         <literal>org.exoplatform.services.organization.OrganizationDatabaseInitializer
+         </literal>
+         specifies the list of users, groups and membership types to be
+         created. The initialization parameter named
+         "checkDatabaseAlgorithm" determines how the creation is
+         triggered. Thus, the value "entry" means that each user, group
+         and membership listed in the configuration is checked each time
+         GateIn is started. If not existing, it is created. The value
+         "empty" means that the whole list of preconfigured users,
+         groups and memberships is processed only if the database is
+         empty.
+      </para>
+   </section>
 
-    --> <title>Predefined User Configuration</title>
-	<section id="sect-Reference_Guide-Predefined_User_Configuration-Overview">
-		<title>Overview</title>
-		<para>
-			To specify the initial Organization configuration, the content of <literal>portal.war:WEB-INF/conf/organization/organization-configuration.xml</literal> should be edited. This file complies with the XML GateIn configuration schema. It lists several configuration plugins.
+   <section
+      id="sect-Reference_Guide-Predefined_User_Configuration-Membership_types">
+      <title>Membership types</title>
+      <para>
+         The predefined membership types are specified in the
+         "membershipType"
+         field of the "OrganizationConfig" plugin
+         parameter.
+      </para>
+      <programlisting role="XML"><![CDATA[<field name="membershipType">
+  <collection type="java.util.ArrayList">
+    <value>
+      <object type="org.exoplatform.services.organization.OrganizationConfig$MembershipType">
+        <field name="type">
+          <string>member</string>
+        </field>
+        <field name="description">
+          <string>member membership type</string>
+        </field>
+      </object>
+    </value>
+    <value>
+      <object type="org.exoplatform.services.organization.OrganizationConfig$MembershipType">
+        <field name="type">
+          <string>owner</string>
+        </field>
+        <field name="description">
+          <string>owner membership type</string>
+        </field>
+      </object>
+     </value>
+     <value>
+       <object type="org.exoplatform.services.organization.OrganizationConfig$MembershipType">
+         <field name="type">
+           <string>validator</string>
+         </field>
+         <field name="description">
+           <string>validator membership type</string>
+         </field>
+       </object>
+     </value>
+   </collection>
+</field>]]></programlisting>
+   </section>
+
+   <section id="sect-Reference_Guide-Predefined_User_Configuration-Groups">
+      <title>Groups</title>
+      <para>
+         The predefined groups are specified in the "group" field of
+         the
+         "OrganizationConfig" plugin parameter.
+      </para>
+      <programlisting role="XML"><![CDATA[<field name="group">
+  <collection type="java.util.ArrayList">
+    <value>
+      <object type="org.exoplatform.services.organization.OrganizationConfig$Group">
+        <field name="name">
+          <string>portal</string>
+        </field>
+        <field name="parentId">
+          <string></string>
+        </field>
+        <field name="type">
+          <string>hierachy</string>
+        </field>
+        <field name="description">
+          <string>the /portal group</string>
+        </field>
+      </object>
+    </value>
+    <value>
+      <object type="org.exoplatform.services.organization.OrganizationConfig$Group">
+        <field name="name">
+          <string>community</string>
+        </field>
+        <field name="parentId">
+          <string>/portal</string>
+        </field>
+        <field name="type">
+          <string>hierachy</string>
+        </field>
+        <field name="description">
+          <string>the /portal/community group</string>
+        </field>
+      </object>
+    </value>
+    ...
+  </collection>
+</field>]]></programlisting>
+   </section>
+
+   <section id="sect-Reference_Guide-Predefined_User_Configuration-Users">
+      <title>Users</title>
+      <para>
+         The predefined users are specified in the "membershipType"
+         field of the
+         "OrganizationConfig" plugin parameter.
 		</para>
-	</section>
-	
-	<section id="sect-Reference_Guide-Predefined_User_Configuration-Plugin_for_adding_users_groups_and_membership_types">
-		<title>Plugin for adding users, groups and membership types</title>
-		<para>
-			The plugin of type <literal>org.exoplatform.services.organization.OrganizationDatabaseInitializer</literal> specifies the list of users, groups and membership types to be created. The initialization parameter named "checkDatabaseAlgorithm" determines how the creation is triggered. Thus, the value "entry" means that each user, group and membership listed in the configuration is checked each time GateIn is started. If not existing, it is created. The value "empty" means that the whole list of preconfigured users, groups and memberships is processed only if the database is empty.
-		</para>
-	</section>
-	
-	<section id="sect-Reference_Guide-Predefined_User_Configuration-Membership_types">
-		<title>Membership types</title>
-		<para>
-			The predefined membership types are specified in the "membershipType" field of the "OrganizationConfig" plugin parameter. {code} &lt;field name="membershipType"&gt; &lt;collection type="java.util.ArrayList"&gt; &lt;value&gt; &lt;object type="org.exoplatform.services.organization.OrganizationConfig$MembershipType"&gt; &lt;field name="type"&gt;&lt;string&gt;member&lt;/string&gt;&lt;/field&gt; &lt;field name="description"&gt;&lt;string&gt;member membership type&lt;/string&gt;&lt;/field&gt; &lt;/object&gt; &lt;/value&gt; &lt;value&gt; &lt;object type="org.exoplatform.services.organization.OrganizationConfig$MembershipType"&gt; &lt;field name="type"&gt;&lt;string&gt;owner&lt;/string&gt;&lt;/field&gt; &lt;field name="description"&gt;&lt;string&gt;owner membership type&lt;/string&gt;&lt;/field&gt; &lt;/object&gt; &lt;/value&gt; &lt;value&gt; &lt;object type="org.exoplatform.services.organization.OrganizationConfig$MembershipType"&gt; &lt;field name="type"&gt;&lt;string&gt;valid!
 ator&lt;/string&gt;&lt;/field&gt; &lt;field name="description"&gt;&lt;string&gt;validator membership type&lt;/string&gt;&lt;/field&gt; &lt;/object&gt; &lt;/value&gt; &lt;/collection&gt; &lt;/field&gt; {code}
-		</para>
-	</section>
-	
-	<section id="sect-Reference_Guide-Predefined_User_Configuration-Groups">
-		<title>Groups</title>
-		<para>
-			The predefined groups are specified in the "group" field of the "OrganizationConfig" plugin parameter. {code} &lt;field name="group"&gt; &lt;collection type="java.util.ArrayList"&gt; &lt;value&gt; &lt;object type="org.exoplatform.services.organization.OrganizationConfig$Group"&gt; &lt;field name="name"&gt;&lt;string&gt;portal&lt;/string&gt;&lt;/field&gt; &lt;field name="parentId"&gt;&lt;string&gt;&lt;/string&gt;&lt;/field&gt; &lt;field name="type"&gt;&lt;string&gt;hierachy&lt;/string&gt;&lt;/field&gt; &lt;field name="description"&gt;&lt;string&gt;the /portal group&lt;/string&gt;&lt;/field&gt; &lt;/object&gt; &lt;/value&gt; &lt;value&gt; &lt;object type="org.exoplatform.services.organization.OrganizationConfig$Group"&gt; &lt;field name="name"&gt;&lt;string&gt;community&lt;/string&gt;&lt;/field&gt; &lt;field name="parentId"&gt;&lt;string&gt;/portal&lt;/string&gt;&lt;/field&gt; &lt;field name="type"&gt;&lt;string&gt;hierachy&lt;/string&gt;&lt;/field&gt; &lt;field name="desc!
 ription"&gt;&lt;string&gt;the /portal/community group&lt;/string&gt;&lt;/field&gt; &lt;/object&gt; &lt;/value&gt; ... &lt;/collection&gt; &lt;/field&gt; {code}
-		</para>
-	</section>
-	
-	<section id="sect-Reference_Guide-Predefined_User_Configuration-Users">
-		<title>Users</title>
-		<para>
-			The predefined users are specified in the "membershipType" field of the "OrganizationConfig" plugin parameter.
-		</para>
-		
-<programlisting>  &lt;field name="user"&gt;
-    &lt;collection type="java.util.ArrayList"&gt;
-      &lt;value&gt;
-        &lt;object type="org.exoplatform.services.organization.OrganizationConfig$User"&gt;
-          &lt;field name="userName"&gt;&lt;string&gt;root&lt;/string&gt;&lt;/field&gt;
-          &lt;field name="password"&gt;&lt;string&gt;exo&lt;/string&gt;&lt;/field&gt;
-          &lt;field name="firstName"&gt;&lt;string&gt;root&lt;/string&gt;&lt;/field&gt;
-          &lt;field name="lastName"&gt;&lt;string&gt;root&lt;/string&gt;&lt;/field&gt;
-          &lt;field name="email"&gt;&lt;string&gt;exoadmin at localhost&lt;/string&gt;&lt;/field&gt;
-          &lt;field name="groups"&gt;&lt;string&gt;member:/admin,member:/user,owner:/portal/admin&lt;/string&gt;&lt;/field&gt;
-        &lt;/object&gt;
-      &lt;/value&gt;
-      &lt;value&gt;
-        &lt;object type="org.exoplatform.services.organization.OrganizationConfig$User"&gt;
-          &lt;field name="userName"&gt;&lt;string&gt;exo&lt;/string&gt;&lt;/field&gt;
-          &lt;field name="password"&gt;&lt;string&gt;exo&lt;/string&gt;&lt;/field&gt;
-          &lt;field name="firstName"&gt;&lt;string&gt;site&lt;/string&gt;&lt;/field&gt;
-          &lt;field name="lastName"&gt;&lt;string&gt;site&lt;/string&gt;&lt;/field&gt;
-          &lt;field name="email"&gt;&lt;string&gt;exo at localhost&lt;/string&gt;&lt;/field&gt;
-          &lt;field name="groups"&gt;&lt;string&gt;member:/user&lt;/string&gt;&lt;/field&gt;
-        &lt;/object&gt;
-      &lt;/value&gt;
-      ...
-    &lt;/collection&gt;
-  &lt;/field&gt;
-</programlisting>
-	</section>
-	
-	<section id="sect-Reference_Guide-Predefined_User_Configuration-Plugin_for_monitoring_user_creation">
-		<title>Plugin for monitoring user creation</title>
-		<para>
-			The plugin of type <literal>org.exoplatform.services.organization.impl.NewUserEventListener</literal> specifies which groups should join all newly created users. It notably specifies the groups and memberships to be used. It also specifies a list of users that should be excepted.
-		</para>
-		
-<programlisting>    &lt;component-plugin&gt;
-      &lt;name&gt;new.user.event.listener&lt;/name&gt;
-      &lt;set-method&gt;addListenerPlugin&lt;/set-method&gt;
-      &lt;type&gt;org.exoplatform.services.organization.impl.NewUserEventListener&lt;/type&gt;
-      &lt;description&gt;this listener assign group and membership to a new created user&lt;/description&gt;
-      &lt;init-params&gt;
-        &lt;object-param&gt;
-          &lt;name&gt;configuration&lt;/name&gt;
-          &lt;description&gt;description&lt;/description&gt;
-          &lt;object type="org.exoplatform.services.organization.impl.NewUserConfig"&gt;
-            &lt;field  name="group"&gt;
-              &lt;collection type="java.util.ArrayList"&gt;
-                &lt;value&gt;
-                  &lt;object type="org.exoplatform.services.organization.impl.NewUserConfig$JoinGroup"&gt;
-                    &lt;field name="groupId"&gt;&lt;string&gt;/user&lt;/string&gt;&lt;/field&gt;
-                    &lt;field name="membership"&gt;&lt;string&gt;member&lt;/string&gt;&lt;/field&gt;
-                  &lt;/object&gt;
-                &lt;/value&gt;               
-              &lt;/collection&gt;
-            &lt;/field&gt;
-            &lt;field  name="ignoredUser"&gt;
-              &lt;collection type="java.util.HashSet"&gt;
-                &lt;value&gt;&lt;string&gt;exo&lt;/string&gt;&lt;/value&gt;
-                &lt;value&gt;&lt;string&gt;root&lt;/string&gt;&lt;/value&gt;
-                &lt;value&gt;&lt;string&gt;company&lt;/string&gt;&lt;/value&gt;
-                &lt;value&gt;&lt;string&gt;community&lt;/string&gt;&lt;/value&gt;
-              &lt;/collection&gt;
-            &lt;/field&gt;
-          &lt;/object&gt;
-        &lt;/object-param&gt;
-      &lt;/init-params&gt;
-    &lt;/component-plugin&gt;
-</programlisting>
-	</section>
 
+      <programlisting role="XML"><![CDATA[<field name="user">
+  <collection type="java.util.ArrayList">
+    <value>
+      <object type="org.exoplatform.services.organization.OrganizationConfig$User">
+        <field name="userName"><string>root</string></field>
+        <field name="password"><string>exo</string></field>
+        <field name="firstName"><string>root</string></field>
+        <field name="lastName"><string>root</string></field>
+        <field name="email"><string>exoadmin at localhost</string></field>
+        <field name="groups"><string>member:/admin,member:/user,owner:/portal/admin</string></field>
+      </object>
+    </value>
+    <value>
+      <object type="org.exoplatform.services.organization.OrganizationConfig$User">
+        <field name="userName"><string>exo</string></field>
+        <field name="password"><string>exo</string></field>
+        <field name="firstName"><string>site</string></field>
+        <field name="lastName"><string>site</string></field>
+        <field name="email"><string>exo at localhost</string></field>
+        <field name="groups"><string>member:/user</string></field>
+      </object>
+    </value>
+    ...
+  </collection>
+</field>]]></programlisting>
+   </section>
+
+   <section
+      id="sect-Reference_Guide-Predefined_User_Configuration-Plugin_for_monitoring_user_creation">
+      <title>Plugin for monitoring user creation</title>
+      <para>
+         The plugin of type
+         <literal>org.exoplatform.services.organization.impl.NewUserEventListener
+         </literal>
+         specifies which groups should join all newly created users. It
+         notably specifies the groups and memberships to be used. It
+         also specifies a list of users that should be excepted.
+      </para>
+
+      <programlisting role="XML"><![CDATA[<component-plugin>
+  <name>new.user.event.listener</name>
+  <set-method>addListenerPlugin</set-method>
+  <type>org.exoplatform.services.organization.impl.NewUserEventListener</type>
+  <description>this listener assign group and membership to a new created user</description>
+  <init-params>
+    <object-param>
+      <name>configuration</name>
+      <description>description</description>
+      <object type="org.exoplatform.services.organization.impl.NewUserConfig">
+        <field  name="group">
+          <collection type="java.util.ArrayList">
+            <value>
+              <object type="org.exoplatform.services.organization.impl.NewUserConfig$JoinGroup">
+                <field name="groupId"><string>/user</string></field>
+                <field name="membership"><string>member</string></field>
+              </object>
+            </value>               
+          </collection>
+        </field>
+        <field  name="ignoredUser">
+          <collection type="java.util.HashSet">
+            <value><string>exo</string></value>
+            <value><string>root</string></value>
+            <value><string>company</string></value>
+            <value><string>community</string></value>
+          </collection>
+        </field>
+      </object>
+    </object-param>
+  </init-params>
+</component-plugin>]]></programlisting>
+   </section>
+
 </section>
 
 

Modified: portal/trunk/docs/reference-guide/en/modules/configuration/Skin_Configuration.xml
===================================================================
--- portal/trunk/docs/reference-guide/en/modules/configuration/Skin_Configuration.xml	2009-12-09 14:50:00 UTC (rev 981)
+++ portal/trunk/docs/reference-guide/en/modules/configuration/Skin_Configuration.xml	2009-12-09 17:56:51 UTC (rev 982)
@@ -2,26 +2,7 @@
 <!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
 ]>
 <section id="sect-Reference_Guide-Skin_Configuration">
-	<!--    
-
-    Copyright (C) 2009 eXo Platform SAS.
-    
-    This is free software; you can redistribute it and/or modify it
-    under the terms of the GNU Lesser General Public License as
-    published by the Free Software Foundation; either version 2.1 of
-    the License, or (at your option) any later version.
-    
-    This software is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-    Lesser General Public License for more details.
-    
-    You should have received a copy of the GNU Lesser General Public
-    License along with this software; if not, write to the Free
-    Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-    02110-1301 USA, or see the FSF site: http://www.fsf.org.
-
-    --><title>Skin Configuration</title>
+	<title>Skin Configuration</title>
 	<section id="sect-Reference_Guide-Skin_Configuration-Overview">
 		<title>Overview</title>
 		<para>
@@ -32,7 +13,7 @@
 	<section id="sect-Reference_Guide-Skin_Configuration-Skin_Switching">
 		<title>Skin Switching</title>
 		<para>
-			Skins can be switched dynamically at runtime by the <emphasis>Skin Settings</emphasis> action in <emphasis> "User Workspace" </emphasis> <!--    <link linkend="User Workspace">User Workspace</link>    --> .
+			Skins can be switched dynamically at runtime.
 		</para>
 		<mediaobject>
 			<imageobject>
@@ -50,16 +31,15 @@
 			An GateIn skin contains css styles for GateIn portal's components but also shares components that may be reused in portlets. When GateIn generates a portal page markup, it inserts stylesheet links in the page's <literal>head</literal> tag.
 		</para>
 		
-<programlisting>&lt;head&gt;
+<programlisting><![CDATA[<head>
 ...   
-&lt;link id="CoreSkin" rel="stylesheet" type="text/css" href="/GateInResources/skin/Stylesheet.css" /&gt;
-&lt;link id="web_FooterPortlet" rel="stylesheet" type="text/css" href= "/web/skin/portal/webui/component/UIFooterPortlet/DefaultStylesheet.css" /&gt;
-&lt;link id="web_NavigationPortlet" rel="stylesheet" type="text/css" href= "/web/skin/portal/webui/component/UINavigationPortlet/DefaultStylesheet.css" /&gt;
-&lt;link id="web_HomePagePortlet" rel="stylesheet" type="text/css" href= "/portal/templates/skin/webui/component/UIHomePagePortlet/DefaultStylesheet.css" /&gt;
-&lt;link id="web_BannerPortlet" rel="stylesheet" type="text/css" href= "/web/skin/portal/webui/component/UIBannerPortlet/DefaultStylesheet.css" /&gt;
+<link id="CoreSkin" rel="stylesheet" type="text/css" href="/eXoResources/skin/Stylesheet.css" />
+<link id="web_FooterPortlet" rel="stylesheet" type="text/css" href= "/web/skin/portal/webui/component/UIFooterPortlet/DefaultStylesheet.css" />
+<link id="web_NavigationPortlet" rel="stylesheet" type="text/css" href= "/web/skin/portal/webui/component/UINavigationPortlet/DefaultStylesheet.css" />
+<link id="web_HomePagePortlet" rel="stylesheet" type="text/css" href= "/portal/templates/skin/webui/component/UIHomePagePortlet/DefaultStylesheet.css" />
+<link id="web_BannerPortlet" rel="stylesheet" type="text/css" href= "/web/skin/portal/webui/component/UIBannerPortlet/DefaultStylesheet.css" />
 ...
-&lt;/head&gt;
-</programlisting>
+</head>]]></programlisting>
 		<para>
 			In the snipped code above, you can see two types of links :
 		</para>
@@ -102,11 +82,12 @@
 			</listitem>
 		</orderedlist>
 		<para>
-			This is revealed easily by the main portal skin stylesheets. For example <emphasis role="bold">/GateInVistaSkin/skin/Stylesheet.css</emphasis>
+			This is revealed easily by the main portal skin stylesheets. For example <emphasis role="bold">/eXoVistaSkin/skin/Stylesheet.css</emphasis>
 		</para>
 		
-<programlisting>{code} @import url(/GateInResources/skin/PortletThemes/Stylesheet.css) ; @import url(VistaSkin/portal/webui/component/UIPortalApplicationSkin.css) ; @import url(VistaSkin/webui/component/Stylesheet.css) ; {code}
-</programlisting>
+<programlisting>@import url(/eXoResources/skin/PortletThemes/Stylesheet.css) ;
+ at import url(VistaSkin/portal/webui/component/UIPortalApplicationSkin.css) ;
+ at import url(VistaSkin/webui/component/Stylesheet.css) ;</programlisting>
 	</section>
 	
 	<section id="sect-Reference_Guide-Skin_Configuration-Portlet_Styles">
@@ -124,18 +105,14 @@
 	
 	<section id="sect-Reference_Guide-Skin_Configuration-How_to_Configure_a_Portal_Skin">
 		<title>How to Configure a Portal Skin</title>
-		<para>
-			Stuff Goes Here?
-		</para>
-	</section>
-	
+
 	<section id="sect-Reference_Guide-Skin_Configuration-SkinService">
 		<title>SkinService</title>
 		<para>
 			The <ulink url="http://fisheye.exoplatform.org/browse/projects/portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/webui/skin/SkinService.java">SkinService</ulink> is an GateIn service that manages portal skin, portlet styles and portlet themes (windows borders). The code snippet below is an excerpt of the API offered by this service.
 		</para>
 		
-<programlisting>  /**
+<programlisting role="JAVA"><![CDATA[/**
    * Register the stylesheet for a portal Skin.
    * @param module skin module identifier
    * @param skinName skin name
@@ -169,10 +146,9 @@
    * @param categoryName portlet theme category
    * @param themesName names of the themes
    */
-  public void addTheme(String categoryName, List&lt;String&gt; themesName) {
+  public void addTheme(String categoryName, List<String> themesName) {
     [...]
-  }
-</programlisting>
+  }]]></programlisting>
 		<para>
 			Use the skin service to register your own portal skins, portlet styles and portlet themes.
 		</para>
@@ -184,23 +160,22 @@
 			GateIn provides a servlet listener that allows you to register your own skins and styles when your webapp starts up. Your first step is to add the listener to your portlet app <literal>web.xml</literal>.
 		</para>
 		
-<programlisting>  &lt;web-app&gt;
+<programlisting role="XML"><![CDATA[<web-app>
     [::]
-    &lt;listener&gt;
-      &lt;listener-class&gt;org.exoplatform.portal.webui.skin.SkinConfigListener&lt;/listener-class&gt;
-    &lt;/listener&gt;
+    <listener>
+      <listener-class>org.exoplatform.portal.webui.skin.SkinConfigListener</listener-class>
+    </listener>
     [::]
-  &lt;/web-app&gt;
-</programlisting>
+  </web-app>]]></programlisting>
+</section>
+		<section>
+      <title>SkinConfigScript.groovy</title>
 		<para>
-			1.1 SkinConfigScript.groovy
+			The <literal>SkinListener</literal> looks for the groovy script file located in your war under: <filename>/WEB-INF/conf/script/groovy/SkinConfigScript.groovy</filename>
 		</para>
 		<para>
-			The &lt;tt&gt;SkinListener&lt;/tt&gt; looks for the groovy script file located in your war under: <filename>/WEB-INF/conf/script/groovy/SkinConfigScript.groovy</filename>
+			In this script, you have full access to the <literal>SkinService</literal> and <literal>ServletContext</literal> which are bound as scripting variables under the same name. As an example, take a look at the following script. It can be found in the <literal>GateInResources.war</literal> and is used by GateIn to register the <literal>Default</literal> portal skin and some portlet themes.
 		</para>
-		<para>
-			In this script, you have full access to the &lt;tt&gt;SkinService&lt;/tt&gt; and &lt;tt&gt;ServletContext&lt;/tt&gt; which are bound as scripting variables under the same name. As an example, take a look at the following script. It can be found in the &lt;tt&gt;GateInResources.war&lt;/tt&gt; and is used by GateIn to register the &lt;tt&gt;Default&lt;/tt&gt; portal skin and some portlet themes.
-		</para>
 		
 <programlisting>SkinService.addPortalSkin("CoreSkin","Default", "/GateInResources/skin/Stylesheet.css", ServletContext);
 SkinService.addTheme("Simple", ["SimpleBlue","SimpleViolet","SimpleOrange","SimplePink","SimpleGreen"]);
@@ -210,46 +185,45 @@
 SkinService.addTheme("VistaStyle", ["VistaTheme","VistaBlue"]);
 </programlisting>
 		<para>
-			The syntax of addTheme() is:<!--     LB     --> &lt;tt&gt;addTheme(String categoryName, List&lt;String&gt; themesName)&lt;/tt&gt;
+			The syntax of addTheme() is: <programlisting><![CDATA[addTheme(String categoryName, List<String> themesName)]]></programlisting>
 		</para>
 		<para>
-			So, to provide your own skin you could use the following: {code} SkinService.addSkin("mywebapp/MyPortlet", "MyPortalSkin", "/mywebapp/skin/Stylesheet.css", ServletContext); {code}
+			So, to provide your own skin you could use the following: <programlisting><![CDATA[SkinService.addSkin("mywebapp/MyPortlet", "MyPortalSkin", "/mywebapp/skin/Stylesheet.css", ServletContext);]]></programlisting>
 		</para>
 		<para>
-			This simple line would register a styleesheet for a portlet named &lt;tt&gt;MyPortlet&lt;/tt&gt; in a portlet app named &lt;tt&gt;mywebapp&lt;/tt&gt;. The stylesheet would be used when a skin named &lt;tt&gt;MyPortalSkin&lt;/tt&gt; is selected in portal.
+			This simple line would register a styleesheet for a portlet named <literal>MyPortlet</literal> in a portlet app named <literal>mywebapp</literal>. The stylesheet would be used when a skin named <literal>MyPortalSkin</literal> is selected in portal.
 		</para>
 		<para>
-			The syntax of addSkin() is:<!--     LB     --> &lt;tt&gt;addSkin(String module, String skinName, String cssPath, ServletContext scontext, boolean overwrite)&lt;/tt&gt;
+			The syntax of addSkin() is: <programlisting><![CDATA[addSkin(String module, String skinName, String cssPath, ServletContext scontext, boolean overwrite)]]></programlisting>
 		</para>
 		<para>
-			<parameter>~~overwrite~~</parameter> is optional, its default value is "false". If its value is true, the later call of addSkin() for the same skin key (combination of module + skinName) replaces the skin of the previous call.
+			<literal>overwrite</literal> is optional, its default value is "false". If its value is true, the later call of addSkin() for the same skin key (combination of module + skinName) replaces the skin of the previous call.
 		</para>
 		<para>
 			Similarly, to configure a particular portal you can use the following :
 		</para>
 		
-<programlisting> {code} SkinService.addSkin("myportalname", "skin", "/path/to/skin/Stylesheet.css", ServletContext); {code}
-</programlisting>
+<programlisting>SkinService.addSkin("myportalname", "skin", "/path/to/skin/Stylesheet.css", ServletContext);</programlisting>
 		<para>
-			The syntax of addPortalSkin() is:<!--     LB     --> &lt;tt&gt;addPortalSkin(String module, String skinName, String cssPath, ServletContext scontext, boolean overwrite)&lt;/tt&gt;
+			The syntax of addPortalSkin() is: <programlisting><![CDATA[addPortalSkin(String module, String skinName, String cssPath, ServletContext scontext, boolean overwrite)]]></programlisting>
 		</para>
+      </section>
+      </section>
+      <section>
+		<title>Tips and Tricks</title>
+		<section>
+			<title>Easier css debuggin</title>
 		<para>
-			1 Tips and Tricks
-		</para>
-		<para>
-			1.1 Easier css debugging
-		</para>
-		<para>
 			By default, CSS files are cached and their imports are merged, at the server side, into a single CSS file to reduce the number of HTTP requests from the browser to the server.
 		</para>
 		<para>
-			The &lt;tt&gt;ServletContext&lt;/tt&gt; parameter is there to allow the direct access to the CSS files from the &lt;tt&gt;SkinService&lt;/tt&gt;. The optimization code is quite simple as all the CSS files are parsed at the server startup time and all the @import and url(...) references are rewritten to support a single flat file. The result is stored in a cache directly used from the &lt;tt&gt;ResourceRequestFilter&lt;/tt&gt;.
+			The <literal>ServletContext</literal> parameter is there to allow the direct access to the CSS files from the <literal>SkinService</literal>. The optimization code is quite simple as all the CSS files are parsed at the server startup time and all the @import and url(...) references are rewritten to support a single flat file. The result is stored in a cache directly used from the <literal>ResourceRequestFilter</literal>.
 		</para>
 		<para>
-			Although the optimization is useful for a production environments, you may find it easier to deactivate this optimization while debugging your stylesheets. For that, you simply need to set the java system property &lt;tt&gt;exo.product.developing&lt;/tt&gt; to &lt;tt&gt;true&lt;/tt&gt;.
+			Although the optimization is useful for a production environments, you may find it easier to deactivate this optimization while debugging your stylesheets. For that, you simply need to set the java system property <literal>exo.product.developing</literal> to <literal>true</literal>.
 		</para>
 		<para>
-			For example, you can pass the property as a JVM parameter with the &lt;tt&gt;-D&lt;/tt&gt; option in your &lt;tt&gt;GateIn.sh&lt;/tt&gt; startup script: {code} EXO{code}
+			For example, you can pass the property as a JVM parameter with the <literal>-D</literal> option in your <literal>GateIn.sh</literal> startup script: {code} EXO{code}
 		</para>
 		<orderedlist numeration="arabic">
 			<listitem>
@@ -258,10 +232,12 @@
 				</para>
 			</listitem>
 		</orderedlist>
+      </section>
+      <section>
+		<title>
+			Change portlet icons
+		</title>
 		<para>
-			1.1 Change portlet icons
-		</para>
-		<para>
 			Each portlet is represented by an icon that you can see in the portlet registry, or the webos dock. You can change this icon by adding an image in the directory :
 		</para>
 		<itemizedlist>
@@ -281,29 +257,23 @@
 				</para>
 			</listitem>
 		</itemizedlist>
+      </section>
+      <section>
+		<title>
+			Set the default skin for Portal
+		</title>
 		<para>
-			1.1 Set the default skin for Portal
+			When not configured, the default skin of portal is Default. If you want to change this value (to Mac skin, Vista skin, or your own), add a skin tag in the <literal>portal.xml</literal> that defines your portal:
 		</para>
-		<para>
-			When not configured, the default skin of portal is Default. If you want to change this value (to Mac skin, Vista skin, or your own), add a skin tag in the &lt;tt&gt;portal.xml&lt;/tt&gt; that defines your portal:
-		</para>
 		
-<programlisting>&lt;portal-config&gt;
-  &lt;portal-name&gt;classic&lt;/portal-name&gt;
-  &lt;locale&gt;en&lt;/locale&gt;
-  &lt;factory-id&gt;office&lt;/factory-id&gt;
-  &lt;access-permissions&gt;Everyone&lt;/access-permissions&gt;
-  &lt;edit-permission&gt;*:/platform/administrators&lt;/edit-permission&gt;
-  &lt;skin&gt;Mac&lt;/skin&gt;
-  &lt;creator&gt;root&lt;/creator&gt;
-...
-</programlisting>
-		<para>
-			factory-id was removed since Portal 2.5
-		</para>
-		<para>
-			Portal 2.6 and after will not take the order of the tags into account. Before 2.6, the order must be the same as in the example.
-		</para>
+<programlisting role="XML"><![CDATA[<portal-config>
+  <portal-name>classic</portal-name>
+  <locale>en</locale>
+  <access-permissions>Everyone</access-permissions>
+  <edit-permission>*:/platform/administrators</edit-permission>
+  <skin>Mac</skin>
+  <creator>root</creator>
+...]]></programlisting>
 	</section>
 	
 	<section id="sect-Reference_Guide-Skin_Configuration-Some_CSS_techniques">
@@ -314,7 +284,6 @@
 		<para>
 			GateIn relies heavily on CSS to create the layout and special effects for the UI. Below we explain some common techniques you may find often inside GateIn's markup. We explain them here to help you better understand GateIn generated markup, ease css issues fixing or get inspration for styling your own apps.
 		</para>
-	</section>
 	
 	<section id="sect-Reference_Guide-Skin_Configuration-Decorator_pattern">
 		<title>Decorator pattern</title>
@@ -322,39 +291,37 @@
 			The decorator is a pattern to create a contour or a curve around an area. In order to achieve this effect you need to create 9 cells. The BODY is the central area that you want to decorate. The other 8 cells are distributed around the BODY cell. You can use the width, height and background image properties to achieve any decoration effect that you want.
 		</para>
 		
-<programlisting>
-~UWC_TOKEN_START~1255420331338~UWC_TOKEN_END~
+<programlisting role="HTML"><![CDATA[
+-----------------------------------------------------------------------
 |            |                                          |             |
 | TopLeft    |               TopCenter                  |    TopRight |
 |            |                                          |             |
-----
+-----------------------------------------------------------------------
 |            |                                          |             |
-|            |                                          |             |
 | CenterLeft |                 BODY                     | CenterRight |
 |            |                                          |             |
+-----------------------------------------------------------------------
 |            |                                          |             |
-~UWC_TOKEN_START~1255420331340~UWC_TOKEN_END~
-|            |                                          |             |
 | BottomLeft |              BottomCenter                | BottomRight |
 |            |                                          |             |
-~UWC_TOKEN_START~1255420331341~UWC_TOKEN_END~
-&lt;div class="Parent"&gt;
-  &lt;div class="TopLeft"&gt;
-    &lt;div class="TopRight"&gt;
-      &lt;div class="TopCenter"&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
-    &lt;/div&gt;
-  &lt;/div&gt;
-  &lt;div class="CenterLeft"&gt;
-    &lt;div class="CenterRight"&gt;
-      &lt;div class="CenterCenter"&gt;BODY&lt;/div&gt;
-    &lt;/div&gt;
-  &lt;/div&gt;
-  &lt;div class="BottomLeft"&gt;
-    &lt;div class="BottomRight"&gt;
-      &lt;div class="BottomCenter"&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
-    &lt;/div&gt;
-  &lt;div&gt;
-&lt;/div&gt;
+-----------------------------------------------------------------------
+<div class="Parent">
+  <div class="TopLeft">
+    <div class="TopRight">
+      <div class="TopCenter"><span></span></div>
+    </div>
+  </div>
+  <div class="CenterLeft">
+    <div class="CenterRight">
+      <div class="CenterCenter">BODY</div>
+    </div>
+  </div>
+  <div class="BottomLeft">
+    <div class="BottomRight">
+      <div class="BottomCenter"><span></span></div>
+    </div>
+  <div>
+</div>]]>
 </programlisting>
 	</section>
 	
@@ -364,24 +331,24 @@
 			Left margin left pattern is a technique to create 2 blocks side by side. The left block will have a fixed size and the right block will take the rest of the available space. When the user resizes the browser the added or removed space will be taken from the right block.
 		</para>
 		
-<programlisting>~UWC_TOKEN_START~1255420331342~UWC_TOKEN_END~
+<programlisting role="HTML"><![CDATA[
 |                         |                                                |      
 |                         |                                                |      
-| |&lt;--- fixed width ---&gt;| |                   will expand to right ----&gt; |      
+| |<--- fixed width --->| |                   will expand to right ---->   |      
 |                         |                                                |      
 |                         |                                                |      
 |                         |                                                |      
 ----
-&lt;div class="Parent"&gt;
-  &lt;div style="float: left; width: 100px"&gt;
-  &lt;/div&gt;
-  &lt;div style="margin-left: 105px;"&gt;
-  &lt;div&gt;
-  &lt;div style="clear: left"&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
-&lt;/div&gt;
-</programlisting>
+<div class="Parent">
+  <div style="float: left; width: 100px">
+  </div>
+  <div style="margin-left: 105px;">
+  <div>
+  <div style="clear: left"><span></span></div>
+</div>]]></programlisting>
 	</section>
-	
+	</section>
+   </section>
 	<section id="sect-Reference_Guide-Skin_Configuration-How_to_create_a_new_skin">
 		<title>How to create a new skin</title>
 		<para>
@@ -403,7 +370,7 @@
 			Finally, you have to definy the name of new skin and the image preview for the <emphasis>Skin Settings</emphasis> action in <emphasis> "User Workspace" </emphasis> <!--    <link linkend="User Workspace">User Workspace</link>    -->.
 		</para>
 		<para>
-			By default, if you don not set new name for skin, its name is &lt;t&gt;label&gt;&lt;/tt&gt;. Looking in the file and add yout new name here.
+			By default, if you don not set new name for skin, its name is <literal>label></literal>. Looking in the file and add yout new name here.
 		</para>
 		
 <programlisting>
@@ -434,7 +401,7 @@
 }
 </programlisting>
 		<para>
-			And now, you copy your image <literal>MyPortal.jpg</literal> (that you definy above) to the folder <literal>ressource/skin/DefaultSkin/portal/webui/component/customization/UIChangeSkinForm/background</literal> and test your new skin.
+			And now, you copy your image <literal>MyPortal.jpg</literal> (that you defined above) to the folder <literal>ressource/skin/DefaultSkin/portal/webui/component/customization/UIChangeSkinForm/background</literal> and test your new skin.
 		</para>
 	</section>
 	
@@ -444,16 +411,12 @@
 			Firstly, you have to definy the new theme in <literal>WEB-INF/conf/script/groovy/SkinConfigScript.groovy</literal> in your <literal>Ressource</literal> (for example, in the project MyPortal, you can put it in <literal>GateInResourcesCp060508</literal>).
 		</para>
 		
-<programlisting>
-SkinService.addTheme("MyPortal-MacTheme", ["MacGray","MacBlue","MacBlack"]);
-</programlisting>
+<programlisting>SkinService.addTheme("MyPortal-MacTheme", ["MacGray","MacBlue","MacBlack"]);</programlisting>
 		<para>
 			Secondly, you put all your new theme into <literal>folder skinyourSkin</literal> and create new file <literal>Stylesheet.css</literal> here. In this file, you will import all links to your CSS. For example in MyPortal project.
 		</para>
 		
-<programlisting>
- at import url(MyPortalSkin/PortletThemes/Stylesheet.css) ;
-</programlisting>
+<programlisting>@import url(MyPortalSkin/PortletThemes/Stylesheet.css) ;</programlisting>
 		<para>
 			You can see here, in the <literal>GateInResourcesCp060508/skin/MyPortalSkin/PortletThemes/Stylesheet.css</literal>, you put all your CSS of new theme.
 		</para>

Deleted: portal/trunk/docs/reference-guide/en/modules/configuration/User_Workspace_Configuration.xml
===================================================================
--- portal/trunk/docs/reference-guide/en/modules/configuration/User_Workspace_Configuration.xml	2009-12-09 14:50:00 UTC (rev 981)
+++ portal/trunk/docs/reference-guide/en/modules/configuration/User_Workspace_Configuration.xml	2009-12-09 17:56:51 UTC (rev 982)
@@ -1,99 +0,0 @@
-<?xml version='1.0' encoding='utf-8' ?>
-<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-]>
-<section id="sect-Reference_Guide-User_Workspace_Configuration">
-	<!--    
-
-    Copyright (C) 2009 eXo Platform SAS.
-    
-    This is free software; you can redistribute it and/or modify it
-    under the terms of the GNU Lesser General Public License as
-    published by the Free Software Foundation; either version 2.1 of
-    the License, or (at your option) any later version.
-    
-    This software is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-    Lesser General Public License for more details.
-    
-    You should have received a copy of the GNU Lesser General Public
-    License along with this software; if not, write to the Free
-    Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-    02110-1301 USA, or see the FSF site: http://www.fsf.org.
-
-    --> <title>User Workspace Configuration</title>
-	<section id="sect-Reference_Guide-User_Workspace_Configuration-Overview">
-		<title>Overview</title>
-		<para>
-			The User Workspace is give privileged users access to administration actions. Please refer to the <emphasis>"User Workspace"</emphasis> <!--   <link linkend="Portal:User Workspace">User Workspace Guide</link>    --> to know more details.
-		</para>
-	</section>
-	
-	<section id="sect-Reference_Guide-User_Workspace_Configuration-Default_Configuration">
-		<title>Default Configuration</title>
-		<para>
-			The default configuration defines two groups:
-		</para>
-		<itemizedlist>
-			<listitem>
-				<para>
-					&lt;code&gt;:/platform/administrators&lt;/code&gt; and
-				</para>
-			</listitem>
-			<listitem>
-				<para>
-					&lt;code&gt;:/platform/organization/management/executive-board&lt;/code&gt;
-				</para>
-			</listitem>
-		</itemizedlist>
-		<para>
-			anyone in these groups can access and use the User Workspace. The asterisk symbol stands for "any membership type".
-		</para>
-		<orderedlist numeration="arabic">
-			<listitem>
-				<para>
-					user that wants to access the User Workspace he or she a member of at least one of these groups with the appropriate membership.
-				</para>
-			</listitem>
-		</orderedlist>
-	</section>
-	
-	<section id="sect-Reference_Guide-User_Workspace_Configuration-Customize_the_Configuration">
-		<title>Customize the Configuration</title>
-		<para>
-			If an administrator wants to allow someone to access the User Workspace, the admin can add the user to one of these groups or he or she modifies the workspace access configuration. This permission is set in the <emphasis>portal-configuration.xml</emphasis> file.
-		</para>
-		
-<programlisting>  &lt;component&gt;
-    &lt;key&gt;org.exoplatform.portal.config.UserACL&lt;/key&gt;
-    &lt;type&gt;org.exoplatform.portal.config.UserACL&lt;/type&gt;
-    &lt;init-params&gt;
-...
-&lt;value-param&gt;
-        &lt;name&gt;access.control.workspace&lt;/name&gt;
-        &lt;description&gt;groups with memberships that have the right to access the User Control Workspace&lt;/description&gt;
-        &lt;value&gt;*:/platform/administrators,*:/organization/management/executive-board&lt;/value&gt;     
-&lt;/value-param&gt;
-</programlisting>
-		<para>
-			Modify the content of the &lt;code&gt;value&lt;/code&gt; tag depending on your needs. The configuration is taken into account after you restarted the application server.
-		</para>
-		<orderedlist numeration="arabic">
-			<listitem>
-				<para>
-					info(" Remember to specify the groups in &lt;code&gt;organization-configuration.xml&lt;/code&gt;" )
-				</para>
-			</listitem>
-		</orderedlist>
-	</section>
-	
-	<section id="sect-Reference_Guide-User_Workspace_Configuration-Related_links">
-		<title>Related links</title>
-		<para>
-			Please refer to <emphasis>"User Workspace"</emphasis> <!--   <link linkend="Portal:User Workspace">User Workspace Guide</link>    --> to see the user workspace.
-		</para>
-	</section>
-
-</section>
-
-

Deleted: portal/trunk/docs/reference-guide/en/modules/configuration/Varnish_Configuration.xml
===================================================================
--- portal/trunk/docs/reference-guide/en/modules/configuration/Varnish_Configuration.xml	2009-12-09 14:50:00 UTC (rev 981)
+++ portal/trunk/docs/reference-guide/en/modules/configuration/Varnish_Configuration.xml	2009-12-09 17:56:51 UTC (rev 982)
@@ -1,464 +0,0 @@
-<?xml version='1.0' encoding='utf-8' ?>
-<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-]>
-<section id="sect-Reference_Guide-Varnish_Configuration">
-	<!--    
-
-    Copyright (C) 2009 eXo Platform SAS.
-    
-    This is free software; you can redistribute it and/or modify it
-    under the terms of the GNU Lesser General Public License as
-    published by the Free Software Foundation; either version 2.1 of
-    the License, or (at your option) any later version.
-    
-    This software is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-    Lesser General Public License for more details.
-    
-    You should have received a copy of the GNU Lesser General Public
-    License along with this software; if not, write to the Free
-    Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-    02110-1301 USA, or see the FSF site: http://www.fsf.org.
-
-    --><title>Varnish Configuration</title>
-	<section id="sect-Reference_Guide-Varnish_Configuration-Introduction">
-		<title>Introduction</title>
-		<para>
-			This document is an overview of Varnish configuration for GateIn SEA Portal. It is organized as follows:
-		</para>
-		<itemizedlist>
-			<listitem>
-				<para>
-					Section one gives an introduction to Varnish software (version 1.1.2)
-				</para>
-			</listitem>
-			<listitem>
-				<para>
-					Section two explains how to install it, we are using Linux kernel version 2.6.27.
-				</para>
-			</listitem>
-			<listitem>
-				<para>
-					The third section gives a brief description of Varnish configuration files for GateIn Portal
-				</para>
-			</listitem>
-			<listitem>
-				<para>
-					Whereas the last one discusses some of the practical issues encountered during the deployment of Varnish, the last section analyzes the speed gain by Varnish.
-				</para>
-			</listitem>
-		</itemizedlist>
-		<para>
-			The configuration given below is more convenient for static content such as images, css ,javascript and html files. By this way after modifying an object belonging to static content you must refresh the varnish cache. To do this, first off all, connect to varnish administration port, it can easily be done this way: <emphasis>telnet localhost 6083</emphasis> ( <emphasis role="bold">Note:</emphasis><emphasis>this command should be typed on the machine where Varnish is installed</emphasis> ). And then write the following in the command line. <emphasis>url.purge ^/$</emphasis> This purge your <emphasis>/</emphasis> document. As you can see that <emphasis>url.purge</emphasis> takes an regular expression as its argument. Hence the <emphasis>^</emphasis> and <emphasis>$</emphasis> at the front and end. If the <emphasis>^</emphasis> is omitted, all the documents ending in a <emphasis>/</emphasis> in the cache would be deleted. So to delete all the documents in the cache, type in!
  the command line.
-		</para>
-	</section>
-	
-	<section id="sect-Reference_Guide-Varnish_Configuration-Overview">
-		<title>Overview</title>
-		<para>
-			Varnish is a HTTP/web accelerator, it was written from the beginning to be a high-performance open source reverse proxy caching implementation. Varnish, like other caching reverse HTTP proxy implementations, is most frequently used to alleviate/reduce origin web servers of undue load, giving you the ability to handle a higher number of concurrent hits.
-		</para>
-		<para>
-			Nowadays, more and more web sites present dynamic web pages consisting of a number of different elements. Combining these elements is both time consuming and CPU intensive. The bad news is that the same process is repeated for every individual user, even when the content is identical. Fortunately in such a case a solution like Varnish can help to improve web server performance. How can Varnish accomplish this? Varnish temporarily stores the most frequently requested pages in its cache. It is more effective to present these pages from the Varnish cache. Therefore, users are offered an improved service, and Content/Document Management System server requirements are reduced.
-		</para>
-		<para>
-			Why are we using Varnish? In contrast with other HTTP accelerators, many of which began life as client-side proxies or origin servers, Varnish was designed from the scratch as an accelerator for incoming traffic. In addition, Varnish via his DSL (Domain Specific Language) is very flexible. In fact, this way, it provides users not only with a means of modifying and rewriting client requests or in certain cases server responses. But Varnish also enable the user to load multiple configurations concurrently. So users can instantaneously switch from one VCL (Varnish Configuration Language) to another. It is not all, Varnish TTL (Time to Live) parameter enables users to decide how long an object should be cached.
-		</para>
-	</section>
-	
-	<section id="sect-Reference_Guide-Varnish_Configuration-Installation_of_Varnish">
-		<title>Installation of Varnish</title>
-		<para>
-			Stuff Goes Here?
-		</para>
-	</section>
-	
-	<section id="sect-Reference_Guide-Varnish_Configuration-Prerequisite">
-		<title>Prerequisite</title>
-		<para>
-			Before building Varnish, make sure that the following tools are installed :
-		</para>
-		<itemizedlist>
-			<listitem>
-				<para>
-					GCC compiler
-				</para>
-			</listitem>
-			<listitem>
-				<para>
-					A POSIX-compatible make
-				</para>
-			</listitem>
-			<listitem>
-				<para>
-					GNU autotools (automake, autoconf, libtool, ncurses)
-				</para>
-			</listitem>
-		</itemizedlist>
-	</section>
-	
-	<section id="sect-Reference_Guide-Varnish_Configuration-Installation">
-		<title>Installation</title>
-		<para>
-			If you are using a system with a graphical user interface, installation of Varnish 1.1.2 is quite easy via synaptic package manager. If not, you can run in a terminal by the following command to install Varnish on your computer:
-		</para>
-		
-<programlisting>sudo apt-get install varnish
-</programlisting>
-		<para>
-			You can also install Varnish from source, see the following web site for more information:
-		</para>
-		<para>
-			<ulink type="http" url="http://varnish.projects.linpro.no">http://varnish.projects.linpro.no</ulink>.
-		</para>
-	</section>
-	
-	<section id="sect-Reference_Guide-Varnish_Configuration-Varnish_configuration_for_GateIn_Portal">
-		<title>Varnish configuration for GateIn Portal</title>
-		<para>
-			Varnish uses Varnish Configuration Language (VCL). The VCL language is a small domain-specific language designed to be used to define request handling and document caching policies for the Varnish HTTP accelerator. When a new configuration is loaded, the varnished management process translates the VCL code to C and compiles it to a shared object which is then dynamically linked into the server process.
-		</para>
-		<para>
-			Installation of Varnish automatically create two files named default.vcl and varnish in the repositories <emphasis>/etc/varnish/</emphasis> and <emphasis>/etc/default</emphasis> respectively. One is VCL and another one contains values that will be passed as parameters to <emphasis>varnished</emphasis> . We will not make use of the first one, that is default.vcl. Create a new file named vcl.conf in /etc/varnish with the following contents:
-		</para>
-		<para>
-			Backend declaration, here we need to specify the web server host name and the listening http port.
-		</para>
-		
-<programlisting>backend default {
-		set backend.host = "127.0.0.1";
-        set backend.port = "8080";
-}
-#
-## Called when a client request is received
-#
-sub vcl_recv {
-        if (req.url ~ "^/$") {
-        set req.url = regsub(req.url,"^/$","/portal");
-        set req.http.Accept-Language = "vi";
-        }
-        if (req.url ~ ".*vnwebsite.*"){
-                set req.http.Accept-Language = "vi";
-        } else {
-                set req.http.Accept-Language = "en";
-        }
-        if (req.request!images/= "GET" &amp;&amp; req.request!images/ = "HEAD") {
-                pipe;
-        }
-        if (req.http.Expect) {
-                pipe;
-        }
-        if (req.request == "GET" &amp;&amp; req.url ~ "\.(jpg|jpeg|gif|ico|tiff|tif|svg|css|js|html)$") {
-            set req.url = regsub(req.url, "\?.*", "");
-             remove req.http.cookie;
-	  remove req.http.authenticate;
-             lookup;
-        }
-       if (req.http.Authenticate || req.http.Authorization) {
-             pass;
-        }
-        if (req.http.Cache-Control ~ "no-cache") {
-               set req.http.Cache-Control = regsub(req.http.Cache-Control, "no-cache", "set-cookie2");
-        }
-        # force lookup even when cookies are present
-        if (req.request == "GET" &amp;&amp; req.http.cookie) {
-                lookup;
-        }
-        lookup;
-}
-</programlisting>
-		<para>
-			In order to specify the default language for each web site, that is Vietnamese (vi) for vnwebsite and English (en) for enwebsite; the following statement <emphasis>set req.http.Accept-Language = "language code"</emphasis> is useful.
-		</para>
-		
-<programlisting>#
-## Called when entering pipe mode
-#
-sub vcl_pipe {
-        pipe;
-}
-#
-## Called when entering pass mode
-#
-sub vcl_pass {
-        pass;
-}
-#
-## Called when the requested object was found in the cache
-#
-sub vcl_hit {
-        if (req.url ~ ".*vnwebsite.*"){
-                set req.http.Accept-Language = "vi";
-        } else {
-                set req.http.Accept-Language = "en";
-        }
-        deliver;
-}
-## Called when the requested object has been retrieved from the
-## backend, or the request to the backend has failed
-sub vcl_fetch {
-        if (!obj.valid) {
-                error;
-        }
-        if (req.url ~ ".*vnwebsite.*"){
-                set req.http.Accept-Language = "vi";
-        } else {
-                set req.http.Accept-Language = "en";
-        }
-        if (req.http.Cache-Control ~ "no-cache") {
-               set req.http.Cache-Control = regsub(req.http.Cache-Control, "no-cache", "set-cookie2");
-        }
-        if(obj.cacheable){
-                remove req.http.Set-Cookie;
-	     set obj.http.Cache-Control = "no-cache";
-                remove obj.http.Etag;
-                if(obj.ttl &lt; 7d){
-                        set obj.ttl = 7d;
-                }
-                insert;
-        }
-        insert;
-}
-</programlisting>
-		<para>
-			If the cookie is intended for use by a single user, the Set-Cookie2 header <emphasis>should not</emphasis> be cached. A Set-Cookie2 header that is intended to be shared by multiple users <emphasis role="bold">may</emphasis> be cached.
-		</para>
-		<note>
-			<title>Note</title>
-			<para>
-				Since <emphasis role="bold">Etag</emphasis> (entity tag) in an HTTP response header that may be returned by an HTTP/1.1 compliant web server is used by the user-agent to determine change in content at a given URL. It is removed in order to instruct the user-agent that there is no change in content of cacheable objects. In fact, when a new HTTP response contains the same ETag as an older HTTP response, the client can conclude that the content is the same without further downloading.
-			</para>
-		</note>
-		
-<programlisting>## Called before a cached object is delivered to the client
-sub vcl_deliver {
-        deliver;
-}
-## Called when an object nears its expiry time
-sub vcl_timeout {
-        discard;
-}
-## Called when an object is about to be discarded
-sub vcl_discard {
-    discard;
-}
-</programlisting>
-		<para>
-			This configuration tells Varnish to always cache all cacheable objects and don't invalidate them for at least one week.
-		</para>
-		<para>
-			Then modify the file <emphasis>/etc/default/varnish</emphasis> and make yourself sure that its content is not too different to this one, particularly the DAEMONOPTS part. Note that we are using the advanced configuration, that is alternative 3.
-		</para>
-		
-<programlisting># Configuration file for varnish
-#
-# /etc/init.d/varnish expects the variable $DAEMON_OPTS to be set from this
-# shell script fragment.
-#
-# Maximum number of open files (for ulimit -n)
-NFILES=131072
-# Default varnish instance name is the local nodename.  Can be overridden with
-# the -n switch, to have more instances on a single server.
-INSTANCE=$(uname -n)
-## Alternative 3, Advanced configuration
-## We choose advance configuration
-#
-# See varnishd(1) for more information.
-#
-# # Main configuration file. You probably want to change it :)
-VARNISH_VCL_CONF=/etc/varnish/default.vcl
-#
-# # Default address and port to bind to
-# # Blank address means all IPv4 and IPv6 interfaces, otherwise specify
-# # a host name, an IPv4 dotted quad, or an IPv6 address in brackets.
-VARNISH_LISTEN_ADDRESS=0.0.0.0
-VARNISH_LISTEN_PORT=80
-#
-# # Telnet admin interface listen address and port
-VARNISH_ADMIN_LISTEN_ADDRESS=127.0.0.1
-VARNISH_ADMIN_LISTEN_PORT=6082
-#
-# # The minimum number of worker threads to start
-VARNISH_MIN_THREADS=1
-#
-# # The Maximum number of worker threads to start
-VARNISH_MAX_THREADS=2048
-#
-# # Idle timeout for worker threads
-VARNISH_THREAD_TIMEOUT=120
-#
-# # Cache file location
-VARNISH_STORAGE_FILE=/var/lib/varnish/$INSTANCE/varnish_storage.bin
-#
-# # Cache file size: in bytes, optionally using k / M / G / T suffix,
-# # or in percentage of available disk space using the % suffix.
-VARNISH_STORAGE_SIZE=5G
-#
-# # Backend storage specification
-VARNISH_STORAGE="file,${VARNISH_STORAGE_FILE},${VARNISH_STORAGE_SIZE}"
-#
-# # Default TTL used when the backend does not specify one
-VARNISH_TTL=7d
-#
-# # DAEMON_OPTS is used by the init script.  If you add or remove options, make
-# # sure you update this section, too.
-DAEMON_OPTS="-a ${VARNISH_LISTEN_ADDRESS}:${VARNISH_LISTEN_PORT} \
-              -f ${VARNISH_VCL_CONF} \
-              -T ${VARNISH_ADMIN_LISTEN_ADDRESS}:${VARNISH_ADMIN_LISTEN_PORT} \
-              -t ${VARNISH_TTL} \
-	-w ${VARNISH_MIN_THREADS},${VARNISH_MAX_THREADS},${VARNISH_THREAD_TIMEOUT} \
-              -s ${VARNISH_STORAGE}"
-</programlisting>
-	</section>
-	
-	<section id="sect-Reference_Guide-Varnish_Configuration-How_fast_is_Varnish">
-		<title>How fast is Varnish?</title>
-		<para>
-			When using an HTTP accelerator, it is important to know whether our web server performance has improved or not. Thus, this section shows the performance gained by the use of Varnish.
-		</para>
-	</section>
-	
-	<section id="sect-Reference_Guide-Varnish_Configuration-Varnish_testbed_configuration">
-		<title>Varnish testbed configuration</title>
-		<para>
-			Our Varnish testbed consists of a desktop PC acting as a web server (WS), and 10 PC-based Linux acting as clients stations. The system hardware configuration is summarized in the following table. All machines except the WS use a Linux 2.6.27 kernel. The user-agent used on client stations is <emphasis role="bold">wget</emphasis>
-		</para>
-		<para>
-			The following table is the testbed summary:
-		</para>
-		<informaltable colsep="0" frame="none" rowsep="0">
-			<tgroup cols="3">
-				<colspec align="center"></colspec>
-				<colspec align="center"></colspec>
-				<colspec align="center"></colspec>
-				<tbody>
-					<row>
-						<entry>
-							<emphasis role="bold"> Hardware </emphasis>
-						</entry>
-						<entry>
-							<emphasis role="bold"> Processor </emphasis>
-						</entry>
-						<entry>
-							<emphasis role="bold"> Frequency </emphasis>
-						</entry>
-					</row>
-					<row>
-						<entry>
-							One x (WS)
-						</entry>
-						<entry>
-							Intel(R) Pentium(R) 4
-						</entry>
-						<entry>
-							3.00GHz
-						</entry>
-					</row>
-					<row>
-						<entry>
-							Two x (PC)
-						</entry>
-						<entry>
-							Intel(R) Core(TM)2 Duo
-						</entry>
-						<entry>
-							2.00GHz
-						</entry>
-					</row>
-				</tbody>
-			</tgroup>
-		</informaltable>
-		<para>
-			It is well known that performance of a software like varnish depends on part on the communication link between server host and client stations. So, without loss of generality, we assume that our wireless connection is fair.
-		</para>
-	</section>
-	
-	<section id="sect-Reference_Guide-Varnish_Configuration-Varnish_analyzes_method">
-		<title>Varnish analyzes method</title>
-		<para>
-			In other to evaluate Vanish performance, we first access all pages of our web site through Varnish to ensure that all cacheable objects can be found in Varnish cache. It takes in average 6.9s. Then we simultaneously send 100 download requests from each of our 2 client stations to the web server using wget user-agent through Varnish. After this operation, we evaluate the average time required by each client station to perform a download request. The same process is done without using Varnish. We then compare the obtained results.
-		</para>
-	</section>
-	
-	<section id="sect-Reference_Guide-Varnish_Configuration-Varnish_performance_analyzes">
-		<title>Varnish performance analyzes</title>
-		<para>
-			This part discuss about Varnish performance in term of time of response. That is the time that a given client should wait to get the requested object (or the server response). In this case the requested object is our entire web site. The collected measurements are summarized in the below table:
-		</para>
-		<informaltable colsep="0" frame="none" rowsep="0">
-			<tgroup cols="5">
-				<colspec align="center"></colspec>
-				<colspec align="center"></colspec>
-				<colspec align="center"></colspec>
-				<colspec align="center"></colspec>
-				<colspec align="center"></colspec>
-				<tbody>
-					<row>
-						<entry>
-							<emphasis role="bold"> Host </emphasis>
-						</entry>
-						<entry>
-							<emphasis role="bold"> Average waiting time using Varnish as reverse proxy </emphasis>
-						</entry>
-						<entry>
-							<emphasis role="bold"> Average waiting time without use of Varnish </emphasis>
-						</entry>
-						<entry>
-							<emphasis role="bold">Number of trials </emphasis>
-						</entry>
-						<entry>
-							<emphasis role="bold"> Data size </emphasis>
-						</entry>
-					</row>
-					<row>
-						<entry>
-							First
-						</entry>
-						<entry>
-							02. 791070
-						</entry>
-						<entry>
-							26.889563
-						</entry>
-						<entry>
-							100
-						</entry>
-						<entry>
-							104 files, 1.4M
-						</entry>
-					</row>
-					<row>
-						<entry>
-							Second
-						</entry>
-						<entry>
-							02.708190
-						</entry>
-						<entry>
-							26. 378669
-						</entry>
-						<entry>
-							100
-						</entry>
-						<entry>
-							104 files, 1.4M
-						</entry>
-					</row>
-				</tbody>
-			</tgroup>
-		</informaltable>
-		<note>
-			<title>Note</title>
-			<para>
-				All times above are in second, these times include the time needed by the client to connect to the server.
-			</para>
-		</note>
-		<para>
-			Measurements listed above obviously shows that our web server performance are considerably improved by the use of Varnish software. In average per user request, we gain from Varnish 24 (twenty-four) seconds. That is using Varnish, user requests are at least 10 times faster than previously (without Varnish).
-		</para>
-	</section>
-
-</section>
-
-



More information about the gatein-commits mailing list