gatein SVN: r8019 - in epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules: Advanced/Foundations and 2 other directories.
by do-not-reply@jboss.org
Author: smumford
Date: 2011-11-09 22:29:26 -0500 (Wed, 09 Nov 2011)
New Revision: 8019
Removed:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/Foundations/JNDI_Naming.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/kernel.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/kernel/
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/Foundations.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/PortletDevelopment/Global_Portlet.xml
Log:
Removed eXoJCR/kernel/ as content moved to Foundations/. Removed JNDI_Naming.xml as per advice from theute
Deleted: epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/Foundations/JNDI_Naming.xml
===================================================================
--- epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/Foundations/JNDI_Naming.xml 2011-11-10 02:39:06 UTC (rev 8018)
+++ epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/Foundations/JNDI_Naming.xml 2011-11-10 03:29:26 UTC (rev 8019)
@@ -1,290 +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" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
-%BOOK_ENTITIES;
-]>
-<section id="sect-Reference_Guide_eXo_JCR_1.14-JNDI_naming">
- <title>JNDI naming</title>
- <section id="sect-Reference_Guide_eXo_JCR_1.14-JNDI_naming-Prerequisites">
- <title>Prerequisites</title>
- <para>
- We need to configure JNDI environment properties and Reference binding with the eXo container standard mechanism.
- </para>
- <para>
- The Naming service covers:
- </para>
- <para>
- <itemizedlist>
- <listitem>
- <para>
- Configuring the current Naming Context Factory implemented as an ExoContainer Component <envar>org.exoplatform.services.naming.InitialContextInitializer</envar>.
- </para>
-
- </listitem>
- <listitem>
- <para>
- Binding Objects (References) to the current Context using <envar>org.exoplatform.services.naming.BindReferencePlugin</envar> component plugin.
- </para>
-
- </listitem>
-
- </itemizedlist>
-
- </para>
-
- </section>
-
- <section id="sect-Reference_Guide_eXo_JCR_1.14-JNDI_naming-How_it_works">
- <title>How it works</title>
- <para>
- Make sure you understand the <ulink url="http://java.sun.com/products/jndi/1.2/javadoc/index.html">Java Naming and Directory InterfaceTM (JNDI)</ulink> concepts before using this service.
- </para>
- <section id="sect-Reference_Guide_eXo_JCR_1.14-How_it_works-JNDI_System_property_initialization">
- <title>JNDI System property initialization</title>
- <para>
- After the start time the Context Initializer (org.exoplatform.services.naming.InitialContextInitializer) traverses all initial parameters (that concern the Naming Context) configured in <envar>default-properties</envar> and <envar>mandatory-properties</envar> (see Configuration examples) and:
- </para>
- <itemizedlist>
- <listitem>
- <para>
- For <envar>default-properties</envar>: Check if this property is already set as a System property (<envar>System.getProperty(name)</envar>) and set this property if it's not found. Using those properties is recommended with a third party Naming service provider.
- </para>
-
- </listitem>
- <listitem>
- <para>
- For <envar>mandatory-properties</envar>: Set the property without checking.
- </para>
-
- </listitem>
-
- </itemizedlist>
- <para>
- Standard JNDI properties:
- </para>
- <itemizedlist>
- <listitem>
- <para>
- <envar>java.naming.factory.initial</envar>
- </para>
-
- </listitem>
- <listitem>
- <para>
- <envar>java.naming.provider.url</envar>
- </para>
-
- </listitem>
-
- </itemizedlist>
- <para>
- and others (see JNDI docs)
- </para>
-
- </section>
-
- <section id="sect-Reference_Guide_eXo_JCR_1.14-How_it_works-JNDI_reference_binding">
- <title>JNDI reference binding</title>
- <para>
- Another responsibility of Context Initializer <envar>org.exoplatform.services.naming.InitialContextInitializer</envar> is binding of preconfigured references to the naming context. For this purpose, it uses a standard eXo component plugin mechanism and in particular the <envar>org.exoplatform.services.naming.BindReferencePlugin</envar> component plugin. The configuration of this plugin includes three mandatory value parameters:
- </para>
- <itemizedlist>
- <listitem>
- <para>
- <envar>bind-name</envar>: the name of binding reference.
- </para>
-
- </listitem>
- <listitem>
- <para>
- <envar>class-name</envar>: the type of binding reference.
- </para>
-
- </listitem>
- <listitem>
- <para>
- <envar>factory</envar>: the object factory type.
- </para>
-
- </listitem>
-
- </itemizedlist>
- <para>
- And also <envar>ref-addresses</envar> property parameter with a set of references' properties. (see Configuration examples) Context Initializer uses those parameters to bind the necessary reference automatically.
- </para>
-
- </section>
-
-
- </section>
-
- <section id="sect-Reference_Guide_eXo_JCR_1.14-JNDI_naming-Configuration_examples">
- <title>Configuration examples</title>
- <para>
- The <envar>InitialContextInitializer</envar> configuration example:
- </para>
-
-<programlisting language="XML" role="XML"> <component>
- <type>org.exoplatform.services.naming.InitialContextInitializer</type>
- <init-params>
- <value-param>.
- <name>bindings-store-path</name>.
- <value>bind-references.xml</value>.
- </value-param>.
- <value-param>
- <name>overload-context-factory</name>
- <value>true</value>
- </value-param>
- <properties-param>
- <name>default-properties</name>
- <description>Default initial context properties</description>
- <property name="java.naming.factory.initial" value="org.exoplatform.services.naming.SimpleContextFactory"/>
- </properties-param>
- <properties-param>
- <name>mandatory-properties</name>
- <description>Mandatory initial context properties</description>
- <property name="java.naming.provider.url" value="rmi://localhost:9999"/>
- </properties-param>
- </init-params>
- </component></programlisting>
- <para>
- where
- </para>
- <para>
- <emphasis role="bold">binding-store-path</emphasis> is file path which stores binded datasources in runtime
- </para>
- <para>
- <emphasis role="bold">overload-context-factory</emphasis> allows to overload the default initial context factory by a context factory that is ExoContainer aware and that is able to delegate to the original initial context factory if it detects that it is not in the eXo scope. By default the feature is disabled since it is only required on AS that don't share the objects by default like tomcat but unlike JBoss AS
- </para>
- <para>
- The <envar>BindReferencePlugin</envar> component plugin configuration example (for JDBC datasource):
- </para>
-
-<programlisting language="XML" role="XML"> <component-plugins>
- <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>jdbcjcr</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:target/temp/data/portal"/>
- <property name="username" value="sa"/>
- <property name="password" value=""/>
- </properties-param>
- </init-params>
- </component-plugin></programlisting>
-
- </section>
-
- <section id="sect-Reference_Guide_eXo_JCR_1.14-JNDI_naming-Recommendations_for_Application_Developers">
- <title>Recommendations for Application Developers</title>
- <para>
- <itemizedlist>
- <listitem>
- <para>
- <envar>SimpleContextFactory</envar> is created for testing purposes only, do not use it for production.
- </para>
-
- </listitem>
- <listitem>
- <para>
- In J2EE environment use Naming Factory objects provided with the Application Server.
- </para>
-
- </listitem>
-
- </itemizedlist>
-
- </para>
-
- </section>
-
- <section id="sect-Reference_Guide_eXo_JCR_1.14-JNDI_naming-InitialContextInitializer_API">
- <title>InitialContextInitializer API</title>
- <para>
- <envar>InitialContextInitalizer</envar> also provides feature of references binding in runtime. References have bind in runtime will be persisted and automatically rebinded on a next system start.
- </para>
- <para>
- Service provides methods for binding reference.
- </para>
-
-<programlisting language="Java" role="Java">
- public void bind(String bindName,
- String className,
- String factory,
- String factoryLocation,
- Map<String, String> refAddr)
- throws NamingException, FileNotFoundException, XMLStreamException;</programlisting>
- <itemizedlist>
- <listitem>
- <para>
- <envar>bindName</envar>: name of binding.
- </para>
-
- </listitem>
- <listitem>
- <para>
- <envar>className</envar>: the fully-qualified name of the class of the object to which this Reference refers.
- </para>
-
- </listitem>
- <listitem>
- <para>
- <envar>factory</envar>: the name of the factory class for creating an instance of the object to which this Reference refers.
- </para>
-
- </listitem>
- <listitem>
- <para>
- <envar>factoryLocation</envar>: the location of the factory class.
- </para>
-
- </listitem>
- <listitem>
- <para>
- <envar>refAddr</envar>: object's properties map.
- </para>
-
- </listitem>
-
- </itemizedlist>
- <para>
- Example of usage:
- </para>
-
-<programlisting language="Java" role="Java">
- // obtain InitialContextInitializer instance from ExoContainer (e.g. PortalContainer)
- InitialContextInitializer initContext = (InitialContextInitializer)container.getComponentInstanceOfType(InitialContextInitializer.class);
-
- Map<String, String> refAddr = new HashMap<String, String>();
- refAddr.put("driverClassName", "oracle.jdbc.OracleDriver");
- refAddr.put("url", "jdbc:oracle:thin:@oraclehost:1521:orcl");
- refAddr.put("username", "exouser");
- refAddr.put("password", "exopassword");
-
- initContext.bind("jdbcexco", "javax.sql.DataSource", "org.apache.commons.dbcp.BasicDataSourceFactory", null, refAddr);
-
- // try to get just bound DataSource
- DataSource ds = (DataSource)new InitialContext().lookup("jdbcexo");</programlisting>
-
- </section>
-
-
-</section>
-
-
Modified: epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/Foundations.xml
===================================================================
--- epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/Foundations.xml 2011-11-10 02:39:06 UTC (rev 8018)
+++ epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/Foundations.xml 2011-11-10 03:29:26 UTC (rev 8019)
@@ -4,20 +4,18 @@
%BOOK_ENTITIES;
]>
<chapter id="chap-Reference_Guide_eXo_JCR_1.14-Foundations_">
- <!-- This document was created with Syntext Serna Free. --> <title><remark>Foundations</remark>
- </title>
- <xi:include href="Foundations/Kernel.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="Foundations/JNDI_Naming.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="Foundations/Config_Retrieval.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="Foundations/Advanced_Concepts.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="Foundations/Profiles.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="Foundations/Requests.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="Foundations/Configuring_Services.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="Foundations/Specific_Services.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="Foundations/Configuring_Containers.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="Foundations/System_Properties.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="Foundations/Extensions_And_Multiple_Portals.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="Foundations/Management.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <title><remark>Foundations</remark></title>
+ <xi:include href="Foundations/Kernel.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="Foundations/Config_Retrieval.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="Foundations/Advanced_Concepts.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="Foundations/Profiles.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="Foundations/Requests.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="Foundations/Configuring_Services.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="Foundations/Specific_Services.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="Foundations/Configuring_Containers.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="Foundations/System_Properties.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="Foundations/Extensions_And_Multiple_Portals.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="Foundations/Management.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
</chapter>
Deleted: epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/kernel.xml
===================================================================
--- epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/kernel.xml 2011-11-10 02:39:06 UTC (rev 8018)
+++ epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/kernel.xml 2011-11-10 03:29:26 UTC (rev 8019)
@@ -1,29 +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" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
-%BOOK_ENTITIES;
-]>
-<section id="sect-Reference_Guide_eXo_JCR_1.14-eXoKernel">
- <title>eXoKernel</title>
- <xi:include href="kernel/kernel.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="kernel/exo-container.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="kernel/service-configuration-for-beginners.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="kernel/service-configuration-in-detail.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="kernel/container-configuration.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="kernel/inversion-of-control.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="kernel/services-wiring.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="kernel/component-plugin-priority.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="kernel/understanding-listnerservice.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="kernel/initialcontext-binder-service.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="kernel/job-scheduler-service.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="kernel/cache.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="kernel/transaction-service.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="kernel/data-source-provider.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="kernel/jndi-naming.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="kernel/logging.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="kernel/manageability.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="kernel/listener-service.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="kernel/rpc-service.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
-</section>
-
-
Modified: epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR.xml
===================================================================
--- epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR.xml 2011-11-10 02:39:06 UTC (rev 8018)
+++ epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR.xml 2011-11-10 03:29:26 UTC (rev 8019)
@@ -7,8 +7,6 @@
<title><remark>eXo JCR</remark>
</title>
<xi:include href="eXoJCR/jcr.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
- <!--DOC NOTE, Kernel content ported to Advanced.xml/Advanced/*.xml
- <xi:include href="eXoJCR/kernel.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /> -->
<xi:include href="eXoJCR/core.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="eXoJCR/ws.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="eXoJCR/jcr-with-gatein.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
Modified: epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/PortletDevelopment/Global_Portlet.xml
===================================================================
--- epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/PortletDevelopment/Global_Portlet.xml 2011-11-10 02:39:06 UTC (rev 8018)
+++ epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/PortletDevelopment/Global_Portlet.xml 2011-11-10 03:29:26 UTC (rev 8019)
@@ -3,103 +3,97 @@
<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
-<chapter id="chap-Reference_Guide_eXo_JCR_1.14-Global_Portlet_Data">
- <title><remark>Global Portlet Data</remark>
- </title>
- <section id="sect-Reference_Guide_eXo_JCR_1.14-Global_Portlet_Data-The_Global_Data_File">
- <title>The Global Data File</title>
- <para>
- The Java Portlet Specification introduces <literal>PortletFilter</literal> as a standard approach to extend the behaviors of portlet objects. For example, a filter can transform the content of portlet requests and portlet responses.
- </para>
- <para>
- According to the Portlet Specification, there are normally three steps in setting up a portlet filter:
- </para>
- <procedure>
- <step>
- <para>
- Implement a <literal>PortletFilter</literal> object.
- </para>
+<chapter id="chap-Reference_Guide_eXo_JCR_1.14-Shared_portlet.xml">
+ <title><remark>Shared <filename>portlet.xml</filename></remark></title>
- </step>
- <step>
- <para>
- Define the filter in portlet application deployment descriptor.
- </para>
+ <para>
+ The Java Portlet Specification introduces <literal>PortletFilter</literal> as a standard approach to extend the behaviors of portlet objects. For example, a filter can transform the content of portlet requests and portlet responses.
+ </para>
+ <para>
+ According to the Portlet Specification, there are normally three steps in setting up a portlet filter:
+ </para>
+ <procedure>
+ <step>
+ <para>
+ Implement a <literal>PortletFilter</literal> object.
+ </para>
- </step>
- <step>
- <para>
- Define the filter mapping in portlet definitions.
- </para>
+ </step>
+ <step>
+ <para>
+ Define the filter in portlet application deployment descriptor.
+ </para>
- </step>
+ </step>
+ <step>
+ <para>
+ Define the filter mapping in portlet definitions.
+ </para>
- </procedure>
-
- <para>
- While the first two steps are quite straightforward, the third requires developers or administrators to replicate the filter mapping in many portlet definitions. This can be tedious and opens the potential for input errors. The global portlet feature is designed to mitigate these concerns.
- </para>
+ </step>
- </section>
-
- <section id="sect-Reference_Guide_eXo_JCR_1.14-Global_Portlet_Data-Global_Metadata">
- <title>Global Metadata</title>
- <para>
- Global portlet metadata is declared in the <filename>portlet.xml</filename> file and conforms with the Portlet 2.0 XSD.
- </para>
-
+ </procedure>
+
+ <para>
+ While the first two steps are quite straightforward, the third requires developers or administrators to replicate the filter mapping in many portlet definitions. This can be tedious and opens the potential for input errors. The global portlet feature is designed to mitigate these concerns.
+ </para>
+
+ <para>
+ Global portlet metadata is declared in the <filename>portlet.xml</filename> file and conforms with the Portlet 2.0 XSD.
+ </para>
+
<programlisting language="XML" role="XML"><portlet-app version="1.0" xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd">
-
</portlet-app>
-</programlisting>
- <section id="sect-Reference_Guide_eXo_JCR_1.14-Global_Metadata-Location">
- <title>Location</title>
- <para>
- The path to the global <filename>portlet.xml</filename> is the value of <literal>gatein.portlet.config</literal> in the <filename>configuration.properties.xml</filename> file (this can vary depending on the hosting application server).
- </para>
- <para>
- <emphasis role="bold">For JBoss</emphasis>: The file path is <filename><replaceable><JBOSS_HOME></replaceable>/server/default/conf/gatein/portlet.xml</filename>.
- </para>
+</programlisting>
- </section>
-
- <section id="sect-Reference_Guide_eXo_JCR_1.14-Global_Metadata-Global_Metadata_Elements">
- <title>Global Metadata Elements</title>
- <para>
- The global <filename>portlet.xml</filename> file conforms, with some restrictions, to the portlet deployment descriptor schema defined in the Portlet Specification. In this file, the following elements are supported:
- </para>
- <orderedlist>
- <listitem>
- <para>
- Portlet Filter
- </para>
+ <section id="sect-Reference_Guide_eXo_JCR_1.14-Global_Metadata-Location">
+ <title>Location</title>
+ <para>
+ The path to the global <filename>portlet.xml</filename> is the value of <literal>gatein.portlet.config</literal> in the <filename>configuration.properties.xml</filename> file. By default The file path is <filename>/<replaceable><JBOSS_HOME></replaceable>/server/<replaceable><PROFILE></replaceable>/conf/gatein/portlet.xml</filename>
+ </para>
+ <para>
+ <emphasis role="bold">For JBoss</emphasis>: The file path is <filename><replaceable><JBOSS_HOME></replaceable>/server/default/conf/gatein/portlet.xml</filename>.
+ </para>
- </listitem>
- <listitem>
- <para>
- Portlet Mode
- </para>
+ </section>
+
+ <section id="sect-Reference_Guide_eXo_JCR_1.14-Global_Metadata-Global_Metadata_Elements">
+ <title>Global Metadata Elements</title>
+ <para>
+ The global <filename>portlet.xml</filename> file conforms, with some restrictions, to the portlet deployment descriptor schema defined in the Portlet Specification. In this file, the following elements are supported:
+ </para>
+ <orderedlist>
+ <listitem>
+ <para>
+ Portlet Filter
+ </para>
- </listitem>
- <listitem>
- <para>
- Window State
- </para>
+ </listitem>
+ <listitem>
+ <para>
+ Portlet Mode
+ </para>
- </listitem>
+ </listitem>
+ <listitem>
+ <para>
+ Window State
+ </para>
- </orderedlist>
- <section id="sect-Reference_Guide_eXo_JCR_1.14-Global_Metadata_Elements-Portlet_Filter">
- <title>Portlet Filter</title>
- <para>
- Portlet filter mappings declared in the global <filename>portlet.xml</filename> file are applied across portlet applications.
- </para>
- <para>
- With the XML configuration below, the filter <literal>ApplicationMonitoringFilter</literal> involves in request handling on any deployed portlet.
- </para>
-
+ </listitem>
+
+ </orderedlist>
+ <section id="sect-Reference_Guide_eXo_JCR_1.14-Global_Metadata_Elements-Portlet_Filter">
+ <title>Portlet Filter</title>
+ <para>
+ Portlet filter mappings declared in the global <filename>portlet.xml</filename> file are applied across portlet applications.
+ </para>
+ <para>
+ With the XML configuration below, the filter <literal>ApplicationMonitoringFilter</literal> involves in request handling on any deployed portlet.
+ </para>
+
<programlisting language="XML" role="XML"><filter>
<filter-name>org.exoplatform.portal.application.ApplicationMonitoringFilter</filter-name>
<filter-class>org.exoplatform.portal.application.ApplicationMonitoringFilter</filter-class>
@@ -109,48 +103,48 @@
<lifecycle>RESOURCE_PHASE</lifecycle>
</filter>
</programlisting>
- <para>
- <emphasis role="bold">Application Monitoring Filter</emphasis> supports four lifecycle phases in the order below:
- </para>
- <orderedlist>
- <listitem>
- <para>
- ACTION_PHASE
- </para>
+ <para>
+ <emphasis role="bold">Application Monitoring Filter</emphasis> supports four lifecycle phases in the order below:
+ </para>
+ <orderedlist>
+ <listitem>
+ <para>
+ ACTION_PHASE
+ </para>
- </listitem>
- <listitem>
- <para>
- EVENT_PHASE
- </para>
+ </listitem>
+ <listitem>
+ <para>
+ EVENT_PHASE
+ </para>
- </listitem>
- <listitem>
- <para>
- RENDER_PHASE
- </para>
+ </listitem>
+ <listitem>
+ <para>
+ RENDER_PHASE
+ </para>
- </listitem>
- <listitem>
- <para>
- RESOURCE_PHASE
- </para>
+ </listitem>
+ <listitem>
+ <para>
+ RESOURCE_PHASE
+ </para>
- </listitem>
+ </listitem>
- </orderedlist>
- <para>
- It also records statistic information on deployed portlets. The filter alternates the actual monitoring mechanism in WebUI Framework.
- </para>
+ </orderedlist>
+ <para>
+ The Application Monitoring Filter records statistic information about deployed portlets. The filter alternates the actual monitoring mechanism in WebUI Framework.
+ </para>
- </section>
-
+ </section>
+
- </section>
-
+ </section>
+
- </section>
-
+ </section>
+
</chapter>
13 years, 1 month
gatein SVN: r8018 - in epp/docs/branches/5.2: Reference_Guide/en-US/extras/Authentication_Identity_SSO and 10 other directories.
by do-not-reply@jboss.org
Author: smumford
Date: 2011-11-09 21:39:06 -0500 (Wed, 09 Nov 2011)
New Revision: 8018
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/extras/Authentication_Identity_SSO/default105.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/extras/Authentication_Identity_SSO/default111.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/extras/Authentication_Identity_SSO/default118.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/extras/PortalDevelopment_Skinning/default185.java
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/extras/PortalDevelopment_Skinning/default186.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/AuthenticationAndIdentity/SSO.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Introduction.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/PortalDevelopment/Skinning.xml
epp/docs/branches/5.2/Reference_Guide/en-US/Book_Info.xml
epp/docs/branches/5.2/Reference_Guide/en-US/Revision_History.xml
epp/docs/branches/5.2/Reference_Guide/en-US/extras/Authentication_Identity_SSO/default105.xml
epp/docs/branches/5.2/Reference_Guide/en-US/extras/Authentication_Identity_SSO/default111.xml
epp/docs/branches/5.2/Reference_Guide/en-US/extras/Authentication_Identity_SSO/default112.xml
epp/docs/branches/5.2/Reference_Guide/en-US/extras/Authentication_Identity_SSO/default115.xml
epp/docs/branches/5.2/Reference_Guide/en-US/extras/Authentication_Identity_SSO/default118.xml
epp/docs/branches/5.2/Reference_Guide/en-US/extras/Authentication_Identity_SSO/default122.xml
epp/docs/branches/5.2/Reference_Guide/en-US/extras/Authentication_Identity_SSO/default125.xml
epp/docs/branches/5.2/Reference_Guide/en-US/extras/Authentication_Identity_SSO/default126.xml
epp/docs/branches/5.2/Reference_Guide/en-US/extras/PortalDevelopment_PortalLifecycle/default166.java
epp/docs/branches/5.2/Reference_Guide/en-US/extras/PortalDevelopment_PortalLifecycle/default168.java
epp/docs/branches/5.2/Reference_Guide/en-US/extras/PortalDevelopment_PortalLifecycle/is1.java
epp/docs/branches/5.2/Reference_Guide/en-US/extras/PortalDevelopment_Skinning/default181.xml
epp/docs/branches/5.2/Reference_Guide/en-US/extras/PortalDevelopment_Skinning/default182.xml
epp/docs/branches/5.2/Reference_Guide/en-US/extras/PortalDevelopment_Skinning/default183.xml
epp/docs/branches/5.2/Reference_Guide/en-US/extras/PortalDevelopment_Skinning/default184.java
epp/docs/branches/5.2/Reference_Guide/en-US/extras/PortalDevelopment_Skinning/default185.java
epp/docs/branches/5.2/Reference_Guide/en-US/extras/PortalDevelopment_Skinning/default186.xml
epp/docs/branches/5.2/Reference_Guide/en-US/extras/PortalDevelopment_Skinning/default188.xml
epp/docs/branches/5.2/Reference_Guide/en-US/extras/PortalDevelopment_Skinning/default190.java
epp/docs/branches/5.2/Reference_Guide/en-US/extras/PortalDevelopment_Skinning/default191.xml
epp/docs/branches/5.2/Reference_Guide/en-US/modules/AuthenticationAndIdentity/BackendConfiguration.xml
epp/docs/branches/5.2/Reference_Guide/en-US/modules/AuthenticationAndIdentity/SSO.xml
epp/docs/branches/5.2/Reference_Guide/en-US/modules/Introduction.xml
epp/docs/branches/5.2/Reference_Guide/en-US/modules/PortalDevelopment/Skinning.xml
Log:
Incorporated feedback and GateIn revisions 8015, 8017 and 7919
Modified: epp/docs/branches/5.2/Reference_Guide/en-US/Book_Info.xml
===================================================================
--- epp/docs/branches/5.2/Reference_Guide/en-US/Book_Info.xml 2011-11-09 21:18:17 UTC (rev 8017)
+++ epp/docs/branches/5.2/Reference_Guide/en-US/Book_Info.xml 2011-11-10 02:39:06 UTC (rev 8018)
@@ -9,7 +9,7 @@
<productname>JBoss Enterprise Portal Platform</productname>
<productnumber>5.2</productnumber>
<edition>5.2.0</edition>
- <pubsnumber>6</pubsnumber>
+ <pubsnumber>7</pubsnumber>
<abstract>
<para>
This Reference Guide is a high-level usage document. It deals with more advanced topics than the Installation and User Guides, adding new content or taking concepts discussed in the earlier documents further. It aims to provide supporting documentation for advanced users of the JBoss Enterprise Portal Platform product. Its primary focus is on advanced use of the product and it assumes an intermediate or advanced knowledge of the technology and terms.
Modified: epp/docs/branches/5.2/Reference_Guide/en-US/Revision_History.xml
===================================================================
--- epp/docs/branches/5.2/Reference_Guide/en-US/Revision_History.xml 2011-11-09 21:18:17 UTC (rev 8017)
+++ epp/docs/branches/5.2/Reference_Guide/en-US/Revision_History.xml 2011-11-10 02:39:06 UTC (rev 8018)
@@ -8,6 +8,20 @@
<simpara>
<revhistory>
<revision>
+ <revnumber>5.2.0-7</revnumber>
+ <date>Wed Nov 9 2011</date>
+ <author>
+ <firstname>Scott</firstname>
+ <surname>Mumford</surname>
+ <email></email>
+ </author>
+ <revdescription>
+ <simplelist>
+ <member>Porting GateIn updates.</member>
+ </simplelist>
+ </revdescription>
+ </revision>
+ <revision>
<revnumber>5.2.0-6</revnumber>
<date>Wed Oct 5 2011</date>
<author>
Modified: epp/docs/branches/5.2/Reference_Guide/en-US/extras/Authentication_Identity_SSO/default105.xml
===================================================================
--- epp/docs/branches/5.2/Reference_Guide/en-US/extras/Authentication_Identity_SSO/default105.xml 2011-11-09 21:18:17 UTC (rev 8017)
+++ epp/docs/branches/5.2/Reference_Guide/en-US/extras/Authentication_Identity_SSO/default105.xml 2011-11-10 02:39:06 UTC (rev 8018)
@@ -1,5 +1,7 @@
<authentication>
<login-module code="org.gatein.sso.agent.login.SSOLoginModule" flag="required">
+ <module-option name="portalContainerName">portal</module-option>
+ <module-option name="realmName">gatein-domain</module-option>
</login-module>
<login-module code="org.exoplatform.services.security.j2ee.JbossLoginModule" flag="required">
<module-option name="portalContainerName">portal</module-option>
Modified: epp/docs/branches/5.2/Reference_Guide/en-US/extras/Authentication_Identity_SSO/default111.xml
===================================================================
--- epp/docs/branches/5.2/Reference_Guide/en-US/extras/Authentication_Identity_SSO/default111.xml 2011-11-09 21:18:17 UTC (rev 8017)
+++ epp/docs/branches/5.2/Reference_Guide/en-US/extras/Authentication_Identity_SSO/default111.xml 2011-11-10 02:39:06 UTC (rev 8018)
@@ -1,5 +1,7 @@
<authentication>
<login-module code="org.gatein.sso.agent.login.SSOLoginModule" flag="required">
+ <module-option name="portalContainerName">portal</module-option>
+ <module-option name="realmName">gatein-domain</module-option>
</login-module>
<login-module code="org.exoplatform.services.security.j2ee.JbossLoginModule" flag="required">
<module-option name="portalContainerName">portal</module-option>
Modified: epp/docs/branches/5.2/Reference_Guide/en-US/extras/Authentication_Identity_SSO/default112.xml
===================================================================
--- epp/docs/branches/5.2/Reference_Guide/en-US/extras/Authentication_Identity_SSO/default112.xml 2011-11-09 21:18:17 UTC (rev 8017)
+++ epp/docs/branches/5.2/Reference_Guide/en-US/extras/Authentication_Identity_SSO/default112.xml 2011-11-10 02:39:06 UTC (rev 8018)
@@ -1,2 +1,4 @@
-<!--<a class="Login" onclick="$signInAction"><%=_ctx.appRes("UILoginForm.label.Signin")%></a>-->
+<!--
+<a class="Login" onclick="$signInAction"><%=_ctx.appRes("UILoginForm.label.Signin")%></a>
+-->
<a class="Login" href="/portal/sso"><%=_ctx.appRes("UILoginForm.label.Signin")%></a>
\ No newline at end of file
Modified: epp/docs/branches/5.2/Reference_Guide/en-US/extras/Authentication_Identity_SSO/default115.xml
===================================================================
--- epp/docs/branches/5.2/Reference_Guide/en-US/extras/Authentication_Identity_SSO/default115.xml 2011-11-09 21:18:17 UTC (rev 8017)
+++ epp/docs/branches/5.2/Reference_Guide/en-US/extras/Authentication_Identity_SSO/default115.xml 2011-11-10 02:39:06 UTC (rev 8018)
@@ -1,44 +1,44 @@
- <filter>
- <filter-name>LoginRedirectFilter</filter-name>
- <filter-class>org.gatein.sso.agent.filter.LoginRedirectFilter</filter-class>
- <init-param>
- <!-- This should point to your SSO authentication server -->
- <param-name>LOGIN_URL</param-name>
- <param-value>http://localhost:8888/josso/signon/login.do?
- josso_back_to=http://localhost:8080/portal/initiatessologin</param-value>
- </init-param>
- </filter>
- <filter>
- <filter-name>JOSSOLogoutFilter</filter-name>
- <filter-class>org.gatein.sso.agent.filter.JOSSOLogoutFilter</filter-class>
- <init-param>
+<filter>
+ <filter-name>LoginRedirectFilter</filter-name>
+ <filter-class>org.gatein.sso.agent.filter.LoginRedirectFilter</filter-class>
+ <init-param>
+ <!-- This should point to your SSO authentication server -->
+ <param-name>LOGIN_URL</param-name>
+ <param-value>http://localhost:8888/josso/signon/login.do?josso_back_to=http://localhos...</param-value>
+ </init-param>
+</filter>
+<filter>
+ <filter-name>JOSSOLogoutFilter</filter-name>
+ <filter-class>org.gatein.sso.agent.filter.JOSSOLogoutFilter</filter-class>
+ <init-param>
<!-- This should point to your JOSSO authentication server -->
<param-name>LOGOUT_URL</param-name>
<param-value>http://localhost:8888/josso/signon/logout.do</param-value>
- </init-param>
- </filter>
- <filter>
- <filter-name>InitiateLoginFilter</filter-name>
- <filter-class>org.gatein.sso.agent.filter.InitiateLoginFilter</filter-class>
- <init-param>
- <param-name>ssoServerUrl</param-name>
- <param-value>http://localhost:8888/josso/signon/login.do</param-value>
- </init-param>
- <init-param>
- <param-name>loginUrl</param-name>
- <param-value>http://localhost:8080/portal/dologin</param-value>
- </init-param>
- </filter>
- <!-- filters should be placed at the very top of the filter chain -->
- <filter-mapping>
- <filter-name>LoginRedirectFilter</filter-name>
- <url-pattern>/*</url-pattern>
- </filter-mapping>
- <filter-mapping>
- <filter-name>JOSSOLogoutFilter</filter-name>
- <url-pattern>/*</url-pattern>
- </filter-mapping>
- <filter-mapping>
- <filter-name>InitiateLoginFilter</filter-name>
- <url-pattern>/initiatessologin</url-pattern>
- </filter-mapping>
\ No newline at end of file
+ </init-param>
+</filter>
+<filter>
+ <filter-name>InitiateLoginFilter</filter-name>
+ <filter-class>org.gatein.sso.agent.filter.InitiateLoginFilter</filter-class>
+ <init-param>
+ <param-name>ssoServerUrl</param-name>
+ <param-value>http://localhost:8888/josso/signon/login.do</param-value>
+ </init-param>
+ <init-param>
+ <param-name>loginUrl</param-name>
+ <param-value>http://localhost:8080/portal/dologin</param-value>
+ </init-param>
+</filter>
+
+<!-- Mapping the filters at the very top of the filter chain -->
+<filter-mapping>
+ <filter-name>LoginRedirectFilter</filter-name>
+ <url-pattern>/*</url-pattern>
+</filter-mapping>
+<filter-mapping>
+ <filter-name>JOSSOLogoutFilter</filter-name>
+ <url-pattern>/*</url-pattern>
+</filter-mapping>
+<filter-mapping>
+ <filter-name>InitiateLoginFilter</filter-name>
+ <url-pattern>/initiatessologin</url-pattern>
+</filter-mapping>
\ No newline at end of file
Modified: epp/docs/branches/5.2/Reference_Guide/en-US/extras/Authentication_Identity_SSO/default118.xml
===================================================================
--- epp/docs/branches/5.2/Reference_Guide/en-US/extras/Authentication_Identity_SSO/default118.xml 2011-11-09 21:18:17 UTC (rev 8017)
+++ epp/docs/branches/5.2/Reference_Guide/en-US/extras/Authentication_Identity_SSO/default118.xml 2011-11-10 02:39:06 UTC (rev 8018)
@@ -1,5 +1,7 @@
<authentication>
<login-module code="org.gatein.sso.agent.login.SSOLoginModule" flag="required">
+ <module-option name="portalContainerName">portal</module-option>
+ <module-option name="realmName">gatein-domain</module-option>
</login-module>
<login-module code="org.exoplatform.services.security.j2ee.JbossLoginModule" flag="required">
<module-option name="portalContainerName">portal</module-option>
Modified: epp/docs/branches/5.2/Reference_Guide/en-US/extras/Authentication_Identity_SSO/default122.xml
===================================================================
--- epp/docs/branches/5.2/Reference_Guide/en-US/extras/Authentication_Identity_SSO/default122.xml 2011-11-09 21:18:17 UTC (rev 8017)
+++ epp/docs/branches/5.2/Reference_Guide/en-US/extras/Authentication_Identity_SSO/default122.xml 2011-11-10 02:39:06 UTC (rev 8018)
@@ -1,49 +1,48 @@
- <filter>
- <filter-name>LoginRedirectFilter</filter-name>
- <filter-class>org.gatein.sso.agent.filter.LoginRedirectFilter</filter-class>
- <init-param>
- <!-- This should point to your SSO authentication server -->
- <param-name>LOGIN_URL</param-name>
- <param-value>http://localhost:8888/opensso/UI/Login?
- realm=gatein&goto=http://localhost:8080/portal/initiatessologin</param-value>
- </init-param>
- </filter>
- <filter>
- <filter-name>OpenSSOLogoutFilter</filter-name>
- <filter-class>org.gatein.sso.agent.filter.OpenSSOLogoutFilter</filter-class>
- <init-param>
- <!-- This should point to your OpenSSO authentication server -->
- <param-name>LOGOUT_URL</param-name>
- <param-value>http://localhost:8888/opensso/UI/Logout</param-value>
- </init-param>
- </filter>
- <filter>
- <filter-name>InitiateLoginFilter</filter-name>
- <filter-class>org.gatein.sso.agent.filter.InitiateLoginFilter</filter-class>
- <init-param>
- <param-name>ssoServerUrl</param-name>
- <param-value>hhttp://localhost:8888/opensso</param-value>
- </init-param>
- <init-param>
- <param-name>loginUrl</param-name>
- <param-value>http://localhost:8080/portal/dologin</param-value>
- </init-param>
- <init-param>
+<filter>
+ <filter-name>LoginRedirectFilter</filter-name>
+ <filter-class>org.gatein.sso.agent.filter.LoginRedirectFilter</filter-class>
+ <init-param>
+ <!-- This should point to your SSO authentication server -->
+ <param-name>LOGIN_URL</param-name>
+ <param-value>http://localhost:8888/opensso/UI/Login?realm=gatein&goto=http://local...</param-value>
+ </init-param>
+</filter>
+<filter>
+ <filter-name>OpenSSOLogoutFilter</filter-name>
+ <filter-class>org.gatein.sso.agent.filter.OpenSSOLogoutFilter</filter-class>
+ <init-param>
+ <!-- This should point to your SSO authentication server -->
+ <param-name>LOGOUT_URL</param-name>
+ <param-value>http://localhost:8888/opensso/UI/Logout</param-value>
+ </init-param>
+</filter>
+<filter>
+ <filter-name>InitiateLoginFilter</filter-name>
+ <filter-class>org.gatein.sso.agent.filter.InitiateLoginFilter</filter-class>
+ <init-param>
+ <param-name>ssoServerUrl</param-name>
+ <param-value>http://localhost:8888/opensso</param-value>
+ </init-param>
+ <init-param>
+ <param-name>loginUrl</param-name>
+ <param-value>http://localhost:8080/portal/dologin</param-value>
+ </init-param>
+ <init-param>
<param-name>ssoCookieName</param-name>
<param-value>iPlanetDirectoryPro</param-value>
- </init-param>
- </filter>
+ </init-param>
+</filter>
- <!-- place the filters at the top of the filter chain -->
- <filter-mapping>
- <filter-name>LoginRedirectFilter</filter-name>
- <url-pattern>/*</url-pattern>
- </filter-mapping>
- <filter-mapping>
- <filter-name>OpenSSOLogoutFilter</filter-name>
- <url-pattern>/*</url-pattern>
- </filter-mapping>
- <filter-mapping>
- <filter-name>InitiateLoginFilter</filter-name>
- <url-pattern>/initiatessologin</url-pattern>
- </filter-mapping>
\ No newline at end of file
+<!-- Mapping the filters at the very top of the filter chain -->
+<filter-mapping>
+ <filter-name>LoginRedirectFilter</filter-name>
+ <url-pattern>/*</url-pattern>
+</filter-mapping>
+<filter-mapping>
+ <filter-name>OpenSSOLogoutFilter</filter-name>
+ <url-pattern>/*</url-pattern>
+</filter-mapping>
+<filter-mapping>
+ <filter-name>InitiateLoginFilter</filter-name>
+ <url-pattern>/initiatessologin</url-pattern>
+</filter-mapping>
\ No newline at end of file
Modified: epp/docs/branches/5.2/Reference_Guide/en-US/extras/Authentication_Identity_SSO/default125.xml
===================================================================
--- epp/docs/branches/5.2/Reference_Guide/en-US/extras/Authentication_Identity_SSO/default125.xml 2011-11-09 21:18:17 UTC (rev 8017)
+++ epp/docs/branches/5.2/Reference_Guide/en-US/extras/Authentication_Identity_SSO/default125.xml 2011-11-10 02:39:06 UTC (rev 8018)
@@ -1,5 +1,6 @@
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
<property name="authenticators">
- <map keyClass="java.lang.String" valueClass="java.lang.String">
+ <map class="java.util.Properties" keyClass="java.lang.String" valueClass="java.lang.String">
<entry>
<key>BASIC</key>
<value>org.apache.catalina.authenticator.BasicAuthenticator</value>
Modified: epp/docs/branches/5.2/Reference_Guide/en-US/extras/Authentication_Identity_SSO/default126.xml
===================================================================
--- epp/docs/branches/5.2/Reference_Guide/en-US/extras/Authentication_Identity_SSO/default126.xml 2011-11-09 21:18:17 UTC (rev 8017)
+++ epp/docs/branches/5.2/Reference_Guide/en-US/extras/Authentication_Identity_SSO/default126.xml 2011-11-10 02:39:06 UTC (rev 8018)
@@ -1,20 +1,9 @@
-<deployment xmlns="urn:jboss:bean-deployer:2.0">
- <application-policy xmlns="urn:jboss:security-beans:1.0" name="gatein-domain">
- <!-- Uncomment this for Kerberos based SSO integration -->
- <authentication>
- <login-module
- code="org.gatein.sso.spnego.SPNEGOLoginModule"
- flag="requisite">
- <module-option name="password-stacking">useFirstPass</module-option>
- <module-option name="serverSecurityDomain">host</module-option>
- </login-module>
- <login-module
- code="org.gatein.sso.agent.login.SPNEGORolesModule"
- flag="required">
- <module-option name="password-stacking">useFirstPass</module-option>
- <module-option name="portalContainerName">portal</module-option>
- <module-option name="realmName">gatein-domain</module-option>
- </login-module>
- </authentication>
- </application-policy>
-</deployment>
+<login-module code="org.gatein.sso.spnego.SPNEGOLoginModule" flag="required">
+ <module-option name="password-stacking">useFirstPass</module-option>
+ <module-option name="serverSecurityDomain">host</module-option>
+</login-module>
+<login-module code="org.gatein.sso.agent.login.SPNEGORolesModule" flag="required">
+ <module-option name="password-stacking">useFirstPass</module-option>
+ <module-option name="portalContainerName">portal</module-option>
+ <module-option name="realmName">gatein-domain</module-option>
+</login-module>
\ No newline at end of file
Modified: epp/docs/branches/5.2/Reference_Guide/en-US/extras/PortalDevelopment_PortalLifecycle/default166.java
===================================================================
--- epp/docs/branches/5.2/Reference_Guide/en-US/extras/PortalDevelopment_PortalLifecycle/default166.java 2011-11-09 21:18:17 UTC (rev 8017)
+++ epp/docs/branches/5.2/Reference_Guide/en-US/extras/PortalDevelopment_PortalLifecycle/default166.java 2011-11-10 02:39:06 UTC (rev 8018)
@@ -18,7 +18,7 @@
try {
PortalContainer.setInstance(null) ;
} catch (Exception e) {
- log.warn("An error occured while cleaning the ThreadLocal", e);
+ log.warn("An error occurred while cleaning the ThreadLocal", e);
}
}
...
Modified: epp/docs/branches/5.2/Reference_Guide/en-US/extras/PortalDevelopment_PortalLifecycle/default168.java
===================================================================
--- epp/docs/branches/5.2/Reference_Guide/en-US/extras/PortalDevelopment_PortalLifecycle/default168.java 2011-11-09 21:18:17 UTC (rev 8017)
+++ epp/docs/branches/5.2/Reference_Guide/en-US/extras/PortalDevelopment_PortalLifecycle/default168.java 2011-11-10 02:39:06 UTC (rev 8018)
@@ -33,7 +33,7 @@
try {
component.endRequest(portalContainer);
} catch (Exception e) {
- log.warn("An error occured while calling the endRequest method", e);
+ log.warn("An error occurred while calling the endRequest method", e);
}
}
}
Modified: epp/docs/branches/5.2/Reference_Guide/en-US/extras/PortalDevelopment_PortalLifecycle/is1.java
===================================================================
--- epp/docs/branches/5.2/Reference_Guide/en-US/extras/PortalDevelopment_PortalLifecycle/is1.java 2011-11-09 21:18:17 UTC (rev 8017)
+++ epp/docs/branches/5.2/Reference_Guide/en-US/extras/PortalDevelopment_PortalLifecycle/is1.java 2011-11-10 02:39:06 UTC (rev 8018)
@@ -44,7 +44,7 @@
try {
PortalContainer.setInstance(null) ;
} catch (Exception e) {
- log.warn("An error occured while cleaning the ThreadLocal", e);
+ log.warn("An error occurred while cleaning the ThreadLocal", e);
}
}
log.info("Init of PortalController Servlet successful");
Modified: epp/docs/branches/5.2/Reference_Guide/en-US/extras/PortalDevelopment_Skinning/default181.xml
===================================================================
--- epp/docs/branches/5.2/Reference_Guide/en-US/extras/PortalDevelopment_Skinning/default181.xml 2011-11-09 21:18:17 UTC (rev 8017)
+++ epp/docs/branches/5.2/Reference_Guide/en-US/extras/PortalDevelopment_Skinning/default181.xml 2011-11-10 02:39:06 UTC (rev 8018)
@@ -1,12 +1,12 @@
<head>
...
<!-- The portal skin -->
-<link id="CoreSkin" rel="stylesheet" type="text/CSS" href="/eXoResources/skin/Stylesheet.CSS" />
+<link id="CoreSkin" rel="stylesheet" type="text/css" href="/eXoResources/skin/Stylesheet.css" />
<!-- The portlet skins -->
-<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" />
+<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" />
...
-</head>
+</head>
\ No newline at end of file
Modified: epp/docs/branches/5.2/Reference_Guide/en-US/extras/PortalDevelopment_Skinning/default182.xml
===================================================================
--- epp/docs/branches/5.2/Reference_Guide/en-US/extras/PortalDevelopment_Skinning/default182.xml 2011-11-09 21:18:17 UTC (rev 8017)
+++ epp/docs/branches/5.2/Reference_Guide/en-US/extras/PortalDevelopment_Skinning/default182.xml 2011-11-10 02:39:06 UTC (rev 8018)
@@ -1,7 +1,7 @@
<gatein-resources>
<portal-skin>
<skin-name>MySkin</skin-name>
- <CSS-path>/skin/myskin.CSS</CSS-path>
+ <css-path>/skin/myskin.css</css-path>
<overwrite>false</overwrite>
</portal-skin>
</gatein-resources>
Modified: epp/docs/branches/5.2/Reference_Guide/en-US/extras/PortalDevelopment_Skinning/default183.xml
===================================================================
--- epp/docs/branches/5.2/Reference_Guide/en-US/extras/PortalDevelopment_Skinning/default183.xml 2011-11-09 21:18:17 UTC (rev 8017)
+++ epp/docs/branches/5.2/Reference_Guide/en-US/extras/PortalDevelopment_Skinning/default183.xml 2011-11-10 02:39:06 UTC (rev 8018)
@@ -5,5 +5,5 @@
<filter-mapping>
<filter-name>ResourceRequestFilter</filter-name>
- <url-pattern>*.CSS</url-pattern>
+ <url-pattern>*.css</url-pattern>
</filter-mapping>
Modified: epp/docs/branches/5.2/Reference_Guide/en-US/extras/PortalDevelopment_Skinning/default184.java
===================================================================
--- epp/docs/branches/5.2/Reference_Guide/en-US/extras/PortalDevelopment_Skinning/default184.java 2011-11-09 21:18:17 UTC (rev 8017)
+++ epp/docs/branches/5.2/Reference_Guide/en-US/extras/PortalDevelopment_Skinning/default184.java 2011-11-10 02:39:06 UTC (rev 8018)
@@ -1,4 +1,4 @@
-@import url(DefaultSkin/portal/webui/component/UIPortalApplicationSkin.CSS);
-@import url(DefaultSkin/webui/component/Stylesheet.CSS);
-@import url(PortletThemes/Stylesheet.CSS);
-@import url(Portlet/Stylesheet.CSS);
+@import url(DefaultSkin/portal/webui/component/UIPortalApplicationSkin.css);
+@import url(DefaultSkin/webui/component/Stylesheet.css);
+@import url(PortletThemes/Stylesheet.css);
+@import url(Portlet/Stylesheet.css);
\ No newline at end of file
Modified: epp/docs/branches/5.2/Reference_Guide/en-US/extras/PortalDevelopment_Skinning/default185.java
===================================================================
--- epp/docs/branches/5.2/Reference_Guide/en-US/extras/PortalDevelopment_Skinning/default185.java 2011-11-09 21:18:17 UTC (rev 8017)
+++ epp/docs/branches/5.2/Reference_Guide/en-US/extras/PortalDevelopment_Skinning/default185.java 2011-11-10 02:39:06 UTC (rev 8018)
@@ -1 +1 @@
-@import url(/eXoResources/skin/Portlet/Stylesheet.CSS);
+@import url(/eXoResources/skin/Portlet/Stylesheet.css);
Modified: epp/docs/branches/5.2/Reference_Guide/en-US/extras/PortalDevelopment_Skinning/default186.xml
===================================================================
--- epp/docs/branches/5.2/Reference_Guide/en-US/extras/PortalDevelopment_Skinning/default186.xml 2011-11-09 21:18:17 UTC (rev 8017)
+++ epp/docs/branches/5.2/Reference_Guide/en-US/extras/PortalDevelopment_Skinning/default186.xml 2011-11-10 02:39:06 UTC (rev 8018)
@@ -1,7 +1,7 @@
<gatein-resources>
<portal-skin>
<skin-name>MySkin</skin-name>
- <CSS-path>/skin/myskin.CSS</CSS-path>
+ <CSS-path>/skin/myskin.css</CSS-path>
<overwrite>false</overwrite>
</portal-skin>
</gatein-resources>
Modified: epp/docs/branches/5.2/Reference_Guide/en-US/extras/PortalDevelopment_Skinning/default188.xml
===================================================================
--- epp/docs/branches/5.2/Reference_Guide/en-US/extras/PortalDevelopment_Skinning/default188.xml 2011-11-09 21:18:17 UTC (rev 8017)
+++ epp/docs/branches/5.2/Reference_Guide/en-US/extras/PortalDevelopment_Skinning/default188.xml 2011-11-10 02:39:06 UTC (rev 8018)
@@ -1,4 +1,4 @@
-.UIChangeSkinForm .UIItemSelector .TemplateContainer .MySkinImage
+.UIChangeSkinForm .UIItemSelector .TemplateContainer .MySkinImage {
margin: auto;
width: 329px; height:204px;
background: url('background/MySkin.jpg') no-repeat top;
Modified: epp/docs/branches/5.2/Reference_Guide/en-US/extras/PortalDevelopment_Skinning/default190.java
===================================================================
--- epp/docs/branches/5.2/Reference_Guide/en-US/extras/PortalDevelopment_Skinning/default190.java 2011-11-09 21:18:17 UTC (rev 8017)
+++ epp/docs/branches/5.2/Reference_Guide/en-US/extras/PortalDevelopment_Skinning/default190.java 2011-11-10 02:39:06 UTC (rev 8018)
@@ -1,126 +1,136 @@
/*---- MyTheme ----*/
.MyTheme .WindowBarCenter .WindowPortletInfo {
- margin-right: 80px; /* orientation=lt */
- margin-left: 80px; /* orientation=rt */
+ margin-right: 80px; /* orientation=lt */
+ margin-left: 80px; /* orientation=rt */
}
+
.MyTheme .WindowBarCenter .ControlIcon {
- float: right;/* orientation=lt */
- float: left;/* orientation=rt */
- width: 24px;
- height: 17px;
- cursor: pointer;
- background-image: url('background/MyTheme.png');
+ float: right; /* orientation=lt */
+ float: left; /* orientation=rt */
+ width: 24px;
+ height: 17px;
+ cursor: pointer;
+ background-image: url('background/MyTheme.png');
}
+
.MyTheme .ArrowDownIcon {
- background-position: center 20px;
+ background-position: center 20px;
}
+
.MyTheme .OverArrowDownIcon {
- background-position: center 116px;
+ background-position: center 116px;
}
+
.MyTheme .MinimizedIcon {
- background-position: center 44px;
+ background-position: center 44px;
}
+
.MyTheme .OverMinimizedIcon {
- background-position: center 140px;
+ background-position: center 140px;
}
+
.MyTheme .MaximizedIcon {
- background-position: center 68px;
+ background-position: center 68px;
}
+
.MyTheme .OverMaximizedIcon {
- background-position: center 164px;
+ background-position: center 164px;
}
+
.MyTheme .RestoreIcon {
- background-position: center 92px;
+ background-position: center 92px;
}
+
.MyTheme .OverRestoreIcon {
- background-position: center 188px;
+ background-position: center 188px;
}
+
.MyTheme .NormalIcon {
- background-position: center 92px;
+ background-position: center 92px;
}
+
.MyTheme .OverNormalIcon {
- background-position: center 188px;
+ background-position: center 188px;
}
-.UIPageDesktop .MyTheme .ResizeArea {
- float: right;/* orientation=lt */
- float: left;/* orientation=rt */
- width: 18px; height: 18px;
- cursor: nw-resize;
- background: url('background/ResizeArea18x18.gif') no-repeat left top; /* orientation=lt */
- background: url('background/ResizeArea18x18-rt.gif') no-repeat right top; /* orientation=rt */
-}
+
.MyTheme .Information {
- height: 18px; line-height: 18px;
- vertical-align: middle; font-size: 10px;
- padding-left: 5px;/* orientation=lt */
- padding-right: 5px;/* orientation=rt */
- margin-right: 18px;/* orientation=lt */
- margin-left: 18px;/* orientation=rt */
+ height: 18px; line-height: 18px;
+ vertical-align: middle; font-size: 10px;
+ padding-left: 5px; /* orientation=lt */
+ padding-right: 5px; /* orientation=rt */
+ margin-right: 18px; /* orientation=lt */
+ margin-left: 18px; /* orientation=rt */
}
+
.MyTheme .WindowBarCenter .WindowPortletIcon {
- background-position: left top; /* orientation=lt */
- background-position: right top; /* orientation=rt */
- padding-left: 20px; /* orientation=lt */
- padding-right: 20px; /* orientation=rt */
- height: 16px;
- line-height: 16px;
+ background-position: left top; /* orientation=lt */
+ background-position: right top; /* orientation=rt */
+ padding-left: 20px; /* orientation=lt */
+ padding-right: 20px; /* orientation=rt */
+ height: 16px;
+ line-height: 16px;
}
+
.MyTheme .WindowBarCenter .PortletName {
- font-weight: bold;
- color: #333333;
- overflow: hidden;
- white-space: nowrap;
- width: 100%;
+ font-weight: bold;
+ color: #333333;
+ overflow: hidden;
+ white-space: nowrap;
}
+
.MyTheme .WindowBarLeft {
- padding-left: 12px;
- background-image: url('background/MyTheme.png');
- background-repeat: no-repeat;
- background-position: left -148px;
+ padding-left: 12px;
+ background-image: url('background/MyTheme.png');
+ background-repeat: no-repeat;
+ background-position: left -148px;
}
+
.MyTheme .WindowBarRight {
- padding-right: 11px;
- background-image: url('background/MyTheme.png');
- background-repeat: no-repeat;
- background-position: right -119px;
+ padding-right: 11px;
+ background-image: url('background/MyTheme.png');
+ background-repeat: no-repeat;
+ background-position: right -119px;
}
+
.MyTheme .WindowBarCenter {
- background-image: url('background/MyTheme.png');
- background-repeat: repeat-x;
- background-position: left -90px;
+ background-image: url('background/MyTheme.png');
+ background-repeat: repeat-x;
+ background-position: left -90px;
+ height: 21px;
+ padding-top: 8px;
}
-.MyTheme .WindowBarCenter .FixHeight {
- height: 21px;
- padding-top: 8px;
-}
+
.MyTheme .MiddleDecoratorLeft {
- padding-left: 12px;
- background: url('background/MyTheme.png') repeat-y left;
+ padding-left: 12px;
+ background: url('background/MMyTheme.png') repeat-y left;
}
+
.MyTheme .MiddleDecoratorRight {
- padding-right: 11px;
- background: url('background/MyTheme.png') repeat-y right;
+ padding-right: 11px;
+ background: url('background/MMyTheme.png') repeat-y right;
}
+
.MyTheme .MiddleDecoratorCenter {
- background: #ffffff;
+ background: #ffffff;
}
+
.MyTheme .BottomDecoratorLeft {
- MyTheme: 12px;
- background-image: url('background/MyTheme.png');
- background-repeat: no-repeat;
- background-position: left -60px;
+ padding-left: 12px;
+ background-image: url('background/MyTheme.png');
+ background-repeat: no-repeat;
+ background-position: left -60px;
}
+
.MyTheme .BottomDecoratorRight {
- padding-right: 11px;
- background-image: url('background/MyTheme.png');
- background-repeat: no-repeat;
- background-position: right -30px;
+ padding-right: 11px;
+ background-image: url('background/MyTheme.png');
+ background-repeat: no-repeat;
+ background-position: right -30px;
}
+
.MyTheme .BottomDecoratorCenter {
- background-image: url('background/MyTheme.png');
- background-repeat: repeat-x;
- background-position: left top;
-}
-.MyTheme .BottomDecoratorCenter .FixHeight {
- height: 30px;
-}
+ background-image: url('background/MyTheme.png');
+ background-repeat: repeat-x;
+ background-position: left top;
+ height: 30px;
+}
\ No newline at end of file
Modified: epp/docs/branches/5.2/Reference_Guide/en-US/extras/PortalDevelopment_Skinning/default191.xml
===================================================================
--- epp/docs/branches/5.2/Reference_Guide/en-US/extras/PortalDevelopment_Skinning/default191.xml 2011-11-09 21:18:17 UTC (rev 8017)
+++ epp/docs/branches/5.2/Reference_Guide/en-US/extras/PortalDevelopment_Skinning/default191.xml 2011-11-10 02:39:06 UTC (rev 8018)
@@ -2,12 +2,12 @@
<application-name>portletAppName</application-name>
<portlet-name>PortletName</portlet-name>
<skin-name>Default</skin-name>
- <CSS-path>/skin/DefaultStylesheet.CSS</CSS-path>
+ <css-path>/skin/DefaultStylesheet.css</css-path>
</portlet-skin>
<portlet-skin>
<application-name>portletAppName</application-name>
<portlet-name>PortletName</portlet-name>
<skin-name>OtherSkin</skin-name>
- <CSS-path>/skin/OtherSkinStylesheet.CSS</CSS-path>
+ <css-path>/skin/OtherSkinStylesheet.css</css-path>
</portlet-skin>
Modified: epp/docs/branches/5.2/Reference_Guide/en-US/modules/AuthenticationAndIdentity/BackendConfiguration.xml
===================================================================
--- epp/docs/branches/5.2/Reference_Guide/en-US/modules/AuthenticationAndIdentity/BackendConfiguration.xml 2011-11-09 21:18:17 UTC (rev 8017)
+++ epp/docs/branches/5.2/Reference_Guide/en-US/modules/AuthenticationAndIdentity/BackendConfiguration.xml 2011-11-10 02:39:06 UTC (rev 8018)
@@ -3,7 +3,7 @@
<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
-<section id="sect-Reference_Guide_eXo_JCR_1.14-PicketLink_IDM_integration">
+<section id="sect-Reference_Guide-PicketLink_IDM_integration">
<title>PicketLink IDM integration</title>
<para>
JBoss Enterprise Portal Platform uses the <literal>PicketLink IDM</literal> component to store necessary identity information about users, groups and memberships. While legacy interfaces are still used (<literal>org.exoplatform.services.organization</literal>) for identity management, there is a wrapper implementation that delegates to PicketLink IDM framework.
Modified: epp/docs/branches/5.2/Reference_Guide/en-US/modules/AuthenticationAndIdentity/SSO.xml
===================================================================
--- epp/docs/branches/5.2/Reference_Guide/en-US/modules/AuthenticationAndIdentity/SSO.xml 2011-11-09 21:18:17 UTC (rev 8017)
+++ epp/docs/branches/5.2/Reference_Guide/en-US/modules/AuthenticationAndIdentity/SSO.xml 2011-11-10 02:39:06 UTC (rev 8018)
@@ -57,9 +57,10 @@
<para>
Users are advised to not run any portal extensions that could override the data when manipulating the <filename>gatein.ear</filename> file directly.
</para>
+<!-- Removed in GateIn reference-guide
<para>
- Remove <filename>JBOSS_HOME/server/PROFILE/deploy/gatein-sample-extension.ear</filename> and <filename>JBOSS_HOME/server/PROFILE/deploy/gatein-sample-portal.ear</filename> which are packaged by default with &PRODUCT;.
- </para>
+ Remove <filename>JBOSS_HOME/server/PROFILE/deploy/gatein-sample-extension.ear</filename> and <filename>JBOSS_HOME/server/PROFILE/deploy/gatein-sample-portal.ear</filename> which are packaged by default with JBoss Enterprise Portal Platform.
+ </para> -->
</warning>
</section>
@@ -88,7 +89,7 @@
<para>
To successfully implement SSO integration, do the following:
</para>
- <procedure>
+ <procedure id="proc-Reference_Guide-Enabling_SSO_using_JBoss_SSO_Valve-SSO_Integration">
<title>SSO Integration</title>
<step>
<para>
@@ -166,7 +167,7 @@
</procedure>
</listitem>
<listitem>
- <procedure>
+ <procedure id="proc-Reference_Guide-SSO_Integration-Switch_to_BASIC_authentication">
<title>Switch to <emphasis role="bold">BASIC</emphasis> authentication</title>
<step>
<para>
@@ -224,7 +225,7 @@
</para>
</step>
</procedure>
- <formalpara>
+ <formalpara id="form-Reference_Guide-Enabling_SSO_using_JBoss_SSO_Valve-Enabling_SSO_in_a_physical_cluster">
<title>Enabling SSO in a physical cluster</title>
<para>
If you require SSO to work across a physical cluster of separate machines you will need to use the <parameter>cookieDomain</parameter> attribute of the SSO valve.
@@ -265,7 +266,7 @@
<para>
This will ensure the <literal>JSESSIONIDSSO</literal> cookie is used in the correct domain, allowing the SSO authentication to occur.
</para>
- <formalpara>
+ <formalpara id="form-Reference_Guide-Enabling_SSO_using_JBoss_SSO_Valve-Enabling_SSO_with_Other_Web_Applications">
<title>Enabling SSO with Other Web Applications</title>
<para>
As mentioned earlier, in order to use SSO authentication between JBoss Enterprise Portal Platform instances and other web applications, the roles defined in the web application must match those used in the portal instance.
@@ -374,7 +375,11 @@
<para>
This Single Sign On plugin enables seamless integration between JBoss Enterprise Portal Platform and the Central Authentication Service (<emphasis role="bold">CAS</emphasis>) Single Sign On Framework. Details about CAS can be found <ulink url="http://www.ja-sig.org/products/cas/">here</ulink>.
</para>
- <procedure id="proc-Reference_Guide-CAS_Central_Authentication_Service-CAS_server">
+ <para>
+ The integration consists of two parts; the first part consists of installing or configuring a CAS server, the second part consists of setting up the portal to use the CAS server.
+ </para>
+
+ <procedure id="proc-Reference_Guide_eXo_JCR_1.14-CAS_Central_Authentication_Service-CAS_server">
<title>CAS server</title>
<step>
<para>
@@ -385,6 +390,9 @@
<para>
Downloaded CAS from <ulink type="http" url="http://www.jasig.org/cas/download">http://www.jasig.org/cas/download</ulink>.
</para>
+ <para>
+ The version, tested with these instructions is <emphasis role="bold">CAS 3.3.5</emphasis>. Other versions may work.
+ </para>
</step>
<step>
<para>
@@ -428,9 +436,6 @@
</para>
<programlisting language="XML" role="XML"><xi:include href="../../extras/Authentication_Identity_SSO/default103.xml" parse="text" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
- <para>
- Make sure to set the <emphasis>host</emphasis>, <emphasis>port</emphasis> and <emphasis>context</emphasis> with the values corresponding to your portal (also available in <filename><replaceable>PORTAL_SSO</replaceable>/cas/plugin/WEB-INF/deployerConfigContext.xml</filename>).
- </para>
</step>
<step>
<para>
@@ -467,13 +472,12 @@
<para>
Tomcat should start without issue and should be accessible at <ulink type="http" url="http://localhost:8888/cas">http://localhost:8888/cas</ulink>.
</para>
- <!--Removed in gatein commit r7620:
<note>
<para>
At this stage the login functionality will not be available.
</para>
+ </note>
- </note>-->
<mediaobject>
<imageobject>
<imagedata fileref="images/AuthenticationAndIdentity/SSO/cas.png" format="PNG" scale="100" width="444" />
@@ -483,10 +487,9 @@
</step>
</procedure>
- <!--Added in gatein commit r7620 -->
+
<note>
- <remark>Added in gatein commit r7620</remark>
- <para>
+ <para>
On logout, the CAS server will display the CAS logout page with a link to return to the portal. To make the CAS server redirect to the portal page after a logout, modify the <filename>cas.war/WEB-INF/cas-servlet.xml</filename> to include the follow line :
</para>
<programlisting>
@@ -576,17 +579,9 @@
<para>
Add the following Filters at the top of the filter chain in <filename>gatein.ear/02portal.war/WEB-INF/web.xml</filename>:
</para>
-<remark>DOC NOTE: Please check code sample as updated according to gatein r7620</remark>
+
<programlisting language="XML" role="XML"><xi:include href="../../extras/Authentication_Identity_SSO/default109.xml" parse="text" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
</step>
- <step>
- <remark> This step removed in gatein r7620. Should it be removed here?</remark>
- <para>
- Replace the <literal>InitiateLoginServlet</literal> declaration in <filename>gatein.ear/02portal.war/WEB-INF/web.xml</filename> with:
- </para>
-<programlisting language="XML" role="XML"><xi:include href="../../extras/Authentication_Identity_SSO/default110.xml" parse="text" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-
- </step>
</procedure>
<para>
@@ -619,13 +614,6 @@
<para>
Extract the package into what will be called <filename>JOSSO_HOME</filename> in this example.
</para>
- <warning>
- <title>JOSSO Versions</title>
-
- <para>
- The steps described later are only correct in case of JOSSO v.1.8.1.
- </para>
- </warning>
</step>
</procedure>
@@ -669,11 +657,7 @@
</step>
<step>
<para>
- Tomcat will start and allow access to
- <ulink type="http" url="http://localhost:8888/josso/signon/login.do">
- http://localhost:8888/josso/signon/login.do
- </ulink>
- but at this stage login will not be available.
+ Tomcat will start and allow access to <ulink type="http" url="http://localhost:8888/josso/signon/login.do"> http://localhost:8888/josso/signon/login.do </ulink> but at this stage login will not be available.
</para>
<mediaobject>
<imageobject>
@@ -687,12 +671,12 @@
<title>Setup the JOSSO client</title>
<step>
<para>
- Copy the library files from <filename><replaceable>PORTAL_SSO</replaceable>/josso/gatein.ear/lib</filename> into <filename>gatein.ear/lib</filename>
+ Copy the library files from <filename><replaceable>PORTAL_SSO</replaceable>/josso/gatein.ear/lib</filename> into <filename>gatein.ear/lib</filename> (or into <filename>GATEIN_HOME/lib</filename> if the product is running in Tomcat).
</para>
</step>
<step>
<para>
- Copy the <filename><replaceable>PORTAL_SSO</replaceable>/josso/gatein.ear/02portal.war/WEB-INF/classes/josso-agent-config.xml</filename> file into the <filename>gatein.ear/02portal.war/WEB-INF/classes</filename> directory.
+ Copy the <filename><replaceable>PORTAL_SSO</replaceable>/josso/gatein.ear/portal.war/WEB-INF/classes/josso-agent-config.xml</filename> file into the <filename>gatein.ear/02portal.war/WEB-INF/classes</filename> directory (or into <filename>JBOSS_HOME/webapps/portal.war/WEB-INF/classes</filename>, or <filename>GATEIN_HOME/conf</filename> if the product is running in Tomcat).
</para>
</step>
<step>
@@ -704,9 +688,19 @@
</step>
<step>
<para>
+ In Tomcat, edit <filename>JBOSS_HOME/conf/jaas.conf</filename> and uncomment this section:
+ </para>
+<programlisting>org.gatein.sso.agent.login.SSOLoginModule required;
+org.exoplatform.services.security.j2ee.TomcatLoginModule requiredtm
+portalContainerName=portal
+realmName=gatein-domain;
+</programlisting>
+ </step>
+ <step>
+ <para>
The installation can be tested at this point.
</para>
- <procedure>
+ <substeps>
<step>
<para>
Start (or restart) JBoss Enterprise Portal Platform, and (assuming the JOSSO server on Tomcat is running) direct your browser to <ulink type="http" url="http://localhost:8888/josso/signon/login.do">http://localhost:8888/josso/signon/login.do</ulink>.
@@ -717,7 +711,7 @@
Login with the username <literal>root</literal> and the password <literal>gtn</literal> or any account created through the portal.
</para>
</step>
- </procedure>
+ </substeps>
</step>
</procedure>
@@ -754,22 +748,8 @@
<para>
Add the following Filters to the top of the filter chain in <filename>gatein.ear/02portal.war/WEB-INF/web.xml</filename>:
</para>
-<remark>DOC NOTE: Please check code sample as updated according to gatein r7647</remark>
<programlisting language="XML" role="XML"><xi:include href="../../extras/Authentication_Identity_SSO/default115.xml" parse="text" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
</step>
- <step>
- <remark> This step removed in gatein r7647. Should it be removed here?</remark>
- <para>
- Replace the <literal>InitiateLoginServlet</literal> declaration in <filename>gatein.ear/02portal.war/WEB-INF/web.xml</filename> with:
- </para>
-
-<programlisting language="XML" role="XML"><xi:include href="../../extras/Authentication_Identity_SSO/default116.xml" parse="text" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
- </step>
- <step>
- <para>
- Remove the <literal>PortalLoginController</literal> servlet declaration and mapping in <filename>gatein.ear/02portal.war/WEB-INF/web.xml</filename>
- </para>
- </step>
</procedure>
<para>
@@ -789,7 +769,10 @@
<para>
OpenSSO must be purchased from <ulink type="http" url="http://www.oracle.com/technetwork/middleware/id-mgmt/overview/index.html">Oracle</ulink>.
</para>
-
+ <para>
+ For testing purpose, use OpenSSO_80U2, which can be downloaded from <ulink type="http" url="http://download.oracle.com/otn/nt/middleware/11g/oracle_opensso_80U2.zip"> Oracle </ulink> .
+ </para>
+ </step>
<step>
<para>
Extract the package into a suitable location. This location will be referred to as <filename>OPENSSO_HOME</filename> in this example.
@@ -797,6 +780,15 @@
</step>
</procedure>
+ <note>
+ <para>
+ It is also possible to use OpenAM instead of OpenSSO server. OpenAM is free and the integration steps between Enterprise Portal Platform and OpenAM are very similar as with OpenSSO. More info is available <ulink type="http" url="http://community.jboss.org/wiki/GateInAndOpenAMIntegration"> here </ulink> .
+ </para>
+ </note>
+ </section>
+
+ <section id="sect-Reference_Guide_eXo_JCR-1.14-OpenSSO_server-Modifying_OpenSSO_server">
+ <title>Modifying the OpenSSO server</title>
<para>
To configure the web server as required, it is simpler to directly modify the source files.
</para>
@@ -898,10 +890,10 @@
</para>
<important>
<para>
- Go to the "<emphasis role="bold">Configuration</emphasis>" tab then to "<emphasis role="bold">Authentication</emphasis>".
+ Go to <menuchoice><guimenu>Configuration</guimenu><guimenuitem>Authentication</guimenuitem></menuchoice> and follow the link to <guilabel>Core</guilabel>
</para>
<para>
- Follow the link to "<emphasis role="bold">Core</emphasis>" and add a new value with the class name "<literal>org.gatein.sso.opensso.plugin.AuthenticationPlugin</literal>".
+ Add a new value with the class name <literal>org.gatein.sso.opensso.plugin.AuthenticationPlugin</literal>.
</para>
<para>
If this is not done <literal>AuthenticationPlugin</literal> is not available among other OpenSSO authentication modules.
@@ -910,35 +902,35 @@
</step>
<step>
<para>
- Go to the "<emphasis role="bold">Access control</emphasis>" tab and create new realm called "<literal>gatein</literal>".
+ Go to the <guilabel>Access control</guilabel> tab and create new realm called <literal>gatein</literal>.
</para>
</step>
<step>
<substeps>
<step>
<para>
- Go to the new "<literal>gatein</literal>" realm and click on the "<emphasis role="bold">Authentication</emphasis>" tab.
+ Go to the new <literal>gatein</literal> realm and click on the <guilabel>Authentication</guilabel> tab.
</para>
</step>
<step>
<para>
- Click on "<emphasis role="bold">ldapService</emphasis>" (at the bottom in the "Authentication chaining" section).
+ Click on <guilabel>ldapService</guilabel> (at the bottom in the <guilabel>Authentication chaining</guilabel> section).
</para>
</step>
<step>
<para>
- Change the selection from "<literal>Datastore</literal>", which is the default module in the authentication chain, to "<literal>AuthenticationPlugin</literal>".
+ Change the selection from <literal>Datastore</literal>, which is the default module in the authentication chain, to <literal>AuthenticationPlugin</literal>.
</para>
</step>
</substeps>
<para>
- These changes enable authentication of the "<literal>gatein</literal>" realm using the <literal>GateIn REST</literal> service instead of the OpenSSO LDAP server.
+ These changes enable authentication of the <literal>gatein</literal> realm using the <literal>GateIn REST</literal> service instead of the OpenSSO LDAP server.
</para>
</step>
<step>
<para>
- Go to "<emphasis role="bold">Advanced properties</emphasis>" and change <literal>UserProfile</literal> from "<parameter>Required</parameter>" to "<parameter>Dynamic</parameter>" to ensure all new users are automatically created in the OpenSSO datastore after successful authentication.
+ Go to <guilabel>Advanced properties</guilabel> and change <literal>UserProfile</literal> from <parameter>Required</parameter> to <parameter>Dynamic</parameter> to ensure all new users are automatically created in the OpenSSO datastore after successful authentication.
</para>
</step>
<step>
@@ -948,7 +940,7 @@
<substeps>
<step>
<para>
- Go to "<emphasis role="bold">Access control</emphasis>", then <emphasis role="bold">Top level realm</emphasis>, then click on the "<emphasis role="bold">Privileges</emphasis>" tab and go to "<emphasis role="bold">All authenticated users</emphasis>".
+ Go to <menuchoice><guimenu>Access control</guimenu><guimenuitem>Top level realm</guimenuitem><guimenuitem>Privileges</guimenuitem><guimenuitem>All authenticated users</guimenuitem></menuchoice>.
</para>
</step>
<step>
@@ -976,15 +968,19 @@
</para>
</step>
</procedure>
+ </section>
- <procedure id="proc-Reference_Guide-OpenSSO_The_Open_Web_SSO_project-Setup_the_OpenSSO_client">
+ <section id="sect-Reference_Guide-OpenSSO_The_Open_Web_SSO_project-Setup_the_OpenSSO_client">
+ <title>Setup the OpenSSO Client</title>
+
+ <procedure id="proc-Reference_Guide_eXo_JCR_1.14-OpenSSO_The_Open_Web_SSO_project-Setup_the_OpenSSO_client">
<title>Setup the OpenSSO client</title>
<step>
<para>
Copy all libraries from the <filename><replaceable>PORTAL_SSO</replaceable>/opensso/gatein.ear/lib</filename> directory into the <filename>JBOSS_HOME/server/default/deploy/gatein.ear/lib</filename> directory.
</para>
<para>
- Alternatively, in a Tomcat environment, copy the libraries into the <filename>GATEIN_HOME/lib</filename> directory.
+ Alternatively, in a Tomcat environment, copy the libraries into the <filename>JBOSS_HOME/lib</filename> directory.
</para>
</step>
<step>
@@ -996,7 +992,7 @@
</step>
<step>
<para>
- If you are running &PRODUCT; in Tomcat, edit $GATEIN_HOME/conf/jaas.conf, uncomment on this section and comment other parts:
+ If you are running the product in Tomcat, edit <replaceable><JBOSS_HOME></replaceable>/conf/jaas.conf, uncomment the following section and comment all other sections:
</para>
<programlisting>org.gatein.sso.agent.login.SSOLoginModule required;
org.exoplatform.services.security.j2ee.TomcatLoginModule required
@@ -1022,6 +1018,10 @@
</procedure>
</step>
</procedure>
+ </section>
+
+ <section id="sect-Reference_Guide-OpenSSO_The_Open_Web_SSO_project-Setup_the_portal_to_redirect_to_OpenSSO">
+ <title>Setup the portal to redirect to OpenSSO</title>
<para>
The next part of the process is to redirect all user authentication to the OpenSSO server.
@@ -1058,14 +1058,6 @@
</para>
<programlisting language="XML" role="XML"><xi:include href="../../extras/Authentication_Identity_SSO/default122.xml" parse="text" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
</step>
-<!--<step>
- <remark> This step removed in gatein r7647. Should it be removed here?</remark>
- <para>
- Replace the <literal>InitiateLoginServlet</literal> declaration in <filename>gatein.ear/02portal.war/WEB-INF/web.xml</filename> with:
- </para>
-
-<programlisting language="XML" role="XML"><xi:include href="../../extras/Authentication_Identity_SSO/default123.xml" parse="text" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
- </step>-->
</procedure>
<para>
@@ -1100,7 +1092,7 @@
</step>
<step>
<para>
- JBoss EAP/AS uses background GSS messages with the Active Directory (or any Kerberos Server) to validate the user.
+ JBoss EAP/AS uses background GSS messages with the Active Directory (or any Kerberos Server) to validate the Kerberos ticket from user.
</para>
</step>
<step>
@@ -1110,25 +1102,29 @@
</step>
</procedure>
+ <section id="SPNEGO_server_configuration">
+ <title>SPNEGO Server Configuration</title>
<para>
- JBoss Enterprise Portal Platform uses JBoss Negotiation to enable SPNEGO-based desktop SSO.
+ In this section, we will describe some necessary steps for setup Kerberos server on Linux. This server will then be used for SPNEGO authentication against JBoss Enterprise Portal Platform.
</para>
- <para>
- The following procedure outlines how to integrate SPNEGO with the JBoss Enterprise Portal Platform.
- </para>
+
<note>
<title>SPNEGO Basics</title>
<para>
- The procedure below only describes the basic steps to configure the SPNEGO server. If you are already familiar with SPNEGO, you can jump to the
+ The procedure below only describes the basic steps to configure the SPNEGO server in a Linux environment. If you are already familiar with SPNEGO, or if you are using Windows and Active Directory domain, you can jump to the
<xref linkend="proc-Reference_Guide_eXo_JCR_1.14-SPNEGO_Simple_and_Protected_GSSAPI_Negotiation_Mechanism-Advanced_SPNEGO_Configuration" />
to see how to integrate SPNEGO with JBoss Enterprise Portal Platform.
</para>
+
+ <para>
+ Please note that Kerberos setup is also dependent on your Linux distribution and so steps can be slightly different in your environment.
+ </para>
</note>
<procedure id="proc-Reference_Guide_eXo_JCR_1.14-SPNEGO_Simple_and_Protected_GSSAPI_Negotiation_Mechanism-SPNEGO_Basics">
<title>SPNEGO Basics</title>
<step>
<para>
- Correct the setup of network on the machine. For example, if you are using the "server.local.network" domain as your machine where Kerberos and &PRODUCT; are localed, add the line containing the machine's IP address to the <emphasis role="bold">/etc/host </emphasis> file.
+ Correct the setup of network on the machine. For example, if you are using the "server.local.network" domain as your machine where Kerberos and JBoss Enterprise Portal Platform are localed, add the line containing the machine's IP address to the <emphasis role="bold">/etc/host </emphasis> file.
</para>
<programlisting>
192.168.1.88 server.local.network
@@ -1326,21 +1322,73 @@
<itemizedlist>
<listitem>
<para>
- If the setup works well, you are required to enter the password created for this user in Step 5.
+ If the setup works well, you are required to enter the password created for this user in Step 5. Without the -A, the kerberos ticket validation involved reverse DNS lookups, which can get very cumbersome to debug if your network's DNS setup is not great. This is a production level security feature, which is not necessary in this development setup. In production environment, it will be better to avoid -A option.
</para>
</listitem>
<listitem>
<para>
- If you want to login with another user, use this command.
+ After successful login to Kerberos, you can see your Kerberos ticket when using this command.
</para>
<programlisting>
+klist
+</programlisting>
+ </listitem>
+
+ <listitem>
+ <para>
+ If you want to logout and destroy your ticket, use this command.
+ </para>
+<programlisting>
kdestroy
</programlisting>
</listitem>
</itemizedlist>
</step>
</procedure>
+ </section>
+
+ <section id="Single_Sign_On-CAS_Central_Clients">
+ <title>Clients</title>
+
+ <para>
+ After performing all configurations above, you need to enable the <emphasis role="bold">Negotiate authentication </emphasis> of Firefox in client machines so that clients could be authenticated by JBoss Enterprise Portal Platform as follows:
+ </para>
+
+ <procedure>
+ <step>
+ <para>
+ Start Firefox, then enter the command: <emphasis role="bold">about:config </emphasis> into the address field.
+ </para>
+ </step>
+
+ <step>
+ <para>
+ Enter <emphasis role="bold">network.negotiate-auth</emphasis> and set the value as below:
+ </para>
+<programlisting>
+network.negotiate-auth.allow-proxies = true
+network.negotiate-auth.delegation-uris = .local.network
+network.negotiate-auth.gsslib (no-value)
+network.negotiate-auth.trusted-uris = .local.network
+network.negotiate-auth.using-native-gsslib = true
+</programlisting>
+ </step>
+ </procedure>
+
+ <note>
+ <para>
+ Consult documentation of your OS or web browser if using different browser than Firefox.
+ </para>
+ </note>
+ </section>
+
+ <section id="Single_Sign_On-SPNEGO-GateIn_Configuration">
+ <title>JBoss Enterprise Portal Platform Configuration</title>
+
+ <para>
+ JBoss Enterprise Portal Platform uses JBoss Negotiation to enable SPNEGO-based desktop SSO for the portal. Here are the steps to integrate SPNEGO with JBoss Enterprise Portal Platform.
+ </para>
<procedure id="proc-Reference_Guide_eXo_JCR_1.14-SPNEGO_Simple_and_Protected_GSSAPI_Negotiation_Mechanism-Advanced_SPNEGO_Configuration">
<title>Advanced SPNEGO Configuration</title>
<step>
@@ -1350,8 +1398,9 @@
<programlisting language="XML" role="XML"><xi:include href="../../extras/Authentication_Identity_SSO/default124.xml" parse="text" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
<para>
- The '<literal>keyTab</literal>' value should point to the keytab file that was generated by the <literal>kadmin</literal> Kerberos tool. See the
- <xref linkend="proc-Reference_Guide_eXo_JCR_1.14-SPNEGO_Simple_and_Protected_GSSAPI_Negotiation_Mechanism-SPNEGO_Basics"/> for more details.
+ The '<literal>keyTab</literal>' value should point to the keytab file that was generated by the <literal>kadmin</literal> Kerberos tool. When using Kerberos on Linux, it should be value of parameter <emphasis role="bold">admin_keytab</emphasis> from kdc.conf file. See the
+ <xref linkend="proc-Reference_Guide_eXo_JCR_1.14-SPNEGO_Simple_and_Protected_GSSAPI_Negotiation_Mechanism-SPNEGO_Basics"/>
+ for more details.
</para>
</step>
<step>
@@ -1363,17 +1412,26 @@
</step>
<step>
<para>
- Add the Gatein SSO module binaries by adding <filename><replaceable>PORTAL_SSO</replaceable>/spnego/gatein.ear/lib/sso-agent.jar</filename> and <filename><replaceable>PORTAL_SSO</replaceable>/spnego/gatein.ear/lib/spnego-<replaceable>VERSION</replaceable>-epp-GA.jar</filename> to <filename>deploy/gatein.ear/lib</filename>.
+ Add the GateIn SSO module binaries by copying <emphasis role="bold">GATEIN_SSO_HOME/spnego/gatein.ear/lib/sso-agent-VERSION.jar</emphasis> to the <emphasis role="bold">JBOSS_HOME/server/default/deploy/gatein.ear/lib</emphasis> directory. File <emphasis role="bold">GATEIN_SSO_HOME/spnego/gatein.ear/lib/spnego-VERSION.jar</emphasis> needs to be copied to the <emphasis role="bold">JBOSS_HOME/server/default/lib</emphasis> directory.
</para>
</step>
+<!-- This step not required as EPP already has the correct version of Negotiation 2.0.4.GA
<step>
<para>
- Modifying <filename>deploy/gatein.ear/META-INF/gatein-jboss-beans.xml</filename> to match the following:
+ Download library <filename>jboss-negotiation-2.0.4.GA</filename> from location
+ <ulink type="html" url="https://repository.jboss.org/nexus/content/groups/public/org/jboss/securi...">https://repository.jboss.org/nexus/content/groups/public/org/jboss/securi...</ulink>
+ and copy this file to <filename>JBOSS_HOME/server/default/lib</filename> directory as well.
</para>
+ </step>
+ -->
+ <step>
+ <para>
+ Modify the <filename>deploy/gatein.ear/META-INF/gatein-jboss-beans.xml</filename> file to match the following:
+ </para>
<programlisting language="XML" role="XML"><xi:include href="../../extras/Authentication_Identity_SSO/default126.xml" parse="text" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
<para>
- This activates the SPNEGO <literal>LoginModule</literal> for use with JBoss Enterprise Portal Platform.
+ This activates SPNEGO LoginModules with fallback to FORM authentication. When SPNEGO is not available and it needs to fallback to FORM, it will use <emphasis role="bold">gatein-form-auth-domain</emphasis> security domain.
</para>
</step>
<step>
@@ -1383,13 +1441,8 @@
<programlisting language="XML" role="XML"><xi:include href="../../extras/Authentication_Identity_SSO/default127.xml" parse="text" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
<para>
- This integrates SPNEGO support into the Portal web archive by switching authentication mechanism from the default "<literal>FORM</literal>"-based to "<literal>SPNEGO</literal>"-based authentication.
+ Integrate the request pre-processing needed for SPNEGO via filters by adding the following filters to the <emphasis role="bold">JBOSS_HOME/server/default/deploy/gatein.ear/02portal.war/WEB-INF/web.xml</emphasis> at the top of the Filter chain.
</para>
- </step>
- <step>
- <para>
- Add the following filters to the top of the Filter chain in the <filename>web.xml</filename> file:
- </para>
<programlisting language="XML" role="XML"><xi:include href="../../extras/Authentication_Identity_SSO/default128.xml" parse="text" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
<para>
@@ -1402,9 +1455,6 @@
</para>
<programlisting language="Java" role="Java"><xi:include href="../../extras/Authentication_Identity_SSO/default129.java" parse="text" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
- <para>
- This modifies the Portal's '<emphasis role="bold">Sign In</emphasis>' link to perform SPNEGO authentication.
- </para>
</step>
<step>
<para>
@@ -1428,6 +1478,9 @@
<para>
Clicking the 'Sign In' link on the JBoss Enterprise Portal Platform should automatically sign the 'demo' user into the portal.
</para>
+ <para>
+ If you destroy your kerberos ticket with command <command>kdestroy</command>, then try to login again, you will directed to the login screen of JBoss Enterprise Portal Product because you don't have active Kerberos ticket. You can login with predefined account and password "demo"/"gtn" .
+ </para>
</section>
<section>
@@ -1453,5 +1506,6 @@
</programlisting>
</step>
</procedure>
-</section>
-
+ </section>
+ </section>
+</section>
\ No newline at end of file
Modified: epp/docs/branches/5.2/Reference_Guide/en-US/modules/Introduction.xml
===================================================================
--- epp/docs/branches/5.2/Reference_Guide/en-US/modules/Introduction.xml 2011-11-09 21:18:17 UTC (rev 8017)
+++ epp/docs/branches/5.2/Reference_Guide/en-US/modules/Introduction.xml 2011-11-10 02:39:06 UTC (rev 8018)
@@ -32,7 +32,7 @@
This device will refer to the <application>JBoss Application Server</application> (<filename>jboss-as</filename>) directory deployed in JBoss Enterprise Portal Platform by default.
</para>
<para>
- Therefore, if your JBoss Enterprise Portal Platform instance is deployed into a directory called <filename>jboss-epp-&VZ;/</filename>, your <replaceable><JBOSS_HOME></replaceable> directory would be <filename>jboss-epp-&VZ;/jboss-as/</filename>.
+ Therefore, if your JBoss Enterprise Portal Platform instance is deployed into a directory called <filename>jboss-epp-&VY;/</filename>, your <replaceable><JBOSS_HOME></replaceable> directory would be <filename>jboss-epp-&VY;/jboss-as/</filename>.
</para>
</listitem>
</varlistentry>
Modified: epp/docs/branches/5.2/Reference_Guide/en-US/modules/PortalDevelopment/Skinning.xml
===================================================================
--- epp/docs/branches/5.2/Reference_Guide/en-US/modules/PortalDevelopment/Skinning.xml 2011-11-09 21:18:17 UTC (rev 8017)
+++ epp/docs/branches/5.2/Reference_Guide/en-US/modules/PortalDevelopment/Skinning.xml 2011-11-10 02:39:06 UTC (rev 8018)
@@ -156,7 +156,7 @@
JBoss Enterprise Portal Platform automatically discovers web archives that contain a file descriptor for skins (<filename>WEB-INF/gatein-resources.xml</filename>). This file is responsible for specifying the portal, portlet and window decorators to be deployed into the skin service.
</para>
<para>
- The full schema can be found at: <ulink type="http" url="http://www.gatein.org/xml/ns/gatein_resources_1_0" />.
+ The full schema can be found at: <ulink type="http" url="http://www.gatein.org/xml/ns/gatein_resources_1_2" />.
</para>
<para>
Below is an example of where to define a skin (<literal>MySkin</literal>) with its CSS location, and specify some window decorator skins:
@@ -210,7 +210,7 @@
</listitem>
</varlistentry>
<varlistentry>
- <term>skin/Stylesheet.CSS</term>
+ <term>skin/Stylesheet.css</term>
<listitem>
<para>
This file is the main portal skin stylesheet. It is the main entry point to the CSS class definitions for the skin. The main content points of this file are:
@@ -322,7 +322,7 @@
In order for the default skin to display the skin icon for a new portal skin, the preview screenshot needs to be placed in: <filename>01eXoResources.war:/skin/DefaultSkin/portal/webui/component/customization/UIChangeSkinForm/background</filename>.
</para>
<para>
- The CSS stylesheet for the default portal needs to have the following updated with the preview icon CSS class. For a skin named <emphasis role="bold">MySkin</emphasis> then the following needs to be updated: <filename>01eXoResources.war:/skin/DefaultSkin/portal/webui/component/customization/UIChangeSkinForm/Stylesheet.CSS</filename>.
+ The CSS stylesheet for the default portal needs to have the following updated with the preview icon CSS class. For a skin named <emphasis role="bold">MySkin</emphasis> then the following needs to be updated: <filename>01eXoResources.war:/skin/DefaultSkin/portal/webui/component/customization/UIChangeSkinForm/Stylesheet.css</filename>.
</para>
<programlisting language="XML" role="XML"><xi:include href="../../extras/PortalDevelopment_Skinning/default188.xml" parse="text" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
@@ -375,7 +375,7 @@
In order for the skin service to display the window decorators, it must have CSS classes specifically named in relation to the window style name. The service will try and display CSS based on this naming convention. The CSS class must be included as part of the current portal skin for the window decorators to be displayed.
</para>
<para>
- The location of the window decorator CSS classes for the default portal theme is located at: <filename>01eXoResources.war/skin/PortletThemes/Stylesheet.CSS</filename>.
+ The location of the window decorator CSS classes for the default portal theme is located at: <filename>01eXoResources.war/skin/PortletThemes/Stylesheet.css</filename>.
</para>
<para>
</para>
@@ -470,7 +470,7 @@
The portlet specification defines a set of default CSS classes that should be available for portlets. These classes are included as part of the portal skin. Please see the portlet specification for a list of the default classes that should be available.
</para>
<para>
- For the default portal skin, the portlet specification CSS classes are defined in: <filename>01eXoResources.war/skin/Portlet/Stylesheet.CSS</filename>.
+ For the default portal skin, the portlet specification CSS classes are defined in: <filename>01eXoResources.war/skin/Portlet/Stylesheet.css</filename>.
</para>
</section>
Modified: epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/extras/Authentication_Identity_SSO/default105.xml
===================================================================
--- epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/extras/Authentication_Identity_SSO/default105.xml 2011-11-09 21:18:17 UTC (rev 8017)
+++ epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/extras/Authentication_Identity_SSO/default105.xml 2011-11-10 02:39:06 UTC (rev 8018)
@@ -1,10 +1,10 @@
-<!--
<authentication>
<login-module code="org.gatein.sso.agent.login.SSOLoginModule" flag="required">
- </login-module>
+ <module-option name="portalContainerName">portal</module-option>
+ <module-option name="realmName">gatein-domain</module-option>
+ </login-module>
<login-module code="org.exoplatform.services.security.j2ee.JbossLoginModule" flag="required">
<module-option name="portalContainerName">portal</module-option>
<module-option name="realmName">gatein-domain</module-option>
</login-module>
</authentication>
--->
Modified: epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/extras/Authentication_Identity_SSO/default111.xml
===================================================================
--- epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/extras/Authentication_Identity_SSO/default111.xml 2011-11-09 21:18:17 UTC (rev 8017)
+++ epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/extras/Authentication_Identity_SSO/default111.xml 2011-11-10 02:39:06 UTC (rev 8018)
@@ -1,9 +1,10 @@
<authentication>
<login-module code="org.gatein.sso.agent.login.SSOLoginModule" flag="required">
- </login-module>
+ <module-option name="portalContainerName">portal</module-option>
+ <module-option name="realmName">gatein-domain</module-option>
+ </login-module>
<login-module code="org.exoplatform.services.security.j2ee.JbossLoginModule" flag="required">
<module-option name="portalContainerName">portal</module-option>
<module-option name="realmName">gatein-domain</module-option>
</login-module>
-</authentication>
-</programlisting>
+</authentication>
\ No newline at end of file
Modified: epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/extras/Authentication_Identity_SSO/default118.xml
===================================================================
--- epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/extras/Authentication_Identity_SSO/default118.xml 2011-11-09 21:18:17 UTC (rev 8017)
+++ epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/extras/Authentication_Identity_SSO/default118.xml 2011-11-10 02:39:06 UTC (rev 8018)
@@ -1,6 +1,8 @@
<authentication>
<login-module code="org.gatein.sso.agent.login.SSOLoginModule" flag="required">
- </login-module>
+ <module-option name="portalContainerName">portal</module-option>
+ <module-option name="realmName">gatein-domain</module-option>
+ </login-module>
<login-module code="org.exoplatform.services.security.j2ee.JbossLoginModule" flag="required">
<module-option name="portalContainerName">portal</module-option>
<module-option name="realmName">gatein-domain</module-option>
Modified: epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/extras/PortalDevelopment_Skinning/default185.java
===================================================================
--- epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/extras/PortalDevelopment_Skinning/default185.java 2011-11-09 21:18:17 UTC (rev 8017)
+++ epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/extras/PortalDevelopment_Skinning/default185.java 2011-11-10 02:39:06 UTC (rev 8018)
@@ -1 +1 @@
-@import url(/eXoResources/skin/Portlet/Stylesheet.CSS);
+@import url(/eXoResources/skin/Portlet/Stylesheet.css);
Modified: epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/extras/PortalDevelopment_Skinning/default186.xml
===================================================================
--- epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/extras/PortalDevelopment_Skinning/default186.xml 2011-11-09 21:18:17 UTC (rev 8017)
+++ epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/extras/PortalDevelopment_Skinning/default186.xml 2011-11-10 02:39:06 UTC (rev 8018)
@@ -1,7 +1,7 @@
<gatein-resources>
<portal-skin>
<skin-name>MySkin</skin-name>
- <CSS-path>/skin/myskin.CSS</CSS-path>
+ <CSS-path>/skin/myskin.css</CSS-path>
<overwrite>false</overwrite>
</portal-skin>
</gatein-resources>
Modified: epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/AuthenticationAndIdentity/SSO.xml
===================================================================
--- epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/AuthenticationAndIdentity/SSO.xml 2011-11-09 21:18:17 UTC (rev 8017)
+++ epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/AuthenticationAndIdentity/SSO.xml 2011-11-10 02:39:06 UTC (rev 8018)
@@ -4,9 +4,7 @@
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide_eXo_JCR_1.14-SSO_Single_Sign_On">
- <title><remark>
- SSO - Single Sign On
- </remark></title>
+ <title><remark>SSO - Single Sign On</remark></title>
<section id="sect-Reference_Guide_eXo_JCR_1.14-SSO_Single_Sign_On-Overview">
<title>Overview</title>
@@ -57,11 +55,7 @@
<title>Prerequisites</title>
<para>
- In this tutorial, the SSO server is being installed in a Tomcat environment. Tomcat can be obtained from
- <ulink type="http" url="http://tomcat.apache.org">
- http://tomcat.apache.org
- </ulink>
- .
+ In this tutorial, the SSO server is being installed in a Tomcat environment. Tomcat can be obtained from <ulink type="http" url="http://tomcat.apache.org"> http://tomcat.apache.org </ulink> .
</para>
</note>
@@ -77,10 +71,10 @@
<para>
Users are advised to not run any portal extensions that could override the data when manipulating the <filename>gatein.ear</filename> file directly.
</para>
-
- <para>
- Remove <filename>JBOSS_HOME/server/PROFILE/deploy/gatein-sample-extension.ear</filename> and <filename>JBOSS_HOME/server/PROFILE/deploy/gatein-sample-portal.ear</filename> which are packaged by default with &PRODUCT;.
- </para>
+<!-- Removed in GateIn reference-guide
+ <para>
+ Remove <filename>JBOSS_HOME/server/PROFILE/deploy/gatein-sample-extension.ear</filename> and <filename>JBOSS_HOME/server/PROFILE/deploy/gatein-sample-portal.ear</filename> which are packaged by default with JBoss Enterprise Portal Platform.
+ </para> -->
</warning>
</section>
@@ -105,9 +99,7 @@
</para>
<para>
- More info about the JBoss SSO valve can be found at
- <ulink type="http" url="http://docs.redhat.com/docs/en-US/JBoss_Enterprise_Web_Platform/5/html/Ad..." />
- .
+ More info about the JBoss SSO valve can be found at <ulink type="http" url="http://docs.redhat.com/docs/en-US/JBoss_Enterprise_Web_Platform/5/html/Ad..." />.
</para>
<para>
@@ -256,29 +248,13 @@
<step>
<para>
- Navigate to
- <ulink type="http" url="http://localhost:8080/portal/private/classic" />
- and authenticate with the pre-configured user account "
- <systemitem>
- root
- </systemitem>
- " (password "
- <systemitem>
- gtn
- </systemitem>
- ").
+ Navigate to <ulink type="http" url="http://localhost:8080/portal/private/classic" /> and authenticate with the pre-configured user account " <systemitem> root </systemitem> " (password " <systemitem> gtn </systemitem> ").
</para>
</step>
<step>
<para>
- Navigate to
- <ulink type="http" url="http://localhost:8180/portal/private/classic" />
- . You should be automatically authenticated as user
- <systemitem>
- root
- </systemitem>
- on this node as well.
+ Navigate to <ulink type="http" url="http://localhost:8180/portal/private/classic" /> . You should be automatically authenticated as user <systemitem> root </systemitem> on this node as well.
</para>
</step>
</procedure>
@@ -315,11 +291,7 @@
<programlisting language="XML" role="XML"><Valve className="org.jboss.web.tomcat.service.sso.ClusteredSingleSignOn" cookieDomain="yourdomain.com" />
</programlisting>
<para>
- (Where <literal>yourdomain.com</literal> is the domain used in your cluster. For example;
- <ulink type="http" url="http://machine1.yourdomain.com:8080/portal/private/classic" />
- and
- <ulink type="http" url="http://machine2.yourdomain.com:8080/portal/private/classic" />
- )
+ (Where <literal>yourdomain.com</literal> is the domain used in your cluster. For example; <ulink type="http" url="http://machine1.yourdomain.com:8080/portal/private/classic" /> and <ulink type="http" url="http://machine2.yourdomain.com:8080/portal/private/classic" /> )
</para>
</step>
@@ -399,25 +371,13 @@
<step>
<para>
- Navigate to
- <ulink type="http" url="http://localhost:8080/portal/private/classic" />
- and authenticate with the pre-configured user account "
- <systemitem>
- root
- </systemitem>
- " (password "
- <systemitem>
- gtn
- </systemitem>
- ").
+ Navigate to <ulink type="http" url="http://localhost:8080/portal/private/classic" /> and authenticate with the pre-configured user account "<systemitem> root </systemitem>" (password "<systemitem> gtn </systemitem>").
</para>
</step>
<step>
<para>
- Navigate to
- <ulink type="http" url="http://localhost:8080/jmx-console" />
- . You should be automatically authenticated into the JMX Console.
+ Navigate to <ulink type="http" url="http://localhost:8080/jmx-console" />. You should be automatically authenticated into the JMX Console.
</para>
</step>
</procedure>
@@ -426,28 +386,16 @@
<title>Using SSO to Authenticate From the Public Page</title>
<para>
- The previous configuration changes in this section are useful if a user is using a private URL (
- <ulink type="http" url="http://localhost:8080/portal/private/classic" />
- , for example) to log in to the portal instance.
+ The previous configuration changes in this section are useful if a user is using a private URL ( <ulink type="http" url="http://localhost:8080/portal/private/classic" />, for example) to log in to the portal instance.
</para>
</formalpara>
<para>
- Further changes are needed however, if SSO authentication is required to work with the
- <guilabel>
- Sign In
- </guilabel>
- button on the front page of the portal (
- <ulink type="http" url="http://localhost:8080/portal/public/classic" />
- ).
+ Further changes are needed however, if SSO authentication is required to work with the <guilabel>Sign In</guilabel> button on the front page of the portal ( <ulink type="http" url="http://localhost:8080/portal/public/classic" /> ).
</para>
<para>
- To enable this functionality, the
- <guilabel>
- Sign In
- </guilabel>
- link must redirect to the <filename>login.jsp</filename> file edited earlier to call the JAAS authentication directly.
+ To enable this functionality, the <guilabel>Sign In</guilabel> link must redirect to the <filename>login.jsp</filename> file edited earlier to call the JAAS authentication directly.
</para>
<procedure id="proc-Reference_Guide_eXo_JCR_1.14-Enabling_SSO_using_JBoss_SSO_Valve-Redirect_to_Use_SSO_Valve_Authentication">
@@ -485,13 +433,13 @@
<title>Central Authentication Service</title>
<para>
- This Single Sign On plugin enables seamless integration between JBoss Enterprise Portal Platform and the Central Authentication Service (<emphasis role="bold">CAS</emphasis>) Single Sign On Framework. Details about CAS can be found
- <ulink url="http://www.ja-sig.org/products/cas/">
- here
- </ulink>
- .
+ This Single Sign On plugin enables seamless integration between JBoss Enterprise Portal Platform and the Central Authentication Service (<emphasis role="bold">CAS</emphasis>) Single Sign On Framework. Details about CAS can be found <ulink url="http://www.ja-sig.org/cas/"> here </ulink> .
</para>
+ <para>
+ The integration consists of two parts; the first part consists of installing or configuring a CAS server, the second part consists of setting up the portal to use the CAS server.
+ </para>
+
<procedure id="proc-Reference_Guide_eXo_JCR_1.14-CAS_Central_Authentication_Service-CAS_server">
<title>CAS server</title>
@@ -503,12 +451,12 @@
<step>
<para>
- Downloaded CAS from
- <ulink type="http" url="http://www.jasig.org/cas/download">
- http://www.jasig.org/cas/download
- </ulink>
- .
+ Downloaded CAS from <ulink type="http" url="http://www.jasig.org/cas/download"> http://www.jasig.org/cas/download </ulink> .
</para>
+
+ <para>
+ The version, tested with these instructions is <emphasis role="bold">CAS 3.3.5</emphasis>. Other versions may work.
+ </para>
</step>
<step>
@@ -524,11 +472,7 @@
<note>
<para>
- To perform the final build step and complete these instructions you will need the Apache Maven 2. Download it from
- <ulink type="http" url="http://maven.apache.org/download.html">
- here
- </ulink>
- .
+ To perform the final build step and complete these instructions you will need the Apache Maven 2. Download it from <ulink type="http" url="http://maven.apache.org/download.html"> here </ulink> .
</para>
</note>
@@ -562,9 +506,6 @@
with the following (ensure you set the host, port and context with the values corresponding to your portal). Also available in <filename>GATEIN_SSO_HOME/cas/plugin/WEB-INF/deployerConfigContext.xml</filename>.):
</para>
<programlisting language="XML" role="XML"><xi:include href="../../extras/Authentication_Identity_SSO/default103.xml" parse="text" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
- <para>
- Make sure to set the <emphasis>host</emphasis>, <emphasis>port</emphasis> and <emphasis>context</emphasis> with the values corresponding to your portal (also available in <filename><replaceable>PORTAL_SSO</replaceable>/cas/plugin/WEB-INF/deployerConfigContext.xml</filename>).
- </para>
</step>
<step>
@@ -581,7 +522,7 @@
<step>
<para>
- Edit <filename>TOMCAT_HOME/conf/server.xml</filename> and change the 8080 port to 8888 to avoid a conflict with the default JBoss Enterprise Portal Platform .
+ Edit <filename>TOMCAT_HOME/conf/server.xml</filename> and change the 8080 port to 8888 to avoid a conflict with the default JBoss Enterprise Portal Platform.
</para>
<note>
@@ -605,19 +546,15 @@
</para>
<para>
- Tomcat should start without issue and should be accessible at
- <ulink type="http" url="http://localhost:8888/cas">
- http://localhost:8888/cas
- </ulink>
- .
+ Tomcat should start without issue and should be accessible at <ulink type="http" url="http://localhost:8888/cas"> http://localhost:8888/cas </ulink> .
</para>
-<!-- Removed in gatein commit r7620:
- <note>
- <para>
- At this stage the login functionality will not be available.
- </para>
-
- </note> -->
+
+ <note>
+ <para>
+ At this stage the login functionality will not be available.
+ </para>
+ </note>
+
<mediaobject>
<imageobject>
<imagedata fileref="images/AuthenticationAndIdentity/SSO/cas.png" format="PNG" scale="100" width="444" />
@@ -625,10 +562,8 @@
</mediaobject>
</step>
</procedure>
-<!-- Added in gatein commit r7620 -->
+
<note>
- <remark>Added in gatein commit r7620</remark>
-
<para>
On logout, the CAS server will display the CAS logout page with a link to return to the portal. To make the CAS server redirect to the portal page after a logout, modify the <filename>cas.war/WEB-INF/cas-servlet.xml</filename> to include the follow line :
</para>
@@ -678,11 +613,7 @@
<procedure>
<step>
<para>
- Start (or restart) JBoss Enterprise Portal Platform and direct your web browser to
- <ulink type="http" url="http://localhost:8888/cas">
- http://localhost:8888/cas
- </ulink>
- .
+ Start (or restart) JBoss Enterprise Portal Platform and direct your web browser to <ulink type="http" url="http://localhost:8888/cas"> http://localhost:8888/cas </ulink> .
</para>
</step>
@@ -731,19 +662,8 @@
<para>
Add the following Filters at the top of the filter chain in <filename>gatein.ear/02portal.war/WEB-INF/web.xml</filename>:
</para>
-
-<remark>DOC NOTE: Please check code sample as updated according to gatein r7620</remark>
<programlisting language="XML" role="XML"><xi:include href="../../extras/Authentication_Identity_SSO/default109.xml" parse="text" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
</step>
-
- <step>
- <remark> This step removed in gatein r7620. Should it be removed here?</remark>
-
- <para>
- Replace the <literal>InitiateLoginServlet</literal> declaration in <filename>gatein.ear/02portal.war/WEB-INF/web.xml</filename> with:
- </para>
-<programlisting language="XML" role="XML"><xi:include href="../../extras/Authentication_Identity_SSO/default110.xml" parse="text" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
- </step>
</procedure>
<para>
@@ -755,7 +675,7 @@
<title>Java Open Single Sign-On Project</title>
<para>
- This Single Sign On plugin enables seamless integration between JBoss Enterprise Portal Platform and the Java Open Single Sign-On Project (<emphasis role="bold">JOSSO</emphasis>) Single Sign On Framework. Details about JOSSO can be found at <ulink url="http://www.josso.org">www.josso.org</ulink>.
+ This Single Sign On plugin enables seamless integration between JBoss Enterprise Portal Platform and the Java Open Single Sign-On Project (<emphasis role="bold">JOSSO</emphasis>) Single Sign On Framework. Details about JOSSO can be found at <ulink url="http://www.josso.org"> www.josso.org </ulink> .
</para>
<para>
@@ -767,7 +687,7 @@
<step>
<para>
- Download JOSSO from <ulink type="http" url="http://sourceforge.net/projects/josso/files/">http://sourceforge.net/projects/josso/files/</ulink>.
+ Download JOSSO from <ulink type="http" url="http://sourceforge.net/projects/josso/files/"> http://sourceforge.net/projects/josso/files/ </ulink> .
</para>
<note>
@@ -781,14 +701,6 @@
<para>
Extract the package into what will be called <filename>JOSSO_HOME</filename> in this example.
</para>
-
- <warning>
- <title>JOSSO Versions</title>
-
- <para>
- The steps described later are only correct in case of JOSSO v.1.8.1.
- </para>
- </warning>
</step>
</procedure>
@@ -840,11 +752,7 @@
<step>
<para>
- Tomcat will start and allow access to
- <ulink type="http" url="http://localhost:8888/josso/signon/login.do">
- http://localhost:8888/josso/signon/login.do
- </ulink>
- but at this stage login will not be available.
+ Tomcat will start and allow access to <ulink type="http" url="http://localhost:8888/josso/signon/login.do"> http://localhost:8888/josso/signon/login.do </ulink> but at this stage login will not be available.
</para>
<mediaobject>
@@ -860,13 +768,13 @@
<step>
<para>
- Copy the library files from <filename><replaceable>PORTAL_SSO</replaceable>/josso/gatein.ear/lib</filename> into <filename>gatein.ear/lib</filename>
+ Copy the library files from <filename><replaceable>PORTAL_SSO</replaceable>/josso/gatein.ear/lib</filename> into <filename>gatein.ear/lib</filename> (or into <filename>GATEIN_HOME/lib</filename> if the product is running in Tomcat).
</para>
</step>
<step>
<para>
- Copy the <filename><replaceable>PORTAL_SSO</replaceable>/josso/gatein.ear/02portal.war/WEB-INF/classes/josso-agent-config.xml</filename> file into the <filename>gatein.ear/02portal.war/WEB-INF/classes</filename> directory.
+ Copy the <filename><replaceable>PORTAL_SSO</replaceable>/josso/gatein.ear/portal.war/WEB-INF/classes/josso-agent-config.xml</filename> file into the <filename>gatein.ear/02portal.war/WEB-INF/classes</filename> directory (or into <filename>JBOSS_HOME/webapps/portal.war/WEB-INF/classes</filename>, or <filename>GATEIN_HOME/conf</filename> if the product is running in Tomcat).
</para>
</step>
@@ -876,16 +784,25 @@
</para>
<programlisting language="XML" role="XML"><xi:include href="../../extras/Authentication_Identity_SSO/default111.xml" parse="text" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
</step>
-
+ <step>
+ <para>
+ In Tomcat, edit <filename>JBOSS_HOME/conf/jaas.conf</filename> and uncomment this section:
+ </para>
+<programlisting>org.gatein.sso.agent.login.SSOLoginModule required;
+org.exoplatform.services.security.j2ee.TomcatLoginModule requiredtm
+portalContainerName=portal
+realmName=gatein-domain;
+</programlisting>
+ </step>
<step>
<para>
The installation can be tested at this point.
</para>
- <procedure>
+ <substeps>
<step>
<para>
- Start (or restart) JBoss Enterprise Portal Platform, and (assuming the JOSSO server on Tomcat is running) direct your browser to <ulink type="http" url="http://localhost:8888/josso/signon/login.do">http://localhost:8888/josso/signon/login.do</ulink>.
+ Start (or restart) JBoss Enterprise Portal Platform, and (assuming the JOSSO server on Tomcat is running) direct your browser to <ulink type="http" url="http://localhost:8888/josso/signon/login.do"> http://localhost:8888/josso/signon/login.do </ulink> .
</para>
</step>
@@ -894,7 +811,7 @@
Login with the username <literal>root</literal> and the password <literal>gtn</literal> or any account created through the portal.
</para>
</step>
- </procedure>
+ </substeps>
</step>
</procedure>
@@ -934,25 +851,8 @@
<para>
Add the following Filters to the top of the filter chain in <filename>gatein.ear/02portal.war/WEB-INF/web.xml</filename>:
</para>
-
-<remark>DOC NOTE: Please check code sample as updated according to gatein r7647</remark>
<programlisting language="XML" role="XML"><xi:include href="../../extras/Authentication_Identity_SSO/default115.xml" parse="text" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
</step>
-
- <step>
- <remark> This step removed in gatein r7647. Should it be removed here?</remark>
-
- <para>
- Replace the <literal>InitiateLoginServlet</literal> declaration in <filename>gatein.ear/02portal.war/WEB-INF/web.xml</filename> with:
- </para>
-<programlisting language="XML" role="XML"><xi:include href="../../extras/Authentication_Identity_SSO/default116.xml" parse="text" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
- </step>
-
- <step>
- <para>
- Remove the <literal>PortalLoginController</literal> servlet declaration and mapping in <filename>gatein.ear/02portal.war/WEB-INF/web.xml</filename>
- </para>
- </step>
</procedure>
<para>
@@ -972,8 +872,12 @@
<step>
<para>
- OpenSSO must be purchased from <ulink type="http" url="http://www.oracle.com/technetwork/middleware/id-mgmt/overview/index.html">Oracle</ulink>.
+ OpenSSO must be purchased from <ulink type="http" url="http://www.oracle.com/technetwork/middleware/id-mgmt/overview/index.html"> Oracle </ulink> .
</para>
+
+ <para>
+ For testing purpose, use OpenSSO_80U2, which can be downloaded from <ulink type="http" url="http://download.oracle.com/otn/nt/middleware/11g/oracle_opensso_80U2.zip"> Oracle </ulink> .
+ </para>
</step>
<step>
@@ -983,6 +887,16 @@
</step>
</procedure>
+ <note>
+ <para>
+ It is also possible to use OpenAM instead of OpenSSO server. OpenAM is free and the integration steps between Enterprise Portal Platform and OpenAM are very similar as with OpenSSO. More info is available <ulink type="http" url="http://community.jboss.org/wiki/GateInAndOpenAMIntegration"> here </ulink> .
+ </para>
+ </note>
+ </section>
+
+ <section id="sect-Reference_Guide_eXo_JCR-1.14-OpenSSO_server-Modifying_OpenSSO_server">
+ <title>Modifying the OpenSSO server</title>
+
<para>
To configure the web server as required, it is simpler to directly modify the source files.
</para>
@@ -1060,7 +974,7 @@
<step>
<para>
- Tomcat should start and be able to access <ulink type="http" url="http://localhost:8888/opensso/UI/Login?realm=gatein">http://localhost:8888/opensso/UI/Login?realm=gatein</ulink>.
+ Tomcat should start and be able to access <ulink type="http" url="http://localhost:8888/opensso/UI/Login?realm=gatein"> http://localhost:8888/opensso/UI/Login?realm=gatein </ulink> .
</para>
<mediaobject>
@@ -1086,7 +1000,7 @@
<step>
<para>
- Direct your browser to <ulink type="http" url="http://localhost:8888/opensso">http://localhost:8888/opensso</ulink>
+ Direct your browser to <ulink type="http" url="http://localhost:8888/opensso"> http://localhost:8888/opensso </ulink>
</para>
</step>
@@ -1098,16 +1012,15 @@
<step>
<para>
- Login as <literal>admin</literal>.
+ Login as <literal>amadmin</literal>.
</para>
<important>
<para>
- Go to the "<emphasis role="bold">Configuration</emphasis>" tab then to "<emphasis role="bold">Authentication</emphasis>".
+ Go to <menuchoice><guimenu>Configuration</guimenu><guimenuitem>Authentication</guimenuitem></menuchoice> and follow the link to <guilabel>Core</guilabel>
</para>
-
<para>
- Follow the link to "<emphasis role="bold">Core</emphasis>" and add a new value with the class name "<literal>org.gatein.sso.opensso.plugin.AuthenticationPlugin</literal>".
+ Add a new value with the class name <literal>org.gatein.sso.opensso.plugin.AuthenticationPlugin</literal>.
</para>
<para>
@@ -1118,37 +1031,39 @@
<step>
<para>
- Go to the "<emphasis role="bold">Access control</emphasis>" tab and create new realm called "<literal>gatein</literal>".
+ Go to the <guilabel>Access control</guilabel> tab and create new realm called <literal>gatein</literal>.
</para>
</step>
<step>
- <substeps>
- <step>
- <para>
- Go to the new "<literal>gatein</literal>" realm and click on the "<emphasis role="bold">Authentication</emphasis>" tab.
- </para>
- </step>
- <step>
+ <substeps>
+ <step>
<para>
- Click on "<emphasis role="bold">ldapService</emphasis>" (at the bottom in the "Authentication chaining" section).
+ Go to the new <literal>gatein</literal> realm and click on the <guilabel>Authentication</guilabel> tab.
</para>
</step>
<step>
<para>
- Change the selection from "<literal>Datastore</literal>", which is the default module in the authentication chain, to "<literal>AuthenticationPlugin</literal>".
+ Click on <guilabel>ldapService</guilabel> (at the bottom in the <guilabel>Authentication chaining</guilabel> section).
</para>
</step>
- </substeps>
+
+ <step>
+ <para>
+ Change the selection from <literal>Datastore</literal>, which is the default module in the authentication chain, to <literal>AuthenticationPlugin</literal>.
+ </para>
+ </step>
+ </substeps>
+
<para>
- These changes enable authentication of the "<literal>gatein</literal>" realm using the <literal>GateIn REST</literal> service instead of the OpenSSO LDAP server.
+ These changes enable authentication of the <literal>gatein</literal> realm using the <literal>GateIn REST</literal> service instead of the OpenSSO LDAP server.
</para>
</step>
<step>
<para>
- Go to "<emphasis role="bold">Advanced properties</emphasis>" and change <literal>UserProfile</literal> from "<parameter>Required</parameter>" to "<parameter>Dynamic</parameter>" to ensure all new users are automatically created in the OpenSSO datastore after successful authentication.
+ Go to <guilabel>Advanced properties</guilabel> and change <literal>UserProfile</literal> from <parameter>Required</parameter> to <parameter>Dynamic</parameter> to ensure all new users are automatically created in the OpenSSO datastore after successful authentication.
</para>
</step>
@@ -1156,12 +1071,14 @@
<para>
Increase the user privileges to allow REST access with the following procedure:
</para>
- <substeps>
- <step>
+
+ <substeps>
+ <step>
<para>
- Go to "<emphasis role="bold">Access control</emphasis>", then <emphasis role="bold">Top level realm</emphasis>, then click on the "<emphasis role="bold">Privileges</emphasis>" tab and go to "<emphasis role="bold">All authenticated users</emphasis>".
+ Go to <menuchoice><guimenu>Access control</guimenu><guimenuitem>Top level realm</guimenuitem><guimenuitem>Privileges</guimenuitem><guimenuitem>All authenticated users</guimenuitem></menuchoice>.
</para>
</step>
+
<step>
<para>
Check the last two checkboxes:
@@ -1181,7 +1098,7 @@
</listitem>
</itemizedlist>
</step>
- </substeps>
+ </substeps>
</step>
<step>
@@ -1190,6 +1107,10 @@
</para>
</step>
</procedure>
+ </section>
+
+ <section id="sect-Reference_Guide_eXo_JCR_1.14-OpenSSO_The_Open_Web_SSO_project-Setup_the_OpenSSO_client">
+ <title>Setup the OpenSSO Client</title>
<procedure id="proc-Reference_Guide_eXo_JCR_1.14-OpenSSO_The_Open_Web_SSO_project-Setup_the_OpenSSO_client">
<title>Setup the OpenSSO client</title>
@@ -1200,20 +1121,20 @@
</para>
<para>
- Alternatively, in a Tomcat environment, copy the libraries into the <filename>GATEIN_HOME/lib</filename> directory.
+ Alternatively, in a Tomcat environment, copy the libraries into the <filename>JBOSS_HOME/lib</filename> directory.
</para>
</step>
<step>
<para>
- Edit the <filename>jboss-as/server/<replaceable>PROFILE</replaceable>/deploy/gatein.ear/META-INF/gatein-jboss-beans.xml</filename> and uncomment this section:
+ Edit the <filename>jboss-as/server/<replaceable><PROFILE></replaceable>/deploy/gatein.ear/META-INF/gatein-jboss-beans.xml</filename> and uncomment this section:
</para>
<programlisting language="XML" role="XML"><xi:include href="../../extras/Authentication_Identity_SSO/default118.xml" parse="text" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
</step>
<step>
<para>
- If you are running &PRODUCT; in Tomcat, edit $GATEIN_HOME/conf/jaas.conf, uncomment on this section and comment other parts:
+ If you are running the product in Tomcat, edit <replaceable><JBOSS_HOME></replaceable>/conf/jaas.conf, uncomment the following section and comment all other sections:
</para>
<programlisting>org.gatein.sso.agent.login.SSOLoginModule required;
org.exoplatform.services.security.j2ee.TomcatLoginModule required
@@ -1230,7 +1151,7 @@
<procedure>
<step>
<para>
- Access JBoss Enterprise Portal Platform by going to <ulink type="http" url="http://localhost:8888/opensso/UI/Login?realm=gatein">http://localhost:8888/opensso/UI/Login?realm=gatein</ulink> (assuming that the OpenSSO server using Tomcat is still running).
+ Access JBoss Enterprise Portal Platform by going to <ulink type="http" url="http://localhost:8888/opensso/UI/Login?realm=gatein"> http://localhost:8888/opensso/UI/Login?realm=gatein </ulink> (assuming that the OpenSSO server using Tomcat is still running).
</para>
</step>
@@ -1242,6 +1163,10 @@
</procedure>
</step>
</procedure>
+ </section>
+
+ <section id="sect-Reference_Guide_eXo_JCR_1.14-OpenSSO_The_Open_Web_SSO_project-Setup_the_portal_to_redirect_to_OpenSSO">
+ <title>Setup the portal to redirect to OpenSSO</title>
<para>
The next part of the process is to redirect all user authentication to the OpenSSO server.
@@ -1281,15 +1206,6 @@
</para>
<programlisting language="XML" role="XML"><xi:include href="../../extras/Authentication_Identity_SSO/default122.xml" parse="text" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
</step>
-<!--<step>
- <remark> This step removed in gatein r7647. Should it be removed here?</remark>
- <para>
- Replace the <literal>InitiateLoginServlet</literal> declaration in <filename>gatein.ear/02portal.war/WEB-INF/web.xml</filename> with:
- </para>
-
-<programlisting language="XML" role="XML"><xi:include href="../../extras/Authentication_Identity_SSO/default123.xml" parse="text" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-
- </step>-->
</procedure>
<para>
@@ -1329,7 +1245,7 @@
<step>
<para>
- JBoss EAP/AS uses background GSS messages with the Active Directory (or any Kerberos Server) to validate the user.
+ JBoss EAP/AS uses background GSS messages with the Active Directory (or any Kerberos Server) to validate the Kerberos ticket from user.
</para>
</step>
@@ -1340,26 +1256,33 @@
</step>
</procedure>
- <para>
- JBoss Enterprise Portal Platform uses JBoss Negotiation to enable SPNEGO-based desktop SSO.
- </para>
-
- <para>
- The following procedure outlines how to integrate SPNEGO with the JBoss Enterprise Portal Platform.
- </para>
- <note>
- <title>SPNEGO Basics</title>
+ <section id="SPNEGO_server_configuration">
+ <title>SPNEGO Server Configuration</title>
+
+ <para>
+ In this section, we will describe some necessary steps for setup Kerberos server on Linux. This server will then be used for SPNEGO authentication against JBoss Enterprise Portal Platform.
+ </para>
+
+ <note>
+ <title>SPNEGO Basics</title>
+
<para>
- The procedure below only describes the basic steps to configure the SPNEGO server. If you are already familiar with SPNEGO, you can jump to the
+ The procedure below only describes the basic steps to configure the SPNEGO server in a Linux environment. If you are already familiar with SPNEGO, or if you are using Windows and Active Directory domain, you can jump to the
<xref linkend="proc-Reference_Guide_eXo_JCR_1.14-SPNEGO_Simple_and_Protected_GSSAPI_Negotiation_Mechanism-Advanced_SPNEGO_Configuration" />
to see how to integrate SPNEGO with JBoss Enterprise Portal Platform.
</para>
+
+ <para>
+ Please note that Kerberos setup is also dependent on your Linux distribution and so steps can be slightly different in your environment.
+ </para>
</note>
- <procedure id="proc-Reference_Guide_eXo_JCR_1.14-SPNEGO_Simple_and_Protected_GSSAPI_Negotiation_Mechanism-SPNEGO_Basics">
- <title>SPNEGO Basics</title>
+
+ <procedure id="proc-Reference_Guide_eXo_JCR_1.14-SPNEGO_Simple_and_Protected_GSSAPI_Negotiation_Mechanism-SPNEGO_Basics">
+ <title>SPNEGO Basics</title>
+
<step>
<para>
- Correct the setup of network on the machine. For example, if you are using the "server.local.network" domain as your machine where Kerberos and &PRODUCT; are localed, add the line containing the machine's IP address to the <emphasis role="bold">/etc/host </emphasis> file.
+ Correct the setup of network on the machine. For example, if you are using the "server.local.network" domain as your machine where Kerberos and JBoss Enterprise Portal Platform are localed, add the line containing the machine's IP address to the <emphasis role="bold">/etc/host </emphasis> file.
</para>
<programlisting>
192.168.1.88 server.local.network
@@ -1557,111 +1480,168 @@
<itemizedlist>
<listitem>
<para>
- If the setup works well, you are required to enter the password created for this user in Step 5.
+ If the setup works well, you are required to enter the password created for this user in Step 5. Without the -A, the kerberos ticket validation involved reverse DNS lookups, which can get very cumbersome to debug if your network's DNS setup is not great. This is a production level security feature, which is not necessary in this development setup. In production environment, it will be better to avoid -A option.
</para>
</listitem>
<listitem>
<para>
- If you want to login with another user, use this command.
+ After successful login to Kerberos, you can see your Kerberos ticket when using this command.
</para>
<programlisting>
+klist
+</programlisting>
+ </listitem>
+
+ <listitem>
+ <para>
+ If you want to logout and destroy your ticket, use this command.
+ </para>
+<programlisting>
kdestroy
</programlisting>
</listitem>
</itemizedlist>
</step>
</procedure>
- <procedure id="proc-Reference_Guide_eXo_JCR_1.14-SPNEGO_Simple_and_Protected_GSSAPI_Negotiation_Mechanism-Advanced_SPNEGO_Configuration">
- <title>Advanced SPNEGO Configuration</title>
- <step>
- <para>
- Activate the Host authentication. Add the following host login module to the <filename>jboss-as/server/<replaceable>PROFILE</replaceable>/conf/login-config.xml</filename>:
- </para>
-<programlisting language="XML" role="XML"><xi:include href="../../extras/Authentication_Identity_SSO/default124.xml" parse="text" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
- <para>
- The '<literal>keyTab</literal>' value should point to the keytab file that was generated by the <literal>kadmin</literal> Kerberos tool. See the
- <xref linkend="proc-Reference_Guide_eXo_JCR_1.14-SPNEGO_Simple_and_Protected_GSSAPI_Negotiation_Mechanism-SPNEGO_Basics"/> for more details.
- </para>
- </step>
+ </section>
+
+ <section id="Single_Sign_On-CAS_Central_Clients">
+ <title>Clients</title>
- <step>
- <para>
- Extend the core authentication mechanisms to support SPNEGO. Under <filename>deployers/jbossweb.deployer/META-INF/war-deployers-jboss-beans.xml</filename>, add a '<literal>SPNEGO</literal>' authenticators property
- </para>
-<programlisting language="XML" role="XML"><xi:include href="../../extras/Authentication_Identity_SSO/default125.xml" parse="text" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
- </step>
+ <para>
+ After performing all configurations above, you need to enable the <emphasis role="bold">Negotiate authentication </emphasis> of Firefox in client machines so that clients could be authenticated by JBoss Enterprise Portal Platform as follows:
+ </para>
- <step>
- <para>
- Add the Gatein SSO module binaries by adding <filename><replaceable>PORTAL_SSO</replaceable>/spnego/gatein.ear/lib/sso-agent.jar</filename> and <filename><replaceable>PORTAL_SSO</replaceable>/spnego/gatein.ear/lib/spnego-<replaceable>VERSION</replaceable>-epp-GA.jar</filename> to <filename>deploy/gatein.ear/lib</filename>.
- </para>
- </step>
+ <procedure>
+ <step>
+ <para>
+ Start Firefox, then enter the command: <emphasis role="bold">about:config </emphasis> into the address field.
+ </para>
+ </step>
+
+ <step>
+ <para>
+ Enter <emphasis role="bold">network.negotiate-auth</emphasis> and set the value as below:
+ </para>
+<programlisting>
+network.negotiate-auth.allow-proxies = true
+network.negotiate-auth.delegation-uris = .local.network
+network.negotiate-auth.gsslib (no-value)
+network.negotiate-auth.trusted-uris = .local.network
+network.negotiate-auth.using-native-gsslib = true
+</programlisting>
+ </step>
+ </procedure>
- <step>
+ <note>
<para>
- Modifying <filename>deploy/gatein.ear/META-INF/gatein-jboss-beans.xml</filename> to match the following:
+ Consult documentation of your OS or web browser if using different browser than Firefox.
</para>
-<programlisting language="XML" role="XML"><xi:include href="../../extras/Authentication_Identity_SSO/default126.xml" parse="text" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
- <para>
- This activates the SPNEGO <literal>LoginModule</literal> for use with JBoss Enterprise Portal Platform.
- </para>
- </step>
+ </note>
+ </section>
+
+ <section id="Single_Sign_On-SPNEGO-GateIn_Configuration">
+ <title>JBoss Enterprise Portal Platform Configuration</title>
- <step>
- <para>
- Modify <filename>gatein.ear/02portal.war/WEB-INF/web.xml</filename> to match:
- </para>
-<programlisting language="XML" role="XML"><xi:include href="../../extras/Authentication_Identity_SSO/default127.xml" parse="text" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
- <para>
- This integrates SPNEGO support into the Portal web archive by switching authentication mechanism from the default "<literal>FORM</literal>"-based to "<literal>SPNEGO</literal>"-based authentication.
- </para>
- </step>
+ <para>
+ JBoss Enterprise Portal Platform uses JBoss Negotiation to enable SPNEGO-based desktop SSO for the portal. Here are the steps to integrate SPNEGO with JBoss Enterprise Portal Platform.
+ </para>
- <step>
- <para>
- Add the following filters to the top of the Filter chain in the <filename>web.xml</filename> file:
- </para>
+ <procedure id="proc-Reference_Guide_eXo_JCR_1.14-SPNEGO_Simple_and_Protected_GSSAPI_Negotiation_Mechanism-Advanced_SPNEGO_Configuration">
+ <title>Advanced SPNEGO Configuration</title>
+
+ <step>
+ <para>
+ Activate the Host authentication. Add the following host login module to the <filename>jboss-as/server/<replaceable>PROFILE</replaceable>/conf/login-config.xml</filename>:
+ </para>
+<programlisting language="XML" role="XML"><xi:include href="../../extras/Authentication_Identity_SSO/default124.xml" parse="text" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
+ <para>
+ The '<literal>keyTab</literal>' value should point to the keytab file that was generated by the <literal>kadmin</literal> Kerberos tool. When using Kerberos on Linux, it should be value of parameter <emphasis role="bold">admin_keytab</emphasis> from kdc.conf file. See the
+ <xref linkend="proc-Reference_Guide_eXo_JCR_1.14-SPNEGO_Simple_and_Protected_GSSAPI_Negotiation_Mechanism-SPNEGO_Basics"/>
+ for more details.
+ </para>
+ </step>
+
+ <step>
+ <para>
+ Extend the core authentication mechanisms to support SPNEGO. Under <filename>deployers/jbossweb.deployer/META-INF/war-deployers-jboss-beans.xml</filename>, add a '<literal>SPNEGO</literal>' authenticators property
+ </para>
+<programlisting language="XML" role="XML"><xi:include href="../../extras/Authentication_Identity_SSO/default125.xml" parse="text" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
+ </step>
+
+ <step>
+ <para>
+ Add the GateIn SSO module binaries by copying <emphasis role="bold">GATEIN_SSO_HOME/spnego/gatein.ear/lib/sso-agent-VERSION.jar</emphasis> to the <emphasis role="bold">JBOSS_HOME/server/default/deploy/gatein.ear/lib</emphasis> directory. File <emphasis role="bold">GATEIN_SSO_HOME/spnego/gatein.ear/lib/spnego-VERSION.jar</emphasis> needs to be copied to the <emphasis role="bold">JBOSS_HOME/server/default/lib</emphasis> directory.
+ </para>
+ </step>
+<!-- This step not required as EPP already has the correct version of Negotiation 2.0.4.GA
+ <step>
+ <para>
+ Download library <filename>jboss-negotiation-2.0.4.GA</filename> from location
+ <ulink type="html" url="https://repository.jboss.org/nexus/content/groups/public/org/jboss/securi...">https://repository.jboss.org/nexus/content/groups/public/org/jboss/securi...</ulink>
+ and copy this file to <filename>JBOSS_HOME/server/default/lib</filename> directory as well.
+ </para>
+ </step>
+ -->
+ <step>
+ <para>
+ Modify the <filename>deploy/gatein.ear/META-INF/gatein-jboss-beans.xml</filename> file to match the following:
+ </para>
+<programlisting language="XML" role="XML"><xi:include href="../../extras/Authentication_Identity_SSO/default126.xml" parse="text" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
+ <para>
+ This activates SPNEGO LoginModules with fallback to FORM authentication. When SPNEGO is not available and it needs to fallback to FORM, it will use <emphasis role="bold">gatein-form-auth-domain</emphasis> security domain.
+ </para>
+ </step>
+
+ <step>
+ <para>
+ Modify <filename>gatein.ear/02portal.war/WEB-INF/web.xml</filename> to match:
+ </para>
+<programlisting language="XML" role="XML"><xi:include href="../../extras/Authentication_Identity_SSO/default127.xml" parse="text" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
+ <para>
+ Integrate the request pre-processing needed for SPNEGO via filters by adding the following filters to the <emphasis role="bold">JBOSS_HOME/server/default/deploy/gatein.ear/02portal.war/WEB-INF/web.xml</emphasis> at the top of the Filter chain.
+ </para>
<programlisting language="XML" role="XML"><xi:include href="../../extras/Authentication_Identity_SSO/default128.xml" parse="text" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
- <para>
- This integrates request pre-processing needed for SPNEGO.
- </para>
- </step>
-
- <step>
- <para>
- Edit the '<emphasis role="bold">Sign In</emphasis>' link in <filename><replaceable>JBOSS_HOME</replaceable>/server/<replaceable>PROFILE</replaceable>/deploy/gatein.ear/web.war/groovy/groovy/webui/component/UIBannerPortlet.gtmpl</filename> to match the following:
- </para>
+ <para>
+ This integrates request pre-processing needed for SPNEGO.
+ </para>
+ </step>
+
+ <step>
+ <para>
+ Edit the '<emphasis role="bold">Sign In</emphasis>' link in <filename><replaceable>JBOSS_HOME</replaceable>/server/<replaceable>PROFILE</replaceable>/deploy/gatein.ear/web.war/groovy/groovy/webui/component/UIBannerPortlet.gtmpl</filename> to match the following:
+ </para>
<programlisting language="Java" role="Java"><xi:include href="../../extras/Authentication_Identity_SSO/default129.java" parse="text" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
- <para>
- This modifies the Portal's '<emphasis role="bold">Sign In</emphasis>' link to perform SPNEGO authentication.
- </para>
- </step>
-
- <step>
- <para>
- Start the JBoss Enterprise Portal Platform;
- </para>
+ </step>
+
+ <step>
+ <para>
+ Start the JBoss Enterprise Portal Platform;
+ </para>
<programlisting language="Java" role="Java"><xi:include href="../../extras/Authentication_Identity_SSO/default130.java" parse="text" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
- <para>
- The <replaceable>PROFILE</replaceable> parameter in the above command should be replaced with the server profile modified with the above configuration.
- </para>
- </step>
-
- <step>
- <para>
- Login to Kerberos:
- </para>
+ <para>
+ The <replaceable>PROFILE</replaceable> parameter in the above command should be replaced with the server profile modified with the above configuration.
+ </para>
+ </step>
+
+ <step>
+ <para>
+ Login to Kerberos:
+ </para>
<programlisting>kinit -A demo
</programlisting>
- </step>
- </procedure>
-
- <para>
- Clicking the 'Sign In' link on the JBoss Enterprise Portal Platform should automatically sign the 'demo' user into the portal.
- </para>
- </section>
-
+ </step>
+ </procedure>
+
+ <para>
+ Clicking the 'Sign In' link on the JBoss Enterprise Portal Platform should automatically sign the 'demo' user into the portal.
+ </para>
+
+ <para>
+ If you destroy your kerberos ticket with command <command>kdestroy</command>, then try to login again, you will directed to the login screen of JBoss Enterprise Portal Product because you don't have active Kerberos ticket. You can login with predefined account and password "demo"/"gtn" .
+ </para>
+ </section>
<section>
<title>Clients</title>
<para>After performing all configurations above, you need to enable the <emphasis role="bold">Negotiate authentication </emphasis> of Firefox in clients so that clients can be authenticated by JBoss Enterprise Portal Platform as follows:
@@ -1686,4 +1666,5 @@
</step>
</procedure>
</section>
+ </section>
</section>
Modified: epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Introduction.xml
===================================================================
--- epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Introduction.xml 2011-11-09 21:18:17 UTC (rev 8017)
+++ epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Introduction.xml 2011-11-10 02:39:06 UTC (rev 8018)
@@ -4,119 +4,119 @@
%BOOK_ENTITIES;
]>
<chapter id="chap-Reference_Guide_eXo_JCR_1.14-Introduction">
- <title>Introduction</title>
- <para>
- JBoss Enterprise Portal Platform is based on the GateIn project which is the merge of two mature Java projects; JBoss Portal and eXo Portal. This new community project takes the best of both offerings and incorporates them into a single portal framework. The aim is to provide an intuitive user-friendly portal, and a framework to address the needs of today's Web 2.0 applications.
- </para>
- <mediaobject>
- <imageobject role="html">
- <imagedata align="center" fileref="images/Common/Frontpage.png" format="PNG" scale="100" width="444" />
- </imageobject>
- <imageobject role="fo">
- <imagedata align="center" contentwidth="150mm" fileref="images/Common/Frontpage.png" format="PNG" width="444" />
- </imageobject>
+ <title>Introduction</title>
+ <para>
+ JBoss Enterprise Portal Platform is based on the GateIn project which is the merge of two mature Java projects; JBoss Portal and eXo Portal. This new community project takes the best of both offerings and incorporates them into a single portal framework. The aim is to provide an intuitive user-friendly portal, and a framework to address the needs of today's Web 2.0 applications.
+ </para>
+ <mediaobject>
+ <imageobject role="html">
+ <imagedata align="center" fileref="images/Common/Frontpage.png" format="PNG" scale="100" width="444" />
+ </imageobject>
+ <imageobject role="fo">
+ <imagedata align="center" contentwidth="150mm" fileref="images/Common/Frontpage.png" format="PNG" width="444" />
+ </imageobject>
- </mediaobject>
- <para>
- This book provides a deep-dive information about installation and configuration of the services provided by JBoss Enterprise Portal Platform.
- </para>
- <note>
- <title>Notational Devices</title>
- <para>
- Along with the <emphasis>Document Conventions</emphasis> outlined in the <xref linkend="pref-Reference_Guide_eXo_JCR_1.14-Preface" />, this document will also use the following notational devices:
- <variablelist id="vari-Reference_Guide_eXo_JCR_1.14-Introduction-Devices">
- <title>Devices</title>
- <varlistentry>
- <term><replaceable><JBOSS_HOME></replaceable></term>
- <listitem>
- <para>
- This device will refer to the <application>JBoss Application Server</application> (<filename>jboss-as</filename>) directory deployed in JBoss Enterprise Portal Platform by default.
- </para>
- <para>
- Therefore, if your JBoss Enterprise Portal Platform instance is deployed into a directory called <filename>jboss-epp-&VZ;/</filename>, your <replaceable><JBOSS_HOME></replaceable> directory would be <filename>jboss-epp-&VZ;/jboss-as/</filename>.
- </para>
+ </mediaobject>
+ <para>
+ This book provides a deep-dive information about installation and configuration of the services provided by JBoss Enterprise Portal Platform.
+ </para>
+ <note>
+ <title>Notational Devices</title>
+ <para>
+ Along with the <emphasis>Document Conventions</emphasis> outlined in the <xref linkend="pref-Reference_Guide_eXo_JCR_1.14-Preface" />, this document will also use the following notational devices:
+ <variablelist id="vari-Reference_Guide_eXo_JCR_1.14-Introduction-Devices">
+ <title>Devices</title>
+ <varlistentry>
+ <term><replaceable><JBOSS_HOME></replaceable></term>
+ <listitem>
+ <para>
+ This device will refer to the <application>JBoss Application Server</application> (<filename>jboss-as</filename>) directory deployed in JBoss Enterprise Portal Platform by default.
+ </para>
+ <para>
+ Therefore, if your JBoss Enterprise Portal Platform instance is deployed into a directory called <filename>jboss-epp-&VY;/</filename>, your <replaceable><JBOSS_HOME></replaceable> directory would be <filename>jboss-epp-&VY;/jboss-as/</filename>.
+ </para>
- </listitem>
+ </listitem>
- </varlistentry>
- <varlistentry>
- <term><replaceable><PROFILE></replaceable></term>
- <listitem>
- <para>
- This device will usually follow an instance of <replaceable><JBOSS_HOME></replaceable> in a file path and refers to the directory that contains the server profile your JBoss Enterprise Portal Platform instance is configured to use.
- </para>
- <para>
- JBoss Enterprise Portal Platform comes with six profiles by default; <emphasis role="bold">all</emphasis>, <emphasis role="bold">default</emphasis>, <emphasis role="bold">minimal</emphasis>, <emphasis role="bold">production</emphasis>, <emphasis role="bold">standard</emphasis> and <emphasis role="bold">web</emphasis>. These profiles are found in the <filename><replaceable><JBOSS_HOME></replaceable>/server/</filename> directory.
- </para>
- <para>
- Therefore, if you are using the <emphasis>default</emphasis> profile, your <replaceable><PROFILE></replaceable> directory would be <filename><replaceable><JBOSS_HOME></replaceable>/server/default/</filename>
- </para>
+ </varlistentry>
+ <varlistentry>
+ <term><replaceable><PROFILE></replaceable></term>
+ <listitem>
+ <para>
+ This device will usually follow an instance of <replaceable><JBOSS_HOME></replaceable> in a file path and refers to the directory that contains the server profile your JBoss Enterprise Portal Platform instance is configured to use.
+ </para>
+ <para>
+ JBoss Enterprise Portal Platform comes with six profiles by default; <emphasis role="bold">all</emphasis>, <emphasis role="bold">default</emphasis>, <emphasis role="bold">minimal</emphasis>, <emphasis role="bold">production</emphasis>, <emphasis role="bold">standard</emphasis> and <emphasis role="bold">web</emphasis>. These profiles are found in the <filename><replaceable><JBOSS_HOME></replaceable>/server/</filename> directory.
+ </para>
+ <para>
+ Therefore, if you are using the <emphasis>default</emphasis> profile, your <replaceable><PROFILE></replaceable> directory would be <filename><replaceable><JBOSS_HOME></replaceable>/server/default/</filename>
+ </para>
- </listitem>
+ </listitem>
- </varlistentry>
+ </varlistentry>
- </variablelist>
+ </variablelist>
- </para>
+ </para>
- </note>
- <section id="sect-Reference_Guide_eXo_JCR_1.14-Introduction-Related_Links">
- <title>Related Links</title>
- <variablelist>
- <varlistentry>
- <term>Technical documentation</term>
- <listitem>
- <para>
- Other technical documentation, including an <emphasis role="bold">Installation Guide</emphasis>, and a <emphasis role="bold">User Guide</emphasis> can be found at <ulink type="http" url="http://www.redhat.com/docs/en-US/JBoss_Enterprise_Portal_Platform">www.redhat.com/docs</ulink>
- </para>
+ </note>
+ <section id="sect-Reference_Guide_eXo_JCR_1.14-Introduction-Related_Links">
+ <title>Related Links</title>
+ <variablelist>
+ <varlistentry>
+ <term>Technical documentation</term>
+ <listitem>
+ <para>
+ Other technical documentation, including an <emphasis role="bold">Installation Guide</emphasis>, and a <emphasis role="bold">User Guide</emphasis> can be found at <ulink type="http" url="http://www.redhat.com/docs/en-US/JBoss_Enterprise_Portal_Platform">www.redhat.com/docs</ulink>
+ </para>
- </listitem>
+ </listitem>
- </varlistentry>
- <varlistentry>
- <term>Non-technical documentation</term>
- <listitem>
- <para>
- Links to non-technical documents are included on the front page of the portal:
- </para>
- <mediaobject>
- <imageobject role="html">
- <imagedata align="center" fileref="images/Common/Non-tech-docs.png" format="PNG" scale="90" width="444" />
- </imageobject>
- <imageobject role="fo">
- <imagedata align="center" contentwidth="130mm" fileref="images/Common/Non-tech-docs.png" format="PNG" width="444" />
- </imageobject>
+ </varlistentry>
+ <varlistentry>
+ <term>Non-technical documentation</term>
+ <listitem>
+ <para>
+ Links to non-technical documents are included on the front page of the portal:
+ </para>
+ <mediaobject>
+ <imageobject role="html">
+ <imagedata align="center" fileref="images/Common/Non-tech-docs.png" format="PNG" scale="90" width="444" />
+ </imageobject>
+ <imageobject role="fo">
+ <imagedata align="center" contentwidth="130mm" fileref="images/Common/Non-tech-docs.png" format="PNG" width="444" />
+ </imageobject>
- </mediaobject>
+ </mediaobject>
- </listitem>
+ </listitem>
- </varlistentry>
- <varlistentry>
- <term>Videos</term>
- <listitem>
- <para>
- A link to <ulink type="http" url="http://vimeo.com/channels/gatein">videos</ulink> related to the JBoss Enterprise Portal Platform is also included on the front page:
- </para>
- <mediaobject>
- <imageobject role="html">
- <imagedata align="center" fileref="images/Common/Videos.png" format="PNG" scale="90" width="444" />
- </imageobject>
- <imageobject role="fo">
- <imagedata align="center" contentwidth="130mm" fileref="images/Common/Videos.png" format="PNG" width="444" />
- </imageobject>
+ </varlistentry>
+ <varlistentry>
+ <term>Videos</term>
+ <listitem>
+ <para>
+ A link to <ulink type="http" url="http://vimeo.com/channels/gatein">videos</ulink> related to the JBoss Enterprise Portal Platform is also included on the front page:
+ </para>
+ <mediaobject>
+ <imageobject role="html">
+ <imagedata align="center" fileref="images/Common/Videos.png" format="PNG" scale="90" width="444" />
+ </imageobject>
+ <imageobject role="fo">
+ <imagedata align="center" contentwidth="130mm" fileref="images/Common/Videos.png" format="PNG" width="444" />
+ </imageobject>
- </mediaobject>
+ </mediaobject>
- </listitem>
+ </listitem>
- </varlistentry>
+ </varlistentry>
- </variablelist>
+ </variablelist>
- </section>
-
+ </section>
+
</chapter>
Modified: epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/PortalDevelopment/Skinning.xml
===================================================================
--- epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/PortalDevelopment/Skinning.xml 2011-11-09 21:18:17 UTC (rev 8017)
+++ epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/PortalDevelopment/Skinning.xml 2011-11-10 02:39:06 UTC (rev 8018)
@@ -176,7 +176,7 @@
JBoss Enterprise Portal Platform automatically discovers web archives that contain a file descriptor for skins (<filename>WEB-INF/gatein-resources.xml</filename>). This file is responsible for specifying the portal, portlet and window decorators to be deployed into the skin service.
</para>
<para>
- The full schema can be found at: <ulink type="http" url="http://www.gatein.org/xml/ns/gatein_resources_1_0" />.
+ The full schema can be found at: <ulink type="http" url="http://www.gatein.org/xml/ns/gatein_resources_1_2" />.
</para>
<para>
Below is an example of where to define a skin (<literal>MySkin</literal>) with its CSS location, and specify some window decorator skins:
@@ -236,7 +236,7 @@
</varlistentry>
<varlistentry>
- <term>skin/Stylesheet.CSS</term>
+ <term>skin/Stylesheet.css</term>
<listitem>
<para>
This file is the main portal skin stylesheet. It is the main entry point to the CSS class definitions for the skin. The main content points of this file are:
@@ -361,7 +361,7 @@
In order for the default skin to display the skin icon for a new portal skin, the preview screenshot needs to be placed in: <filename>01eXoResources.war:/skin/DefaultSkin/portal/webui/component/customization/UIChangeSkinForm/background</filename>.
</para>
<para>
- The CSS stylesheet for the default portal needs to have the following updated with the preview icon CSS class. For a skin named <emphasis role="bold">MySkin</emphasis> then the following needs to be updated: <filename>01eXoResources.war:/skin/DefaultSkin/portal/webui/component/customization/UIChangeSkinForm/Stylesheet.CSS</filename>.
+ The CSS stylesheet for the default portal needs to have the following updated with the preview icon CSS class. For a skin named <emphasis role="bold">MySkin</emphasis> then the following needs to be updated: <filename>01eXoResources.war:/skin/DefaultSkin/portal/webui/component/customization/UIChangeSkinForm/Stylesheet.css</filename>.
</para>
<programlisting language="XML" role="XML"><xi:include href="../../extras/PortalDevelopment_Skinning/default188.xml" parse="text" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
@@ -417,7 +417,7 @@
In order for the skin service to display the window decorators, it must have CSS classes specifically named in relation to the window style name. The service will try and display CSS based on this naming convention. The CSS class must be included as part of the current portal skin for the window decorators to be displayed.
</para>
<para>
- The location of the window decorator CSS classes for the default portal theme is located at: <filename>01eXoResources.war/skin/PortletThemes/Stylesheet.CSS</filename>.
+ The location of the window decorator CSS classes for the default portal theme is located at: <filename>01eXoResources.war/skin/PortletThemes/Stylesheet.css</filename>.
</para>
<para>
@@ -522,7 +522,7 @@
The portlet specification defines a set of default CSS classes that should be available for portlets. These classes are included as part of the portal skin. Please see the portlet specification for a list of the default classes that should be available.
</para>
<para>
- For the default portal skin, the portlet specification CSS classes are defined in: <filename>01eXoResources.war/skin/Portlet/Stylesheet.CSS</filename>.
+ For the default portal skin, the portlet specification CSS classes are defined in: <filename>01eXoResources.war/skin/Portlet/Stylesheet.css</filename>.
</para>
</section>
13 years, 1 month
gatein SVN: r8017 - portal/trunk/docs/reference-guide/en-US/modules/AuthenticationAndIdentity.
by do-not-reply@jboss.org
Author: mposolda
Date: 2011-11-09 16:18:17 -0500 (Wed, 09 Nov 2011)
New Revision: 8017
Modified:
portal/trunk/docs/reference-guide/en-US/modules/AuthenticationAndIdentity/SSO.xml
Log:
GTNPORTAL-2257 Upgrade SPNEGO integration documentation
Modified: portal/trunk/docs/reference-guide/en-US/modules/AuthenticationAndIdentity/SSO.xml
===================================================================
--- portal/trunk/docs/reference-guide/en-US/modules/AuthenticationAndIdentity/SSO.xml 2011-11-09 18:07:04 UTC (rev 8016)
+++ portal/trunk/docs/reference-guide/en-US/modules/AuthenticationAndIdentity/SSO.xml 2011-11-09 21:18:17 UTC (rev 8017)
@@ -993,7 +993,7 @@
<para>A typical use case is the following:</para>
<procedure>
<step>
- <para>Users logs into his desktop (Such as a Windows machine).</para>
+ <para>User logs into his desktop (Such as a Windows machine).</para>
</step>
<step>
<para>The desktop login is governed by Active Directory domain.</para>
@@ -1008,7 +1008,7 @@
</step>
<step>
<para>JBoss EAP/AS uses background GSS messages with the Active
- Directory (or any Kerberos Server) to validate the user.</para>
+ Directory (or any Kerberos Server) to validate the Kerberos ticket from user.</para>
</step>
<step>
<para>The User has seamless SSO into the web application.</para>
@@ -1017,19 +1017,25 @@
<section id="SPNEGO_server_configuration">
<title>SPNEGO Server Configuration</title>
+ <para>
+ In this section, we will describe some necessary steps for setup Kerberos server on Linux. This server will then be used for SPNEGO authentication against &PRODUCT;
+ </para>
<note>
- <para>Information stated here only describes basic steps for you to configure the SPNEGO server. If you are already familiar with SPNEGO, jump to the <xref linkend="Single_Sign_On-SPNEGO-GateIn_Configuration" /> to see how to integrate SPNEGO with &PRODUCT;.</para>
+ <para>If you don't have Linux but you are using Windows and Active Directory domain,
+ then these informations are not important for you and you may jump to the <xref linkend="Single_Sign_On-SPNEGO-GateIn_Configuration" /> to see how to integrate SPNEGO with &PRODUCT;.
+ Please note that Kerberos setup is also dependent on your Linux distribution and so steps can be slightly different in your environment.
+ </para>
</note>
<procedure>
<step>
- <para>Correct the setup of network on the machine. For example, if you are using the "server.local.network" domain as your machine where Kerberos and &PRODUCT; are localed,
- add the line containing the machine's IP address to the <emphasis role="bold">/etc/host </emphasis> file.
+ <para>Correct the setup of network on the machine. For example, if you are using the "server.local.network" domain as your machine where Kerberos and &PRODUCT; are located,
+ add the line containing the machine's IP address to the <emphasis role="bold">/etc/hosts</emphasis> file.
</para>
<programlisting>
192.168.1.88 server.local.network
</programlisting>
<note>
- <para>It is not recommended you use loopback addresses.</para>
+ <para>It is not recommended to use loopback addresses.</para>
</note>
</step>
<step>
@@ -1183,11 +1189,20 @@
</programlisting>
<itemizedlist>
<listitem>
- <para>If the setup works well, you are required to enter the password created for this user in Step 5.</para>
+ <para>If the setup works well, you are required to enter the password created for this user in Step 5.
+ Without the -A, the kerberos ticket validation involved reverse DNS lookups, which can get very cumbersome to debug if your network's DNS setup is not great.
+ This is a production level security feature, which is not necessary in this development setup. In production environment, it will be better to avoid -A option.
+ </para>
</listitem>
<listitem>
- <para>If you want to login with another user, use this command.</para>
+ <para>After successful login to Kerberos, you can see your Kerberos ticket when using this command.</para>
<programlisting>
+klist
+</programlisting>
+ </listitem>
+ <listitem>
+ <para>If you want to logout and destroy your ticket, use this command.</para>
+<programlisting>
kdestroy
</programlisting>
</listitem>
@@ -1195,6 +1210,31 @@
</step>
</procedure>
</section>
+ <section id="Single_Sign_On-CAS_Central_Clients">
+ <title>Clients</title>
+ <para>After performing all configurations above, you need to enable the <emphasis role="bold">Negotiate authentication </emphasis> of Firefox in client machines so that clients could be authenticated by &PRODUCT; as follows:
+ </para>
+ <procedure>
+ <step>
+ <para>Start Firefox, then enter the command: <emphasis role="bold">about:config </emphasis> into the address field.</para>
+ </step>
+ <step>
+ <para>Enter <emphasis role="bold">network.negotiate-auth</emphasis> and set the value as below:</para>
+<programlisting>
+network.negotiate-auth.allow-proxies = true
+network.negotiate-auth.delegation-uris = .local.network
+network.negotiate-auth.gsslib (no-value)
+network.negotiate-auth.trusted-uris = .local.network
+network.negotiate-auth.using-native-gsslib = true
+</programlisting>
+ </step>
+ </procedure>
+ <note>
+ <para>
+ Consult documentation of your OS or web browser if using different browser than Firefox.
+ </para>
+ </note>
+ </section>
<section id="Single_Sign_On-SPNEGO-GateIn_Configuration">
<title>&PRODUCT; Configuration</title>
<para>&PRODUCT; uses JBoss Negotiation to enable SPNEGO-based desktop
@@ -1204,10 +1244,8 @@
<procedure>
<step>
<para>
- Activate the Host authentication under the <emphasis role="bold">conf/login-config.xml </emphasis> file adding the following host login module:
+ Activate the Host authentication under the <emphasis role="bold">JBOSS_HOME/server/default/conf/login-config.xml </emphasis> file by adding the following host login module:
</para>
-
- Under conf/login-config.xml, add the following host login module:
<programlisting><![CDATA[<!-- SPNEGO domain -->
<application-policy name="host">
<authentication>
@@ -1223,15 +1261,17 @@
</application-policy>
]]></programlisting>
- <para>The 'keyTab' value should point to the keytab file that was
- generated by the kadmin kerberos tool. See the <xref linkend="SPNEGO_server_configuration"/> section for more details.
+ <para>
+ The 'keyTab' value should point to the keytab file that was
+ generated by the kadmin kerberos tool. When using Kerberos on Linux, it should be value of parameter <emphasis role="bold">admin_keytab</emphasis> from kdc.conf file.
+ See the <xref linkend="SPNEGO_server_configuration"/> section for more details.
</para>
</step>
<step>
<para>
Extend the core authentication mechanisms to support SPNEGO under
- <emphasis role="bold">deployers/jbossweb.deployer/META-INF/war-deployers-jboss-beans.xml</emphasis> by
+ <emphasis role="bold">JBOSS_HOME/server/default/deployers/jbossweb.deployer/META-INF/war-deployers-jboss-beans.xml</emphasis> by
adding the 'SPNEGO' authenticators property.
</para>
@@ -1239,83 +1279,169 @@
<![CDATA[<deployment xmlns="urn:jboss:bean-deployer:2.0">
<property name="authenticators">
<map class="java.util.Properties" keyClass="java.lang.String" valueClass="java.lang.String">
- <entry>
- <key>BASIC</key>
- <value>org.apache.catalina.authenticator.BasicAuthenticator</value>
- </entry>
- <entry>
- <key>CLIENT-CERT</key>
- <value>org.apache.catalina.authenticator.SSLAuthenticator</value>
- </entry>
- <entry>
- <key>DIGEST</key>
- <value>org.apache.catalina.authenticator.DigestAuthenticator</value>
- </entry>
- <entry>
- <key>FORM</key>
- <value>org.apache.catalina.authenticator.FormAuthenticator</value>
- </entry>
- <entry>
- <key>NONE</key>
- <value>org.apache.catalina.authenticator.NonLoginAuthenticator</value>
- </entry>
+ <entry>
+ <key>BASIC</key>
+ <value>org.apache.catalina.authenticator.BasicAuthenticator</value>
+ </entry>
+ <entry>
+ <key>CLIENT-CERT</key>
+ <value>org.apache.catalina.authenticator.SSLAuthenticator</value>
+ </entry>
+ <entry>
+ <key>DIGEST</key>
+ <value>org.apache.catalina.authenticator.DigestAuthenticator</value>
+ </entry>
+ <entry>
+ <key>FORM</key>
+ <value>org.apache.catalina.authenticator.FormAuthenticator</value>
+ </entry>
+ <entry>
+ <key>NONE</key>
+ <value>org.apache.catalina.authenticator.NonLoginAuthenticator</value>
+ </entry>
- <!-- Add this entry -->
- <entry>
- <key>SPNEGO</key>
- <value>org.jboss.security.negotiation.NegotiationAuthenticator</value>
- </entry>
- </map>
+ <!-- Add this entry -->
+ <entry>
+ <key>SPNEGO</key>
+ <value>org.gatein.sso.spnego.GateInNegotiationAuthenticator</value>
+ </entry>
+ </map>
</property>
]]>
</programlisting>
</step>
<step>
- <para>Add the GateIn SSO module binaries by copying <emphasis role="bold">$GATEIN_SSO_HOME/spnego/gatein.ear/lib/sso-agent.jar</emphasis>, and <emphasis role="bold">$GATEIN_SSO_HOME/spnego/gatein.ear/lib/sso-spnego.jar</emphasis> to the <emphasis role="bold">deploy/gatein.ear/lib</emphasis> directory.
- </para>
+ <para>
+ Add the GateIn SSO module binaries by copying <emphasis role="bold">GATEIN_SSO_HOME/spnego/gatein.ear/lib/sso-agent-VERSION.jar</emphasis> to the <emphasis role="bold">JBOSS_HOME/server/default/deploy/gatein.ear/lib</emphasis> directory.
+ File <emphasis role="bold">GATEIN_SSO_HOME/spnego/gatein.ear/lib/spnego-VERSION.jar</emphasis> needs to be copied to the <emphasis role="bold">JBOSS_HOME/server/default/lib</emphasis> directory.
+ </para>
</step>
<step>
+ <para>
+ Download library <filename>jboss-negotiation-2.0.4.GA</filename> from location
+ <ulink type="html" url="https://repository.jboss.org/nexus/content/groups/public/org/jboss/securi...">https://repository.jboss.org/nexus/content/groups/public/org/jboss/securi...</ulink>
+ and copy this file to <filename>JBOSS_HOME/server/default/lib</filename> directory as well.
+ </para>
+ </step>
+ <step>
<para>
- Modify the <emphasis role="bold">deploy/gatein.ear/META-INF/gatein-jboss-beans.xml</emphasis> file as below, then comment on other parts.
- </para>
+ Modify the <emphasis role="bold">JBOSS_HOME/server/defaut/deploy/gatein.ear/META-INF/gatein-jboss-beans.xml</emphasis> file as below:
+ </para>
<programlisting language="xml"><![CDATA[
-<login-module code="org.gatein.sso.spnego.SPNEGOLoginModule" flag="required">
- <module-option name="password-stacking">useFirstPass</module-option>
- <module-option name="serverSecurityDomain">host</module-option>
-</login-module>
-<login-module code="org.gatein.sso.agent.login.SPNEGORolesModule" flag="required">
- <module-option name="password-stacking">useFirstPass</module-option>
- <module-option name="portalContainerName">portal</module-option>
- <module-option name="realmName">gatein-domain</module-option>
-</login-module>]]>
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+
+ <application-policy xmlns="urn:jboss:security-beans:1.0" name="gatein-form-auth-domain">
+ <authentication>
+ <login-module code="org.gatein.wci.security.WCILoginModule" flag="optional">
+ <module-option name="portalContainerName">portal</module-option>
+ <module-option name="realmName">gatein-domain</module-option>
+ </login-module>
+ <login-module code="org.exoplatform.services.security.jaas.SharedStateLoginModule" flag="required">
+ <module-option name="portalContainerName">portal</module-option>
+ <module-option name="realmName">gatein-domain</module-option>
+ </login-module>
+
+ <!-- Uncomment this part to check on each login if user is member of "/platform/users" group and if not
+ create such membership -->
+ <!--
+ <login-module code="org.exoplatform.services.organization.idm.CustomMembershipLoginModule" flag="required">
+ <module-option name="portalContainerName">portal</module-option>
+ <module-option name="realmName">gatein-domain</module-option>
+ <module-option name="membershipType">member</module-option>
+ <module-option name="groupId">/platform/users</module-option>
+ </login-module>
+ -->
+
+ <login-module code="org.exoplatform.services.security.j2ee.JbossLoginModule" flag="required">
+ <module-option name="portalContainerName">portal</module-option>
+<!-- logout needs to be performed from 'gatein-domain' as it is used for JaasSecurityManager. -->
+ <module-option name="realmName">gatein-domain</module-option>
+ </login-module>
+ </authentication>
+ </application-policy>
+
+
+ <application-policy xmlns="urn:jboss:security-beans:1.0" name="gatein-domain">
+ <authentication>
+ <login-module
+ code="org.gatein.sso.spnego.SPNEGOLoginModule"
+ flag="requisite">
+ <module-option name="password-stacking">useFirstPass</module-option>
+ <module-option name="serverSecurityDomain">host</module-option>
+ <module-option name="removeRealmFromPrincipal">true</module-option>
+ <module-option name="usernamePasswordDomain">gatein-form-auth-domain</module-option>
+ </login-module>
+ <login-module
+ code="org.gatein.sso.agent.login.SPNEGORolesModule"
+ flag="required">
+ <module-option name="password-stacking">useFirstPass</module-option>
+ <module-option name="portalContainerName">portal</module-option>
+ <module-option name="realmName">gatein-domain</module-option>
+ </login-module>
+ </authentication>
+ </application-policy>
+
+</deployment>
+]]>
</programlisting>
+ <para>
+ This activates SPNEGO LoginModules with fallback to FORM authentication. When SPNEGO is not available and it needs to fallback to FORM, it will use <emphasis role="bold">gatein-form-auth-domain</emphasis> security domain.
+ More details below.
+ </para>
</step>
<step>
<para>
- Modify <emphasis role="bold">gatein.ear/02portal.war/WEB-INF/web.xml</emphasis> as below.</para>
+ Modify <emphasis role="bold">JBOSS_HOME/server/default/deploy/gatein.ear/02portal.war/WEB-INF/web.xml</emphasis> as below.</para>
<programlisting language="xml"><![CDATA[
-<!--
-<login-config>
- <auth-method>FORM</auth-method>
- <realm-name>gatein-domain</realm-name>
- <form-login-config>
- <form-login-page>/initiatelogin</form-login-page>
- <form-error-page>/errorlogin</form-error-page>
- </form-login-config>
-</login-config>
+<!-- <login-config>
+ <auth-method>FORM</auth-method>
+ <realm-name>gatein-domain</realm-name>
+ <form-login-config>
+ <form-login-page>/initiatelogin</form-login-page>
+ <form-error-page>/errorlogin</form-error-page>
+ </form-login-config>
+ </login-config>
-->
-
-<login-config>
- <auth-method>SPNEGO</auth-method>
- <realm-name>SPNEGO</realm-name>
-</login-config>]]>
+ <login-config>
+ <auth-method>SPNEGO</auth-method>
+ <realm-name>SPNEGO</realm-name>
+ <form-login-config>
+ <form-login-page>/initiatelogin</form-login-page>
+ <form-error-page>/errorlogin</form-error-page>
+ </form-login-config>
+ </login-config>
+]]>
</programlisting>
- <para>This integrates SPNEGO support into the Portal web archive by switching the authentication mechanism from the default "FORM"-based to "SPNEGO"-based authentication.</para>
- </step>
- <step>
- <para>Integrate the request pre-processing needed for SPNEGO via filters by adding the following filters to the <emphasis role="bold">web.xml </emphasis> at the top of the Filter chain.</para>
+ <para>
+ This integrates SPNEGO support into the Portal web archive by switching the authentication mechanism from the default "FORM"-based to "SPNEGO"-based authentication.
+ You can notice that SPNEGO part also contains element <emphasis role="bold">form-login-config</emphasis>, which is needed if you want to enable fallback to FORM based authentication.
+ In this case, portal will try to authenticate user with his Kerberos ticket through SPNEGO. If user don't have Kerberos ticket, he will be redirected to FORM (&PRODUCT; login screen).
+ So first attempt is for login with SPNEGO and next attempt is for login with FORM, which is used only if login through SPNEGO is not successful (For example user don't have
+ valid Kerberos ticket or his browser doesn't support SPNEGO with our Kerberos server).
+ </para>
+ <para>
+ If you don't want fallback to FORM, you can disable form-login-config part and have only:
+ <programlisting language="xml"><![CDATA[
+ <login-config>
+ <auth-method>SPNEGO</auth-method>
+ <realm-name>SPNEGO</realm-name>
+<!-- <form-login-config>
+ <form-login-page>/initiatelogin</form-login-page>
+ <form-error-page>/errorlogin</form-error-page>
+ </form-login-config>
+-->
+ </login-config>
+]]>
+</programlisting>
+ In this case user needs to authenticate through SPNEGO and if that fails, FORM is not shown but user has authentication error with HTTP code 401.
+ </para>
+ </step>
+ <step>
+ <para>Integrate the request pre-processing needed for SPNEGO via filters by adding the following filters to the
+ <emphasis role="bold">JBOSS_HOME/server/default/deploy/gatein.ear/02portal.war/WEB-INF/web.xml</emphasis> at the top of the Filter chain.
+ </para>
<programlisting><![CDATA[
<filter>
@@ -1325,51 +1451,60 @@
<!-- This should point to your SSO authentication server -->
<param-name>LOGIN_URL</param-name>
<param-value>/portal/private/classic</param-value>
- </init-param>
+ </init-param>
</filter>
+
+<filter>
+ <filter-name>SPNEGOFilter</filter-name>
+ <filter-class>org.gatein.sso.agent.filter.SPNEGOFilter</filter-class>
+</filter>
+
<filter-mapping>
<filter-name>LoginRedirectFilter</filter-name>
<url-pattern>/*</url-pattern>
-</filter-mapping>]]>
+</filter-mapping>
+
+<filter-mapping>
+ <filter-name>SPNEGOFilter</filter-name>
+ <url-pattern>/login</url-pattern>
+</filter-mapping>
+]]>
</programlisting>
- </step>
- <step>
+ </step>
+ <step>
+ <para>
+ In <filename>JBOSS_HOME/server/default/deploy/gatein.ear/web.war/groovy/groovy/webui/component/UIBannerPortlet.gtml</filename> file modify the 'Sign In' link as follows:
+<programlisting>
+<![CDATA[
+<!--
+<a class="Login" onclick="$signInAction"><%=_ctx.appRes("UILoginForm.label.Signin")%></a>
+-->
+<a class="Login" href="/portal/sso"><%=_ctx.appRes("UILoginForm.label.Signin")%></a>
+]]>
+</programlisting>
+ </para>
+ </step>
+ <step>
<para>
- Start the &PRODUCT; portal using the command below.</para>
- <programlisting>sudo ./run.sh -Djava.security.krb5.realm=LOCAL.NETWORK -Djava.security.krb5.kdc=server.local.network -c PROFILE -b server.local.network</programlisting>
- <para>The PROFILE parameter in the above command should be replaced with the server profile modified in the above configuration. For example, if you are configuring the default profile, your command will be.</para>
- <programlisting>sudo ./run.sh -Djava.security.krb5.realm=LOCAL.NETWORK -Djava.security.krb5.kdc=server.local.network -c default -b server.local.network</programlisting>
- </step>
- <step>
+ Start the &PRODUCT; portal using the command below.
+ </para>
+ <programlisting>sudo ./run.sh -Djava.security.krb5.realm=LOCAL.NETWORK -Djava.security.krb5.kdc=server.local.network -c default -b server.local.network</programlisting>
+ </step>
+ <step>
<para>Login to Kerberos with the command.</para>
<programlisting>kinit -A demo</programlisting>
<para>You should be able to click the 'Sign In' link on the &PRODUCT; portal
and the 'demo' user from the &PRODUCT; portal should be automatically
- logged in.</para>
+ logged in.
+ </para>
</step>
+ <step>
+ <para>
+ Let's try to destroy kerberos ticket with command <programlisting>kdestroy</programlisting> Then try to login again. You will now be placed to login screen of &PRODUCT; because you don't have active Kerberos ticket. You can login with predefined account and password "demo"/"gtn" .
+ </para>
+ </step>
</procedure>
</section>
- <section id="Single_Sign_On-CAS_Central_Clients">
- <title>Clients</title>
- <para>After performing all configurations above, you need to enable the <emphasis role="bold">Negotiate authentication </emphasis> of Firefox in clients so that clients could be authenticated by &PRODUCT; as follows:
- </para>
- <procedure>
- <step>
- <para>Start Firefox, then enter the command: <emphasis role="bold">about:config </emphasis> into the address field.</para>
- </step>
- <step>
- <para>Enter <emphasis role="bold">network.negotiate-auth</emphasis> and set the value as below:</para>
-<programlisting>
-network.negotiate-auth.allow-proxies = true
-network.negotiate-auth.delegation-uris = .local.network
-network.negotiate-auth.gsslib (no-value)
-network.negotiate-auth.trusted-uris = .local.network
-network.negotiate-auth.using-native-gsslib = true
-</programlisting>
- </step>
- </procedure>
</section>
- </section>
</section>
-
13 years, 1 month
gatein SVN: r8016 - in portal/trunk/packaging: jboss-as6/pkg/src/main/resources/jboss/server/default/deploy/gatein.ear/META-INF and 1 other directory.
by do-not-reply@jboss.org
Author: mposolda
Date: 2011-11-09 13:07:04 -0500 (Wed, 09 Nov 2011)
New Revision: 8016
Modified:
portal/trunk/packaging/jboss-as5/pkg/src/main/resources/jboss/server/default/deploy/gatein.ear/META-INF/gatein-jboss-beans.xml
portal/trunk/packaging/jboss-as6/pkg/src/main/resources/jboss/server/default/deploy/gatein.ear/META-INF/gatein-jboss-beans.xml
Log:
GTNPORTAL-2265 Use options in SSOLoginModule example in gatein-jboss-beans.xml
Modified: portal/trunk/packaging/jboss-as5/pkg/src/main/resources/jboss/server/default/deploy/gatein.ear/META-INF/gatein-jboss-beans.xml
===================================================================
--- portal/trunk/packaging/jboss-as5/pkg/src/main/resources/jboss/server/default/deploy/gatein.ear/META-INF/gatein-jboss-beans.xml 2011-11-09 17:31:28 UTC (rev 8015)
+++ portal/trunk/packaging/jboss-as5/pkg/src/main/resources/jboss/server/default/deploy/gatein.ear/META-INF/gatein-jboss-beans.xml 2011-11-09 18:07:04 UTC (rev 8016)
@@ -28,10 +28,12 @@
</login-module>
</authentication>
- <!-- Uncomment this part (and comment the other part for CAS integration -->
+ <!-- Uncomment this part (and comment the other parts) for CAS, JOSSO or OpenSSO integration -->
<!--
<authentication>
<login-module code="org.gatein.sso.agent.login.SSOLoginModule" flag="required">
+ <module-option name="portalContainerName">portal</module-option>
+ <module-option name="realmName">gatein-domain</module-option>
</login-module>
<login-module code="org.exoplatform.services.security.j2ee.JbossLoginModule" flag="required">
<module-option name="portalContainerName">portal</module-option>
Modified: portal/trunk/packaging/jboss-as6/pkg/src/main/resources/jboss/server/default/deploy/gatein.ear/META-INF/gatein-jboss-beans.xml
===================================================================
--- portal/trunk/packaging/jboss-as6/pkg/src/main/resources/jboss/server/default/deploy/gatein.ear/META-INF/gatein-jboss-beans.xml 2011-11-09 17:31:28 UTC (rev 8015)
+++ portal/trunk/packaging/jboss-as6/pkg/src/main/resources/jboss/server/default/deploy/gatein.ear/META-INF/gatein-jboss-beans.xml 2011-11-09 18:07:04 UTC (rev 8016)
@@ -28,10 +28,12 @@
</login-module>
</authentication>
- <!-- Uncomment this part (and comment the other part for CAS integration -->
+ <!-- Uncomment this part (and comment the other parts) for CAS, JOSSO or OpenSSO integration -->
<!--
<authentication>
<login-module code="org.gatein.sso.agent.login.SSOLoginModule" flag="required">
+ <module-option name="portalContainerName">portal</module-option>
+ <module-option name="realmName">gatein-domain</module-option>
</login-module>
<login-module code="org.exoplatform.services.security.j2ee.JbossLoginModule" flag="required">
<module-option name="portalContainerName">portal</module-option>
13 years, 1 month
gatein SVN: r8015 - portal/trunk/docs/reference-guide/en-US/modules/AuthenticationAndIdentity.
by do-not-reply@jboss.org
Author: mposolda
Date: 2011-11-09 12:31:28 -0500 (Wed, 09 Nov 2011)
New Revision: 8015
Modified:
portal/trunk/docs/reference-guide/en-US/modules/AuthenticationAndIdentity/SSO.xml
Log:
GTNPORTAL-2264 Upgrade SSO documentation for SSO 1.1.0-GA
Modified: portal/trunk/docs/reference-guide/en-US/modules/AuthenticationAndIdentity/SSO.xml
===================================================================
--- portal/trunk/docs/reference-guide/en-US/modules/AuthenticationAndIdentity/SSO.xml 2011-11-09 04:33:29 UTC (rev 8014)
+++ portal/trunk/docs/reference-guide/en-US/modules/AuthenticationAndIdentity/SSO.xml 2011-11-09 17:31:28 UTC (rev 8015)
@@ -19,14 +19,11 @@
In this tutorial, the SSO server is installed in a Tomcat installation. Tomcat can be obtained from <ulink type="http" url="http://tomcat.apache.org">http://tomcat.apache.org</ulink>.
</para>
<para>
- All the packages required for setup can be found in a zip file located at <ulink type="http" url="https://repository.jboss.org/nexus/content/groups/public/org/gatein/sso/s...">here</ulink>. In this document, $GATEIN_SSO_HOME is called as the directory where the file is extracted.
+ All the packages required for setup can be found in a zip file located at <ulink type="http" url="https://repository.jboss.org/nexus/content/groups/public/org/gatein/sso/s...">here</ulink>. In this document, $GATEIN_SSO_HOME is called as the directory where the file is extracted.
</para>
<para>
Users are advised to not run any portal extensions that could override the data when manipulating the <filename>gatein.ear</filename> file directly.
</para>
- <para>
- Remove <literal>$JBOSS_HOME/server/default/deploy/gatein-sample-extension.ear</literal> and <literal>$JBOSS_HOME/server/default/deploy/gatein-sample-portal.ear</literal> which are packaged by default with &PRODUCT;.
- </para>
</section>
</section>
@@ -34,7 +31,7 @@
<section id="sect-Reference_Guide-Single_Sign_On-CAS_Central_Authentication_Service">
<title>Central Authentication Service (CAS)</title>
<para>
- This Single Sign On plugin enables seamless integration between &PRODUCT; and the CAS Single Sign On Framework. Details about CAS can be found <ulink url="http://www.ja-sig.org/products/cas/">here</ulink>.
+ This Single Sign On plugin enables seamless integration between &PRODUCT; and the CAS Single Sign On Framework. Details about CAS can be found <ulink url="http://www.jasig.org/cas">here</ulink>.
</para>
<para>
The integration consists of two parts; the first part consists of installing or configuring a CAS server, the second part consists of setting up the portal to use the CAS server.
@@ -48,9 +45,10 @@
<title>Obtaining CAS</title>
<para>
CAS can be downloaded from <ulink type="http" url="http://www.jasig.org/cas/download">http://www.jasig.org/cas/download</ulink>.
+ Tested version, which should work with these instructions is <emphasis role="bold">CAS 3.3.5</emphasis>, however other versions can also work without problems.
</para>
<para>
- Extract the downloaded file into a suitable location. This location will be referred to as <literal>$CAS_HOME</literal> in the following example.
+ Extract the downloaded file into a suitable location. This location will be referred to as <literal>$CAS_HOME</literal> in the following instructions.
</para>
</section>
@@ -220,14 +218,19 @@
<para>
In JBoss AS, edit <filename>gatein.ear/META-INF/gatein-jboss-beans.xml</filename> and uncomment on this section:
</para>
-<programlisting><authentication>
- <login-module code="org.gatein.sso.agent.login.SSOLoginModule" flag="required">
- </login-module>
- <login-module code="org.exoplatform.services.security.j2ee.JbossLoginModule" flag="required">
- <module-option name="portalContainerName">portal</module-option>
- <module-option name="realmName">gatein-domain</module-option>
- </login-module>
-</authentication>
+<programlisting>
+<![CDATA[
+<authentication>
+ <login-module code="org.gatein.sso.agent.login.SSOLoginModule" flag="required">
+ <module-option name="portalContainerName">portal</module-option>
+ <module-option name="realmName">gatein-domain</module-option>
+ </login-module>
+ <login-module code="org.exoplatform.services.security.j2ee.JbossLoginModule" flag="required">
+ <module-option name="portalContainerName">portal</module-option>
+ <module-option name="realmName">gatein-domain</module-option>
+ </login-module>
+</authentication>
+]]>
</programlisting>
</listitem>
@@ -326,7 +329,7 @@
<!-- If casRenewTicket param value of InitiateLoginServlet is: not specified or false -->
<param-value>http://localhost:8888/cas/login?service=http://localhost:8080/portal/init...</param-value>
<!-- If casRenewTicket param value of InitiateLoginServlet is : true -->
- <!-- <param-value>http://localhost:8888/cas/login? service=http://localhost:8080/portal/initiatessologin&renew=true</param-value> -->
+ <!-- <param-value>http://localhost:8888/cas/login?service=http://localhost:8080/portal/init...</param-value> -->
</init-param>
</filter>
<filter>
@@ -492,14 +495,19 @@
<para>
In JBoss AS, edit <filename>gatein.ear/META-INF/gatein-jboss-beans.xml</filename> and uncomment this section:
</para>
-<programlisting><authentication>
- <login-module code="org.gatein.sso.agent.login.SSOLoginModule" flag="required">
- </login-module>
- <login-module code="org.exoplatform.services.security.j2ee.JbossLoginModule" flag="required">
- <module-option name="portalContainerName">portal</module-option>
- <module-option name="realmName">gatein-domain</module-option>
- </login-module>
-</authentication>
+<programlisting>
+<![CDATA[
+<authentication>
+ <login-module code="org.gatein.sso.agent.login.SSOLoginModule" flag="required">
+ <module-option name="portalContainerName">portal</module-option>
+ <module-option name="realmName">gatein-domain</module-option>
+ </login-module>
+ <login-module code="org.exoplatform.services.security.j2ee.JbossLoginModule" flag="required">
+ <module-option name="portalContainerName">portal</module-option>
+ <module-option name="realmName">gatein-domain</module-option>
+ </login-module>
+</authentication>
+]]>
</programlisting>
</listitem>
<listitem>
@@ -667,6 +675,12 @@
<para>
Once downloaded, extract the package into a suitable location. This location will be referred to as <filename>OPENSSO_HOME</filename> in this example.
</para>
+ <note>
+ <para>
+ There is also possibility to use OpenAM instead of OpenSSO server. OpenAM is free and integration steps with &PRODUCT; and OpenAM are very similar as with OpenSSO. More info is
+ <ulink type="http" url="http://community.jboss.org/wiki/GateInAndOpenAMIntegration">here</ulink> .
+ </para>
+ </note>
</section>
<section id="sect-Reference_Guide-OpenSSO_server-Modifying_OpenSSO_server">
@@ -759,22 +773,22 @@
<para>Create default configuration</para>
</step>
<step>
- <para>Login as <literal>amadmin</literal> and then go to tab "Configuration" -> tab "Authentication" -> link "Core" ->
- add new value and fill in the class name "org.gatein.sso.opensso.plugin.AuthenticationPlugin".
+ <para>Login as <literal>amadmin</literal> and then go to tab <emphasis role="bold">Configuration</emphasis> -> tab <emphasis role="bold">Authentication</emphasis> -> link <emphasis role="bold">Core</emphasis> ->
+ add new value and fill in the class name <emphasis role="bold">org.gatein.sso.opensso.plugin.AuthenticationPlugin</emphasis>.
This step is really important. Without it AuthenticationPlugin is not available among other OpenSSO authentication modules.
</para>
</step>
<step>
- <para>Go to tab "Access control" and create new realm called "gatein".</para>
+ <para>Go to tab <emphasis role="bold">Access control</emphasis> and create new realm called <emphasis role="bold">gatein</emphasis>.</para>
</step>
<step>
- <para>Go to "gatein" realm and click on "Authentication" tab. At the bottom in the section "Authentication chaining" click on "ldapService".
- Here change the selection from "Datastore", which is the default module in the authentication chain, to "AuthenticationPlugin".
+ <para>Go to "gatein" realm and click on <emphasis role="bold">Authentication</emphasis> tab. At the bottom in the section <emphasis role="bold">Authentication chaining</emphasis> click on <emphasis role="bold">ldapService</emphasis>.
+ Here change the selection from "Datastore", which is the default module in the authentication chain, to <emphasis role="bold">AuthenticationPlugin</emphasis>.
This enables authentication of "gatein" realm by using GateIn REST service instead of the OpenSSO LDAP server.</para>
</step>
<step>
<para>
- Go to "Advanced properties" and change UserProfile from "Required" to "Dynamic". This step is needed
+ Go to <emphasis role="bold">Advanced properties</emphasis> and change UserProfile from "Required" to <emphasis role="bold">Dynamic</emphasis>. This step is needed
because &PRODUCT; users are not in OpenSSO Datastore (LDAP server), so their profiles can't be obtained
if "Required" is active. By using "Dynamic" all new users are automatically
created in OpenSSO datastore after successful authentication.
@@ -782,8 +796,8 @@
</step>
<step>
<para>
- Increase the user privileges to allow REST access. Go to "Access control" ->
- Top level realm -> "Privileges" tab -> All authenticated users, and check the last two checkboxes:
+ Increase the user privileges to allow REST access. Go to <emphasis role="bold">Access control</emphasis> ->
+ <emphasis role="bold">Top level realm</emphasis> -> <emphasis role="bold">Privileges</emphasis> tab -> <emphasis role="bold">All authenticated users</emphasis>, and check the last two checkboxes:
<itemizedlist>
<listitem><para>Read and write access only for policy properties</para></listitem>
<listitem><para>Read and write access to all realm and policy properties</para></listitem>
@@ -791,7 +805,7 @@
</para>
</step>
<step>
- <para>Do the same for "gatein" realm.</para>
+ <para>Repeat previous step with increasing privileges for <emphasis role="bold">gatein</emphasis> realm as well.</para>
</step>
</procedure>
</section>
@@ -811,14 +825,19 @@
<para>
In JBoss AS, edit gatein.ear/META-INF/gatein-jboss-beans.xml and uncomment this section
</para>
-<programlisting><authentication>
- <login-module code="org.gatein.sso.agent.login.SSOLoginModule" flag="required">
- </login-module>
- <login-module code="org.exoplatform.services.security.j2ee.JbossLoginModule" flag="required">
- <module-option name="portalContainerName">portal</module-option>
- <module-option name="realmName">gatein-domain</module-option>
- </login-module>
-</authentication>
+<programlisting>
+<![CDATA[
+<authentication>
+ <login-module code="org.gatein.sso.agent.login.SSOLoginModule" flag="required">
+ <module-option name="portalContainerName">portal</module-option>
+ <module-option name="realmName">gatein-domain</module-option>
+ </login-module>
+ <login-module code="org.exoplatform.services.security.j2ee.JbossLoginModule" flag="required">
+ <module-option name="portalContainerName">portal</module-option>
+ <module-option name="realmName">gatein-domain</module-option>
+ </login-module>
+</authentication>
+]]>
</programlisting>
</listitem>
13 years, 1 month
gatein SVN: r8014 - in epp/docs/branches/5.2: Reference_Guide/en-US/modules/PortalDevelopment and 5 other directories.
by do-not-reply@jboss.org
Author: smumford
Date: 2011-11-08 23:33:29 -0500 (Tue, 08 Nov 2011)
New Revision: 8014
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/Book_Info.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/Revision_History.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/configuration/exo-jcr-configuration.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/repository-check-controller.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/AuthenticationAndIdentity/SSO.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/PortalDevelopment/Skinning.xml
epp/docs/branches/5.2/Reference_Guide/en-US/modules/AuthenticationAndIdentity/SSO.xml
epp/docs/branches/5.2/Reference_Guide/en-US/modules/PortalDevelopment/Skinning.xml
Log:
Edits and porting recent updates from ref-guide-eXo-JCR version to standard ref-guide
Modified: epp/docs/branches/5.2/Reference_Guide/en-US/modules/AuthenticationAndIdentity/SSO.xml
===================================================================
--- epp/docs/branches/5.2/Reference_Guide/en-US/modules/AuthenticationAndIdentity/SSO.xml 2011-11-09 03:30:26 UTC (rev 8013)
+++ epp/docs/branches/5.2/Reference_Guide/en-US/modules/AuthenticationAndIdentity/SSO.xml 2011-11-09 04:33:29 UTC (rev 8014)
@@ -57,10 +57,13 @@
<para>
Users are advised to not run any portal extensions that could override the data when manipulating the <filename>gatein.ear</filename> file directly.
</para>
+ <para>
+ Remove <filename>JBOSS_HOME/server/PROFILE/deploy/gatein-sample-extension.ear</filename> and <filename>JBOSS_HOME/server/PROFILE/deploy/gatein-sample-portal.ear</filename> which are packaged by default with &PRODUCT;.
+ </para>
</warning>
</section>
- <section>
+ <section id="sect-Reference_Guide-SSO_Single_Sign_On-Enabling_SSO_using_JBoss_SSO_Valve">
<title>Enabling SSO using JBoss SSO Valve</title>
<!-- Source Metadata
URL: https://issues.jboss.org/browse/JBQA-4530
@@ -189,8 +192,8 @@
Once the JBoss SSO Valve has been enabled, it can be tested with the following steps:
</para>
</formalpara>
- <procedure>
- <title>Testing the SSO Vavle</title>
+ <procedure id="proc-Reference_Guide-Enabling_SSO_using_JBoss_SSO_Valve-Testing_the_SSO_Valve">
+ <title>Testing the SSO Valve</title>
<step>
<para>
Copy the <replaceable><PROFILE></replaceable> you enabled the valve in (<literal>all</literal>, for example) into two new profiles called <literal>node1</literal> and <literal>node2</literal>.
@@ -398,6 +401,9 @@
To perform the final build step and complete these instructions you will need the Apache Maven 2. Download it from <ulink type="http" url="http://maven.apache.org/download.html">here</ulink>.
</para>
</note>
+ <para>
+ Change the default authentication handler with the one provided by JBoss Enterprise Portal Platform.
+ </para>
<para>
The CAS Server Plugin makes secure callbacks to a RESTful service installed on the remote JBoss Enterprise Portal Platform server to authenticate a user.
</para>
@@ -418,7 +424,7 @@
<programlisting language="XML" role="XML"><xi:include href="../../extras/Authentication_Identity_SSO/default102.xml" parse="text" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
<para>
- with:
+ with the following (ensure you set the host, port and context with the values corresponding to your portal). Also available in <filename>GATEIN_SSO_HOME/cas/plugin/WEB-INF/deployerConfigContext.xml</filename>.):
</para>
<programlisting language="XML" role="XML"><xi:include href="../../extras/Authentication_Identity_SSO/default103.xml" parse="text" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
@@ -481,16 +487,15 @@
<note>
<remark>Added in gatein commit r7620</remark>
<para>
- By default on logout the CAS server will display the CAS logout page with a link to return to the portal. To make the CAS server redirect to the portal page after a logout, modify the
- <filename>cas.war/WEB-INF/cas-servlet.xml</filename> to include the follow line :
+ On logout, the CAS server will display the CAS logout page with a link to return to the portal. To make the CAS server redirect to the portal page after a logout, modify the <filename>cas.war/WEB-INF/cas-servlet.xml</filename> to include the follow line :
</para>
<programlisting>
-<bean id="logoutController" class="org.jasig.cas.web.LogoutController"
- p:centralAuthenticationService-ref="centralAuthenticationService"
- p:logoutView="casLogoutView"
- p:warnCookieGenerator-ref="warnCookieGenerator"
- p:ticketGrantingTicketCookieGenerator-ref="ticketGrantingTicketCookieGenerator"
- p:followServiceRedirects="true"/>
+<bean id="logoutController" class="org.jasig.cas.web.LogoutController"
+ p:centralAuthenticationService-ref="centralAuthenticationService"
+ p:logoutView="casLogoutView"
+ p:warnCookieGenerator-ref="warnCookieGenerator"
+ p:ticketGrantingTicketCookieGenerator-ref="ticketGrantingTicketCookieGenerator"
+ p:followServiceRedirects="true"/>
</programlisting>
</note>
@@ -510,6 +515,14 @@
<para>
There's a line comment already in this source file to assist you.
</para>
+ <para>
+ In Tomcat, edit <filename>GATEIN_HOME/conf/jaas.conf</filename>, uncomment on this section and comment other parts:
+ </para>
+<programlisting>org.gatein.sso.agent.login.SSOLoginModule required;
+org.exoplatform.services.security.j2ee.TomcatLoginModule required
+portalContainerName=portal
+realmName=gatein-domain;
+</programlisting>
</step>
<step>
<para>
@@ -606,6 +619,13 @@
<para>
Extract the package into what will be called <filename>JOSSO_HOME</filename> in this example.
</para>
+ <warning>
+ <title>JOSSO Versions</title>
+
+ <para>
+ The steps described later are only correct in case of JOSSO v.1.8.1.
+ </para>
+ </warning>
</step>
</procedure>
@@ -649,7 +669,11 @@
</step>
<step>
<para>
- Tomcat should now start and allow access to <ulink type="http" url="http://localhost:8888/josso/signon/login.do">http://localhost:8888/josso/signon/login.do</ulink> but at this stage login will not be available.
+ Tomcat will start and allow access to
+ <ulink type="http" url="http://localhost:8888/josso/signon/login.do">
+ http://localhost:8888/josso/signon/login.do
+ </ulink>
+ but at this stage login will not be available.
</para>
<mediaobject>
<imageobject>
@@ -766,12 +790,11 @@
OpenSSO must be purchased from <ulink type="http" url="http://www.oracle.com/technetwork/middleware/id-mgmt/overview/index.html">Oracle</ulink>.
</para>
- </step>
- <!--<step>
+ <step>
<para>
Extract the package into a suitable location. This location will be referred to as <filename>OPENSSO_HOME</filename> in this example.
</para>
- </step>-->
+ </step>
</procedure>
<para>
@@ -812,7 +835,7 @@
</step>
<step>
<para>
- Copy the following files;
+ Copy the following files into the Tomcat directory at <filename>TOMCAT_HOME/webapps/opensso/WEB-INF/lib</filename>:
</para>
<itemizedlist>
<listitem>
@@ -831,9 +854,6 @@
</para>
</listitem>
</itemizedlist>
- <para>
- ...into the Tomcat directory at <filename>TOMCAT_HOME/webapps/opensso/WEB-INF/lib</filename>.
- </para>
</step>
<step>
<para>
@@ -894,7 +914,7 @@
</para>
</step>
<step>
- <procedure>
+ <substeps>
<step>
<para>
Go to the new "<literal>gatein</literal>" realm and click on the "<emphasis role="bold">Authentication</emphasis>" tab.
@@ -910,7 +930,7 @@
Change the selection from "<literal>Datastore</literal>", which is the default module in the authentication chain, to "<literal>AuthenticationPlugin</literal>".
</para>
</step>
- </procedure>
+ </substeps>
<para>
These changes enable authentication of the "<literal>gatein</literal>" realm using the <literal>GateIn REST</literal> service instead of the OpenSSO LDAP server.
@@ -925,7 +945,7 @@
<para>
Increase the user privileges to allow REST access with the following procedure:
</para>
- <procedure>
+ <substeps>
<step>
<para>
Go to "<emphasis role="bold">Access control</emphasis>", then <emphasis role="bold">Top level realm</emphasis>, then click on the "<emphasis role="bold">Privileges</emphasis>" tab and go to "<emphasis role="bold">All authenticated users</emphasis>".
@@ -948,7 +968,7 @@
</listitem>
</itemizedlist>
</step>
- </procedure>
+ </substeps>
</step>
<step>
<para>
@@ -957,9 +977,6 @@
</step>
</procedure>
- <!-- <para>
-TODO: The above OpenSSO manual configuration could be replaced by configuration files prepared in advance
-</para> -->
<procedure id="proc-Reference_Guide-OpenSSO_The_Open_Web_SSO_project-Setup_the_OpenSSO_client">
<title>Setup the OpenSSO client</title>
<step>
@@ -978,6 +995,16 @@
<programlisting language="XML" role="XML"><xi:include href="../../extras/Authentication_Identity_SSO/default118.xml" parse="text" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
</step>
<step>
+ <para>
+ If you are running &PRODUCT; in Tomcat, edit $GATEIN_HOME/conf/jaas.conf, uncomment on this section and comment other parts:
+ </para>
+<programlisting>org.gatein.sso.agent.login.SSOLoginModule required;
+org.exoplatform.services.security.j2ee.TomcatLoginModule required
+portalContainerName=portal
+realmName=gatein-domain;
+</programlisting>
+ </step>
+ <step>
<para>
Test the installation:
</para>
@@ -1029,17 +1056,16 @@
<para>
Add the following Filters to the top of the filter chain in <filename>gatein.ear/02portal.war/WEB-INF/web.xml</filename>:
</para>
-<remark>DOC NOTE: Please check code sample as updated according to gatein r7620</remark>
<programlisting language="XML" role="XML"><xi:include href="../../extras/Authentication_Identity_SSO/default122.xml" parse="text" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
</step>
- <step>
+<!--<step>
<remark> This step removed in gatein r7647. Should it be removed here?</remark>
<para>
Replace the <literal>InitiateLoginServlet</literal> declaration in <filename>gatein.ear/02portal.war/WEB-INF/web.xml</filename> with:
</para>
<programlisting language="XML" role="XML"><xi:include href="../../extras/Authentication_Identity_SSO/default123.xml" parse="text" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
- </step>
+ </step>-->
</procedure>
<para>
@@ -1090,8 +1116,233 @@
<para>
The following procedure outlines how to integrate SPNEGO with the JBoss Enterprise Portal Platform.
</para>
- <procedure id="proc-Reference_Guide-SPNEGO_Simple_and_Protected_GSSAPI_Negotiation_Mechanism-SPNEGO_Configuration">
- <title>SPNEGO Configuration</title>
+ <note>
+ <title>SPNEGO Basics</title>
+ <para>
+ The procedure below only describes the basic steps to configure the SPNEGO server. If you are already familiar with SPNEGO, you can jump to the
+ <xref linkend="proc-Reference_Guide_eXo_JCR_1.14-SPNEGO_Simple_and_Protected_GSSAPI_Negotiation_Mechanism-Advanced_SPNEGO_Configuration" />
+ to see how to integrate SPNEGO with JBoss Enterprise Portal Platform.
+ </para>
+ </note>
+ <procedure id="proc-Reference_Guide_eXo_JCR_1.14-SPNEGO_Simple_and_Protected_GSSAPI_Negotiation_Mechanism-SPNEGO_Basics">
+ <title>SPNEGO Basics</title>
+ <step>
+ <para>
+ Correct the setup of network on the machine. For example, if you are using the "server.local.network" domain as your machine where Kerberos and &PRODUCT; are localed, add the line containing the machine's IP address to the <emphasis role="bold">/etc/host </emphasis> file.
+ </para>
+<programlisting>
+192.168.1.88 server.local.network
+ </programlisting>
+ <note>
+ <para>
+ It is not recommended you use loopback addresses.
+ </para>
+ </note>
+ </step>
+
+ <step>
+ <para>
+ Install Kerberos with these packages: krb5-admin-server, krb5-kdc, krb5-config, krb5-user, krb5-clients, and krb5-rsh-server.
+ </para>
+ </step>
+
+ <step>
+ <para>
+ Edit the Kerberos configuration file at <emphasis role="bold">/etc/krb5.config</emphasis>, including:
+ </para>
+
+ <itemizedlist>
+ <listitem>
+ <para>
+ Uncomment on these lines:
+ </para>
+<programlisting>
+default_tgs_enctypes = des3-hmac-sha1
+default_tkt_enctypes = des3-hmac-sha1
+permitted_enctypes = des3-hmac-sha1
+</programlisting>
+ </listitem>
+
+ <listitem>
+ <para>
+ Add <emphasis role="bold">local.network</emphasis> as a default realm and it is also added to the list of realms and remove the remains of realms. The content looks like:
+ </para>
+<programlisting>
+[libdefaults]
+ default_realm = LOCAL.NETWORK
+
+# The following krb5.conf variables are only for MIT Kerberos.
+ krb4_config = /etc/krb.conf
+ krb4_realms = /etc/krb.realms
+ kdc_timesync = 1
+ ccache_type = 4
+ forwardable = true
+ proxiable = true
+
+# The following encryption type specification will be used by MIT Kerberos
+# if uncommented. In general, the defaults in the MIT Kerberos code are
+# correct and overriding these specifications only serves to disable new
+# encryption types as they are added, creating interoperability problems.
+#
+# Thie only time when you might need to uncomment these lines and change
+# the enctypes is if you have local software that will break on ticket
+# caches containing ticket encryption types it doesn't know about (such as
+# old versions of Sun Java).
+
+ default_tgs_enctypes = des3-hmac-sha1
+ default_tkt_enctypes = des3-hmac-sha1
+ permitted_enctypes = des3-hmac-sha1
+
+# The following libdefaults parameters are only for Heimdal Kerberos.
+ v4_instance_resolve = false
+ v4_name_convert = {
+ host = {
+ rcmd = host
+ ftp = ftp
+ }
+ plain = {
+ something = something-else
+ }
+ }
+ fcc-mit-ticketflags = true
+
+[realms]
+ LOCAL.NETWORK = {
+ kdc = server.local.network
+ admin_server = server.local.network
+ }
+
+[domain_realm]
+ .local.network = LOCAL.NETWORK
+ local.network = LOCAL.NETWORK
+
+[login]
+ krb4_convert = true
+ krb4_get_tickets = false
+</programlisting>
+ </listitem>
+ </itemizedlist>
+ </step>
+
+ <step>
+ <para>
+ Edit the KDC configuraton file at <emphasis role="bold">/etc/krb5kdc/kdc.conf</emphasis> that looks like.
+ </para>
+<programlisting>
+[kdcdefaults]
+ kdc_ports = 750,88
+
+[realms]
+ LOCAL.NETWORK = {
+ database_name = /home/gatein/krb5kdc/principal
+ admin_keytab = FILE:/home/gatein/krb5kdc/kadm5.keytab
+ acl_file = /home/gatein/krb5kdc/kadm5.acl
+ key_stash_file = /home/gatein/krb5kdc/stash
+ kdc_ports = 750,88
+ max_life = 10h 0m 0s
+ max_renewable_life = 7d 0h 0m 0s
+ master_key_type = des3-hmac-sha1
+ supported_enctypes = aes256-cts:normal arcfour-hmac:normal des3-hmac-sha1:normal des-cbc-crc:normal des:normal des:v4 des:norealm des:onlyrealm des:afs3
+ default_principal_flags = +preauth
+ }
+
+[logging]
+ kdc = FILE:/home/gatein/krb5logs/kdc.log
+ admin_server = FILE:/home/gatein/krb5logs/kadmin.log
+</programlisting>
+ <itemizedlist>
+ <listitem>
+ <para>
+ Create krb5kdc and krb5logs directory for Kerberos database as shown in the configuration file above.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Next, create a KDC database using the following command.
+ </para>
+<programlisting>
+sudo krb5_newrealm
+</programlisting>
+ </listitem>
+
+ <listitem>
+ <para>
+ Start the KDC and Kerberos admin servers using these commands:
+ </para>
+<programlisting>
+sudo /etc/init.d/krb5-kdc restart
+sudo /etc/init.d/krb-admin-server restart
+</programlisting>
+ </listitem>
+ </itemizedlist>
+ </step>
+
+ <step>
+ <para>
+ Add Principals and create Keys.
+ </para>
+
+ <itemizedlist>
+ <listitem>
+ <para>
+ Start an interactive 'kadmin' session and create the necessary Principals.
+ </para>
+<programlisting>
+sudo kadmin.local
+</programlisting>
+ </listitem>
+
+ <listitem>
+ <para>
+ Add the JBoss Enterprise Portal Platform machine and keytab file that need to be authenticated.
+ </para>
+<programlisting>
+addprinc -randkey HTTP/server.local.network(a)LOCAL.NETWORK
+ktadd HTTP/server.local.network(a)LOCAL.NETWORK
+</programlisting>
+ </listitem>
+
+ <listitem>
+ <para>
+ Add the default JBoss Enterprise Portal Platform user accounts and enter the password for each created user that will be authenticated.
+ </para>
+<programlisting>
+addprinc john
+addprinc demo
+addprinc root
+</programlisting>
+ </listitem>
+ </itemizedlist>
+ </step>
+
+ <step>
+ <para>
+ Test your changed setup by using the command.
+ </para>
+<programlisting>
+kinit -A demo
+</programlisting>
+ <itemizedlist>
+ <listitem>
+ <para>
+ If the setup works well, you are required to enter the password created for this user in Step 5.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ If you want to login with another user, use this command.
+ </para>
+<programlisting>
+kdestroy
+</programlisting>
+ </listitem>
+ </itemizedlist>
+ </step>
+ </procedure>
+ <procedure id="proc-Reference_Guide_eXo_JCR_1.14-SPNEGO_Simple_and_Protected_GSSAPI_Negotiation_Mechanism-Advanced_SPNEGO_Configuration">
+ <title>Advanced SPNEGO Configuration</title>
<step>
<para>
Activate the Host authentication. Add the following host login module to the <filename>jboss-as/server/<replaceable>PROFILE</replaceable>/conf/login-config.xml</filename>:
@@ -1099,7 +1350,8 @@
<programlisting language="XML" role="XML"><xi:include href="../../extras/Authentication_Identity_SSO/default124.xml" parse="text" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
<para>
- The '<literal>keyTab</literal>' value should point to the keytab file that was generated by the <literal>kadmin</literal> Kerberos tool. See the <ulink type="http" url="http://community.jboss.org/wiki/SettingupyourKerberosDevelopmentEnvironment">Setting up your Kerberos Development Environment</ulink> guide for more details.
+ The '<literal>keyTab</literal>' value should point to the keytab file that was generated by the <literal>kadmin</literal> Kerberos tool. See the
+ <xref linkend="proc-Reference_Guide_eXo_JCR_1.14-SPNEGO_Simple_and_Protected_GSSAPI_Negotiation_Mechanism-SPNEGO_Basics"/> for more details.
</para>
</step>
<step>
@@ -1178,5 +1430,28 @@
</para>
</section>
+ <section>
+ <title>Clients</title>
+ <para>After performing all configurations above, you need to enable the <emphasis role="bold">Negotiate authentication </emphasis> of Firefox in clients so that clients can be authenticated by JBoss Enterprise Portal Platform as follows:
+ </para>
+ <procedure>
+ <step>
+ <para>
+ Start Firefox, then enter the command: <emphasis role="bold">about:config </emphasis> into the address field.
+ </para>
+ </step>
+ <step>
+ <para>
+ Enter <emphasis role="bold">network.negotiate-auth</emphasis> and set the value as below:
+ </para>
+<programlisting>
+network.negotiate-auth.allow-proxies = true
+network.negotiate-auth.delegation-uris = .local.network
+network.negotiate-auth.gsslib (no-value)
+network.negotiate-auth.trusted-uris = .local.network
+network.negotiate-auth.using-native-gsslib = true
+</programlisting>
+ </step>
+ </procedure>
</section>
Modified: epp/docs/branches/5.2/Reference_Guide/en-US/modules/PortalDevelopment/Skinning.xml
===================================================================
--- epp/docs/branches/5.2/Reference_Guide/en-US/modules/PortalDevelopment/Skinning.xml 2011-11-09 03:30:26 UTC (rev 8013)
+++ epp/docs/branches/5.2/Reference_Guide/en-US/modules/PortalDevelopment/Skinning.xml 2011-11-09 04:33:29 UTC (rev 8014)
@@ -194,7 +194,7 @@
</para>
<variablelist>
<varlistentry>
- <term>gatein-resources.xml</term>
+ <term>WEB-INF/gatein-resources.xml</term>
<listitem>
<para>
For the default portal skin, this file contains definitions for the portal skin, the window decorations that this skin provides and well as defining some javascript resources which are not related to the skin. The default portal skin doesn't directly define portlet skins, these should be provided by the portlets themselves.
@@ -202,7 +202,7 @@
</listitem>
</varlistentry>
<varlistentry>
- <term>web.xml</term>
+ <term>WEB-INF/web.xml</term>
<listitem>
<para>
For the default portal skin, the <filename>web.xml</filename> of the <literal>eXoResources.war</literal> will contains a lot of information which is mostly irrelevant to the portal skinning. The area of interest in this file is the <literal>resourcerequestfilter</literal> and the fact that the <parameter>display-name</parameter> is set.
@@ -210,7 +210,7 @@
</listitem>
</varlistentry>
<varlistentry>
- <term>Stylesheet.CSS</term>
+ <term>skin/Stylesheet.CSS</term>
<listitem>
<para>
This file is the main portal skin stylesheet. It is the main entry point to the CSS class definitions for the skin. The main content points of this file are:
Modified: epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/Book_Info.xml
===================================================================
--- epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/Book_Info.xml 2011-11-09 03:30:26 UTC (rev 8013)
+++ epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/Book_Info.xml 2011-11-09 04:33:29 UTC (rev 8014)
@@ -9,7 +9,7 @@
<productname>JBoss Enterprise Portal Platform</productname>
<productnumber>5.2</productnumber>
<edition>5.2.0</edition>
- <pubsnumber>3</pubsnumber>
+ <pubsnumber>4</pubsnumber>
<abstract>
<para>
This Reference Guide is a high-level usage document. It deals with more advanced topics than the Installation and User Guides, adding new content or taking concepts discussed in the earlier documents further. It aims to provide supporting documentation for advanced users of the JBoss Enterprise Portal Platform product. Its primary focus is on advanced use of the product and it assumes an intermediate or advanced knowledge of the technology and terms.
Modified: epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/Revision_History.xml
===================================================================
--- epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/Revision_History.xml 2011-11-09 03:30:26 UTC (rev 8013)
+++ epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/Revision_History.xml 2011-11-09 04:33:29 UTC (rev 8014)
@@ -8,6 +8,20 @@
<simpara>
<revhistory>
<revision>
+ <revnumber>5.2.0-4</revnumber>
+ <date>Wed Nov 9 2011</date>
+ <author>
+ <firstname>Scott</firstname>
+ <surname>Mumford</surname>
+ <email></email>
+ </author>
+ <revdescription>
+ <simplelist>
+ <member>Republished for review/feedback.</member>
+ </simplelist>
+ </revdescription>
+ </revision>
+ <revision>
<revnumber>5.2.0-3</revnumber>
<date>Wed Nov 2 2011</date>
<author>
Modified: epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/configuration/exo-jcr-configuration.xml
===================================================================
--- epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/configuration/exo-jcr-configuration.xml 2011-11-09 03:30:26 UTC (rev 8013)
+++ epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/configuration/exo-jcr-configuration.xml 2011-11-09 04:33:29 UTC (rev 8014)
@@ -1,4 +1,3 @@
-
<?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" [
<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
Modified: epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/repository-check-controller.xml
===================================================================
--- epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/repository-check-controller.xml 2011-11-09 03:30:26 UTC (rev 8013)
+++ epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/repository-check-controller.xml 2011-11-09 04:33:29 UTC (rev 8014)
@@ -1,4 +1,3 @@
-
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
Modified: epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/AuthenticationAndIdentity/SSO.xml
===================================================================
--- epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/AuthenticationAndIdentity/SSO.xml 2011-11-09 03:30:26 UTC (rev 8013)
+++ epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/AuthenticationAndIdentity/SSO.xml 2011-11-09 04:33:29 UTC (rev 8014)
@@ -533,7 +533,7 @@
</note>
<para>
- Change the default authentication handler with the one provided by epp.
+ Change the default authentication handler with the one provided by JBoss Enterprise Portal Platform.
</para>
<para>
@@ -627,9 +627,7 @@
</procedure>
<!-- Added in gatein commit r7620 -->
<note>
- <remark>
- Added in gatein commit r7620
- </remark>
+ <remark>Added in gatein commit r7620</remark>
<para>
On logout, the CAS server will display the CAS logout page with a link to return to the portal. To make the CAS server redirect to the portal page after a logout, modify the <filename>cas.war/WEB-INF/cas-servlet.xml</filename> to include the follow line :
@@ -734,16 +732,12 @@
Add the following Filters at the top of the filter chain in <filename>gatein.ear/02portal.war/WEB-INF/web.xml</filename>:
</para>
- <remark>
- DOC NOTE: Please check code sample as updated according to gatein r7620
- </remark>
+<remark>DOC NOTE: Please check code sample as updated according to gatein r7620</remark>
<programlisting language="XML" role="XML"><xi:include href="../../extras/Authentication_Identity_SSO/default109.xml" parse="text" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
</step>
<step>
- <remark>
- This step removed in gatein r7620. Should it be removed here?
- </remark>
+ <remark> This step removed in gatein r7620. Should it be removed here?</remark>
<para>
Replace the <literal>InitiateLoginServlet</literal> declaration in <filename>gatein.ear/02portal.war/WEB-INF/web.xml</filename> with:
@@ -761,11 +755,7 @@
<title>Java Open Single Sign-On Project</title>
<para>
- This Single Sign On plugin enables seamless integration between JBoss Enterprise Portal Platform and the Java Open Single Sign-On Project (<emphasis role="bold">JOSSO</emphasis>) Single Sign On Framework. Details about JOSSO can be found at
- <ulink url="http://www.josso.org">
- www.josso.org
- </ulink>
- .
+ This Single Sign On plugin enables seamless integration between JBoss Enterprise Portal Platform and the Java Open Single Sign-On Project (<emphasis role="bold">JOSSO</emphasis>) Single Sign On Framework. Details about JOSSO can be found at <ulink url="http://www.josso.org">www.josso.org</ulink>.
</para>
<para>
@@ -777,11 +767,7 @@
<step>
<para>
- Download JOSSO from
- <ulink type="http" url="http://sourceforge.net/projects/josso/files/">
- http://sourceforge.net/projects/josso/files/
- </ulink>
- .
+ Download JOSSO from <ulink type="http" url="http://sourceforge.net/projects/josso/files/">http://sourceforge.net/projects/josso/files/</ulink>.
</para>
<note>
@@ -899,11 +885,7 @@
<procedure>
<step>
<para>
- Start (or restart) JBoss Enterprise Portal Platform, and (assuming the JOSSO server on Tomcat is running) direct your browser to
- <ulink type="http" url="http://localhost:8888/josso/signon/login.do">
- http://localhost:8888/josso/signon/login.do
- </ulink>
- .
+ Start (or restart) JBoss Enterprise Portal Platform, and (assuming the JOSSO server on Tomcat is running) direct your browser to <ulink type="http" url="http://localhost:8888/josso/signon/login.do">http://localhost:8888/josso/signon/login.do</ulink>.
</para>
</step>
@@ -953,16 +935,12 @@
Add the following Filters to the top of the filter chain in <filename>gatein.ear/02portal.war/WEB-INF/web.xml</filename>:
</para>
- <remark>
- DOC NOTE: Please check code sample as updated according to gatein r7647
- </remark>
+<remark>DOC NOTE: Please check code sample as updated according to gatein r7647</remark>
<programlisting language="XML" role="XML"><xi:include href="../../extras/Authentication_Identity_SSO/default115.xml" parse="text" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
</step>
<step>
- <remark>
- This step removed in gatein r7647. Should it be removed here?
- </remark>
+ <remark> This step removed in gatein r7647. Should it be removed here?</remark>
<para>
Replace the <literal>InitiateLoginServlet</literal> declaration in <filename>gatein.ear/02portal.war/WEB-INF/web.xml</filename> with:
@@ -994,11 +972,7 @@
<step>
<para>
- OpenSSO must be purchased from
- <ulink type="http" url="http://www.oracle.com/technetwork/middleware/id-mgmt/overview/index.html">
- Oracle
- </ulink>
- .
+ OpenSSO must be purchased from <ulink type="http" url="http://www.oracle.com/technetwork/middleware/id-mgmt/overview/index.html">Oracle</ulink>.
</para>
</step>
@@ -1086,11 +1060,7 @@
<step>
<para>
- Tomcat should start and be able to access
- <ulink type="http" url="http://localhost:8888/opensso/UI/Login?realm=gatein">
- http://localhost:8888/opensso/UI/Login?realm=gatein
- </ulink>
- .
+ Tomcat should start and be able to access <ulink type="http" url="http://localhost:8888/opensso/UI/Login?realm=gatein">http://localhost:8888/opensso/UI/Login?realm=gatein</ulink>.
</para>
<mediaobject>
@@ -1116,10 +1086,7 @@
<step>
<para>
- Direct your browser to
- <ulink type="http" url="http://localhost:8888/opensso">
- http://localhost:8888/opensso
- </ulink>
+ Direct your browser to <ulink type="http" url="http://localhost:8888/opensso">http://localhost:8888/opensso</ulink>
</para>
</step>
@@ -1263,11 +1230,7 @@
<procedure>
<step>
<para>
- Access JBoss Enterprise Portal Platform by going to
- <ulink type="http" url="http://localhost:8888/opensso/UI/Login?realm=gatein">
- http://localhost:8888/opensso/UI/Login?realm=gatein
- </ulink>
- (assuming that the OpenSSO server using Tomcat is still running).
+ Access JBoss Enterprise Portal Platform by going to <ulink type="http" url="http://localhost:8888/opensso/UI/Login?realm=gatein">http://localhost:8888/opensso/UI/Login?realm=gatein</ulink> (assuming that the OpenSSO server using Tomcat is still running).
</para>
</step>
Modified: epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/PortalDevelopment/Skinning.xml
===================================================================
--- epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/PortalDevelopment/Skinning.xml 2011-11-09 03:30:26 UTC (rev 8013)
+++ epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/PortalDevelopment/Skinning.xml 2011-11-09 04:33:29 UTC (rev 8014)
@@ -548,7 +548,8 @@
</para>
<programlisting><command>sh jboss-as/bin/run.sh -Dexo.product.developing=true</command></programlisting>
- <!-- <programlisting language="Java" role="Java"><xi:include parse="text" href="../../extras/PortalDevelopment_Skinning/default192.java" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting> --> <warning>
+ <!-- <programlisting language="Java" role="Java"><xi:include parse="text" href="../../extras/PortalDevelopment_Skinning/default192.java" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting> -->
+ <warning>
<para>
This option may cause display bugs in some browsers.
</para>
13 years, 1 month
gatein SVN: r8013 - in epp/docs/branches/5.2: Admin_Guide/en-US and 16 other directories.
by do-not-reply@jboss.org
Author: smumford
Date: 2011-11-08 22:30:26 -0500 (Tue, 08 Nov 2011)
New Revision: 8013
Added:
epp/docs/branches/5.2/Admin_Guide/en-US/icons/
epp/docs/branches/5.2/Admin_Guide/en-US/icons/icon.svg
epp/docs/branches/5.2/Admin_Guide/en-US/images/
epp/docs/branches/5.2/Developer_Guide/
epp/docs/branches/5.2/Developer_Guide/en-US/
epp/docs/branches/5.2/Developer_Guide/en-US/Author_Group.xml
epp/docs/branches/5.2/Developer_Guide/en-US/Book_Info.xml
epp/docs/branches/5.2/Developer_Guide/en-US/Developer_Guide.ent
epp/docs/branches/5.2/Developer_Guide/en-US/Developer_Guide.xml
epp/docs/branches/5.2/Developer_Guide/en-US/Preface.xml
epp/docs/branches/5.2/Developer_Guide/en-US/Revision_History.xml
epp/docs/branches/5.2/Developer_Guide/en-US/chapter-1-GDG_Introduction.xml
epp/docs/branches/5.2/Developer_Guide/en-US/chapter-2-GDG_Architectural_choices.xml
epp/docs/branches/5.2/Developer_Guide/en-US/chapter-3-GDG_Design_choices.xml
epp/docs/branches/5.2/Developer_Guide/en-US/chapter-4-GDG_Portal_Development.xml
epp/docs/branches/5.2/Developer_Guide/en-US/chapter-5-GDG_Application_development.xml
epp/docs/branches/5.2/Developer_Guide/en-US/icons/
epp/docs/branches/5.2/Developer_Guide/en-US/icons/icon.svg
epp/docs/branches/5.2/Developer_Guide/en-US/images/
epp/docs/branches/5.2/Developer_Guide/en-US/images/7372876/
epp/docs/branches/5.2/Developer_Guide/en-US/images/7372876/complexinfra.png
epp/docs/branches/5.2/Developer_Guide/en-US/images/7372876/simpleinfra.png
epp/docs/branches/5.2/Developer_Guide/en-US/images/7372952/
epp/docs/branches/5.2/Developer_Guide/en-US/images/7372952/diagram-local-index.png
epp/docs/branches/5.2/Developer_Guide/en-US/images/7372952/diagram-shared-index.png
epp/docs/branches/5.2/Developer_Guide/en-US/images/7372952/diagram-standalone-index.png
epp/docs/branches/5.2/Developer_Guide/en-US/images/7372962/
epp/docs/branches/5.2/Developer_Guide/en-US/images/7372962/portalExtensions.png
epp/docs/branches/5.2/Developer_Guide/en-US/images/7372962/portalextensionstructure.png
epp/docs/branches/5.2/Developer_Guide/publican.cfg
epp/docs/branches/5.2/Site_Publisher/Release_Notes/en-US/Site_Publisher_5.2.0_Release_Notes.ent
epp/docs/branches/5.2/Site_Publisher/Release_Notes/en-US/Site_Publisher_5.2.0_Release_Notes.xml
Removed:
epp/docs/branches/5.2/Site_Publisher/Release_Notes/en-US/Site_Publisher_5.1.1_Release_Notes.ent
epp/docs/branches/5.2/Site_Publisher/Release_Notes/en-US/Site_Publisher_5.1.1_Release_Notes.xml
Modified:
epp/docs/branches/5.2/Admin_Guide/en-US/Admin_Guide.xml
epp/docs/branches/5.2/Admin_Guide/en-US/Author_Group.xml
epp/docs/branches/5.2/Admin_Guide/en-US/Book_Info.xml
epp/docs/branches/5.2/Admin_Guide/en-US/Preface.xml
epp/docs/branches/5.2/Admin_Guide/en-US/Revision_History.xml
epp/docs/branches/5.2/Admin_Guide/en-US/chapter-1-GateIn_Management.xml
epp/docs/branches/5.2/Installation_Guide/en-US/Accessing.xml
epp/docs/branches/5.2/Installation_Guide/en-US/Book_Info.xml
epp/docs/branches/5.2/Installation_Guide/en-US/Installation.xml
epp/docs/branches/5.2/Installation_Guide/en-US/Revision_History.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/concepts/why-jcr.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/configuration/exo-jcr-configuration.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/repository-check-controller.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/find-similar-nodes.xml
epp/docs/branches/5.2/Site_Publisher/Release_Notes/en-US/Article_Info.xml
epp/docs/branches/5.2/Site_Publisher/Release_Notes/en-US/Revision_History.xml
epp/docs/branches/5.2/Site_Publisher/User_Guide/en-US/Book_Info.xml
epp/docs/branches/5.2/Site_Publisher/User_Guide/en-US/Revision_History.xml
epp/docs/branches/5.2/Site_Publisher/User_Guide/en-US/modules/Get_Started/Account.xml
Log:
Added Confluence export Dev/Admin Guides. Some title case adjustments. Further eXo JCR edits. Release Notes prep
Modified: epp/docs/branches/5.2/Admin_Guide/en-US/Admin_Guide.xml
===================================================================
--- epp/docs/branches/5.2/Admin_Guide/en-US/Admin_Guide.xml 2011-11-09 03:25:13 UTC (rev 8012)
+++ epp/docs/branches/5.2/Admin_Guide/en-US/Admin_Guide.xml 2011-11-09 03:30:26 UTC (rev 8013)
@@ -1,12 +1,17 @@
<?xml version='1.0' encoding='utf-8' ?>
+
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % BOOK_ENTITIES SYSTEM "Admin_Guide.ent">
%BOOK_ENTITIES;
]>
+
<book>
- <xi:include href="Book_Info.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="Preface.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="chapter-1-GateIn_Management.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="Revision_History.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="Book_Info.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="Preface.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="chapter-1-Introduction.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="chapter-2-REST_Component.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="chapter-3-Command_Line_Interface.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="chapter-4-Management_Extensions.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="Revision_History.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
</book>
Modified: epp/docs/branches/5.2/Admin_Guide/en-US/Author_Group.xml
===================================================================
--- epp/docs/branches/5.2/Admin_Guide/en-US/Author_Group.xml 2011-11-09 03:25:13 UTC (rev 8012)
+++ epp/docs/branches/5.2/Admin_Guide/en-US/Author_Group.xml 2011-11-09 03:30:26 UTC (rev 8013)
@@ -1,14 +1,20 @@
<?xml version='1.0' encoding='utf-8' ?>
+
<!DOCTYPE authorgroup PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % BOOK_ENTITIES SYSTEM "Admin_Guide.ent">
%BOOK_ENTITIES;
]>
+
<authorgroup>
- <author>
- <firstname>Nick</firstname>
- <surname>Scavelli</surname>
- <email>nscavell(a)redhat.com</email>
-
- </author>
+ <author>
+ <firstname>Scott</firstname>
+ <surname>Mumford</surname>
+ <email>smumford(a)redhat.com</email>
+ </author>
+ <author>
+ <firstname>Nick</firstname>
+ <surname>Scavelli</surname>
+ <email>nscavell(a)redhat.com</email>
+ </author>
</authorgroup>
Modified: epp/docs/branches/5.2/Admin_Guide/en-US/Book_Info.xml
===================================================================
--- epp/docs/branches/5.2/Admin_Guide/en-US/Book_Info.xml 2011-11-09 03:25:13 UTC (rev 8012)
+++ epp/docs/branches/5.2/Admin_Guide/en-US/Book_Info.xml 2011-11-09 03:30:26 UTC (rev 8013)
@@ -1,32 +1,30 @@
<?xml version='1.0' encoding='utf-8' ?>
+
<!DOCTYPE bookinfo PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % BOOK_ENTITIES SYSTEM "Admin_Guide.ent">
%BOOK_ENTITIES;
]>
-<bookinfo id="book-Admin_Guide-Admin_Guide">
- <title>Admin Guide</title>
- <subtitle>For use with JBoss Enterprise Portal Platform 5</subtitle>
- <productname>JBoss Enterprise Portal Platform</productname>
- <productnumber>5.2</productnumber>
- <edition>5.2.0</edition>
- <pubsnumber>2</pubsnumber>
- <abstract>
- <para>
- This document is a guide to administering an implementation of JBoss Enterprise Portal Platform. It is intended for System Administrators and assumes a high level of technical knowledge.
- </para>
- </abstract>
- <corpauthor>
- <inlinemediaobject>
-
- <imageobject>
- <imagedata fileref="Common_Content/images/title_logo.png" format="PNG" />
- </imageobject>
-
- </inlinemediaobject>
-
- </corpauthor>
- <xi:include href="Common_Content/Legal_Notice.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="Author_Group.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+<bookinfo id="book-Admin_Guide-Admin_Guide">
+ <title>Admin Guide</title>
+ <subtitle>For use with JBoss Enterprise Portal Platform 5</subtitle>
+ <productname>JBoss Enterprise Portal Platform</productname>
+ <productnumber>5.2</productnumber>
+ <edition>5.2.0</edition>
+ <pubsnumber>3</pubsnumber>
+ <abstract>
+ <para>
+ This document is a guide to administering an implementation of JBoss Enterprise Portal Platform. It is intended for System Administrators and assumes a high level of technical knowledge.
+ </para>
+ </abstract>
+ <corpauthor>
+ <inlinemediaobject>
+ <imageobject>
+ <imagedata fileref="Common_Content/images/title_logo.png" format="PNG" />
+ </imageobject>
+ </inlinemediaobject>
+ </corpauthor>
+ <xi:include href="Common_Content/Legal_Notice.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="Author_Group.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
</bookinfo>
Modified: epp/docs/branches/5.2/Admin_Guide/en-US/Preface.xml
===================================================================
--- epp/docs/branches/5.2/Admin_Guide/en-US/Preface.xml 2011-11-09 03:25:13 UTC (rev 8012)
+++ epp/docs/branches/5.2/Admin_Guide/en-US/Preface.xml 2011-11-09 03:30:26 UTC (rev 8013)
@@ -1,13 +1,17 @@
<?xml version='1.0' encoding='utf-8' ?>
+
<!DOCTYPE preface PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % BOOK_ENTITIES SYSTEM "Admin_Guide.ent">
%BOOK_ENTITIES;
]>
+
<preface id="pref-Admin_Guide-Preface">
- <title>Preface</title>
- <xi:include href="Common_Content/Conventions.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="Feedback.xml" xmlns:xi="http://www.w3.org/2001/XInclude"> <xi:fallback xmlns:xi="http://www.w3.org/2001/XInclude"> <xi:include href="Common_Content/Feedback.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
- </xi:fallback>
- </xi:include>
+ <title>Preface</title>
+ <xi:include href="Common_Content/Conventions.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="Feedback.xml" xmlns:xi="http://www.w3.org/2001/XInclude">
+ <xi:fallback xmlns:xi="http://www.w3.org/2001/XInclude">
+ <xi:include href="Common_Content/Feedback.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+ </xi:fallback>
+ </xi:include>
</preface>
Modified: epp/docs/branches/5.2/Admin_Guide/en-US/Revision_History.xml
===================================================================
--- epp/docs/branches/5.2/Admin_Guide/en-US/Revision_History.xml 2011-11-09 03:25:13 UTC (rev 8012)
+++ epp/docs/branches/5.2/Admin_Guide/en-US/Revision_History.xml 2011-11-09 03:30:26 UTC (rev 8013)
@@ -1,43 +1,43 @@
<?xml version='1.0' encoding='utf-8' ?>
+
<!DOCTYPE appendix PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % BOOK_ENTITIES SYSTEM "Admin_Guide.ent">
%BOOK_ENTITIES;
]>
+
<appendix id="appe-Admin_Guide-Revision_History">
- <title>Revision History</title>
- <simpara>
- <revhistory>
- <revision>
- <revnumber>5.2.0-2</revnumber>
- <date>Wed Oct 19 2011</date>
- <author>
- <firstname>Scott</firstname>
- <surname>Mumford</surname>
- <email></email>
- </author>
- <revdescription>
- <simplelist>
- <member>Added to brew system.</member>
- </simplelist>
- </revdescription>
- </revision>
- <revision>
- <revnumber>5.2.0-1</revnumber>
- <date>Wed Oct 12 2011</date>
- <author>
- <firstname>Nick</firstname>
- <surname>Scavelli</surname>
- <email>nscavell(a)redhat.com</email>
- </author>
- <revdescription>
- <simplelist>
- <member>Initial creation of book.</member>
-
- </simplelist>
- </revdescription>
- </revision>
- </revhistory>
-
- </simpara>
+ <title>Revision History</title>
+ <simpara>
+ <revhistory>
+ <revision>
+ <revnumber>5.2.0-3</revnumber>
+ <date>Wed Oct 19 2011</date>
+ <author>
+ <firstname>Scott</firstname>
+ <surname>Mumford</surname>
+ <email></email>
+ </author>
+ <revdescription>
+ <simplelist>
+ <member>Added to brew system.</member>
+ </simplelist>
+ </revdescription>
+ </revision>
+ <revision>
+ <revnumber>5.2.0-1</revnumber>
+ <date>Wed Oct 12 2011</date>
+ <author>
+ <firstname>Nick</firstname>
+ <surname>Scavelli</surname>
+ <email>nscavell(a)redhat.com</email>
+ </author>
+ <revdescription>
+ <simplelist>
+ <member>Initial creation of book.</member>
+ </simplelist>
+ </revdescription>
+ </revision>
+ </revhistory>
+ </simpara>
</appendix>
Modified: epp/docs/branches/5.2/Admin_Guide/en-US/chapter-1-GateIn_Management.xml
===================================================================
--- epp/docs/branches/5.2/Admin_Guide/en-US/chapter-1-GateIn_Management.xml 2011-11-09 03:25:13 UTC (rev 8012)
+++ epp/docs/branches/5.2/Admin_Guide/en-US/chapter-1-GateIn_Management.xml 2011-11-09 03:30:26 UTC (rev 8013)
@@ -1,881 +1,775 @@
<?xml version='1.0' encoding='utf-8' ?>
+
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % BOOK_ENTITIES SYSTEM "Admin_Guide.ent">
%BOOK_ENTITIES;
]>
+
<chapter id="chap-Admin_Guide-JBoss_Enterprise_Portal_Platform_Management">
- <title>JBoss Enterprise Portal Platform Management</title>
- <section id="sect-Admin_Guide-JBoss_Enterprise_Portal_Platform_Management-Introduction">
- <title>Introduction</title>
- <para>
- The gatein-management component of the portal allows portal resources to be managed over commons interfaces like REST, CLI, and Portlets/Gadgets. This guide will discuss how to use these interfaces along with describing gatein-management concepts and terms.
- </para>
- <note>
- <para>
- This documentation is a work in progress.
- </para>
+ <title>JBoss Enterprise Portal Platform Management</title>
+ <section id="sect-Admin_Guide-JBoss_Enterprise_Portal_Platform_Management-Introduction">
+ <title>Introduction</title>
- </note>
- <section id="sect-Admin_Guide-Introduction-Terms">
- <title>Terms</title>
- <table>
- <title></title>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>
- <para>
- Term
- </para>
+ <para>
+ The gatein-management component of the portal allows portal resources to be managed over commons interfaces like REST, CLI, and Portlets/Gadgets. This guide will discuss how to use these interfaces along with describing gatein-management concepts and terms.
+ </para>
- </entry>
- <entry>
- <para>
- Description
- </para>
+ <note>
+ <para>
+ This documentation is a work in progress.
+ </para>
+ </note>
- </entry>
+ <section id="sect-Admin_Guide-Introduction-Terms">
+ <title>Terms</title>
- </row>
+ <table>
+ <title></title>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>
+ <para>
+ Term
+ </para>
+ </entry>
+ <entry>
+ <para>
+ Description
+ </para>
+ </entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>
+ <para>
+ Management Extension
+ </para>
+ </entry>
+ <entry>
+ <para>
+ An extension to the management system which defines a managed component.
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ Managed Component
+ </para>
+ </entry>
+ <entry>
+ <para>
+ A managed component, which has been registered via an extension, serves as the root managed resource for a component.
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ Managed Resource
+ </para>
+ </entry>
+ <entry>
+ <para>
+ A managed resource is a uniquely identified self describing 'resource' which can have operations and sub-resources registered to it.
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ Sub-resource
+ </para>
+ </entry>
+ <entry>
+ <para>
+ A managed resource whose parent is also a managed resource.
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ Operation
+ </para>
+ </entry>
+ <entry>
+ <para>
+ An action that can be performed on a managed resource.
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ Attributes
+ </para>
+ </entry>
+ <entry>
+ <para>
+ Custom input parameters available to operations.
+ </para>
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ </section>
- </thead>
- <tbody>
- <row>
- <entry>
- <para>
- Management Extension
- </para>
+ <section id="sect-Admin_Guide-Introduction-Goals">
+ <title>Goals</title>
- </entry>
- <entry>
- <para>
- An extension to the management system which defines a managed component.
- </para>
+ <para>
+ The gatein-management component provides a foundation for managing portal side components. By doing so it allows management extensions to register resources and operations over a set of API's, which in turn allows us to expose these over common interfaces like REST and CLI. In other words, management extensions don't have to worry about the interfaces in which they will be managed over. This allows us to add additional interfaces without needing to change anything. Also by providing a set of API's to obtain managed resources, interfaces are built in a consistent manner. So managing the same component in one interface should be very similar if you were to manage it in another.
+ </para>
+ </section>
- </entry>
+ <section id="sect-Admin_Guide-Introduction-Operations">
+ <title>Operations</title>
- </row>
- <row>
- <entry>
- <para>
- Managed Component
- </para>
+ <para>
+ The following operations are common operation names that have been identified by the gatein-management component. These operation names should be used by extensions when the scenario fits. The <emphasis role="strong">read-resource</emphasis> operation is the only operation that is built into the gatein-management component. All other operations need to be implemented by the extensions themselves.
+ </para>
- </entry>
- <entry>
- <para>
- A managed component, which has been registered via an extension, serves as the root managed resource for a component.
- </para>
+ <table>
+ <title></title>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>
+ <para>
+ Operation Name
+ </para>
+ </entry>
+ <entry>
+ <para>
+ Description
+ </para>
+ </entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>
+ <para>
+ read-resource
+ </para>
+ </entry>
+ <entry>
+ <para>
+ The read-resource operation is responsible for reading the managed resource; describing itself and listing any operations and/or sub-resources it may contain. This is the primary operation to obtain information about a managed component and it's managed resources.
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ add-resource
+ </para>
+ </entry>
+ <entry>
+ <para>
+ The add-resource operation is responsible for adding/creating additional managed resources.
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ remove-resource
+ </para>
+ </entry>
+ <entry>
+ <para>
+ The remove-resource operation is responsible for removing/deleting an existing managed resource.
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ update-resource
+ </para>
+ </entry>
+ <entry>
+ <para>
+ The update-resource operation is responsible for updating an existing managed resources state.
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ read-config-as-xml
+ </para>
+ </entry>
+ <entry>
+ <para>
+ The read-config-as-xml operation is responsible for representing the current managed resource as xml configuration.
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ export-resource
+ </para>
+ </entry>
+ <entry>
+ <para>
+ The export-resource operation is responsible for exporting a managed resource in a format that is acceptable and used in an import. The export-resource is special in the sense that there's built-in functionality to recursively traverse managed resources until it finds one that supports an export-resource operation. In other words you can register an export-resource operation on a sub-resource and it will be executed even by calling export-resource on any of it's ancestors.
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ import-resource
+ </para>
+ </entry>
+ <entry>
+ <para>
+ The import-resource operation is responsible for importing managed resources previously exported through an export-resource operation.
+ </para>
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ </section>
- </entry>
+ <section id="sect-Admin_Guide-Introduction-Content_Type">
+ <title>Content Type</title>
- </row>
- <row>
- <entry>
- <para>
- Managed Resource
- </para>
+ <para>
+ Content type defines the format of management requests/responses. The three content types supported at the moment are json, xml, and zip. Since read-config-as-xml (xml), export-resource (zip), and import-resource (zip) are content type specific operations, the response must be in that format. Other then that it's up to the extension on which content type is supported for each operation.
+ </para>
+ </section>
- </entry>
- <entry>
- <para>
- A managed resource is a uniquely identified self describing 'resource' which can have operations and sub-resources registered to it.
- </para>
+ <section id="sect-Admin_Guide-Introduction-Filtering">
+ <title>Filtering</title>
- </entry>
+ <para>
+ Filtering is a special attribute used during the export-resource operation, which filters managed resources that have been registered via a path template. See the Developer's Guide section for more information on path templates <emphasis role="italics">(TODO: Link to JBoss Enterprise Portal Platform Management section of Developer Guide)</emphasis> . The attribute name is 'filter' and the format can be defined as:
+ </para>
- </row>
- <row>
- <entry>
- <para>
- Sub-resource
- </para>
+ <example id="exam-Admin_Guide-Filtering-Exclude_at_a_path">
+ <title>Exclude at a path</title>
+<programlisting>[path-var]:(!)?[name],...[name]</programlisting>
+ </example>
- </entry>
- <entry>
- <para>
- A managed resource whose parent is also a managed resource.
- </para>
+ <para>
+ Where path-var is the path template variable name defined in an extension, name is the name of the managed-resource, and the '!' char is to declare the filter as an exclusion. Below are some examples that use the path template variable 'foo':
+ </para>
- </entry>
+ <example id="exam-Admin_Guide-Filtering-Only_include_managed_resource_bar">
+ <title>Only include managed resource 'bar'</title>
+<programlisting>foo:bar</programlisting>
+ </example>
- </row>
- <row>
- <entry>
- <para>
- Operation
- </para>
+ <example id="exam-Admin_Guide-Filtering-Include_managed_resource_bar_and_foo_bar">
+ <title>Include managed resource 'bar' and 'foo-bar'</title>
+<programlisting>foo:bar,foo-bar</programlisting>
+ </example>
- </entry>
- <entry>
- <para>
- An action that can be performed on a managed resource.
- </para>
+ <example id="exam-Admin_Guide-Filtering-Exclude_managed_resource_bar">
+ <title>Exclude managed resource 'bar'</title>
+<programlisting>foo:!bar</programlisting>
+ </example>
- </entry>
+ <example id="exam-Admin_Guide-Filtering-Exclude_managed_resource_bar_and_foo_bar">
+ <title>Exclude managed resource 'bar' and 'foo-bar'</title>
+<programlisting>foo:!bar,foo-bar</programlisting>
+ </example>
+ </section>
- </row>
- <row>
- <entry>
- <para>
- Attributes
- </para>
+ <section id="sect-Admin_Guide-Introduction-Source">
+ <title>Source</title>
- </entry>
- <entry>
- <para>
- Custom input parameters available to operations.
- </para>
+ <para>
+ The source is available on github @
+ <ulink url="https://github.com/gatein/gatein-management" />
+ </para>
+ </section>
+ </section>
+ <section id="sect-Admin_Guide-JBoss_Enterprise_Portal_Platform_Management-REST_Component">
+ <title>REST Component</title>
- </entry>
+ <para>
+ The gatein-management REST component is responsible for mapping restful requests to management requests. It does this by locating the managed resource by mapping the request URL to a management address and then invoking an operation on that managed resource. It defines an entry point for RESTful clients, and exposes the registered managed resources and operations over REST.
+ </para>
- </row>
+ <section id="sect-Admin_Guide-REST_Component-Entry_Point_URL">
+ <title>Entry Point URL</title>
- </tbody>
+ <para>
+ To gain access to gatein-management resources and operations over REST a RESTful client must know the entry point URL, which is defined as follows:
+ </para>
- </tgroup>
+ <para></para>
- </table>
+ <para>
+ http(s)://<host>:<port>/<rest-context-name>/private/managed-components
+ </para>
- </section>
-
- <section id="sect-Admin_Guide-Introduction-Goals">
- <title>Goals</title>
- <para>
- The gatein-management component provides a foundation for managing portal side components. By doing so it allows management extensions to register resources and operations over a set of API's, which in turn allows us to expose these over common interfaces like REST and CLI. In other words, management extensions don't have to worry about the interfaces in which they will be managed over. This allows us to add additional interfaces without needing to change anything. Also by providing a set of API's to obtain managed resources, interfaces are built in a consistent manner. So managing the same component in one interface should be very similar if you were to manage it in another.
+ <para>
+ where the rest-context-name is the portal container's rest context name. So for the default portal, the rest context name is 'rest'.
+ </para>
+
+ <note>
+ <title>Default Entry Point</title>
+ <para>
+ <ulink url="http://localhost:8080/rest/private/managed-components/" />
</para>
+ </note>
- </section>
-
- <section id="sect-Admin_Guide-Introduction-Operations">
- <title>Operations</title>
- <para>
- The following operations are common operation names that have been identified by the gatein-management component. These operation names should be used by extensions when the scenario fits. The <emphasis role="strong">read-resource</emphasis> operation is the only operation that is built into the gatein-management component. All other operations need to be implemented by the extensions themselves.
+ <note>
+ <para>
+ The REST URL is protected, and the authenticated user must belong to the 'administrators' group of the portal.
</para>
- <table>
- <title></title>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>
- <para>
- Operation Name
- </para>
+ </note>
+ </section>
- </entry>
- <entry>
- <para>
- Description
- </para>
+ <section id="sect-Admin_Guide-REST_Component-Resource_URLs">
+ <title>Resource URLs</title>
- </entry>
+ <para>
+ REST resource URLs are mapped to management addresses, and since every managed resource has a unique management address, every managed resource can be represented by a unique REST URL. The URL for identifying managed resources is as follows:
+ </para>
- </row>
+ <para>
+ <ulink type="http" url="http://<host>:<port>/<rest-context-name>/private/managed-components/<component-name>/<managed-resource-name>/<sub-resource-name>/.../<sub-resource-name>" />
+ </para>
- </thead>
- <tbody>
- <row>
- <entry>
- <para>
- read-resource
- </para>
+ <important>
+ <title>Example</title>
+ <para>
+ <ulink url="http://localhost:8080/rest/private/managed-components/foo/bar/foo-bar" />
+ </para>
+ </important>
- </entry>
- <entry>
- <para>
- The read-resource operation is responsible for reading the managed resource; describing itself and listing any operations and/or sub-resources it may contain. This is the primary operation to obtain information about a managed component and it's managed resources.
- </para>
+ <para>
+ The URL above uniquely identifies a managed resource named 'foo-bar', which is a sub-resource of 'bar', and 'bar' being a managed resource of the managed component 'foo'.
+ </para>
+ </section>
- </entry>
+ <section id="sect-Admin_Guide-REST_Component-Operations">
+ <title>Operations</title>
- </row>
- <row>
- <entry>
- <para>
- add-resource
- </para>
+ <para>
+ To map a RESTful request to an operation, two strategies are used. One strategy maps the actual HTTP method of the REST request to built-in management operations, and the other is specifying the operation by adding a query parameter.
+ </para>
- </entry>
- <entry>
- <para>
- The add-resource operation is responsible for adding/creating additional managed resources.
- </para>
+ <section id="sect-Admin_Guide-Operations-HTTP_Method">
+ <title>HTTP Method</title>
- </entry>
-
- </row>
- <row>
- <entry>
- <para>
- remove-resource
- </para>
-
- </entry>
- <entry>
- <para>
- The remove-resource operation is responsible for removing/deleting an existing managed resource.
- </para>
-
- </entry>
-
- </row>
- <row>
- <entry>
- <para>
- update-resource
- </para>
-
- </entry>
- <entry>
- <para>
- The update-resource operation is responsible for updating an existing managed resources state.
- </para>
-
- </entry>
-
- </row>
- <row>
- <entry>
- <para>
- read-config-as-xml
- </para>
-
- </entry>
- <entry>
- <para>
- The read-config-as-xml operation is responsible for representing the current managed resource as xml configuration.
- </para>
-
- </entry>
-
- </row>
- <row>
- <entry>
- <para>
- export-resource
- </para>
-
- </entry>
- <entry>
- <para>
- The export-resource operation is responsible for exporting a managed resource in a format that is acceptable and used in an import. The export-resource is special in the sense that there's built-in functionality to recursively traverse managed resources until it finds one that supports an export-resource operation. In other words you can register an export-resource operation on a sub-resource and it will be executed even by calling export-resource on any of it's ancestors.
- </para>
-
- </entry>
-
- </row>
- <row>
- <entry>
- <para>
- import-resource
- </para>
-
- </entry>
- <entry>
- <para>
- The import-resource operation is responsible for importing managed resources previously exported through an export-resource operation.
- </para>
-
- </entry>
-
- </row>
-
- </tbody>
-
- </tgroup>
-
+ <table>
+ <title></title>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>
+ <para>
+ HTTP Method
+ </para>
+ </entry>
+ <entry>
+ <para>
+ Management Operation
+ </para>
+ </entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>
+ <para>
+ GET
+ </para>
+ </entry>
+ <entry>
+ <para>
+ read-resource
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ PUT
+ </para>
+ </entry>
+ <entry>
+ <para>
+ update-resource
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ POST
+ </para>
+ </entry>
+ <entry>
+ <para>
+ add-resource
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ DELETE
+ </para>
+ </entry>
+ <entry>
+ <para>
+ remove-resource
+ </para>
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
</table>
- </section>
-
- <section id="sect-Admin_Guide-Introduction-Content_Type">
- <title>Content Type</title>
- <para>
- Content type defines the format of management requests/responses. The three content types supported at the moment are json, xml, and zip. Since read-config-as-xml (xml), export-resource (zip), and import-resource (zip) are content type specific operations, the response must be in that format. Other then that it's up to the extension on which content type is supported for each operation.
+ <para>
+ This means that the same URL can invoke 4 different operations just by changing the HTTP method of the REST request.
</para>
+ </section>
- </section>
-
- <section id="sect-Admin_Guide-Introduction-Filtering">
- <title>Filtering</title>
- <para>
- Filtering is a special attribute used during the export-resource operation, which filters managed resources that have been registered via a path template. See the Developer's Guide section for more information on path templates <emphasis role="italics">(TODO: Link to JBoss Enterprise Portal Platform Management section of Developer Guide)</emphasis> . The attribute name is 'filter' and the format can be defined as:
- </para>
- <example id="exam-Admin_Guide-Filtering-Exclude_at_a_path">
- <title>Exclude at a path</title>
-
-<programlisting>[path-var]:(!)?[name],...[name]</programlisting>
+ <section id="sect-Admin_Guide-Operations-Request_Parameter">
+ <title>Request Parameter</title>
- </example>
- <para>
- Where path-var is the path template variable name defined in an extension, name is the name of the managed-resource, and the '!' char is to declare the filter as an exclusion. Below are some examples that use the path template variable 'foo':
+ <para>
+ Since gatein-management supports more then just four operations, operations can also be explicitly defined by including request parameters of the REST request. By adding the query parameter 'op' to the request URL, clients can define what operation to invoke.
</para>
- <example id="exam-Admin_Guide-Filtering-Only_include_managed_resource_bar">
- <title>Only include managed resource 'bar'</title>
-
-<programlisting>foo:bar</programlisting>
- </example>
- <example id="exam-Admin_Guide-Filtering-Include_managed_resource_bar_and_foo_bar">
- <title>Include managed resource 'bar' and 'foo-bar'</title>
-
-<programlisting>foo:bar,foo-bar</programlisting>
+ <important>
+ <title>Example</title>
+ <para>
+ <ulink url="http://localhost:8080/rest/private/managed-components/foo/bar?op=some-cus..." />
+ </para>
+ </important>
- </example>
- <example id="exam-Admin_Guide-Filtering-Exclude_managed_resource_bar">
- <title>Exclude managed resource 'bar'</title>
-
-<programlisting>foo:!bar</programlisting>
+ <note>
+ <title>Following URLs are equivalent for a GET request</title>
+ <para>
+ <ulink url="http://localhost:8080/rest/private/managed-components/foo/bar" />
+ <ulink url="http://localhost:8080/rest/private/managed-components/foo/bar?op=read-res..." />
+ </para>
+ </note>
+ </section>
- </example>
- <example id="exam-Admin_Guide-Filtering-Exclude_managed_resource_bar_and_foo_bar">
- <title>Exclude managed resource 'bar' and 'foo-bar'</title>
-
-<programlisting>foo:!bar,foo-bar</programlisting>
+ <section id="sect-Admin_Guide-Operations-URL_Extension">
+ <title>URL Extension</title>
- </example>
-
- </section>
-
- <section id="sect-Admin_Guide-Introduction-Source">
- <title>Source</title>
- <para>
- The source is available on github @ <ulink url="https://github.com/gatein/gatein-management" />
+ <para>
+ Sometimes it's nice to represent REST resources as a file, so two URL extensions have been added to support two common operations: read-config-as-xml and export-resource. By adding the following URL extensions at the end of the request, you can invoke these two operations.
</para>
- </section>
-
+ <table>
+ <title></title>
+ <tgroup cols="3">
+ <thead>
+ <row>
+ <entry>
+ <para>
+ URL Extension
+ </para>
+ </entry>
+ <entry>
+ <para>
+ Management Operation
+ </para>
+ </entry>
+ <entry>
+ <para>
+ Example URL
+ </para>
+ </entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>
+ <para>
+ .xml
+ </para>
+ </entry>
+ <entry>
+ <para>
+ read-config-as-xml
+ </para>
+ </entry>
+ <entry>
+ <para>
+ <ulink url="http://localhost:8080/rest/private/managed-components/foo/bar.xml" />
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ .zip
+ </para>
+ </entry>
+ <entry>
+ <para>
+ export-resource
+ </para>
+ </entry>
+ <entry>
+ <para>
+ <ulink url="http://localhost:8080/rest/private/managed-components/foo/bar.zip" />
+ </para>
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
- </section>
-
- <section id="sect-Admin_Guide-JBoss_Enterprise_Portal_Platform_Management-REST_Component">
- <title>REST Component</title>
- <para>
- The gatein-management REST component is responsible for mapping restful requests to management requests. It does this by locating the managed resource by mapping the request URL to a management address and then invoking an operation on that managed resource. It defines an entry point for RESTful clients, and exposes the registered managed resources and operations over REST.
- </para>
- <section id="sect-Admin_Guide-REST_Component-Entry_Point_URL">
- <title>Entry Point URL</title>
- <para>
- To gain access to gatein-management resources and operations over REST a RESTful client must know the entry point URL, which is defined as follows:
- </para>
- <para>
+ <para></para>
- </para>
- <para>
- http(s)://<host>:<port>/<rest-context-name>/private/managed-components
- </para>
- <para>
- where the rest-context-name is the portal container's rest context name. So for the default portal, the rest context name is 'rest'.
- </para>
- <note>
- <title>Default Entry Point</title>
- <para>
- <ulink url="http://localhost:8080/rest/private/managed-components/" />
- </para>
-
+ <note>
+ <title>Following URLs are equivalent</title>
+ <para>
+ <ulink url="http://localhost:8080/rest/private/managed-components/foo/bar.xml" />
+ <ulink url="http://localhost:8080/rest/private/managed-components/foo/bar?op=read-con..." />
+ </para>
</note>
- <note>
- <para>
- The REST URL is protected, and the authenticated user must belong to the 'administrators' group of the portal.
- </para>
+ </section>
+ </section>
- </note>
+ <section id="sect-Admin_Guide-REST_Component-Attributes">
+ <title>Attributes</title>
- </section>
-
- <section id="sect-Admin_Guide-REST_Component-Resource_URLs">
- <title>Resource URLs</title>
- <para>
- REST resource URLs are mapped to management addresses, and since every managed resource has a unique management address, every managed resource can be represented by a unique REST URL. The URL for identifying managed resources is as follows:
- </para>
- <para>
- <ulink type="http" url="http://<host>:<port>/<rest-context-name>/private/managed-components/<component-name>/<managed-resource-name>/<sub-resource-name>/.../<sub-resource-name>" />
- </para>
- <important>
- <title>Example</title>
- <para>
- <ulink url="http://localhost:8080/rest/private/managed-components/foo/bar/foo-bar" />
- </para>
+ <para>
+ Attributes are mapped to a management request by including all request parameters of the request as attributes. So if an operation supports certain attributes, query parameters can be added to the request URL to be used as attributes of the management request.
+ </para>
- </important>
- <para>
- The URL above uniquely identifies a managed resource named 'foo-bar', which is a sub-resource of 'bar', and 'bar' being a managed resource of the managed component 'foo'.
+ <important>
+ <title>Example</title>
+ <para>
+ <ulink url="http://localhost:8080/rest/private/managed-components/foo/bar?first-name=..." />
</para>
+ </important>
- </section>
-
- <section id="sect-Admin_Guide-REST_Component-Operations">
- <title>Operations</title>
- <para>
- To map a RESTful request to an operation, two strategies are used. One strategy maps the actual HTTP method of the REST request to built-in management operations, and the other is specifying the operation by adding a query parameter.
+ <section id="sect-Admin_Guide-Attributes-Multi_value_Attributes">
+ <title>Multi-value Attributes</title>
+
+ <para>
+ Since management requests can have multiple values for a single attribute name, it's easy to map HTTP query parameters (since it also accepts multiple values) to multi-value management request attributes.
</para>
- <section id="sect-Admin_Guide-Operations-HTTP_Method">
- <title>HTTP Method</title>
- <table>
- <title></title>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>
- <para>
- HTTP Method
- </para>
- </entry>
- <entry>
- <para>
- Management Operation
- </para>
+ <important>
+ <title>Example</title>
+ <para>
+ <ulink url="http://localhost:8080/rest/private/managed-components/foo/bar?colors=red&..." />
+ </para>
+ </important>
+ </section>
+ </section>
- </entry>
+ <section id="sect-Admin_Guide-REST_Component-Content_Negotiation">
+ <title>Content Negotiation</title>
- </row>
+ <para>
+ gatein-management supports the concept of a 'Content Type' to indicate the format of management requests and responses, which maps to the content negotiation principle of REST. Clients can dictate the content type of the management request by specifying the Accept and Content-Type headers of the request. The 'Accept' header is to indicate what it wants to receive the response as, and the 'Content-Type' header is to specify what format the client is sending. Below is a list of request headers that map to a 'Content Type'.
+ </para>
- </thead>
- <tbody>
- <row>
- <entry>
- <para>
- GET
- </para>
+ <table>
+ <title></title>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>
+ <para>
+ Header
+ </para>
+ </entry>
+ <entry>
+ <para>
+ Content Type
+ </para>
+ </entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>
+ <para>
+ application/json
+ </para>
+ </entry>
+ <entry>
+ <para>
+ JSON
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ application/xml
+ </para>
+ </entry>
+ <entry>
+ <para>
+ XML
+ </para>
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
- </entry>
- <entry>
- <para>
- read-resource
- </para>
+ <para></para>
- </entry>
+ <note>
+ <para>
+ JSON is the default content type.
+ </para>
+ </note>
- </row>
- <row>
- <entry>
- <para>
- PUT
- </para>
+ <section id="sect-Admin_Guide-Content_Negotiation-Browser_Content_Negotiation">
+ <title>Browser Content Negotiation</title>
- </entry>
- <entry>
- <para>
- update-resource
- </para>
-
- </entry>
-
- </row>
- <row>
- <entry>
- <para>
- POST
- </para>
-
- </entry>
- <entry>
- <para>
- add-resource
- </para>
-
- </entry>
-
- </row>
- <row>
- <entry>
- <para>
- DELETE
- </para>
-
- </entry>
- <entry>
- <para>
- remove-resource
- </para>
-
- </entry>
-
- </row>
-
- </tbody>
-
- </tgroup>
-
- </table>
- <para>
- This means that the same URL can invoke 4 different operations just by changing the HTTP method of the REST request.
- </para>
-
- </section>
-
- <section id="sect-Admin_Guide-Operations-Request_Parameter">
- <title>Request Parameter</title>
- <para>
- Since gatein-management supports more then just four operations, operations can also be explicitly defined by including request parameters of the REST request. By adding the query parameter 'op' to the request URL, clients can define what operation to invoke.
- </para>
- <important>
- <title>Example</title>
- <para>
- <ulink url="http://localhost:8080/rest/private/managed-components/foo/bar?op=some-cus..." />
- </para>
-
- </important>
- <note>
- <title>Following URLs are equivalent for a GET request</title>
- <para>
- <ulink url="http://localhost:8080/rest/private/managed-components/foo/bar" /> <ulink url="http://localhost:8080/rest/private/managed-components/foo/bar?op=read-res..." />
- </para>
-
- </note>
-
- </section>
-
- <section id="sect-Admin_Guide-Operations-URL_Extension">
- <title>URL Extension</title>
- <para>
- Sometimes it's nice to represent REST resources as a file, so two URL extensions have been added to support two common operations: read-config-as-xml and export-resource. By adding the following URL extensions at the end of the request, you can invoke these two operations.
- </para>
- <table>
- <title></title>
- <tgroup cols="3">
- <thead>
- <row>
- <entry>
- <para>
- URL Extension
- </para>
-
- </entry>
- <entry>
- <para>
- Management Operation
- </para>
-
- </entry>
- <entry>
- <para>
- Example URL
- </para>
-
- </entry>
-
- </row>
-
- </thead>
- <tbody>
- <row>
- <entry>
- <para>
- .xml
- </para>
-
- </entry>
- <entry>
- <para>
- read-config-as-xml
- </para>
-
- </entry>
- <entry>
- <para>
- <ulink url="http://localhost:8080/rest/private/managed-components/foo/bar.xml" />
- </para>
-
- </entry>
-
- </row>
- <row>
- <entry>
- <para>
- .zip
- </para>
-
- </entry>
- <entry>
- <para>
- export-resource
- </para>
-
- </entry>
- <entry>
- <para>
- <ulink url="http://localhost:8080/rest/private/managed-components/foo/bar.zip" />
- </para>
-
- </entry>
-
- </row>
-
- </tbody>
-
- </tgroup>
-
- </table>
- <para>
-
- </para>
- <note>
- <title>Following URLs are equivalent</title>
- <para>
- <ulink url="http://localhost:8080/rest/private/managed-components/foo/bar.xml" /> <ulink url="http://localhost:8080/rest/private/managed-components/foo/bar?op=read-con..." />
- </para>
-
- </note>
-
- </section>
-
-
- </section>
-
- <section id="sect-Admin_Guide-REST_Component-Attributes">
- <title>Attributes</title>
- <para>
- Attributes are mapped to a management request by including all request parameters of the request as attributes. So if an operation supports certain attributes, query parameters can be added to the request URL to be used as attributes of the management request.
+ <para>
+ To make it easy to control the content type of management requests through the browser, the rest component of gatein-management supports the 'format' query parameter to dictate the format of the response. This is because most browsers already send an 'Accept' header.
</para>
- <important>
- <title>Example</title>
- <para>
- <ulink url="http://localhost:8080/rest/private/managed-components/foo/bar?first-name=..." />
- </para>
+ <important>
+ <title>Example</title>
+ <para>
+ <ulink url="http://localhost:8080/rest/private/managed-components/foo/bar?format=xml" />
+ </para>
</important>
- <section id="sect-Admin_Guide-Attributes-Multi_value_Attributes">
- <title>Multi-value Attributes</title>
- <para>
- Since management requests can have multiple values for a single attribute name, it's easy to map HTTP query parameters (since it also accepts multiple values) to multi-value management request attributes.
- </para>
- <important>
- <title>Example</title>
- <para>
- <ulink url="http://localhost:8080/rest/private/managed-components/foo/bar?colors=red&..." />
- </para>
- </important>
-
- </section>
-
-
- </section>
-
- <section id="sect-Admin_Guide-REST_Component-Content_Negotiation">
- <title>Content Negotiation</title>
- <para>
- gatein-management supports the concept of a 'Content Type' to indicate the format of management requests and responses, which maps to the content negotiation principle of REST. Clients can dictate the content type of the management request by specifying the Accept and Content-Type headers of the request. The 'Accept' header is to indicate what it wants to receive the response as, and the 'Content-Type' header is to specify what format the client is sending. Below is a list of request headers that map to a 'Content Type'.
+ <para>
+ Below is the supported 'format' parameters which map to a 'Content Type'.
</para>
- <table>
- <title></title>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>
- <para>
- Header
- </para>
- </entry>
- <entry>
- <para>
- Content Type
- </para>
-
- </entry>
-
- </row>
-
- </thead>
- <tbody>
- <row>
- <entry>
- <para>
- application/json
- </para>
-
- </entry>
- <entry>
- <para>
- JSON
- </para>
-
- </entry>
-
- </row>
- <row>
- <entry>
- <para>
- application/xml
- </para>
-
- </entry>
- <entry>
- <para>
- XML
- </para>
-
- </entry>
-
- </row>
-
- </tbody>
-
- </tgroup>
-
+ <table>
+ <title></title>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>
+ <para>
+ Format parameter
+ </para>
+ </entry>
+ <entry>
+ <para>
+ Content Type
+ </para>
+ </entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>
+ <para>
+ format=json (default)
+ </para>
+ </entry>
+ <entry>
+ <para>
+ JSON
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ format=xml
+ </para>
+ </entry>
+ <entry>
+ <para>
+ XML
+ </para>
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
</table>
- <para>
- </para>
- <note>
- <para>
- JSON is the default content type.
- </para>
+ <para></para>
+ <note>
+ <para>
+ Content negotiation is ignored for content type specific operations such as 'read-config-as-xml' and 'export-resource' since these cannot return different formats.
+ </para>
</note>
- <section id="sect-Admin_Guide-Content_Negotiation-Browser_Content_Negotiation">
- <title>Browser Content Negotiation</title>
- <para>
- To make it easy to control the content type of management requests through the browser, the rest component of gatein-management supports the 'format' query parameter to dictate the format of the response. This is because most browsers already send an 'Accept' header.
- </para>
- <important>
- <title>Example</title>
- <para>
- <ulink url="http://localhost:8080/rest/private/managed-components/foo/bar?format=xml" />
- </para>
+ </section>
+ </section>
+ </section>
+ <section id="sect-Admin_Guide-JBoss_Enterprise_Portal_Platform_Management-Command_Line_Interface">
+ <title>Command Line Interface</title>
- </important>
- <para>
- Below is the supported 'format' parameters which map to a 'Content Type'.
- </para>
- <table>
- <title></title>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>
- <para>
- Format parameter
- </para>
+ <para>
+ The command line interface (CLI) for gatein management provides an interactive shell using CRaSH to map commands to management requests. It uses the CRaSH SSH plugin to connect over SSH.
+ </para>
- </entry>
- <entry>
- <para>
- Content Type
- </para>
+ <note>
+ <para>
+ For more information on CRaSH please visit
+ <ulink url="http://code.google.com/p/crsh/" />
+ .
+ </para>
+ </note>
- </entry>
+ <section id="sect-Admin_Guide-Command_Line_Interface-Deploying_the_CLI">
+ <title>Deploying the CLI</title>
- </row>
-
- </thead>
- <tbody>
- <row>
- <entry>
- <para>
- format=json (default)
- </para>
-
- </entry>
- <entry>
- <para>
- JSON
- </para>
-
- </entry>
-
- </row>
- <row>
- <entry>
- <para>
- format=xml
- </para>
-
- </entry>
- <entry>
- <para>
- XML
- </para>
-
- </entry>
-
- </row>
-
- </tbody>
-
- </tgroup>
-
- </table>
- <para>
-
- </para>
- <note>
- <para>
- Content negotiation is ignored for content type specific operations such as 'read-config-as-xml' and 'export-resource' since these cannot return different formats.
- </para>
-
- </note>
-
- </section>
-
-
- </section>
-
-
- </section>
-
- <section id="sect-Admin_Guide-JBoss_Enterprise_Portal_Platform_Management-Command_Line_Interface">
- <title>Command Line Interface</title>
<para>
- The command line interface (CLI) for gatein management provides an interactive shell using CRaSH to map commands to management requests. It uses the CRaSH SSH plugin to connect over SSH.
- </para>
+ To deploy the CLI you must first build the gatein-management project. The source is available on
+ <ulink url="http://github.com/gatein/gatein-management">github</ulink>
+ . Once built you can then deploy the web application to a JBoss Enterprise Portal Platform instance.
+ </para>
+
<note>
<para>
- For more information on CRaSH please visit <ulink url="http://code.google.com/p/crsh/" /> .
+ The CLI web application must be deployed as an exploded war
</para>
+ </note>
+ </section>
- </note>
- <section id="sect-Admin_Guide-Command_Line_Interface-Deploying_the_CLI">
- <title>Deploying the CLI</title>
- <para>
- To deploy the CLI you must first build the gatein-management project. The source is available on <ulink url="http://github.com/gatein/gatein-management">github</ulink> . Once built you can then deploy the web application to a JBoss Enterprise Portal Platform instance.
- </para>
- <note>
- <para>
- The CLI web application must be deployed as an exploded war
- </para>
+ <section id="sect-Admin_Guide-Command_Line_Interface-Running_the_CLI">
+ <title>Running the CLI</title>
- </note>
+ <para>
+ After deploying the CLI web application you can connect to the CLI over SSH. The default port is 2000.
+ </para>
- </section>
-
- <section id="sect-Admin_Guide-Command_Line_Interface-Running_the_CLI">
- <title>Running the CLI</title>
- <para>
- After deploying the CLI web application you can connect to the CLI over SSH. The default port is 2000.
+ <important>
+ <title>Example</title>
+ <para>
+ ssh -p 2000 root@localhost
</para>
- <important>
- <title>Example</title>
- <para>
- ssh -p 2000 root@localhost
- </para>
+ </important>
+ </section>
+ </section>
+ <section id="sect-Admin_Guide-JBoss_Enterprise_Portal_Platform_Management-Management_Extensions">
+ <title>Management Extensions</title>
- </important>
+ <para>
+ Below will discuss specific management extensions included in JBoss Enterprise Portal Platform.
+ </para>
- </section>
-
+ <section id="sect-Admin_Guide-Management_Extensions-MOP_Extension">
+ <title>MOP Extension</title>
- </section>
-
- <section id="sect-Admin_Guide-JBoss_Enterprise_Portal_Platform_Management-Management_Extensions">
- <title>Management Extensions</title>
<para>
- Below will discuss specific management extensions included in JBoss Enterprise Portal Platform.
- </para>
- <section id="sect-Admin_Guide-Management_Extensions-MOP_Extension">
- <title>MOP Extension</title>
- <para>
- The MOP extension registers the 'mop' managed component which is responsible for managing pages, navigation, and site layout. It supports the read-config-as-xml, export-resource, and import-resource operations. The read-config-as-xml operation exposes pages, navigation, and site layout in the <ulink url="http://www.gatein.org/xml/ns/">gatein-objects</ulink> xml format which is found in when defining this content in a portal extension.
- </para>
-
- </section>
-
-
- </section>
-
-
+ The MOP extension registers the 'mop' managed component which is responsible for managing pages, navigation, and site layout. It supports the read-config-as-xml, export-resource, and import-resource operations. The read-config-as-xml operation exposes pages, navigation, and site layout in the
+ <ulink url="http://www.gatein.org/xml/ns/">gatein-objects</ulink>
+ xml format which is found in when defining this content in a portal extension.
+ </para>
+ </section>
+ </section>
</chapter>
Added: epp/docs/branches/5.2/Admin_Guide/en-US/icons/icon.svg
===================================================================
--- epp/docs/branches/5.2/Admin_Guide/en-US/icons/icon.svg (rev 0)
+++ epp/docs/branches/5.2/Admin_Guide/en-US/icons/icon.svg 2011-11-09 03:30:26 UTC (rev 8013)
@@ -0,0 +1,3936 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:ns="http://ns.adobe.com/AdobeSVGViewerExtensions/3/"
+ xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://web.resource.org/cc/"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg3017"
+ sodipodi:version="0.32"
+ inkscape:version="0.44+devel"
+ sodipodi:docname="book.svg"
+ sodipodi:docbase="/home/andy/Desktop">
+ <metadata
+ id="metadata489">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <sodipodi:namedview
+ inkscape:window-height="480"
+ inkscape:window-width="858"
+ inkscape:pageshadow="0"
+ inkscape:pageopacity="0.0"
+ guidetolerance="10.0"
+ gridtolerance="10.0"
+ objecttolerance="10.0"
+ borderopacity="1.0"
+ bordercolor="#666666"
+ pagecolor="#ffffff"
+ id="base"
+ inkscape:zoom="1"
+ inkscape:cx="16"
+ inkscape:cy="15.944056"
+ inkscape:window-x="0"
+ inkscape:window-y="33"
+ inkscape:current-layer="svg3017" />
+ <defs
+ id="defs3019">
+ <linearGradient
+ id="linearGradient2381">
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0"
+ id="stop2383" />
+ <stop
+ style="stop-color:white;stop-opacity:0"
+ offset="1"
+ id="stop2385" />
+ </linearGradient>
+ <linearGradient
+ x1="415.73831"
+ y1="11.854"
+ x2="418.13361"
+ y2="18.8104"
+ id="XMLID_1758_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.8362,0.5206,-1.1904,0.992,147.62,-30.9374)">
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="0"
+ id="stop3903" />
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="1"
+ id="stop3905" />
+ <a:midPointStop
+ style="stop-color:#CCCCCC"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#CCCCCC"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#F2F2F2"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="500.70749"
+ y1="-13.2441"
+ x2="513.46442"
+ y2="-2.1547"
+ id="XMLID_1757_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0"
+ id="stop3890" />
+ <stop
+ style="stop-color:#96bad6;stop-opacity:1"
+ offset="1"
+ id="stop3892" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#96BAD6"
+ offset="1" />
+ </linearGradient>
+ <clipPath
+ id="XMLID_1755_">
+ <use
+ id="use3874"
+ x="0"
+ y="0"
+ width="744.09448"
+ height="600"
+ xlink:href="#XMLID_343_" />
+ </clipPath>
+ <linearGradient
+ x1="505.62939"
+ y1="-14.9526"
+ x2="527.49402"
+ y2="-0.7536"
+ id="XMLID_1756_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0"
+ id="stop3877" />
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0.51120001"
+ id="stop3879" />
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0.64609998"
+ id="stop3881" />
+ <stop
+ style="stop-color:#16336e;stop-opacity:1"
+ offset="1"
+ id="stop3883" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5112" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.6461" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#16336E"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="471.0806"
+ y1="201.07761"
+ x2="481.91711"
+ y2="210.4977"
+ id="XMLID_1754_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#6498c1;stop-opacity:1"
+ offset="0.005618"
+ id="stop3863" />
+ <stop
+ style="stop-color:#79a9cc;stop-opacity:1"
+ offset="0.2332"
+ id="stop3865" />
+ <stop
+ style="stop-color:#a4cde2;stop-opacity:1"
+ offset="0.74049997"
+ id="stop3867" />
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="1"
+ id="stop3869" />
+ <a:midPointStop
+ style="stop-color:#6498C1"
+ offset="5.618000e-003" />
+ <a:midPointStop
+ style="stop-color:#6498C1"
+ offset="0.4438" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="516.57672"
+ y1="-15.769"
+ x2="516.57672"
+ y2="0.84280002"
+ id="XMLID_1753_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
+ <stop
+ style="stop-color:#b2b2b2;stop-opacity:1"
+ offset="0"
+ id="stop3851" />
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="1"
+ id="stop3853" />
+ <a:midPointStop
+ style="stop-color:#B2B2B2"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#B2B2B2"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#F2F2F2"
+ offset="1" />
+ </linearGradient>
+ <clipPath
+ id="XMLID_1751_">
+ <use
+ id="use3837"
+ x="0"
+ y="0"
+ width="744.09448"
+ height="600"
+ xlink:href="#XMLID_338_" />
+ </clipPath>
+ <linearGradient
+ x1="506.09909"
+ y1="-11.5137"
+ x2="527.99609"
+ y2="2.7063999"
+ id="XMLID_1752_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0"
+ id="stop3840" />
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0.51120001"
+ id="stop3842" />
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0.64609998"
+ id="stop3844" />
+ <stop
+ style="stop-color:#16336e;stop-opacity:1"
+ offset="1"
+ id="stop3846" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5112" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.6461" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#16336E"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="468.2915"
+ y1="204.7612"
+ x2="479.39871"
+ y2="214.4166"
+ id="XMLID_1750_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0"
+ id="stop3830" />
+ <stop
+ style="stop-color:#96bad6;stop-opacity:1"
+ offset="1"
+ id="stop3832" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#96BAD6"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="502.70749"
+ y1="115.3013"
+ x2="516.39001"
+ y2="127.1953"
+ id="XMLID_1749_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.9703,0.2419,-0.2419,0.9703,11.0227,-35.6159)">
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0"
+ id="stop3818" />
+ <stop
+ style="stop-color:#96bad6;stop-opacity:1"
+ offset="1"
+ id="stop3820" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#96BAD6"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="501.0903"
+ y1="-19.2544"
+ x2="531.85413"
+ y2="0.72390002"
+ id="XMLID_1748_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0"
+ id="stop3803" />
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0.51120001"
+ id="stop3805" />
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0.64609998"
+ id="stop3807" />
+ <stop
+ style="stop-color:#16336e;stop-opacity:1"
+ offset="1"
+ id="stop3809" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5112" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.6461" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#16336E"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="481.23969"
+ y1="212.5742"
+ x2="472.92981"
+ y2="207.4967"
+ id="XMLID_2275_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#f3403f;stop-opacity:1"
+ offset="0"
+ id="stop9947" />
+ <stop
+ style="stop-color:#d02a28;stop-opacity:1"
+ offset="0.37889999"
+ id="stop9949" />
+ <stop
+ style="stop-color:#b21714;stop-opacity:1"
+ offset="0.77649999"
+ id="stop9951" />
+ <stop
+ style="stop-color:#a6100c;stop-opacity:1"
+ offset="1"
+ id="stop9953" />
+ <a:midPointStop
+ style="stop-color:#F3403F"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#F3403F"
+ offset="0.4213" />
+ <a:midPointStop
+ style="stop-color:#A6100C"
+ offset="1" />
+ </linearGradient>
+ <clipPath
+ id="XMLID_2273_">
+ <use
+ id="use9933"
+ x="0"
+ y="0"
+ width="744.09448"
+ height="600"
+ xlink:href="#XMLID_960_" />
+ </clipPath>
+ <linearGradient
+ x1="473.7681"
+ y1="209.17529"
+ x2="486.98099"
+ y2="213.2001"
+ id="XMLID_2274_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#f3403f;stop-opacity:1"
+ offset="0"
+ id="stop9936" />
+ <stop
+ style="stop-color:#d02a28;stop-opacity:1"
+ offset="0.37889999"
+ id="stop9938" />
+ <stop
+ style="stop-color:#b21714;stop-opacity:1"
+ offset="0.77649999"
+ id="stop9940" />
+ <stop
+ style="stop-color:#a6100c;stop-opacity:1"
+ offset="1"
+ id="stop9942" />
+ <a:midPointStop
+ style="stop-color:#F3403F"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#F3403F"
+ offset="0.4213" />
+ <a:midPointStop
+ style="stop-color:#A6100C"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="478.21341"
+ y1="-131.9297"
+ x2="469.85818"
+ y2="-140.28481"
+ id="XMLID_2272_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.5592,0.829,-0.829,0.5592,101.3357,-104.791)">
+ <stop
+ style="stop-color:#f3403f;stop-opacity:1"
+ offset="0"
+ id="stop9917" />
+ <stop
+ style="stop-color:#d02a28;stop-opacity:1"
+ offset="0.37889999"
+ id="stop9919" />
+ <stop
+ style="stop-color:#b21714;stop-opacity:1"
+ offset="0.77649999"
+ id="stop9921" />
+ <stop
+ style="stop-color:#a6100c;stop-opacity:1"
+ offset="1"
+ id="stop9923" />
+ <a:midPointStop
+ style="stop-color:#F3403F"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#F3403F"
+ offset="0.4213" />
+ <a:midPointStop
+ style="stop-color:#A6100C"
+ offset="1" />
+ </linearGradient>
+ <marker
+ refX="0"
+ refY="0"
+ orient="auto"
+ style="overflow:visible"
+ id="TriangleInM">
+ <path
+ d="M 5.77,0 L -2.88,5 L -2.88,-5 L 5.77,0 z "
+ transform="scale(-0.4,-0.4)"
+ style="fill:#5c5c4f"
+ id="path3197" />
+ </marker>
+ <linearGradient
+ x1="200.7363"
+ y1="100.4028"
+ x2="211.99519"
+ y2="89.143997"
+ id="XMLID_3298_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#bfbfbf;stop-opacity:1"
+ offset="0"
+ id="stop20103" />
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="1"
+ id="stop20105" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#BFBFBF" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#BFBFBF" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#F2F2F2" />
+ </linearGradient>
+ <linearGradient
+ x1="200.7363"
+ y1="100.4028"
+ x2="211.99519"
+ y2="89.143997"
+ id="linearGradient36592"
+ xlink:href="#XMLID_3298_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.029078,0,0,1,-183.2624,-79.44655)" />
+ <linearGradient
+ x1="181.2925"
+ y1="110.8481"
+ x2="192.6369"
+ y2="99.5037"
+ id="XMLID_3297_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="0"
+ id="stop20096" />
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="1"
+ id="stop20098" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#CCCCCC" />
+ </linearGradient>
+ <linearGradient
+ x1="181.2925"
+ y1="110.8481"
+ x2="192.6369"
+ y2="99.5037"
+ id="linearGradient36595"
+ xlink:href="#XMLID_3297_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.029078,0,0,1,-183.2624,-79.44655)" />
+ <linearGradient
+ x1="211.77589"
+ y1="105.7749"
+ x2="212.6619"
+ y2="108.2092"
+ id="XMLID_3296_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#0f6124;stop-opacity:1"
+ offset="0"
+ id="stop20087" />
+ <stop
+ style="stop-color:#219630;stop-opacity:1"
+ offset="1"
+ id="stop20089" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#0F6124" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#0F6124" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#219630" />
+ </linearGradient>
+ <linearGradient
+ x1="211.77589"
+ y1="105.7749"
+ x2="212.6619"
+ y2="108.2092"
+ id="linearGradient36677"
+ xlink:href="#XMLID_3296_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.029078,0,0,1,-183.2624,-79.44655)" />
+ <linearGradient
+ x1="208.9834"
+ y1="116.8296"
+ x2="200.0811"
+ y2="96.834602"
+ id="XMLID_3295_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#b2b2b2;stop-opacity:1"
+ offset="0"
+ id="stop20076" />
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="0.5"
+ id="stop20078" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="1"
+ id="stop20080" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#B2B2B2" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#B2B2B2" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#FFFFFF" />
+ </linearGradient>
+ <linearGradient
+ x1="208.9834"
+ y1="116.8296"
+ x2="200.0811"
+ y2="96.834602"
+ id="linearGradient36604"
+ xlink:href="#XMLID_3295_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.029078,0,0,1,-183.2624,-79.44655)" />
+ <linearGradient
+ x1="195.5264"
+ y1="97.911102"
+ x2="213.5213"
+ y2="115.9061"
+ id="XMLID_3294_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="0"
+ id="stop20069" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="1"
+ id="stop20071" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#CCCCCC" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#CCCCCC" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#FFFFFF" />
+ </linearGradient>
+ <linearGradient
+ x1="195.5264"
+ y1="97.911102"
+ x2="213.5213"
+ y2="115.9061"
+ id="linearGradient36607"
+ xlink:href="#XMLID_3294_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.029078,0,0,1,-183.2624,-79.44655)" />
+ <linearGradient
+ x1="186.1938"
+ y1="109.1343"
+ x2="206.6881"
+ y2="88.639999"
+ id="XMLID_3293_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#b2b2b2;stop-opacity:1"
+ offset="0"
+ id="stop20056" />
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="0.16850001"
+ id="stop20058" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0.23029999"
+ id="stop20060" />
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="0.2809"
+ id="stop20062" />
+ <stop
+ style="stop-color:#c2c2c2;stop-opacity:1"
+ offset="0.5"
+ id="stop20064" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#B2B2B2" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#B2B2B2" />
+ <a:midPointStop
+ offset="0.1685"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="0.2303"
+ style="stop-color:#FFFFFF" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#FFFFFF" />
+ <a:midPointStop
+ offset="0.2809"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#C2C2C2" />
+ </linearGradient>
+ <linearGradient
+ x1="186.1938"
+ y1="109.1343"
+ x2="206.6881"
+ y2="88.639999"
+ id="linearGradient36610"
+ xlink:href="#XMLID_3293_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.029078,0,0,1,-183.2624,-79.44655)" />
+ <linearGradient
+ x1="184.8569"
+ y1="112.2676"
+ x2="211.94099"
+ y2="89.541397"
+ id="XMLID_3292_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#b2b2b2;stop-opacity:1"
+ offset="0"
+ id="stop20043" />
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="0.16850001"
+ id="stop20045" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0.23029999"
+ id="stop20047" />
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="0.2809"
+ id="stop20049" />
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="1"
+ id="stop20051" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#B2B2B2" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#B2B2B2" />
+ <a:midPointStop
+ offset="0.1685"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="0.2303"
+ style="stop-color:#FFFFFF" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#FFFFFF" />
+ <a:midPointStop
+ offset="0.2809"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#CCCCCC" />
+ </linearGradient>
+ <linearGradient
+ x1="184.8569"
+ y1="112.2676"
+ x2="211.94099"
+ y2="89.541397"
+ id="linearGradient36613"
+ xlink:href="#XMLID_3292_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.029078,0,0,1,-183.2624,-79.44655)" />
+ <marker
+ refX="0"
+ refY="0"
+ orient="auto"
+ style="overflow:visible"
+ id="TriangleOutM">
+ <path
+ d="M 5.77,0 L -2.88,5 L -2.88,-5 L 5.77,0 z "
+ transform="scale(0.4,0.4)"
+ style="fill:#5c5c4f;fill-rule:evenodd;stroke-width:1pt;marker-start:none"
+ id="path3238" />
+ </marker>
+ <linearGradient
+ x1="165.3"
+ y1="99.5"
+ x2="165.3"
+ y2="115.9"
+ id="XMLID_3457_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#999;stop-opacity:1"
+ offset="0"
+ id="stop8309" />
+ <stop
+ style="stop-color:#b2b2b2;stop-opacity:1"
+ offset="0.30000001"
+ id="stop8311" />
+ <stop
+ style="stop-color:#b2b2b2;stop-opacity:1"
+ offset="1"
+ id="stop8313" />
+ <a:midPointstop
+ offset="0"
+ style="stop-color:#999999" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#999999" />
+ <a:midPointstop
+ offset="0.3"
+ style="stop-color:#B2B2B2" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#B2B2B2" />
+ <a:midPointstop
+ offset="1"
+ style="stop-color:#B2B2B2" />
+ </linearGradient>
+ <linearGradient
+ x1="165.3"
+ y1="99.5"
+ x2="165.3"
+ y2="115.9"
+ id="lg1997"
+ xlink:href="#XMLID_3457_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2,0,0,1.2,-175.9,-114.6)" />
+ <linearGradient
+ x1="175"
+ y1="99.800003"
+ x2="175"
+ y2="112.5"
+ id="XMLID_3456_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#737373;stop-opacity:1"
+ offset="0"
+ id="stop8300" />
+ <stop
+ style="stop-color:#191919;stop-opacity:1"
+ offset="0.60000002"
+ id="stop8302" />
+ <stop
+ style="stop-color:#191919;stop-opacity:1"
+ offset="1"
+ id="stop8304" />
+ <a:midPointstop
+ offset="0"
+ style="stop-color:#737373" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#737373" />
+ <a:midPointstop
+ offset="0.6"
+ style="stop-color:#191919" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#191919" />
+ <a:midPointstop
+ offset="1"
+ style="stop-color:#191919" />
+ </linearGradient>
+ <linearGradient
+ x1="175"
+ y1="99.800003"
+ x2="175"
+ y2="112.5"
+ id="lg2000"
+ xlink:href="#XMLID_3456_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2,0,0,1.2,-175.9,-114.6)" />
+ <linearGradient
+ x1="168.8"
+ y1="107.1"
+ x2="164.5"
+ y2="110"
+ id="XMLID_3455_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#666;stop-opacity:1"
+ offset="0"
+ id="stop8291" />
+ <stop
+ style="stop-color:#191919;stop-opacity:1"
+ offset="0.69999999"
+ id="stop8293" />
+ <stop
+ style="stop-color:#191919;stop-opacity:1"
+ offset="1"
+ id="stop8295" />
+ <a:midPointstop
+ offset="0"
+ style="stop-color:#666666" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#666666" />
+ <a:midPointstop
+ offset="0.7"
+ style="stop-color:#191919" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#191919" />
+ <a:midPointstop
+ offset="1"
+ style="stop-color:#191919" />
+ </linearGradient>
+ <linearGradient
+ x1="168.8"
+ y1="107.1"
+ x2="164.5"
+ y2="110"
+ id="lg2003"
+ xlink:href="#XMLID_3455_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2,0,0,1.2,-175.9,-114.6)" />
+ <linearGradient
+ id="lg63694">
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0"
+ id="stop63696" />
+ <stop
+ style="stop-color:white;stop-opacity:0"
+ offset="1"
+ id="stop63698" />
+ </linearGradient>
+ <linearGradient
+ x1="458"
+ y1="483"
+ x2="465.20001"
+ y2="271.39999"
+ id="lg2006"
+ xlink:href="#lg63694"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(6.3e-2,0,0,6.3e-2,-1.3,-9.8)" />
+ <linearGradient
+ x1="176.3"
+ y1="110.1"
+ x2="158.7"
+ y2="105"
+ id="XMLID_3453_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#666;stop-opacity:1"
+ offset="0"
+ id="stop8271" />
+ <stop
+ style="stop-color:#737373;stop-opacity:1"
+ offset="0.2"
+ id="stop8273" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="1"
+ id="stop8275" />
+ <a:midPointstop
+ offset="0"
+ style="stop-color:#666666" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#666666" />
+ <a:midPointstop
+ offset="0.2"
+ style="stop-color:#737373" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#737373" />
+ <a:midPointstop
+ offset="1"
+ style="stop-color:#FFFFFF" />
+ </linearGradient>
+ <linearGradient
+ x1="176.3"
+ y1="110.1"
+ x2="158.7"
+ y2="105"
+ id="lg2009"
+ xlink:href="#XMLID_3453_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2,0,0,1.2,-175.9,-114.6)" />
+ <linearGradient
+ x1="173.60001"
+ y1="118.9"
+ x2="172.8"
+ y2="128.2"
+ id="XMLID_3449_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#ecb300;stop-opacity:1"
+ offset="0"
+ id="stop8232" />
+ <stop
+ style="stop-color:#fff95e;stop-opacity:1"
+ offset="0.60000002"
+ id="stop8234" />
+ <stop
+ style="stop-color:#ecd600;stop-opacity:1"
+ offset="1"
+ id="stop8236" />
+ <a:midPointstop
+ offset="0"
+ style="stop-color:#ECB300" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#ECB300" />
+ <a:midPointstop
+ offset="0.6"
+ style="stop-color:#FFF95E" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#FFF95E" />
+ <a:midPointstop
+ offset="1"
+ style="stop-color:#ECD600" />
+ </linearGradient>
+ <linearGradient
+ x1="173.60001"
+ y1="118.9"
+ x2="172.8"
+ y2="128.2"
+ id="lg2016"
+ xlink:href="#XMLID_3449_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2,0,0,1.2,-175.9,-114.6)" />
+ <radialGradient
+ cx="284.60001"
+ cy="172.60001"
+ r="6.5"
+ fx="284.60001"
+ fy="172.60001"
+ id="XMLID_3448_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4,0,0,1.4,-237.3,-126.8)">
+ <stop
+ style="stop-color:#ecb300;stop-opacity:1"
+ offset="0"
+ id="stop8219" />
+ <stop
+ style="stop-color:#ecb300;stop-opacity:1"
+ offset="0.30000001"
+ id="stop8221" />
+ <stop
+ style="stop-color:#c96b00;stop-opacity:1"
+ offset="0.89999998"
+ id="stop8223" />
+ <stop
+ style="stop-color:#9a5500;stop-opacity:1"
+ offset="1"
+ id="stop8225" />
+ <a:midPointstop
+ offset="0"
+ style="stop-color:#ECB300" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#ECB300" />
+ <a:midPointstop
+ offset="0.3"
+ style="stop-color:#ECB300" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#ECB300" />
+ <a:midPointstop
+ offset="0.9"
+ style="stop-color:#C96B00" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#C96B00" />
+ <a:midPointstop
+ offset="1"
+ style="stop-color:#9A5500" />
+ </radialGradient>
+ <radialGradient
+ cx="284.60001"
+ cy="172.60001"
+ r="6.5"
+ fx="284.60001"
+ fy="172.60001"
+ id="rg2020"
+ xlink:href="#XMLID_3448_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.513992,0,0,2.347576,-689.1621,-378.5717)" />
+ <linearGradient
+ x1="158.10001"
+ y1="123"
+ x2="164.2"
+ y2="126.6"
+ id="XMLID_3447_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#ecd600;stop-opacity:1"
+ offset="0"
+ id="stop8204" />
+ <stop
+ style="stop-color:#ffffb3;stop-opacity:1"
+ offset="0.30000001"
+ id="stop8206" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="1"
+ id="stop8208" />
+ <a:midPointstop
+ offset="0"
+ style="stop-color:#ECD600" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#ECD600" />
+ <a:midPointstop
+ offset="0.3"
+ style="stop-color:#FFFFB3" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#FFFFB3" />
+ <a:midPointstop
+ offset="1"
+ style="stop-color:#FFFFFF" />
+ </linearGradient>
+ <linearGradient
+ x1="158.10001"
+ y1="123"
+ x2="164.2"
+ y2="126.6"
+ id="lg2026"
+ xlink:href="#XMLID_3447_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2,0,0,1.2,-175.9,-114.6)" />
+ <radialGradient
+ cx="280.89999"
+ cy="163.7"
+ r="10.1"
+ fx="280.89999"
+ fy="163.7"
+ id="XMLID_3446_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4,0,0,1.4,-237.3,-126.8)">
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0"
+ id="stop8197" />
+ <stop
+ style="stop-color:#fff95e;stop-opacity:1"
+ offset="1"
+ id="stop8199" />
+ <a:midPointstop
+ offset="0"
+ style="stop-color:#FFFFFF" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#FFFFFF" />
+ <a:midPointstop
+ offset="1"
+ style="stop-color:#FFF95E" />
+ </radialGradient>
+ <radialGradient
+ cx="280.89999"
+ cy="163.7"
+ r="10.1"
+ fx="280.89999"
+ fy="163.7"
+ id="rg2029"
+ xlink:href="#XMLID_3446_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.7,0,0,1.7,-457.5,-266.8)" />
+ <linearGradient
+ x1="156.5"
+ y1="122.7"
+ x2="180.10001"
+ y2="122.7"
+ id="XMLID_3445_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#ecb300;stop-opacity:1"
+ offset="0"
+ id="stop8184" />
+ <stop
+ style="stop-color:#ffe900;stop-opacity:1"
+ offset="0.2"
+ id="stop8186" />
+ <stop
+ style="stop-color:#ffffb3;stop-opacity:1"
+ offset="0.30000001"
+ id="stop8188" />
+ <stop
+ style="stop-color:#ffe900;stop-opacity:1"
+ offset="0.40000001"
+ id="stop8190" />
+ <stop
+ style="stop-color:#d68100;stop-opacity:1"
+ offset="1"
+ id="stop8192" />
+ <a:midPointstop
+ offset="0"
+ style="stop-color:#ECB300" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#ECB300" />
+ <a:midPointstop
+ offset="0.2"
+ style="stop-color:#FFE900" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#FFE900" />
+ <a:midPointstop
+ offset="0.3"
+ style="stop-color:#FFFFB3" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#FFFFB3" />
+ <a:midPointstop
+ offset="0.4"
+ style="stop-color:#FFE900" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#FFE900" />
+ <a:midPointstop
+ offset="1"
+ style="stop-color:#D68100" />
+ </linearGradient>
+ <linearGradient
+ x1="156.5"
+ y1="122.7"
+ x2="180.10001"
+ y2="122.7"
+ id="lg2032"
+ xlink:href="#XMLID_3445_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2,0,0,1.2,-175.9,-114.6)" />
+ <linearGradient
+ x1="156.39999"
+ y1="115.4"
+ x2="180.10001"
+ y2="115.4"
+ id="XMLID_3444_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#ecb300;stop-opacity:1"
+ offset="0"
+ id="stop8171" />
+ <stop
+ style="stop-color:#ffe900;stop-opacity:1"
+ offset="0.2"
+ id="stop8173" />
+ <stop
+ style="stop-color:#ffffb3;stop-opacity:1"
+ offset="0.30000001"
+ id="stop8175" />
+ <stop
+ style="stop-color:#ffe900;stop-opacity:1"
+ offset="0.40000001"
+ id="stop8177" />
+ <stop
+ style="stop-color:#d68100;stop-opacity:1"
+ offset="1"
+ id="stop8179" />
+ <a:midPointstop
+ offset="0"
+ style="stop-color:#ECB300" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#ECB300" />
+ <a:midPointstop
+ offset="0.2"
+ style="stop-color:#FFE900" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#FFE900" />
+ <a:midPointstop
+ offset="0.3"
+ style="stop-color:#FFFFB3" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#FFFFB3" />
+ <a:midPointstop
+ offset="0.4"
+ style="stop-color:#FFE900" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#FFE900" />
+ <a:midPointstop
+ offset="1"
+ style="stop-color:#D68100" />
+ </linearGradient>
+ <linearGradient
+ x1="156.39999"
+ y1="115.4"
+ x2="180.10001"
+ y2="115.4"
+ id="lg2035"
+ xlink:href="#XMLID_3444_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2,0,0,1.2,-175.9,-114.6)" />
+ <linearGradient
+ x1="379.70001"
+ y1="167.89999"
+ x2="383.89999"
+ y2="172.89999"
+ id="lg4286_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.8,0.2,-0.2,0.8,78.8,38.1)">
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0"
+ id="s16159" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0.1"
+ id="s16161" />
+ <stop
+ style="stop-color:#737373;stop-opacity:1"
+ offset="1"
+ id="s16163" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0.1" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#737373"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="379.60001"
+ y1="167.8"
+ x2="383.79999"
+ y2="172"
+ id="lg6416"
+ xlink:href="#lg4286_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.622156,0.623859,-0.623859,2.62182,-882.9706,-673.7921)" />
+ <linearGradient
+ x1="384.20001"
+ y1="169.8"
+ x2="384.79999"
+ y2="170.39999"
+ id="lg4285_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.8,0.2,-0.2,0.8,78.8,38.1)">
+ <stop
+ style="stop-color:#737373;stop-opacity:1"
+ offset="0"
+ id="s16152" />
+ <stop
+ style="stop-color:#d9d9d9;stop-opacity:1"
+ offset="1"
+ id="s16154" />
+ <ns:midPointStop
+ style="stop-color:#737373"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#737373"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#D9D9D9"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="384.20001"
+ y1="169.8"
+ x2="384.79999"
+ y2="170.39999"
+ id="lg6453"
+ xlink:href="#lg4285_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.6,0.6,-0.6,2.6,-883,-673.8)" />
+ <linearGradient
+ x1="380.5"
+ y1="172.60001"
+ x2="382.79999"
+ y2="173.7"
+ id="lg4284_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.8,0.2,-0.2,0.8,78.8,38.1)">
+ <stop
+ style="stop-color:gray;stop-opacity:1"
+ offset="0"
+ id="s16145" />
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="1"
+ id="s16147" />
+ <ns:midPointStop
+ style="stop-color:#808080"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#808080"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#E5E5E5"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="380.5"
+ y1="172.60001"
+ x2="382.79999"
+ y2="173.7"
+ id="lg6456"
+ xlink:href="#lg4284_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.6,0.6,-0.6,2.6,-883,-673.8)" />
+ <radialGradient
+ cx="347.29999"
+ cy="244.5"
+ r="5.1999998"
+ fx="347.29999"
+ fy="244.5"
+ id="lg4282_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(3.4,0,0,3.4,-1148,-802)">
+ <stop
+ style="stop-color:#333;stop-opacity:1"
+ offset="0"
+ id="s16135" />
+ <stop
+ style="stop-color:#999;stop-opacity:1"
+ offset="1"
+ id="s16137" />
+ <ns:midPointStop
+ style="stop-color:#333333"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#333333"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#999999"
+ offset="1" />
+ </radialGradient>
+ <linearGradient
+ x1="310.39999"
+ y1="397.70001"
+ x2="310.89999"
+ y2="399.5"
+ id="lg4280_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.7,-0.7,0.7,0.7,-153.4,180.6)">
+ <stop
+ style="stop-color:#ffcd00;stop-opacity:1"
+ offset="0"
+ id="s16111" />
+ <stop
+ style="stop-color:#ffffb3;stop-opacity:1"
+ offset="0.60000002"
+ id="s16113" />
+ <stop
+ style="stop-color:#ffffb3;stop-opacity:1"
+ offset="1"
+ id="s16115" />
+ <ns:midPointStop
+ style="stop-color:#FFCD00"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#FFCD00"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFFFB3"
+ offset="0.6" />
+ <ns:midPointStop
+ style="stop-color:#FFFFB3"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFFFB3"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="310.39999"
+ y1="397.70001"
+ x2="310.89999"
+ y2="399.5"
+ id="lg6467"
+ xlink:href="#lg4280_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.4,-2.4,2.4,2.4,-1663.6,-195)" />
+ <linearGradient
+ x1="310.89999"
+ y1="395.79999"
+ x2="313.29999"
+ y2="403.10001"
+ id="lg4279_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.7,-0.7,0.7,0.7,-153.4,180.6)">
+ <stop
+ style="stop-color:#ffffb3;stop-opacity:1"
+ offset="0"
+ id="s16100" />
+ <stop
+ style="stop-color:#ffffb3;stop-opacity:1"
+ offset="0.40000001"
+ id="s16102" />
+ <stop
+ style="stop-color:#ffcd00;stop-opacity:1"
+ offset="0.89999998"
+ id="s16104" />
+ <stop
+ style="stop-color:#ffcd00;stop-opacity:1"
+ offset="1"
+ id="s16106" />
+ <ns:midPointStop
+ style="stop-color:#FFFFB3"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#FFFFB3"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFFFB3"
+ offset="0.4" />
+ <ns:midPointStop
+ style="stop-color:#FFFFB3"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFCD00"
+ offset="0.9" />
+ <ns:midPointStop
+ style="stop-color:#FFCD00"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFCD00"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="310.89999"
+ y1="395.79999"
+ x2="313.29999"
+ y2="403.10001"
+ id="lg6465"
+ xlink:href="#lg4279_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.4,-2.4,2.4,2.4,-1663.6,-195)" />
+ <linearGradient
+ x1="307.79999"
+ y1="395.20001"
+ x2="313.79999"
+ y2="413.60001"
+ id="lg4278_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.7,-0.7,0.7,0.7,-153.4,180.6)">
+ <stop
+ style="stop-color:#ffffb3;stop-opacity:1"
+ offset="0"
+ id="s16091" />
+ <stop
+ style="stop-color:#fcd72f;stop-opacity:1"
+ offset="0.40000001"
+ id="s16093" />
+ <stop
+ style="stop-color:#ffcd00;stop-opacity:1"
+ offset="1"
+ id="s16095" />
+ <ns:midPointStop
+ style="stop-color:#FFFFB3"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#FFFFB3"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FCD72F"
+ offset="0.4" />
+ <ns:midPointStop
+ style="stop-color:#FCD72F"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFCD00"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="306.5"
+ y1="393"
+ x2="309"
+ y2="404"
+ id="lg6400"
+ xlink:href="#lg4278_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.4,-2.4,2.4,2.4,-1663.6,-195)" />
+ <linearGradient
+ x1="352.10001"
+ y1="253.60001"
+ x2="348.5"
+ y2="237.8"
+ id="lg4276_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(3.4,0,0,3.4,-1148,-802)">
+ <stop
+ style="stop-color:#ffff87;stop-opacity:1"
+ offset="0"
+ id="s16077" />
+ <stop
+ style="stop-color:#ffad00;stop-opacity:1"
+ offset="1"
+ id="s16079" />
+ <ns:midPointStop
+ style="stop-color:#FFFF87"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#FFFF87"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFAD00"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="335.60001"
+ y1="354.79999"
+ x2="337.89999"
+ y2="354.79999"
+ id="lg4275_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.9,-0.5,0.5,0.9,-121.7,105.1)">
+ <stop
+ style="stop-color:#d9d9d9;stop-opacity:1"
+ offset="0"
+ id="s16057" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0.80000001"
+ id="s16059" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="1"
+ id="s16061" />
+ <ns:midPointStop
+ style="stop-color:#D9D9D9"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#D9D9D9"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0.8" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="335.60001"
+ y1="354.79999"
+ x2="337.89999"
+ y2="354.79999"
+ id="lg6463"
+ xlink:href="#lg4275_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.9,-1.7,1.7,2.9,-1557,-448.7)" />
+ <linearGradient
+ x1="337.39999"
+ y1="353.10001"
+ x2="339.39999"
+ y2="357.10001"
+ id="lg4274_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.9,-0.5,0.5,0.9,-121.7,105.1)">
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0"
+ id="s16048" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0.1"
+ id="s16050" />
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="1"
+ id="s16052" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0.1" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#CCCCCC"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="337.39999"
+ y1="353.10001"
+ x2="339.39999"
+ y2="357.10001"
+ id="lg6461"
+ xlink:href="#lg4274_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.9,-1.7,1.7,2.9,-1557,-448.7)" />
+ <linearGradient
+ x1="334.39999"
+ y1="355.5"
+ x2="335.5"
+ y2="356.79999"
+ id="lg4273_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.9,-0.5,0.5,0.9,-121.7,105.1)">
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0"
+ id="s16041" />
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="1"
+ id="s16043" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="5.6e-003" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#CCCCCC"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="334.39999"
+ y1="355.5"
+ x2="335.5"
+ y2="356.79999"
+ id="lg6381"
+ xlink:href="#lg4273_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.9,-1.7,1.7,2.9,-1557,-448.7)" />
+ <linearGradient
+ x1="348.39999"
+ y1="247.39999"
+ x2="354.10001"
+ y2="242"
+ id="lg4271_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(3.4,0,0,3.4,-1148,-802)">
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="0"
+ id="s16025" />
+ <stop
+ style="stop-color:#9e9e9e;stop-opacity:1"
+ offset="0.40000001"
+ id="s16027" />
+ <stop
+ style="stop-color:black;stop-opacity:1"
+ offset="1"
+ id="s16029" />
+ <ns:midPointStop
+ style="stop-color:#F2F2F2"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#F2F2F2"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#000000"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="351.29999"
+ y1="257.29999"
+ x2="346.29999"
+ y2="235.5"
+ id="lg4270_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#ffff87;stop-opacity:1"
+ offset="0"
+ id="s16007" />
+ <stop
+ style="stop-color:#ffad00;stop-opacity:1"
+ offset="1"
+ id="s16009" />
+ <ns:midPointStop
+ style="stop-color:#FFFF87"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#FFFF87"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFAD00"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="351.29999"
+ y1="257.29999"
+ x2="346.29999"
+ y2="235.5"
+ id="lg6459"
+ xlink:href="#lg4270_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(3.4,0,0,3.4,-1148,-802)" />
+ <linearGradient
+ x1="43.799999"
+ y1="32.5"
+ x2="63.299999"
+ y2="66.400002"
+ id="XMLID_2708_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0"
+ id="stop75318" />
+ <stop
+ style="stop-color:#fffcea;stop-opacity:1"
+ offset="1"
+ id="stop75320" />
+ <a:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#FFFCEA"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="43.799999"
+ y1="32.5"
+ x2="63.299999"
+ y2="66.400002"
+ id="lg1907"
+ xlink:href="#XMLID_2708_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-29,-22.6)" />
+ <linearGradient
+ x1="52.5"
+ y1="40.400002"
+ x2="58.200001"
+ y2="64"
+ id="XMLID_2707_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#ffdea0;stop-opacity:1"
+ offset="0"
+ id="stop75305" />
+ <stop
+ style="stop-color:#ffd89e;stop-opacity:1"
+ offset="0.30000001"
+ id="stop75307" />
+ <stop
+ style="stop-color:#ffd79e;stop-opacity:1"
+ offset="0.30000001"
+ id="stop75309" />
+ <stop
+ style="stop-color:#dbaf6d;stop-opacity:1"
+ offset="0.69999999"
+ id="stop75311" />
+ <stop
+ style="stop-color:#6f4c24;stop-opacity:1"
+ offset="1"
+ id="stop75313" />
+ <a:midPointStop
+ style="stop-color:#FFDEA0"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#FFDEA0"
+ offset="0.6" />
+ <a:midPointStop
+ style="stop-color:#FFD79E"
+ offset="0.3" />
+ <a:midPointStop
+ style="stop-color:#FFD79E"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#DBAF6D"
+ offset="0.7" />
+ <a:midPointStop
+ style="stop-color:#DBAF6D"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#6F4C24"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="52.5"
+ y1="40.400002"
+ x2="58.200001"
+ y2="64"
+ id="lg1910"
+ xlink:href="#XMLID_2707_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-29,-22.6)" />
+ <linearGradient
+ x1="58"
+ y1="73.199997"
+ x2="44.5"
+ y2="19"
+ id="XMLID_2704_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-29,-22.6)">
+ <stop
+ style="stop-color:#d4a96c;stop-opacity:1"
+ offset="0.5"
+ id="stop75284" />
+ <stop
+ style="stop-color:#dcb273;stop-opacity:1"
+ offset="0.60000002"
+ id="stop75286" />
+ <stop
+ style="stop-color:#f0ca87;stop-opacity:1"
+ offset="0.80000001"
+ id="stop75288" />
+ <stop
+ style="stop-color:#ffdc96;stop-opacity:1"
+ offset="0.69999999"
+ id="stop75290" />
+ <stop
+ style="stop-color:#c18a42;stop-opacity:1"
+ offset="1"
+ id="stop75292" />
+ <a:midPointStop
+ style="stop-color:#D4A96C"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#D4A96C"
+ offset="0.6" />
+ <a:midPointStop
+ style="stop-color:#FFDC96"
+ offset="0.7" />
+ <a:midPointStop
+ style="stop-color:#FFDC96"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#C18A42"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="53.700001"
+ y1="32"
+ x2="53.700001"
+ y2="64.599998"
+ id="XMLID_2703_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#e5c9b0;stop-opacity:1"
+ offset="0"
+ id="stop75268" />
+ <stop
+ style="stop-color:#e5c9b0;stop-opacity:1"
+ offset="0.40000001"
+ id="stop75270" />
+ <stop
+ style="stop-color:#c0aa94;stop-opacity:1"
+ offset="1"
+ id="stop75272" />
+ <a:midPointStop
+ style="stop-color:#E5C9B0"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#E5C9B0"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#E5C9B0"
+ offset="0.4" />
+ <a:midPointStop
+ style="stop-color:#E5C9B0"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#C0AA94"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="53.700001"
+ y1="32"
+ x2="53.700001"
+ y2="64.599998"
+ id="lg1916"
+ xlink:href="#XMLID_2703_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-29,-22.6)" />
+ <linearGradient
+ x1="224.31"
+ y1="19.450001"
+ x2="214.33"
+ y2="11.46"
+ id="XMLID_419_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#404040;stop-opacity:1"
+ offset="0"
+ id="s1903" />
+ <stop
+ style="stop-color:#6d6d6d;stop-opacity:1"
+ offset="0.33000001"
+ id="s1905" />
+ <stop
+ style="stop-color:#e9e9e9;stop-opacity:1"
+ offset="1"
+ id="s1907" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#404040" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#404040" />
+ <a:midPointStop
+ offset="0.33"
+ style="stop-color:#6D6D6D" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#6D6D6D" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#E9E9E9" />
+ </linearGradient>
+ <linearGradient
+ x1="221.84"
+ y1="32.779999"
+ x2="212.2"
+ y2="20.27"
+ id="lg1988"
+ xlink:href="#XMLID_419_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.33,0,0,1.31,-274.2,-5.2)" />
+ <linearGradient
+ x1="228.35001"
+ y1="33.279999"
+ x2="215.42999"
+ y2="33.279999"
+ id="lg1900"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0"
+ id="s1902" />
+ <stop
+ style="stop-color:white;stop-opacity:0"
+ offset="1"
+ id="s1906" />
+ <a:midPointStop
+ style="stop-color:#575757"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#575757"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#6D6D6D"
+ offset="0.33" />
+ <a:midPointStop
+ style="stop-color:#6D6D6D"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#D3D3D3"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="234.81"
+ y1="33.279999"
+ x2="228.27"
+ y2="33.279999"
+ id="lg1908"
+ xlink:href="#lg1900"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.33,0,0,1.31,-274.2,-5.2)" />
+ <linearGradient
+ x1="228.35001"
+ y1="33.279999"
+ x2="215.42999"
+ y2="33.279999"
+ id="XMLID_416_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#575757;stop-opacity:1"
+ offset="0"
+ id="s1874" />
+ <stop
+ style="stop-color:#6d6d6d;stop-opacity:1"
+ offset="0.33000001"
+ id="s1876" />
+ <stop
+ style="stop-color:#d3d3d3;stop-opacity:1"
+ offset="1"
+ id="s1878" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#575757" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#575757" />
+ <a:midPointStop
+ offset="0.33"
+ style="stop-color:#6D6D6D" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#6D6D6D" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#D3D3D3" />
+ </linearGradient>
+ <linearGradient
+ x1="228.35001"
+ y1="33.279999"
+ x2="215.42999"
+ y2="33.279999"
+ id="lg1991"
+ xlink:href="#XMLID_416_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.33,0,0,1.31,-274.2,-5.2)" />
+ <radialGradient
+ cx="603.19"
+ cy="230.77"
+ r="1.67"
+ fx="603.19"
+ fy="230.77"
+ id="x5010_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.1,0,0,1.1,-54.33,-75.4)">
+ <stop
+ style="stop-color:#c9ffc9;stop-opacity:1"
+ offset="0"
+ id="stop29201" />
+ <stop
+ style="stop-color:#23a11f;stop-opacity:1"
+ offset="1"
+ id="stop29203" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#C9FFC9" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#C9FFC9" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#23A11F" />
+ </radialGradient>
+ <radialGradient
+ cx="603.19"
+ cy="230.77"
+ r="1.67"
+ fx="603.19"
+ fy="230.77"
+ id="radialGradient5711"
+ xlink:href="#x5010_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.23,0,0,1.23,-709.93,-245.02)" />
+ <linearGradient
+ x1="592.31"
+ y1="162.60001"
+ x2="609.32001"
+ y2="145.59"
+ id="lg5722"
+ xlink:href="#x5003_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.12,0,0,1.12,-649.08,-160.62)" />
+ <linearGradient
+ x1="601.48999"
+ y1="170.16"
+ x2="613.84003"
+ y2="170.16"
+ id="x5002_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#d9d9d9;stop-opacity:1"
+ offset="0"
+ id="stop29134" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0.2"
+ id="stop29136" />
+ <stop
+ style="stop-color:#999;stop-opacity:1"
+ offset="1"
+ id="stop29138" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#D9D9D9" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#D9D9D9" />
+ <a:midPointStop
+ offset="0.20"
+ style="stop-color:#FFFFFF" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#FFFFFF" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#999999" />
+ </linearGradient>
+ <linearGradient
+ x1="601.48999"
+ y1="170.16"
+ x2="613.84003"
+ y2="170.16"
+ id="lg5725"
+ xlink:href="#x5002_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.12,0,0,1.12,-649.08,-160.62)" />
+ <linearGradient
+ x1="592.20001"
+ y1="156.45"
+ x2="609.98999"
+ y2="174.23"
+ id="x5004_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.12,0,0,1.12,-649.08,-160.62)">
+ <stop
+ style="stop-color:#d9d9d9;stop-opacity:1"
+ offset="0"
+ id="stop29157" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="1"
+ id="stop29159" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#D9D9D9" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#D9D9D9" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#FFFFFF" />
+ </linearGradient>
+ <linearGradient
+ x1="592.20001"
+ y1="156.45"
+ x2="609.98999"
+ y2="174.23"
+ id="lg5728"
+ xlink:href="#x5004_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.12,0,0,1.12,-649.08,-160.62)" />
+ <linearGradient
+ x1="592.31"
+ y1="162.60001"
+ x2="609.32001"
+ y2="145.59"
+ id="x5003_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="0"
+ id="stop29143" />
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="1"
+ id="stop29145" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#F2F2F2" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#F2F2F2" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#E5E5E5" />
+ </linearGradient>
+ <linearGradient
+ x1="592.31"
+ y1="162.60001"
+ x2="609.32001"
+ y2="145.59"
+ id="lg5732"
+ xlink:href="#x5003_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.12,0,0,1.12,-649.08,-160.62)" />
+ <linearGradient
+ x1="592.20001"
+ y1="156.45"
+ x2="609.98999"
+ y2="174.24001"
+ id="x5000_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.12,0,0,1.12,-649.08,-160.62)">
+ <stop
+ style="stop-color:#d9d9d9;stop-opacity:1"
+ offset="0"
+ id="stop29124" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="1"
+ id="stop29126" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#D9D9D9" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#D9D9D9" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#FFFFFF" />
+ </linearGradient>
+ <linearGradient
+ x1="592.20001"
+ y1="156.45"
+ x2="609.98999"
+ y2="174.24001"
+ id="lg5735"
+ xlink:href="#x5000_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.12,0,0,1.12,-649.08,-160.62)" />
+ <linearGradient
+ x1="308.54999"
+ y1="149.89999"
+ x2="299.72"
+ y2="148.83"
+ id="XMLID_2433_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#d6d6d6;stop-opacity:1"
+ offset="0"
+ id="71615" />
+ <stop
+ style="stop-color:#a5a5a5;stop-opacity:1"
+ offset="1"
+ id="71617" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#D6D6D6" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#D6D6D6" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#A5A5A5" />
+ </linearGradient>
+ <linearGradient
+ x1="308.54999"
+ y1="149.89999"
+ x2="299.72"
+ y2="148.83"
+ id="lg1952"
+ xlink:href="#XMLID_2433_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.03,0,0,1.03,-279.57,-124.36)" />
+ <radialGradient
+ cx="307.39999"
+ cy="121"
+ r="23.35"
+ fx="307.39999"
+ fy="121"
+ id="XMLID_2432_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.98,0,0,0.98,2.88,2.75)">
+ <stop
+ style="stop-color:#d2d2d2;stop-opacity:1"
+ offset="0.19"
+ id="71592" />
+ <stop
+ style="stop-color:#cfcfcf;stop-opacity:1"
+ offset="0.44999999"
+ id="71594" />
+ <stop
+ style="stop-color:#c7c7c7;stop-opacity:1"
+ offset="0.60000002"
+ id="71596" />
+ <stop
+ style="stop-color:#b9b9b9;stop-opacity:1"
+ offset="0.74000001"
+ id="71598" />
+ <stop
+ style="stop-color:#a4a4a4;stop-opacity:1"
+ offset="0.86000001"
+ id="71600" />
+ <stop
+ style="stop-color:#8a8a8a;stop-opacity:1"
+ offset="0.95999998"
+ id="71602" />
+ <stop
+ style="stop-color:gray;stop-opacity:1"
+ offset="1"
+ id="71604" />
+ <a:midPointStop
+ offset="0.19"
+ style="stop-color:#D2D2D2" />
+ <a:midPointStop
+ offset="0.8"
+ style="stop-color:#D2D2D2" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#808080" />
+ </radialGradient>
+ <radialGradient
+ cx="307.39999"
+ cy="121"
+ r="23.35"
+ fx="307.39999"
+ fy="121"
+ id="radialGradient2331"
+ xlink:href="#XMLID_2432_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-276.62,-121.54)" />
+ <linearGradient
+ x1="294.13"
+ y1="127.07"
+ x2="294.13"
+ y2="142.2"
+ id="XMLID_2430_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#b5d8ff;stop-opacity:1"
+ offset="0"
+ id="71582" />
+ <stop
+ style="stop-color:black;stop-opacity:1"
+ offset="1"
+ id="71584" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#B5D8FF" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#B5D8FF" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#000000" />
+ </linearGradient>
+ <linearGradient
+ x1="294.13"
+ y1="127.07"
+ x2="294.13"
+ y2="142.2"
+ id="lg2820"
+ xlink:href="#XMLID_2430_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.03,0,0,1.03,-279.57,-124.36)" />
+ <linearGradient
+ x1="279.10999"
+ y1="148.03"
+ x2="309.16"
+ y2="148.03"
+ id="XMLID_2429_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#e1e1e1;stop-opacity:1"
+ offset="0"
+ id="71564" />
+ <stop
+ style="stop-color:#e1e1e1;stop-opacity:1"
+ offset="0.25"
+ id="71566" />
+ <stop
+ style="stop-color:#a5a5a5;stop-opacity:1"
+ offset="0.44"
+ id="71568" />
+ <stop
+ style="stop-color:#a5a5a5;stop-opacity:1"
+ offset="1"
+ id="71570" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#E1E1E1" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#E1E1E1" />
+ <a:midPointStop
+ offset="0.25"
+ style="stop-color:#E1E1E1" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#E1E1E1" />
+ <a:midPointStop
+ offset="0.44"
+ style="stop-color:#A5A5A5" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#A5A5A5" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#A5A5A5" />
+ </linearGradient>
+ <linearGradient
+ x1="279.10999"
+ y1="148.03"
+ x2="309.16"
+ y2="148.03"
+ id="lg2818"
+ xlink:href="#XMLID_2429_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.03,0,0,1.03,-279.57,-124.36)" />
+ <radialGradient
+ cx="622.34302"
+ cy="14.449"
+ r="26.496"
+ fx="622.34302"
+ fy="14.449"
+ id="lg3499_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.851,0,0,0.849,69.297,51.658)">
+ <stop
+ style="stop-color:#23468e;stop-opacity:1"
+ offset="0"
+ id="stop10972" />
+ <stop
+ style="stop-color:#012859;stop-opacity:1"
+ offset="1"
+ id="stop10974" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#23468E" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#23468E" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#012859" />
+ </radialGradient>
+ <radialGradient
+ cx="622.34302"
+ cy="14.449"
+ r="26.496"
+ fx="622.34302"
+ fy="14.449"
+ id="rg5791"
+ xlink:href="#lg3499_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.858,0,0,0.857,-511.7,9.02)" />
+ <linearGradient
+ x1="616.112"
+ y1="76.247002"
+ x2="588.14099"
+ y2="60.742001"
+ id="lg3497_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#01326e;stop-opacity:1"
+ offset="0"
+ id="stop10962" />
+ <stop
+ style="stop-color:#012859;stop-opacity:1"
+ offset="1"
+ id="stop10964" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#01326E" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#01326E" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#012859" />
+ </linearGradient>
+ <linearGradient
+ x1="617.698"
+ y1="82.445999"
+ x2="585.95203"
+ y2="54.848999"
+ id="lg3496_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="0"
+ id="stop10950" />
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="1"
+ id="stop10952" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#CCCCCC" />
+ </linearGradient>
+ <linearGradient
+ x1="617.698"
+ y1="82.445999"
+ x2="585.95203"
+ y2="54.848999"
+ id="lg5794"
+ xlink:href="#lg3496_"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ x1="601.39001"
+ y1="55.341"
+ x2="588.29199"
+ y2="71.515999"
+ id="lg3495_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#d9d9d9;stop-opacity:1"
+ offset="0"
+ id="stop10941" />
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="0.52200001"
+ id="stop10943" />
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="1"
+ id="stop10945" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#D9D9D9" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#D9D9D9" />
+ <a:midPointStop
+ offset="0.522"
+ style="stop-color:#F2F2F2" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#F2F2F2" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#CCCCCC" />
+ </linearGradient>
+ <linearGradient
+ x1="601.39001"
+ y1="55.341"
+ x2="588.29199"
+ y2="71.515999"
+ id="lg5771"
+ xlink:href="#lg3495_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.009,0,0,1.009,-581.615,-43.098)" />
+ <linearGradient
+ x1="611.34601"
+ y1="55.279999"
+ x2="590.39001"
+ y2="81.157997"
+ id="lg3494_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#d9d9d9;stop-opacity:1"
+ offset="0"
+ id="stop10932" />
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="0.52200001"
+ id="stop10934" />
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="1"
+ id="stop10936" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#D9D9D9" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#D9D9D9" />
+ <a:midPointStop
+ offset="0.522"
+ style="stop-color:#F2F2F2" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#F2F2F2" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#CCCCCC" />
+ </linearGradient>
+ <linearGradient
+ x1="611.34601"
+ y1="55.279999"
+ x2="590.39001"
+ y2="81.157997"
+ id="lg5774"
+ xlink:href="#lg3494_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.009,0,0,1.009,-581.616,-43.098)" />
+ <linearGradient
+ x1="798.72998"
+ y1="69.839996"
+ x2="799.04999"
+ y2="70.709999"
+ id="g3302_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#005e00;stop-opacity:1"
+ offset="0"
+ id="s6504" />
+ <stop
+ style="stop-color:#23a11f;stop-opacity:1"
+ offset="1"
+ id="s6506" />
+ <a:midPointstop
+ style="stop-color:#005E00"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#005E00"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#23A11F"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="798.72998"
+ y1="69.839996"
+ x2="799.04999"
+ y2="70.709999"
+ id="lg5851"
+ xlink:href="#g3302_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.204,0,0,1.263,-926.036,-60.001)" />
+ <linearGradient
+ x1="779.19"
+ y1="122.73"
+ x2="811.69"
+ y2="149.74001"
+ id="g3301_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,-0.25,0,1,0,129.19)">
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="0"
+ id="s6483" />
+ <stop
+ style="stop-color:#eee;stop-opacity:1"
+ offset="0.17"
+ id="s6485" />
+ <stop
+ style="stop-color:#e3e3e3;stop-opacity:1"
+ offset="0.34"
+ id="s6487" />
+ <stop
+ style="stop-color:#cfcfcf;stop-opacity:1"
+ offset="0.50999999"
+ id="s6489" />
+ <stop
+ style="stop-color:#b4b4b4;stop-opacity:1"
+ offset="0.67000002"
+ id="s6491" />
+ <stop
+ style="stop-color:#919191;stop-opacity:1"
+ offset="0.83999997"
+ id="s6493" />
+ <stop
+ style="stop-color:#666;stop-opacity:1"
+ offset="1"
+ id="s6495" />
+ <a:midPointstop
+ style="stop-color:#F2F2F2"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#F2F2F2"
+ offset="0.71" />
+ <a:midPointstop
+ style="stop-color:#666666"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="779.19"
+ y1="122.73"
+ x2="811.69"
+ y2="149.74001"
+ id="lg5855"
+ xlink:href="#g3301_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.204,-0.316,0,1.263,-926.036,103.123)" />
+ <clipPath
+ id="g3299_">
+ <use
+ id="use6469"
+ x="0"
+ y="0"
+ width="1005.92"
+ height="376.97"
+ xlink:href="#g101_" />
+ </clipPath>
+ <radialGradient
+ cx="1189.9301"
+ cy="100.05"
+ r="40.400002"
+ fx="1189.9301"
+ fy="100.05"
+ id="g3300_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.34,-8.46e-2,0,0.34,394.16,137.13)">
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0"
+ id="s6472" />
+ <stop
+ style="stop-color:white;stop-opacity:0"
+ offset="1"
+ id="s6474" />
+ <a:midPointstop
+ style="stop-color:#FFFFFF"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#FFFFFF"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#000000"
+ offset="1" />
+ </radialGradient>
+ <radialGradient
+ cx="1199.74"
+ cy="97.150002"
+ r="40.400002"
+ fx="1199.74"
+ fy="97.150002"
+ id="rg5860"
+ xlink:href="#g3300_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.409,-0.107,0,0.429,-451.489,113.149)" />
+ <linearGradient
+ x1="796.38"
+ y1="67.580002"
+ x2="781.28003"
+ y2="58.549999"
+ id="g3298_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#4c8bca;stop-opacity:1"
+ offset="0"
+ id="s6462" />
+ <stop
+ style="stop-color:#b7e9ff;stop-opacity:1"
+ offset="1"
+ id="s6464" />
+ <a:midPointstop
+ style="stop-color:#4C8BCA"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#4C8BCA"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#B7E9FF"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="800.97998"
+ y1="140.72"
+ x2="777.71997"
+ y2="121.76"
+ id="g3297_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,-0.25,0,1,0,129.19)">
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="0"
+ id="s6448" />
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="1"
+ id="s6450" />
+ <a:midPointstop
+ style="stop-color:#E5E5E5"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#E5E5E5"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#CCCCCC"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="800.97998"
+ y1="140.72"
+ x2="777.71997"
+ y2="121.76"
+ id="lg5890"
+ xlink:href="#g3297_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,-0.25,0,1,0,129.19)" />
+ <linearGradient
+ x1="790.03998"
+ y1="-16.33"
+ x2="779.84003"
+ y2="-3.73"
+ id="g3296_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(0,70.17)">
+ <stop
+ style="stop-color:#d9d9d9;stop-opacity:1"
+ offset="0"
+ id="s6439" />
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="0.51999998"
+ id="s6441" />
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="1"
+ id="s6443" />
+ <a:midPointstop
+ style="stop-color:#D9D9D9"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#D9D9D9"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#F2F2F2"
+ offset="0.52" />
+ <a:midPointstop
+ style="stop-color:#F2F2F2"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#CCCCCC"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="790.03998"
+ y1="-16.33"
+ x2="779.84003"
+ y2="-3.73"
+ id="lg5866"
+ xlink:href="#g3296_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.204,0,0,1.263,-926.036,28.6)" />
+ <linearGradient
+ x1="785.84003"
+ y1="72.989998"
+ x2="785.26001"
+ y2="76.279999"
+ id="g3293_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0"
+ id="s6412" />
+ <stop
+ style="stop-color:#737373;stop-opacity:1"
+ offset="1"
+ id="s6414" />
+ <a:midPointstop
+ style="stop-color:#FFFFFF"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#FFFFFF"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#737373"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="785.84003"
+ y1="72.989998"
+ x2="785.26001"
+ y2="76.279999"
+ id="lg5871"
+ xlink:href="#g3293_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.204,0,0,1.263,-926.036,-60.001)" />
+ <linearGradient
+ x1="789.37"
+ y1="69.879997"
+ x2="791.03998"
+ y2="77.120003"
+ id="g3292_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#999;stop-opacity:1"
+ offset="0"
+ id="s6403" />
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="0.28"
+ id="s6405" />
+ <stop
+ style="stop-color:#666;stop-opacity:1"
+ offset="1"
+ id="s6407" />
+ <a:midPointstop
+ style="stop-color:#999999"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#999999"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#F2F2F2"
+ offset="0.28" />
+ <a:midPointstop
+ style="stop-color:#F2F2F2"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#666666"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="789.37"
+ y1="69.879997"
+ x2="791.03998"
+ y2="77.120003"
+ id="lg5874"
+ xlink:href="#g3292_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.204,0,0,1.263,-926.036,-60.001)" />
+ <linearGradient
+ x1="786.65997"
+ y1="136.12"
+ x2="786.71002"
+ y2="134.33"
+ id="g3290_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,-0.25,0,1,0,137.29)">
+ <stop
+ style="stop-color:#d9d9d9;stop-opacity:1"
+ offset="0"
+ id="s6380" />
+ <stop
+ style="stop-color:#b2b2b2;stop-opacity:1"
+ offset="1"
+ id="s6382" />
+ <a:midPointstop
+ style="stop-color:#D9D9D9"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#D9D9D9"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#B2B2B2"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="786.65997"
+ y1="136.12"
+ x2="786.71002"
+ y2="134.33"
+ id="lg5878"
+ xlink:href="#g3290_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.204,-0.316,0,1.263,-926.036,113.351)" />
+ <radialGradient
+ cx="1458.77"
+ cy="-5.0999999"
+ r="35.130001"
+ fx="1458.77"
+ fy="-5.0999999"
+ id="g3289_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.42,0,0,0.42,167.09,79.84)">
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0"
+ id="s6371" />
+ <stop
+ style="stop-color:#999;stop-opacity:1"
+ offset="1"
+ id="s6373" />
+ <a:midPointstop
+ style="stop-color:#FFFFFF"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#FFFFFF"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#999999"
+ offset="1" />
+ </radialGradient>
+ <radialGradient
+ cx="1458.77"
+ cy="-5.0999999"
+ r="35.130001"
+ fx="1458.77"
+ fy="-5.0999999"
+ id="rg5881"
+ xlink:href="#g3289_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.505,0,0,0.53,-724.957,40.636)" />
+ <radialGradient
+ cx="1612.98"
+ cy="-4.4699998"
+ r="36.580002"
+ fx="1612.98"
+ fy="-4.4699998"
+ id="g3288_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.34,0,0,0.36,238.56,86.87)">
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="0"
+ id="s6362" />
+ <stop
+ style="stop-color:#b2b2b2;stop-opacity:1"
+ offset="0.63999999"
+ id="s6364" />
+ <stop
+ style="stop-color:#737373;stop-opacity:1"
+ offset="1"
+ id="s6366" />
+ <a:midPointstop
+ style="stop-color:#E5E5E5"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#E5E5E5"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#B2B2B2"
+ offset="0.64" />
+ <a:midPointstop
+ style="stop-color:#B2B2B2"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#737373"
+ offset="1" />
+ </radialGradient>
+ <radialGradient
+ cx="1612.98"
+ cy="-4.4699998"
+ r="36.580002"
+ fx="1612.98"
+ fy="-4.4699998"
+ id="rg5884"
+ xlink:href="#g3288_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.408,0,0,0.448,-638.943,49.495)" />
+ <radialGradient
+ cx="1470.5"
+ cy="-10.21"
+ r="33.290001"
+ fx="1470.5"
+ fy="-10.21"
+ id="g3287_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.42,0,0,0.42,167.09,79.84)">
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="0"
+ id="s6347" />
+ <stop
+ style="stop-color:#b2b2b2;stop-opacity:1"
+ offset="0.38999999"
+ id="s6349" />
+ <stop
+ style="stop-color:#b1b1b1;stop-opacity:1"
+ offset="0.75"
+ id="s6351" />
+ <stop
+ style="stop-color:#aaa;stop-opacity:1"
+ offset="0.88"
+ id="s6353" />
+ <stop
+ style="stop-color:#9e9e9e;stop-opacity:1"
+ offset="0.97000003"
+ id="s6355" />
+ <stop
+ style="stop-color:#999;stop-opacity:1"
+ offset="1"
+ id="s6357" />
+ <a:midPointstop
+ style="stop-color:#E5E5E5"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#E5E5E5"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#B2B2B2"
+ offset="0.39" />
+ <a:midPointstop
+ style="stop-color:#B2B2B2"
+ offset="0.87" />
+ <a:midPointstop
+ style="stop-color:#999999"
+ offset="1" />
+ </radialGradient>
+ <radialGradient
+ cx="1470.5"
+ cy="-10.21"
+ r="33.290001"
+ fx="1470.5"
+ fy="-10.21"
+ id="rg5887"
+ xlink:href="#g3287_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.505,0,0,0.53,-724.957,40.636)" />
+ <pattern
+ patternTransform="matrix(0.592927,0,0,0.592927,78,462)"
+ id="cream-spots"
+ height="32"
+ width="32"
+ patternUnits="userSpaceOnUse">
+ <g
+ transform="translate(-365.3146,-513.505)"
+ id="g3047">
+ id="path2858" />
+ <path
+ inkscape:label="#path2854"
+ sodipodi:nodetypes="czzzz"
+ style="fill:#e3dcc0"
+ id="path3060"
+ d="M 390.31462,529.50504 C 390.31462,534.47304 386.28262,538.50504 381.31462,538.50504 C 376.34662,538.50504 372.31462,534.47304 372.31462,529.50504 C 372.31462,524.53704 376.34662,520.50504 381.31462,520.50504 C 386.28262,520.50504 390.31462,524.53704 390.31462,529.50504 z " />
+</g>
+ </pattern>
+ <pattern
+ patternTransform="matrix(0.733751,0,0,0.733751,67,367)"
+ id="dark-cream-spots"
+ height="32"
+ width="32"
+ patternUnits="userSpaceOnUse">
+ <g
+ transform="translate(-408.0946,-513.505)"
+ id="dark-cream-spot"
+ inkscape:label="#g3043">
+ <path
+ sodipodi:nodetypes="czzzz"
+ style="fill:#c8c5ac"
+ d="M 433.09458,529.50504 C 433.09458,534.47304 429.06258,538.50504 424.09458,538.50504 C 419.12658,538.50504 415.09458,534.47304 415.09458,529.50504 C 415.09458,524.53704 419.12658,520.50504 424.09458,520.50504 C 429.06258,520.50504 433.09458,524.53704 433.09458,529.50504 z "
+ id="path2953" />
+ </g>
+ </pattern>
+ <pattern
+ patternTransform="matrix(0.375,0,0,0.375,379,400)"
+ id="white-spots"
+ height="32"
+ width="32"
+ patternUnits="userSpaceOnUse">
+ <g
+ transform="translate(-484.3997,-513.505)"
+ id="white-spot"
+ inkscape:label="#g3035">
+ <path
+ style="opacity:0.25;fill:white"
+ id="path3033"
+ d="M 509.39967,529.50504 C 509.39967,534.47304 505.36767,538.50504 500.39967,538.50504 C 495.43167,538.50504 491.39967,534.47304 491.39967,529.50504 C 491.39967,524.53704 495.43167,520.50504 500.39967,520.50504 C 505.36767,520.50504 509.39967,524.53704 509.39967,529.50504 z "
+ sodipodi:nodetypes="czzzz" />
+ </g>
+ </pattern>
+ <pattern
+ patternTransform="matrix(0.455007,0,0,0.455007,-5e-5,1.9e-5)"
+ id="black-spots"
+ height="32"
+ width="32"
+ patternUnits="userSpaceOnUse">
+ <g
+ transform="translate(-448.3997,-513.505)"
+ id="black-spot"
+ inkscape:label="#g3039">
+ <path
+ sodipodi:nodetypes="czzzz"
+ d="M 473.39967,529.50504 C 473.39967,534.47304 469.36767,538.50504 464.39967,538.50504 C 459.43167,538.50504 455.39967,534.47304 455.39967,529.50504 C 455.39967,524.53704 459.43167,520.50504 464.39967,520.50504 C 469.36767,520.50504 473.39967,524.53704 473.39967,529.50504 z "
+ id="path2961"
+ style="opacity:0.25;fill:black" />
+ </g>
+ </pattern>
+ <linearGradient
+ x1="501.0903"
+ y1="-19.2544"
+ x2="531.85413"
+ y2="0.72390002"
+ id="linearGradient17334"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0"
+ id="stop17336" />
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0.51120001"
+ id="stop17338" />
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0.64609998"
+ id="stop17340" />
+ <stop
+ style="stop-color:#16336e;stop-opacity:1"
+ offset="1"
+ id="stop17342" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#B4DAEA" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#B4DAEA" />
+ <a:midPointStop
+ offset="0.5112"
+ style="stop-color:#B4DAEA" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#B4DAEA" />
+ <a:midPointStop
+ offset="0.6461"
+ style="stop-color:#5387BA" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#5387BA" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#16336E" />
+ </linearGradient>
+ <linearGradient
+ x1="415.73831"
+ y1="11.854"
+ x2="418.13361"
+ y2="18.8104"
+ id="linearGradient17426"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.8362,0.5206,-1.1904,0.992,147.62,-30.9374)">
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="0"
+ id="stop17428" />
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="1"
+ id="stop17430" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#CCCCCC" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#CCCCCC" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#F2F2F2" />
+ </linearGradient>
+ <linearGradient
+ x1="478.21341"
+ y1="-131.9297"
+ x2="469.85818"
+ y2="-140.28481"
+ id="linearGradient17434"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.5592,0.829,-0.829,0.5592,101.3357,-104.791)">
+ <stop
+ style="stop-color:#f3403f;stop-opacity:1"
+ offset="0"
+ id="stop17436" />
+ <stop
+ style="stop-color:#d02a28;stop-opacity:1"
+ offset="0.37889999"
+ id="stop17438" />
+ <stop
+ style="stop-color:#b21714;stop-opacity:1"
+ offset="0.77649999"
+ id="stop17440" />
+ <stop
+ style="stop-color:#a6100c;stop-opacity:1"
+ offset="1"
+ id="stop17442" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#F3403F" />
+ <a:midPointStop
+ offset="0.4213"
+ style="stop-color:#F3403F" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#A6100C" />
+ </linearGradient>
+ <linearGradient
+ x1="502.70749"
+ y1="115.3013"
+ x2="516.39001"
+ y2="127.1953"
+ id="linearGradient17709"
+ xlink:href="#XMLID_1749_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.9703,0.2419,-0.2419,0.9703,11.0227,-35.6159)" />
+ <linearGradient
+ x1="506.09909"
+ y1="-11.5137"
+ x2="527.99609"
+ y2="2.7063999"
+ id="linearGradient17711"
+ xlink:href="#XMLID_1752_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)" />
+ <linearGradient
+ x1="516.57672"
+ y1="-15.769"
+ x2="516.57672"
+ y2="0.84280002"
+ id="linearGradient17713"
+ xlink:href="#XMLID_1753_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)" />
+ <linearGradient
+ x1="505.62939"
+ y1="-14.9526"
+ x2="527.49402"
+ y2="-0.7536"
+ id="linearGradient17715"
+ xlink:href="#XMLID_1756_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)" />
+ <linearGradient
+ x1="500.70749"
+ y1="-13.2441"
+ x2="513.46442"
+ y2="-2.1547"
+ id="linearGradient17717"
+ xlink:href="#XMLID_1757_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)" />
+ <linearGradient
+ x1="473.7681"
+ y1="209.17529"
+ x2="486.98099"
+ y2="213.2001"
+ id="linearGradient17721"
+ xlink:href="#XMLID_2274_"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ x1="481.23969"
+ y1="212.5742"
+ x2="472.92981"
+ y2="207.4967"
+ id="linearGradient17723"
+ xlink:href="#XMLID_2275_"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ x1="500.70749"
+ y1="-13.2441"
+ x2="513.46442"
+ y2="-2.1547"
+ id="linearGradient17416"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0"
+ id="stop17418" />
+ <stop
+ style="stop-color:#96bad6;stop-opacity:1"
+ offset="1"
+ id="stop17420" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#96BAD6"
+ offset="1" />
+ </linearGradient>
+ <defs
+ id="defs9929">
+ <path
+ d="M 489.21,209.35 L 485.35,203.63 C 483.63,204.25 473.47,208.93 471.5,210.18 C 470.57,210.77 470.17,211.16 469.72,212.48 C 470.93,212.31 471.72,212.49 473.42,213.04 C 473.26,214.77 473.24,215.74 473.57,218.2 C 474.01,216.88 474.41,216.49 475.34,215.9 C 477.33,214.65 487.49,209.97 489.21,209.35 z "
+ id="XMLID_960_" />
+ </defs>
+ <clipPath
+ id="clipPath17448">
+ <use
+ id="use17450"
+ x="0"
+ y="0"
+ width="744.09448"
+ height="600"
+ xlink:href="#XMLID_960_" />
+ </clipPath>
+ <linearGradient
+ x1="473.7681"
+ y1="209.17529"
+ x2="486.98099"
+ y2="213.2001"
+ id="linearGradient17452"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#f3403f;stop-opacity:1"
+ offset="0"
+ id="stop17454" />
+ <stop
+ style="stop-color:#d02a28;stop-opacity:1"
+ offset="0.37889999"
+ id="stop17456" />
+ <stop
+ style="stop-color:#b21714;stop-opacity:1"
+ offset="0.77649999"
+ id="stop17458" />
+ <stop
+ style="stop-color:#a6100c;stop-opacity:1"
+ offset="1"
+ id="stop17460" />
+ <a:midPointStop
+ style="stop-color:#F3403F"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#F3403F"
+ offset="0.4213" />
+ <a:midPointStop
+ style="stop-color:#A6100C"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="481.23969"
+ y1="212.5742"
+ x2="472.92981"
+ y2="207.4967"
+ id="linearGradient17463"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#f3403f;stop-opacity:1"
+ offset="0"
+ id="stop17465" />
+ <stop
+ style="stop-color:#d02a28;stop-opacity:1"
+ offset="0.37889999"
+ id="stop17467" />
+ <stop
+ style="stop-color:#b21714;stop-opacity:1"
+ offset="0.77649999"
+ id="stop17469" />
+ <stop
+ style="stop-color:#a6100c;stop-opacity:1"
+ offset="1"
+ id="stop17471" />
+ <a:midPointStop
+ style="stop-color:#F3403F"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#F3403F"
+ offset="0.4213" />
+ <a:midPointStop
+ style="stop-color:#A6100C"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="481.23969"
+ y1="212.5742"
+ x2="472.92981"
+ y2="207.4967"
+ id="linearGradient17807"
+ xlink:href="#XMLID_2275_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-177.1654,35.43307)" />
+ <linearGradient
+ x1="473.7681"
+ y1="209.17529"
+ x2="486.98099"
+ y2="213.2001"
+ id="linearGradient17810"
+ xlink:href="#XMLID_2274_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-177.1654,35.43307)" />
+ <linearGradient
+ x1="502.70749"
+ y1="115.3013"
+ x2="516.39001"
+ y2="127.1953"
+ id="linearGradient17812"
+ xlink:href="#XMLID_1749_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.9703,0.2419,-0.2419,0.9703,11.0227,-35.6159)" />
+ <linearGradient
+ x1="506.09909"
+ y1="-11.5137"
+ x2="527.99609"
+ y2="2.7063999"
+ id="linearGradient17814"
+ xlink:href="#XMLID_1752_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)" />
+ <linearGradient
+ x1="516.57672"
+ y1="-15.769"
+ x2="516.57672"
+ y2="0.84280002"
+ id="linearGradient17816"
+ xlink:href="#XMLID_1753_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)" />
+ <linearGradient
+ x1="505.62939"
+ y1="-14.9526"
+ x2="527.49402"
+ y2="-0.7536"
+ id="linearGradient17818"
+ xlink:href="#XMLID_1756_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)" />
+ <linearGradient
+ x1="502.70749"
+ y1="115.3013"
+ x2="516.39001"
+ y2="127.1953"
+ id="linearGradient17347"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.9703,0.2419,-0.2419,0.9703,11.0227,-35.6159)">
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0"
+ id="stop17349" />
+ <stop
+ style="stop-color:#96bad6;stop-opacity:1"
+ offset="1"
+ id="stop17351" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#5387BA" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#5387BA" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#96BAD6" />
+ </linearGradient>
+ <linearGradient
+ x1="516.57672"
+ y1="-15.769"
+ x2="516.57672"
+ y2="0.84280002"
+ id="linearGradient17379"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
+ <stop
+ style="stop-color:#b2b2b2;stop-opacity:1"
+ offset="0"
+ id="stop17381" />
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="1"
+ id="stop17383" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#B2B2B2" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#B2B2B2" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#F2F2F2" />
+ </linearGradient>
+ <linearGradient
+ x1="502.70749"
+ y1="115.3013"
+ x2="516.39001"
+ y2="127.1953"
+ id="linearGradient17862"
+ xlink:href="#XMLID_1749_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.9703,0.2419,-0.2419,0.9703,-166.1427,-0.18283)" />
+ <linearGradient
+ x1="505.62939"
+ y1="-14.9526"
+ x2="527.49402"
+ y2="-0.7536"
+ id="linearGradient17864"
+ xlink:href="#XMLID_1756_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)" />
+ <defs
+ id="defs3859">
+ <polygon
+ points="465.54,213.52 481.94,217.46 482.74,216.71 487.46,198.05 471.08,194.07 470.26,194.83 465.54,213.52 "
+ id="XMLID_343_" />
+ </defs>
+ <linearGradient
+ x1="471.0806"
+ y1="201.07761"
+ x2="481.91711"
+ y2="210.4977"
+ id="linearGradient17389"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#6498c1;stop-opacity:1"
+ offset="0.005618"
+ id="stop17391" />
+ <stop
+ style="stop-color:#79a9cc;stop-opacity:1"
+ offset="0.2332"
+ id="stop17393" />
+ <stop
+ style="stop-color:#a4cde2;stop-opacity:1"
+ offset="0.74049997"
+ id="stop17395" />
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="1"
+ id="stop17397" />
+ <a:midPointStop
+ style="stop-color:#6498C1"
+ offset="5.618000e-003" />
+ <a:midPointStop
+ style="stop-color:#6498C1"
+ offset="0.4438" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="1" />
+ </linearGradient>
+ <clipPath
+ id="clipPath17400">
+ <use
+ id="use17402"
+ x="0"
+ y="0"
+ width="744.09448"
+ height="600"
+ xlink:href="#XMLID_343_" />
+ </clipPath>
+ <linearGradient
+ x1="505.62939"
+ y1="-14.9526"
+ x2="527.49402"
+ y2="-0.7536"
+ id="linearGradient17404"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0"
+ id="stop17406" />
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0.51120001"
+ id="stop17408" />
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0.64609998"
+ id="stop17410" />
+ <stop
+ style="stop-color:#16336e;stop-opacity:1"
+ offset="1"
+ id="stop17412" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5112" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.6461" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#16336E"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="506.09909"
+ y1="-11.5137"
+ x2="527.99609"
+ y2="2.7063999"
+ id="linearGradient17882"
+ xlink:href="#XMLID_1752_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)" />
+ <defs
+ id="defs3826">
+ <polygon
+ points="463.52,216.14 480.56,220.24 481.36,219.5 483.03,202.04 469.05,196.69 468.24,197.45 463.52,216.14 "
+ id="XMLID_338_" />
+ </defs>
+ <linearGradient
+ x1="468.2915"
+ y1="204.7612"
+ x2="479.39871"
+ y2="214.4166"
+ id="linearGradient17357"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0"
+ id="stop17359" />
+ <stop
+ style="stop-color:#96bad6;stop-opacity:1"
+ offset="1"
+ id="stop17361" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#96BAD6"
+ offset="1" />
+ </linearGradient>
+ <clipPath
+ id="clipPath17364">
+ <use
+ id="use17366"
+ x="0"
+ y="0"
+ width="744.09448"
+ height="600"
+ xlink:href="#XMLID_338_" />
+ </clipPath>
+ <linearGradient
+ x1="506.09909"
+ y1="-11.5137"
+ x2="527.99609"
+ y2="2.7063999"
+ id="linearGradient17368"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0"
+ id="stop17370" />
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0.51120001"
+ id="stop17372" />
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0.64609998"
+ id="stop17374" />
+ <stop
+ style="stop-color:#16336e;stop-opacity:1"
+ offset="1"
+ id="stop17376" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5112" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.6461" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#16336E"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="296.4996"
+ y1="188.81061"
+ x2="317.32471"
+ y2="209.69398"
+ id="linearGradient2387"
+ xlink:href="#linearGradient2381"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.90776,0,0,0.90776,24.35648,49.24131)" />
+ <linearGradient
+ x1="296.4996"
+ y1="188.81061"
+ x2="317.32471"
+ y2="209.69398"
+ id="linearGradient5105"
+ xlink:href="#linearGradient2381"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.90776,0,0,0.90776,24.35648,49.24131)" />
+ <linearGradient
+ x1="296.4996"
+ y1="188.81061"
+ x2="317.32471"
+ y2="209.69398"
+ id="linearGradient5145"
+ xlink:href="#linearGradient2381"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.90776,0,0,0.90776,24.35648,49.24131)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2381"
+ id="linearGradient2371"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.90776,0,0,0.90776,24.35648,49.24131)"
+ x1="296.4996"
+ y1="188.81061"
+ x2="317.32471"
+ y2="209.69398" />
+ </defs>
+ <g
+ transform="matrix(0.437808,-0.437808,0.437808,0.437808,-220.8237,43.55311)"
+ id="g5089">
+ <path
+ d="M 8.4382985,-6.28125 C 7.8309069,-6.28125 4.125,-0.33238729 4.125,1.96875 L 4.125,28.6875 C 4.125,29.533884 4.7068159,29.8125 5.28125,29.8125 L 30.84375,29.8125 C 31.476092,29.8125 31.968751,29.319842 31.96875,28.6875 L 31.96875,23.46875 L 32.25,23.46875 C 32.74684,23.46875 33.156249,23.059339 33.15625,22.5625 L 33.15625,-5.375 C 33.15625,-5.8718398 32.74684,-6.28125 32.25,-6.28125 L 8.4382985,-6.28125 z "
+ transform="translate(282.8327,227.1903)"
+ style="fill:#5c5c4f;stroke:black;stroke-width:3.23021388;stroke-miterlimit:4;stroke-dasharray:none"
+ id="path5091" />
+ <rect
+ width="27.85074"
+ height="29.369793"
+ rx="1.1414107"
+ ry="1.1414107"
+ x="286.96509"
+ y="227.63805"
+ style="fill:#032c87"
+ id="rect5093" />
+ <path
+ d="M 288.43262,225.43675 L 313.67442,225.43675 L 313.67442,254.80655 L 287.29827,254.83069 L 288.43262,225.43675 z "
+ style="fill:white"
+ id="rect5095" />
+ <path
+ d="M 302.44536,251.73726 C 303.83227,259.59643 301.75225,263.02091 301.75225,263.02091 C 303.99609,261.41329 305.71651,259.54397 306.65747,257.28491 C 307.62455,259.47755 308.49041,261.71357 310.9319,263.27432 C 310.9319,263.27432 309.33686,256.07392 309.22047,251.73726 L 302.44536,251.73726 z "
+ style="fill:#a70000;fill-opacity:1;stroke-width:2"
+ id="path5097" />
+ <rect
+ width="25.241802"
+ height="29.736675"
+ rx="0.89682275"
+ ry="0.89682275"
+ x="290.73544"
+ y="220.92249"
+ style="fill:#809cc9"
+ id="rect5099" />
+ <path
+ d="M 576.47347,725.93939 L 582.84431,726.35441 L 583.25121,755.8725 C 581.35919,754.55465 576.39694,752.1117 574.98889,754.19149 L 574.98889,727.42397 C 574.98889,726.60151 575.65101,725.93939 576.47347,725.93939 z "
+ transform="matrix(0.499065,-0.866565,0,1,0,0)"
+ style="fill:#4573b3;fill-opacity:1"
+ id="rect5101" />
+ <path
+ d="M 293.2599,221.89363 L 313.99908,221.89363 C 314.45009,221.89363 314.81318,222.25673 314.81318,222.70774 C 315.02865,229.0361 295.44494,244.47124 292.44579,240.30491 L 292.44579,222.70774 C 292.44579,222.25673 292.80889,221.89363 293.2599,221.89363 z "
+ style="opacity:0.65536726;fill:url(#linearGradient2371);fill-opacity:1"
+ id="path5103" />
+ </g>
+</svg>
Added: epp/docs/branches/5.2/Developer_Guide/en-US/Author_Group.xml
===================================================================
--- epp/docs/branches/5.2/Developer_Guide/en-US/Author_Group.xml (rev 0)
+++ epp/docs/branches/5.2/Developer_Guide/en-US/Author_Group.xml 2011-11-09 03:30:26 UTC (rev 8013)
@@ -0,0 +1,20 @@
+<?xml version='1.0' encoding='utf-8' ?>
+<!DOCTYPE authorgroup PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+<!ENTITY % BOOK_ENTITIES SYSTEM "Developer_Guide.ent">
+%BOOK_ENTITIES;
+]>
+<authorgroup>
+ <author>
+ <firstname>Thomas</firstname>
+ <surname>Heute</surname>
+ <email>theute(a)redhat.com</email>
+
+ </author>
+ <author>
+ <firstname>Prabhat</firstname>
+ <surname>Jha</surname>
+ <email>prabhat.jha(a)jboss.com</email>
+
+ </author>
+</authorgroup>
+
Added: epp/docs/branches/5.2/Developer_Guide/en-US/Book_Info.xml
===================================================================
--- epp/docs/branches/5.2/Developer_Guide/en-US/Book_Info.xml (rev 0)
+++ epp/docs/branches/5.2/Developer_Guide/en-US/Book_Info.xml 2011-11-09 03:30:26 UTC (rev 8013)
@@ -0,0 +1,31 @@
+<?xml version='1.0' encoding='utf-8' ?>
+<!DOCTYPE bookinfo PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+<!ENTITY % BOOK_ENTITIES SYSTEM "Developer_Guide.ent">
+%BOOK_ENTITIES;
+]>
+<bookinfo id="book-Developer_Guide-Developer_Guide">
+ <title>Developer Guide</title>
+ <subtitle>For use with JBoss Enterprise Portal Platform 5</subtitle>
+ <productname>JBoss Enterprise Portal Platform</productname>
+ <productnumber>5.2</productnumber>
+ <edition>5.2.0</edition>
+ <pubsnumber>3</pubsnumber>
+ <abstract>
+ <para>
+ This guide is intended to assist developers working with JBoss Enterprise Portal Platform. It assumes a high level of technical knowledge.
+ </para>
+
+ </abstract>
+ <corpauthor>
+ <inlinemediaobject>
+ <imageobject>
+ <imagedata fileref="Common_Content/images/title_logo.png" format="PNG" />
+ </imageobject>
+
+ </inlinemediaobject>
+
+ </corpauthor>
+ <xi:include href="Common_Content/Legal_Notice.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="Author_Group.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+</bookinfo>
+
Added: epp/docs/branches/5.2/Developer_Guide/en-US/Developer_Guide.ent
===================================================================
--- epp/docs/branches/5.2/Developer_Guide/en-US/Developer_Guide.ent (rev 0)
+++ epp/docs/branches/5.2/Developer_Guide/en-US/Developer_Guide.ent 2011-11-09 03:30:26 UTC (rev 8013)
@@ -0,0 +1,19 @@
+<!-- Product Specifics: -->
+<!ENTITY PRODUCT "JBoss Enterprise Portal Platform">
+
+<!-- Book specifics: -->
+<!ENTITY BOOKID "Developer Guide">
+
+<!-- Bugzilla Specifics -->
+<!ENTITY BZPRODUCT "JBoss Enterprise Portal Platform 5">
+<!ENTITY BZCOMPONENT "docs-Developer_Guide">
+<!ENTITY BZURL "<ulink url='https://bugzilla.redhat.com/enter_bug.cgi?product=JBoss%20Enterpri...'>http://bugzilla.redhat.com/</ulink>">
+
+<!-- Corporate Specifics: -->
+<!ENTITY YEAR "2011">
+<!ENTITY HOLDER "Red Hat, Inc">
+
+<!-- Version Specifcs: -->
+<!ENTITY VX "5">
+<!ENTITY VY "5.2">
+<!ENTITY VZ "5.2.0">
\ No newline at end of file
Property changes on: epp/docs/branches/5.2/Developer_Guide/en-US/Developer_Guide.ent
___________________________________________________________________
Added: svn:executable
+ *
Added: epp/docs/branches/5.2/Developer_Guide/en-US/Developer_Guide.xml
===================================================================
--- epp/docs/branches/5.2/Developer_Guide/en-US/Developer_Guide.xml (rev 0)
+++ epp/docs/branches/5.2/Developer_Guide/en-US/Developer_Guide.xml 2011-11-09 03:30:26 UTC (rev 8013)
@@ -0,0 +1,16 @@
+<?xml version='1.0' encoding='utf-8' ?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+<!ENTITY % BOOK_ENTITIES SYSTEM "Developer_Guide.ent">
+%BOOK_ENTITIES;
+]>
+<book>
+ <xi:include href="Book_Info.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="Preface.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="chapter-1-GDG_Introduction.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="chapter-2-GDG_Architectural_choices.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="chapter-3-GDG_Design_choices.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="chapter-4-GDG_Portal_Development.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="chapter-5-GDG_Application_development.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="Revision_History.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+</book>
+
Added: epp/docs/branches/5.2/Developer_Guide/en-US/Preface.xml
===================================================================
--- epp/docs/branches/5.2/Developer_Guide/en-US/Preface.xml (rev 0)
+++ epp/docs/branches/5.2/Developer_Guide/en-US/Preface.xml 2011-11-09 03:30:26 UTC (rev 8013)
@@ -0,0 +1,13 @@
+<?xml version='1.0' encoding='utf-8' ?>
+<!DOCTYPE preface PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+<!ENTITY % BOOK_ENTITIES SYSTEM "Developer_Guide.ent">
+%BOOK_ENTITIES;
+]>
+<preface id="pref-Developer_Guide-Preface">
+ <title>Preface</title>
+ <xi:include href="Common_Content/Conventions.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="Feedback.xml" xmlns:xi="http://www.w3.org/2001/XInclude"> <xi:fallback xmlns:xi="http://www.w3.org/2001/XInclude"> <xi:include href="Common_Content/Feedback.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+ </xi:fallback>
+ </xi:include>
+</preface>
+
Added: epp/docs/branches/5.2/Developer_Guide/en-US/Revision_History.xml
===================================================================
--- epp/docs/branches/5.2/Developer_Guide/en-US/Revision_History.xml (rev 0)
+++ epp/docs/branches/5.2/Developer_Guide/en-US/Revision_History.xml 2011-11-09 03:30:26 UTC (rev 8013)
@@ -0,0 +1,47 @@
+<?xml version='1.0' encoding='utf-8' ?>
+<!DOCTYPE appendix PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+<!ENTITY % BOOK_ENTITIES SYSTEM "Developer_Guide.ent">
+%BOOK_ENTITIES;
+]>
+<appendix id="appe-Developer_Guide-Revision_History">
+ <title>Revision History</title>
+ <simpara>
+ <revhistory>
+ <revision>
+ <revnumber>5.2.0-3</revnumber>
+ <date>Wed Oct 19 2011</date>
+ <author>
+ <firstname>Scott</firstname>
+ <surname>Mumford</surname>
+ <email></email>
+ </author>
+ <revdescription>
+ <simplelist>
+ <member>Added to brew system.</member>
+ </simplelist>
+ </revdescription>
+ </revision>
+ <revision>
+ <revnumber>5.2.0-1</revnumber>
+ <date>Wed Jan 19 2011</date>
+ <author>
+ <firstname>Thomas</firstname>
+ <surname>Heute</surname>
+ <email>theute(a)redhat.com</email>
+
+ </author>
+ <revdescription>
+ <simplelist>
+ <member>Initial creation of book.</member>
+
+ </simplelist>
+
+ </revdescription>
+
+ </revision>
+
+ </revhistory>
+
+ </simpara>
+</appendix>
+
Added: epp/docs/branches/5.2/Developer_Guide/en-US/chapter-1-GDG_Introduction.xml
===================================================================
--- epp/docs/branches/5.2/Developer_Guide/en-US/chapter-1-GDG_Introduction.xml (rev 0)
+++ epp/docs/branches/5.2/Developer_Guide/en-US/chapter-1-GDG_Introduction.xml 2011-11-09 03:30:26 UTC (rev 8013)
@@ -0,0 +1,13 @@
+<?xml version='1.0' encoding='utf-8' ?>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+<!ENTITY % BOOK_ENTITIES SYSTEM "Developer_Guide.ent">
+%BOOK_ENTITIES;
+]>
+<chapter id="chap-Developer_Guide-Introduction">
+ <title>Introduction</title>
+ <para>
+
+ </para>
+
+</chapter>
+
Added: epp/docs/branches/5.2/Developer_Guide/en-US/chapter-2-GDG_Architectural_choices.xml
===================================================================
--- epp/docs/branches/5.2/Developer_Guide/en-US/chapter-2-GDG_Architectural_choices.xml (rev 0)
+++ epp/docs/branches/5.2/Developer_Guide/en-US/chapter-2-GDG_Architectural_choices.xml 2011-11-09 03:30:26 UTC (rev 8013)
@@ -0,0 +1,134 @@
+<?xml version='1.0' encoding='utf-8' ?>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+<!ENTITY % BOOK_ENTITIES SYSTEM "Developer_Guide.ent">
+%BOOK_ENTITIES;
+]>
+<chapter id="chap-Developer_Guide-Architectural_choices">
+ <title>Architectural choices</title>
+ <para>
+ Depending on environment and goals, decisions has to be made regarding the components that will make up the final website. Some elements may already be in place (such as an identity server) and some elements may still be free to choose. This section aims at helping taking the right decisions.
+ </para>
+ <section id="sect-Developer_Guide-Architectural_choices-Identity_server">
+ <title>Identity server</title>
+ <para>
+ EPP 5.2 comes with a component named PicketLink IDM, which is made to adapt to store and retrieve users and groups from various identity servers. We can separate the different options into three:
+ </para>
+ <orderedlist>
+ <listitem>
+ <para>
+ <emphasis role="strong">Database</emphasis> : users, groups and their relationships are stored in a RDBMS database. Tables names and column names can be changed, but the overall relationship between tables remains the same. This solution is particularly adapted to a new identity server that will handle thousands of users.
+ </para>
+
+ </listitem>
+ <listitem>
+ <para>
+ <emphasis role="strong">LDAP</emphasis> : users, groups and their relationships are stored in an LDAP (or ActiveDirectory) server, the directory structure can be adapted by configuration to the most common scenarios. This solution is particularly adapted to infrastructure that are already using an LDAP server, for infrastructure that will share the server identity among multiple service (and the website being one of them) or for very large set of users (millions). When using LDAP with large number of users, it is recommended to use LDAP tools to do the provisioning of users.
+ </para>
+
+ </listitem>
+ <listitem>
+ <para>
+ <emphasis role="strong">Custom</emphasis> : when retrieving users, groups and their relationship cannot be done by configuration, it is possible to implement the Picketlink IDM SPI to implement the methods in charge of retrieving and storing user information.
+ </para>
+
+ </listitem>
+
+ </orderedlist>
+ <para>
+ Picketlink IDM also supports mix environments, this is very useful when an LDAP infrastructure is provided but in a read-only mode. Since the website may need to store additional information about users (such as his preferred language or skin), it can combine LDAP + Database, to retrieve users from LDAP but store additional properties in a database. During the calls to the identity API, the information from both sources will be transparently merged. For more information about PicketLink IDM, please check the EPP 5.2 reference guide and the PicketLink IDM documentation.
+ </para>
+
+ </section>
+
+ <section id="sect-Developer_Guide-Architectural_choices-Storage">
+ <title>Storage</title>
+ <para>
+ The portal framework stores page compositions, portlet preferences, gadget code in a database through a Java Content Repository (JCR) API. A set of database servers and JDBC connectors are part of our quality assurance cycles and the certified environments are mentioned <ulink url="http://www.jboss.com/products/platforms/portals/testedconfigurations/">here</ulink> .
+ </para>
+ <para>
+ It is important to choose one of the combination or check with a Red Hat contact for specific environments that would differ from this list.
+ </para>
+ <para>
+ The database schema will be automatically created during the very first startup of the website and then it is required that the database users has sufficient rights to create tables. This privilege can be revoked after the initial startup, also the database content can be exported and imported in a new server. This makes the installation of the product very easy in most cases.
+ </para>
+ <para>
+ We do not provide additional recommendation to choose a database server over another as long as it is part of our certified environment.
+ </para>
+ <para>
+ As said earlier content is stored through a JCR API, RDBMS aren't a great fit to store large files and it is possible to configure eXo JCR to store such files in the filesystem instead of database, metadata about the files would still be stored into the database. Note that if the website is running on a cluster the filesystem will need to be accessible from all nodes and a NFS solution needs to be setup. For more details see the notion of "value storage" in the reference guide.
+ </para>
+
+ </section>
+
+ <section id="sect-Developer_Guide-Architectural_choices-Cluster">
+ <title>Cluster</title>
+ <para>
+ Clustering for failover or load-balancing requirements requires to spend more time configuring it for your environment, we made it easy to handle common situations though. There is a cost associated to clustering (EPP 5.2 has some optimization when running on a single node) but the product is designed to linearly scale up so that same performance is added every time a new node is added. All critical parts are kept in sync among nodes and the less critical ones left aside to achieve better performance. It will be equally critical that applications developed for the final websites pay the same attention when it comes to replicate data across a cluster of nodes.
+ </para>
+ <para>
+ The number of nodes will vary a lot depending on the applications developed and used on the final website. We recommend to do early performance analysis with tools such as JMeter, Grinder etc to measure the impact of heavy loads.
+ </para>
+ <para>
+ It is usually recommended to run a cluster to achieve high availability.
+ </para>
+
+ </section>
+
+ <section id="sect-Developer_Guide-Architectural_choices-SSO">
+ <title>SSO</title>
+ <para>
+ If the website is part of a more global infrastructure with various components (the website being one of several), it may be in the benefit of users to put a Single-Sign-On solution in place among them. Various SSO solutions are supported by EPP 5.2 as seen <ulink url="http://www.jboss.com/products/platforms/portals/testedconfigurations/">here</ulink> . In some cases it can be better to have the token manager service on a specific server.
+ </para>
+ <para>
+ Summary
+ </para>
+ <para>
+ By now you should know what infrastructure you will need:
+ </para>
+ <para>
+ - A database
+ </para>
+ <para>
+ - Optionally LDAP, depending on your choice
+ </para>
+ <para>
+ - Optionally NFS, depending on the configuration (mandatory on a cluster with default settings: TODO: More QA on a setup without NFS)
+ </para>
+ <para>
+ - Optionally an SSO token service
+ </para>
+ <para>
+ - Optionally, a cluster of nodes
+ </para>
+ <para>
+ Here is an example of the simplest setup:
+ </para>
+ <figure id="figu-Developer_Guide-SSO-Simple_Infrastructure">
+ <title>Simple Infrastructure</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata align="center" fileref="images/7372876/simpleinfra.png" width="444" />
+ </imageobject>
+
+ </mediaobject>
+
+ </figure>
+ <para>
+ Here is an example of a more complex setup:
+ </para>
+ <figure id="figu-Developer_Guide-SSO-Complex_Infrastructure">
+ <title>Complex Infrastructure</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata align="center" fileref="images/7372876/complexinfra.png" width="444" />
+ </imageobject>
+
+ </mediaobject>
+
+ </figure>
+
+ </section>
+
+
+</chapter>
+
Added: epp/docs/branches/5.2/Developer_Guide/en-US/chapter-3-GDG_Design_choices.xml
===================================================================
--- epp/docs/branches/5.2/Developer_Guide/en-US/chapter-3-GDG_Design_choices.xml (rev 0)
+++ epp/docs/branches/5.2/Developer_Guide/en-US/chapter-3-GDG_Design_choices.xml 2011-11-09 03:30:26 UTC (rev 8013)
@@ -0,0 +1,177 @@
+<?xml version='1.0' encoding='utf-8' ?>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+<!ENTITY % BOOK_ENTITIES SYSTEM "Developer_Guide.ent">
+%BOOK_ENTITIES;
+]>
+<chapter id="chap-Developer_Guide-Design_choices">
+ <title>Design choices</title>
+ <para>
+ Now that the main components of the architecture has been decided, choices must be made on the overall design.
+ </para>
+ <section id="sect-Developer_Guide-Design_choices-Dashboards">
+ <title>Dashboards</title>
+ <para>
+ User dashboards may be very costly in a website, as each user will have the opportunity to design his own personal website, it comes with the cost of storing all that information. Efforts have been made (and are still made) to reduce this cost, but there will always be an overhead.
+ </para>
+ <para>
+ This overhead might be hard to estimate as this will depend a lot on how the users will navigate the website, maybe only a minority will use this functionality, or maybe the website is only made of dashboards. In any case the impact of making this feature available must be measured by:
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ estimating the number of dashboards and pages that will be created
+ </para>
+
+ </listitem>
+ <listitem>
+ <para>
+ observing the impact on the database (through JCR) in terms of size
+ </para>
+
+ </listitem>
+
+ </itemizedlist>
+
+ </section>
+
+ <section id="sect-Developer_Guide-Design_choices-JCR_index_replication_for_cluster_setup">
+ <title>JCR index replication for cluster setup</title>
+ <para>
+ The JCR implementation uses Apache Lucene for indexing the data. The indexes are used to search for content (It can be page nodes or WCM content for instance). Lucene isn't cluster-ready but on a cluster, each node will need to be able to search for content and will need to have access to the lucene indexes. When is comes to searching, there is always a tradeoff. Everyone would want to achieve all of the following:
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ Fast to search
+ </para>
+
+ </listitem>
+ <listitem>
+ <para>
+ Fast to index
+ </para>
+
+ </listitem>
+ <listitem>
+ <para>
+ Same search result on each node at the same time
+ </para>
+
+ </listitem>
+ <listitem>
+ <para>
+ No need to rebuild the index ever (No inconsistency)
+ </para>
+
+ </listitem>
+ <listitem>
+ <para>
+ No impact on overall performance
+ </para>
+
+ </listitem>
+ <listitem>
+ <para>
+ Easy to setup (no infrastructure change)
+ </para>
+
+ </listitem>
+
+ </itemizedlist>
+ <para>
+ But there are choices to be made. The JCR implementation used by EPP (eXo JCR) makes it possible to configure the storage and retrieval of indexes according to architect's choice on where it is acceptable to lose-up some constraints. For configuration details please refer to the EPP Reference Guide.
+ </para>
+ <section id="sect-Developer_Guide-JCR_index_replication_for_cluster_setup-Standalone_index">
+ <title>Standalone index</title>
+ <para>
+ This is only for a non-cluster environment, this is obviously the easiest setup, with a combination of in-memory and file based indexes. There is no replication involved so any entry can be found by a search as soon as they are created.
+ <figure id="figu-Developer_Guide-Standalone_index-Standalone_Index">
+ <title>Standalone Index</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata align="center" fileref="images/7372952/diagram-standalone-index.png" />
+ </imageobject>
+
+ </mediaobject>
+
+ </figure>
+
+ </para>
+
+ </section>
+
+ <section id="sect-Developer_Guide-JCR_index_replication_for_cluster_setup-Local_index">
+ <title>Local index</title>
+ <para>
+ This environment is easy to setup, each node keeps a local copy of the full indexes so that when a search is requested on a node, there is no network communication requested. The downside is that when a node indexes an item, it requires to replicate that index on each and every node. If a node is unavailable at that time, it may miss an index update request and then the different nodes may be inconsistent. Also when a node is added it has to recreate it's own full index. An alternative to this setup is to ask a node to retrieve the info from a coordinator on each search, it makes the startup of the new node faster but impacts its performance during the runtime. This setup is new to EPP 5.2.
+ </para>
+ <para>
+ <figure id="figu-Developer_Guide-Local_index-Local_Index">
+ <title>Local Index</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata align="center" fileref="images/7372952/diagram-local-index.png" width="444" />
+ </imageobject>
+
+ </mediaobject>
+
+ </figure>
+
+ </para>
+
+ </section>
+
+ <section id="sect-Developer_Guide-JCR_index_replication_for_cluster_setup-Shared_index">
+ <title>Shared index</title>
+ <para>
+ In this setup there is a unique index created and shared among all nodes. It requires to configure the infrastructure so that a network file system is installed where all nodes can read content. Advantages:
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ Consistency, all the nodes see the same data
+ </para>
+
+ </listitem>
+
+ </itemizedlist>
+ <para>
+ Drawback:
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ Requires a highly available NFS setup (NFS 4 is recommended)
+ </para>
+
+ </listitem>
+ <listitem>
+ <para>
+ More network communication
+ </para>
+
+ </listitem>
+
+ </itemizedlist>
+ <para>
+ <figure id="figu-Developer_Guide-Shared_index-Shared_Index">
+ <title>Shared Index</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata align="center" fileref="images/7372952/diagram-shared-index.png" width="444" />
+ </imageobject>
+
+ </mediaobject>
+
+ </figure>
+
+ </para>
+
+ </section>
+
+
+ </section>
+
+
+</chapter>
+
Added: epp/docs/branches/5.2/Developer_Guide/en-US/chapter-4-GDG_Portal_Development.xml
===================================================================
--- epp/docs/branches/5.2/Developer_Guide/en-US/chapter-4-GDG_Portal_Development.xml (rev 0)
+++ epp/docs/branches/5.2/Developer_Guide/en-US/chapter-4-GDG_Portal_Development.xml 2011-11-09 03:30:26 UTC (rev 8013)
@@ -0,0 +1,115 @@
+<?xml version='1.0' encoding='utf-8' ?>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+<!ENTITY % BOOK_ENTITIES SYSTEM "Developer_Guide.ent">
+%BOOK_ENTITIES;
+]>
+<chapter id="chap-Developer_Guide-Portal_Development">
+ <title>Portal Development</title>
+ <section id="sect-Developer_Guide-Portal_Development-Portal_containers">
+ <title>Portal containers</title>
+ <para>
+ In a single instance (or cluster) of EPP, multiple portals can be running and share resources with other portals with two level of granularities:
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ Portal Containers: A portal container can host multiple sites, and an EPP instance can host multiple portal containers
+ </para>
+
+ </listitem>
+ <listitem>
+ <para>
+ Site: A site can have a unique identity, with its own skin applied, set of pages...
+ </para>
+
+ </listitem>
+
+ </itemizedlist>
+ <para>
+ The biggest granularity is what is called "Portal Containers", a Portal Container can host multiple "Sites". Those two components have a unique identifier that can be found in the default URL Mapping according to the following scheme: <ulink url="http://localhost:8080/" /> <portalcontainer>/<site>
+ </para>
+ <para>
+ When creating a website, it is possible to create a portal container from scratch or extend an existing one. It is then possible to extend the portal container which is accessed at <ulink url="http://localhost:8080/portal" /> on the out of the box solution, this is the recommended way. While running multiple portal containers is possible, it's usually better to keep those on separate installation, note that multiple websites can run in a single portal container and share some services.
+ </para>
+ <para>
+ By providing an extension you can benefit from the portal provided by EPP and be able to customize the parts you want. The benefits over directly modifying the shipped files is that it will make the updates much easier (By just replacing the archives provided by EPP).
+ <figure id="figu-Developer_Guide-Portal_containers-Portal_Extension_Structure">
+ <title>Portal Extension Structure</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata align="center" fileref="images/7372962/portalextensionstructure.png" width="444" />
+ </imageobject>
+
+ </mediaobject>
+
+ </figure>
+
+ </para>
+ <section id="sect-Developer_Guide-Portal_containers-Portal_extension">
+ <title>Portal extension</title>
+ <para>
+ A portal extension is packaged as an Enterprise ARchive (EAR), a configuration file allows to define which services are required and by ordering those, it is possible to modify some elements. It can be a configuration setting, a translation, a visual template, a page to add...
+ </para>
+ <para>
+ Portal extensions can shadow existing services, a portal will usually be composed of various extensions, each of them usually add services.
+ <figure id="figu-Developer_Guide-Portal_extension-Portal_Extensions">
+ <title>Portal Extensions</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata align="center" fileref="images/7372962/portalExtensions.png" width="444" />
+ </imageobject>
+
+ </mediaobject>
+
+ </figure>
+ In a portal extension, elements are shadowed by using the same directory location, so if one wants to rewrite the groovy template of the HomePagePortlet which is located in: gatein.ear/02portal.war/templates/groovy/webui/component/UIHomePagePortlet.gtmpl it would be located in an extension such as myExtension/myWar.war/templates/groovy/webui/component/UIHomePagePortlet.gtmpl. The ordering will be defined by the portal extension configuration.
+ </para>
+
+ </section>
+
+
+ </section>
+
+ <section id="sect-Developer_Guide-Portal_Development-Visual_identity">
+ <title>Visual identity</title>
+ <para>
+ A portal visual identity will be made of the HTML produced by the result of the portal aggregation (the components that makes a page like columns, rows combined with the content produced by the portlets) and associated CSS files.
+ </para>
+ <para>
+ EPP allows to deploy multiple skins which consists of CSS files, it makes it possible to apply styling on the page compositions and components of a page (Portlets). Different skins can be applied to the different websites, also if made available to the users, they can choose their preferred skin.
+ </para>
+ <section id="sect-Developer_Guide-Visual_identity-Customizing_the_login_page">
+ <title>Customizing the login page</title>
+ <para>
+ When accessing a page that requires privileges, a login page is showing up, that page can be customized by using an extension. To do so it would be enough to copy the file located at:
+ </para>
+ <example id="exam-Developer_Guide-Customizing_the_login_page-login.jsp">
+ <title><filename>login.jsp</filename></title>
+
+<programlisting>gatein.ear/02portal.war/login/jsp/login.jsp</programlisting>
+
+ </example>
+ <para>
+ and include it in the portal extension such as myExtension.ear/myWar.war/login/jsp/login.jsp
+ </para>
+ <para>
+ All the logic must be carefully kept in the login page so that the portal will keep working as it should.
+ </para>
+ <para>
+ To modify the modal window which pops up when the user decides to sign-in, the extension would have a modified copy of:
+ </para>
+ <example id="exam-Developer_Guide-Customizing_the_login_page-UILoginForm.gtmpl">
+ <title><filename>UILoginForm.gtmpl</filename></title>
+
+<programlisting>gatein.ear/02portal.war/groovy/portal/webui/UILoginForm.gtmpl</programlisting>
+
+ </example>
+
+ </section>
+
+
+ </section>
+
+
+</chapter>
+
Added: epp/docs/branches/5.2/Developer_Guide/en-US/chapter-5-GDG_Application_development.xml
===================================================================
--- epp/docs/branches/5.2/Developer_Guide/en-US/chapter-5-GDG_Application_development.xml (rev 0)
+++ epp/docs/branches/5.2/Developer_Guide/en-US/chapter-5-GDG_Application_development.xml 2011-11-09 03:30:26 UTC (rev 8013)
@@ -0,0 +1,48 @@
+<?xml version='1.0' encoding='utf-8' ?>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+<!ENTITY % BOOK_ENTITIES SYSTEM "Developer_Guide.ent">
+%BOOK_ENTITIES;
+]>
+<chapter id="chap-Developer_Guide-Application_development">
+ <title>Application development</title>
+ <section id="sect-Developer_Guide-Application_development-Gadget_Development">
+ <title>Gadget Development</title>
+ <section id="sect-Developer_Guide-Gadget_Development-Introduction">
+ <title>Introduction</title>
+ <para>
+ In the context of EPP, gadgets are those as defined by the Google OpenSocial specifications. Since EPP 5.2, the portal framework includes Apache Shindig 2.0 which is made to support the version 0.9 and 1.0 of OpenSocial.
+ </para>
+ <para>
+ Within a portal it is possible to embed any OpenSocial gadget on a page or within the user dashboards, gadgets can be added to the application registry, or links can be added within the mini-composer (see the User Guide).
+ </para>
+
+ </section>
+
+ <section id="sect-Developer_Guide-Gadget_Development-Developing_Gadgets">
+ <title>Developing Gadgets</title>
+ <para>
+ OpenSocial gadgets are made of standard HTML and javascript. The container offers an API for which the documentation is available <ulink url="http://opensocial-resources.googlecode.com/svn/spec/1.0/Core-Gadget.xml">here</ulink> .
+ </para>
+ <para>
+ Note that unlike portlets, a gadget has very little knowledge of its context (the portal) and its integration within the portal may be more limited (in terms of visual integration for instance).
+ </para>
+ <para>
+ Google Web Toolkit (GWT) applications can also be used as gadgets, it makes it easy to write user-friendly applications.
+ </para>
+
+ </section>
+
+
+ </section>
+
+ <section id="sect-Developer_Guide-Application_development-Portlet_Development">
+ <title>Portlet Development</title>
+ <para>
+ ToDo.
+ </para>
+
+ </section>
+
+
+</chapter>
+
Added: epp/docs/branches/5.2/Developer_Guide/en-US/icons/icon.svg
===================================================================
--- epp/docs/branches/5.2/Developer_Guide/en-US/icons/icon.svg (rev 0)
+++ epp/docs/branches/5.2/Developer_Guide/en-US/icons/icon.svg 2011-11-09 03:30:26 UTC (rev 8013)
@@ -0,0 +1,3936 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:ns="http://ns.adobe.com/AdobeSVGViewerExtensions/3/"
+ xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://web.resource.org/cc/"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg3017"
+ sodipodi:version="0.32"
+ inkscape:version="0.44+devel"
+ sodipodi:docname="book.svg"
+ sodipodi:docbase="/home/andy/Desktop">
+ <metadata
+ id="metadata489">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <sodipodi:namedview
+ inkscape:window-height="480"
+ inkscape:window-width="858"
+ inkscape:pageshadow="0"
+ inkscape:pageopacity="0.0"
+ guidetolerance="10.0"
+ gridtolerance="10.0"
+ objecttolerance="10.0"
+ borderopacity="1.0"
+ bordercolor="#666666"
+ pagecolor="#ffffff"
+ id="base"
+ inkscape:zoom="1"
+ inkscape:cx="16"
+ inkscape:cy="15.944056"
+ inkscape:window-x="0"
+ inkscape:window-y="33"
+ inkscape:current-layer="svg3017" />
+ <defs
+ id="defs3019">
+ <linearGradient
+ id="linearGradient2381">
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0"
+ id="stop2383" />
+ <stop
+ style="stop-color:white;stop-opacity:0"
+ offset="1"
+ id="stop2385" />
+ </linearGradient>
+ <linearGradient
+ x1="415.73831"
+ y1="11.854"
+ x2="418.13361"
+ y2="18.8104"
+ id="XMLID_1758_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.8362,0.5206,-1.1904,0.992,147.62,-30.9374)">
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="0"
+ id="stop3903" />
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="1"
+ id="stop3905" />
+ <a:midPointStop
+ style="stop-color:#CCCCCC"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#CCCCCC"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#F2F2F2"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="500.70749"
+ y1="-13.2441"
+ x2="513.46442"
+ y2="-2.1547"
+ id="XMLID_1757_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0"
+ id="stop3890" />
+ <stop
+ style="stop-color:#96bad6;stop-opacity:1"
+ offset="1"
+ id="stop3892" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#96BAD6"
+ offset="1" />
+ </linearGradient>
+ <clipPath
+ id="XMLID_1755_">
+ <use
+ id="use3874"
+ x="0"
+ y="0"
+ width="744.09448"
+ height="600"
+ xlink:href="#XMLID_343_" />
+ </clipPath>
+ <linearGradient
+ x1="505.62939"
+ y1="-14.9526"
+ x2="527.49402"
+ y2="-0.7536"
+ id="XMLID_1756_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0"
+ id="stop3877" />
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0.51120001"
+ id="stop3879" />
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0.64609998"
+ id="stop3881" />
+ <stop
+ style="stop-color:#16336e;stop-opacity:1"
+ offset="1"
+ id="stop3883" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5112" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.6461" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#16336E"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="471.0806"
+ y1="201.07761"
+ x2="481.91711"
+ y2="210.4977"
+ id="XMLID_1754_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#6498c1;stop-opacity:1"
+ offset="0.005618"
+ id="stop3863" />
+ <stop
+ style="stop-color:#79a9cc;stop-opacity:1"
+ offset="0.2332"
+ id="stop3865" />
+ <stop
+ style="stop-color:#a4cde2;stop-opacity:1"
+ offset="0.74049997"
+ id="stop3867" />
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="1"
+ id="stop3869" />
+ <a:midPointStop
+ style="stop-color:#6498C1"
+ offset="5.618000e-003" />
+ <a:midPointStop
+ style="stop-color:#6498C1"
+ offset="0.4438" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="516.57672"
+ y1="-15.769"
+ x2="516.57672"
+ y2="0.84280002"
+ id="XMLID_1753_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
+ <stop
+ style="stop-color:#b2b2b2;stop-opacity:1"
+ offset="0"
+ id="stop3851" />
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="1"
+ id="stop3853" />
+ <a:midPointStop
+ style="stop-color:#B2B2B2"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#B2B2B2"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#F2F2F2"
+ offset="1" />
+ </linearGradient>
+ <clipPath
+ id="XMLID_1751_">
+ <use
+ id="use3837"
+ x="0"
+ y="0"
+ width="744.09448"
+ height="600"
+ xlink:href="#XMLID_338_" />
+ </clipPath>
+ <linearGradient
+ x1="506.09909"
+ y1="-11.5137"
+ x2="527.99609"
+ y2="2.7063999"
+ id="XMLID_1752_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0"
+ id="stop3840" />
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0.51120001"
+ id="stop3842" />
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0.64609998"
+ id="stop3844" />
+ <stop
+ style="stop-color:#16336e;stop-opacity:1"
+ offset="1"
+ id="stop3846" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5112" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.6461" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#16336E"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="468.2915"
+ y1="204.7612"
+ x2="479.39871"
+ y2="214.4166"
+ id="XMLID_1750_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0"
+ id="stop3830" />
+ <stop
+ style="stop-color:#96bad6;stop-opacity:1"
+ offset="1"
+ id="stop3832" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#96BAD6"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="502.70749"
+ y1="115.3013"
+ x2="516.39001"
+ y2="127.1953"
+ id="XMLID_1749_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.9703,0.2419,-0.2419,0.9703,11.0227,-35.6159)">
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0"
+ id="stop3818" />
+ <stop
+ style="stop-color:#96bad6;stop-opacity:1"
+ offset="1"
+ id="stop3820" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#96BAD6"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="501.0903"
+ y1="-19.2544"
+ x2="531.85413"
+ y2="0.72390002"
+ id="XMLID_1748_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0"
+ id="stop3803" />
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0.51120001"
+ id="stop3805" />
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0.64609998"
+ id="stop3807" />
+ <stop
+ style="stop-color:#16336e;stop-opacity:1"
+ offset="1"
+ id="stop3809" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5112" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.6461" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#16336E"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="481.23969"
+ y1="212.5742"
+ x2="472.92981"
+ y2="207.4967"
+ id="XMLID_2275_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#f3403f;stop-opacity:1"
+ offset="0"
+ id="stop9947" />
+ <stop
+ style="stop-color:#d02a28;stop-opacity:1"
+ offset="0.37889999"
+ id="stop9949" />
+ <stop
+ style="stop-color:#b21714;stop-opacity:1"
+ offset="0.77649999"
+ id="stop9951" />
+ <stop
+ style="stop-color:#a6100c;stop-opacity:1"
+ offset="1"
+ id="stop9953" />
+ <a:midPointStop
+ style="stop-color:#F3403F"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#F3403F"
+ offset="0.4213" />
+ <a:midPointStop
+ style="stop-color:#A6100C"
+ offset="1" />
+ </linearGradient>
+ <clipPath
+ id="XMLID_2273_">
+ <use
+ id="use9933"
+ x="0"
+ y="0"
+ width="744.09448"
+ height="600"
+ xlink:href="#XMLID_960_" />
+ </clipPath>
+ <linearGradient
+ x1="473.7681"
+ y1="209.17529"
+ x2="486.98099"
+ y2="213.2001"
+ id="XMLID_2274_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#f3403f;stop-opacity:1"
+ offset="0"
+ id="stop9936" />
+ <stop
+ style="stop-color:#d02a28;stop-opacity:1"
+ offset="0.37889999"
+ id="stop9938" />
+ <stop
+ style="stop-color:#b21714;stop-opacity:1"
+ offset="0.77649999"
+ id="stop9940" />
+ <stop
+ style="stop-color:#a6100c;stop-opacity:1"
+ offset="1"
+ id="stop9942" />
+ <a:midPointStop
+ style="stop-color:#F3403F"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#F3403F"
+ offset="0.4213" />
+ <a:midPointStop
+ style="stop-color:#A6100C"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="478.21341"
+ y1="-131.9297"
+ x2="469.85818"
+ y2="-140.28481"
+ id="XMLID_2272_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.5592,0.829,-0.829,0.5592,101.3357,-104.791)">
+ <stop
+ style="stop-color:#f3403f;stop-opacity:1"
+ offset="0"
+ id="stop9917" />
+ <stop
+ style="stop-color:#d02a28;stop-opacity:1"
+ offset="0.37889999"
+ id="stop9919" />
+ <stop
+ style="stop-color:#b21714;stop-opacity:1"
+ offset="0.77649999"
+ id="stop9921" />
+ <stop
+ style="stop-color:#a6100c;stop-opacity:1"
+ offset="1"
+ id="stop9923" />
+ <a:midPointStop
+ style="stop-color:#F3403F"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#F3403F"
+ offset="0.4213" />
+ <a:midPointStop
+ style="stop-color:#A6100C"
+ offset="1" />
+ </linearGradient>
+ <marker
+ refX="0"
+ refY="0"
+ orient="auto"
+ style="overflow:visible"
+ id="TriangleInM">
+ <path
+ d="M 5.77,0 L -2.88,5 L -2.88,-5 L 5.77,0 z "
+ transform="scale(-0.4,-0.4)"
+ style="fill:#5c5c4f"
+ id="path3197" />
+ </marker>
+ <linearGradient
+ x1="200.7363"
+ y1="100.4028"
+ x2="211.99519"
+ y2="89.143997"
+ id="XMLID_3298_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#bfbfbf;stop-opacity:1"
+ offset="0"
+ id="stop20103" />
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="1"
+ id="stop20105" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#BFBFBF" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#BFBFBF" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#F2F2F2" />
+ </linearGradient>
+ <linearGradient
+ x1="200.7363"
+ y1="100.4028"
+ x2="211.99519"
+ y2="89.143997"
+ id="linearGradient36592"
+ xlink:href="#XMLID_3298_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.029078,0,0,1,-183.2624,-79.44655)" />
+ <linearGradient
+ x1="181.2925"
+ y1="110.8481"
+ x2="192.6369"
+ y2="99.5037"
+ id="XMLID_3297_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="0"
+ id="stop20096" />
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="1"
+ id="stop20098" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#CCCCCC" />
+ </linearGradient>
+ <linearGradient
+ x1="181.2925"
+ y1="110.8481"
+ x2="192.6369"
+ y2="99.5037"
+ id="linearGradient36595"
+ xlink:href="#XMLID_3297_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.029078,0,0,1,-183.2624,-79.44655)" />
+ <linearGradient
+ x1="211.77589"
+ y1="105.7749"
+ x2="212.6619"
+ y2="108.2092"
+ id="XMLID_3296_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#0f6124;stop-opacity:1"
+ offset="0"
+ id="stop20087" />
+ <stop
+ style="stop-color:#219630;stop-opacity:1"
+ offset="1"
+ id="stop20089" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#0F6124" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#0F6124" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#219630" />
+ </linearGradient>
+ <linearGradient
+ x1="211.77589"
+ y1="105.7749"
+ x2="212.6619"
+ y2="108.2092"
+ id="linearGradient36677"
+ xlink:href="#XMLID_3296_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.029078,0,0,1,-183.2624,-79.44655)" />
+ <linearGradient
+ x1="208.9834"
+ y1="116.8296"
+ x2="200.0811"
+ y2="96.834602"
+ id="XMLID_3295_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#b2b2b2;stop-opacity:1"
+ offset="0"
+ id="stop20076" />
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="0.5"
+ id="stop20078" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="1"
+ id="stop20080" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#B2B2B2" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#B2B2B2" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#FFFFFF" />
+ </linearGradient>
+ <linearGradient
+ x1="208.9834"
+ y1="116.8296"
+ x2="200.0811"
+ y2="96.834602"
+ id="linearGradient36604"
+ xlink:href="#XMLID_3295_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.029078,0,0,1,-183.2624,-79.44655)" />
+ <linearGradient
+ x1="195.5264"
+ y1="97.911102"
+ x2="213.5213"
+ y2="115.9061"
+ id="XMLID_3294_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="0"
+ id="stop20069" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="1"
+ id="stop20071" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#CCCCCC" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#CCCCCC" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#FFFFFF" />
+ </linearGradient>
+ <linearGradient
+ x1="195.5264"
+ y1="97.911102"
+ x2="213.5213"
+ y2="115.9061"
+ id="linearGradient36607"
+ xlink:href="#XMLID_3294_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.029078,0,0,1,-183.2624,-79.44655)" />
+ <linearGradient
+ x1="186.1938"
+ y1="109.1343"
+ x2="206.6881"
+ y2="88.639999"
+ id="XMLID_3293_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#b2b2b2;stop-opacity:1"
+ offset="0"
+ id="stop20056" />
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="0.16850001"
+ id="stop20058" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0.23029999"
+ id="stop20060" />
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="0.2809"
+ id="stop20062" />
+ <stop
+ style="stop-color:#c2c2c2;stop-opacity:1"
+ offset="0.5"
+ id="stop20064" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#B2B2B2" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#B2B2B2" />
+ <a:midPointStop
+ offset="0.1685"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="0.2303"
+ style="stop-color:#FFFFFF" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#FFFFFF" />
+ <a:midPointStop
+ offset="0.2809"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#C2C2C2" />
+ </linearGradient>
+ <linearGradient
+ x1="186.1938"
+ y1="109.1343"
+ x2="206.6881"
+ y2="88.639999"
+ id="linearGradient36610"
+ xlink:href="#XMLID_3293_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.029078,0,0,1,-183.2624,-79.44655)" />
+ <linearGradient
+ x1="184.8569"
+ y1="112.2676"
+ x2="211.94099"
+ y2="89.541397"
+ id="XMLID_3292_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#b2b2b2;stop-opacity:1"
+ offset="0"
+ id="stop20043" />
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="0.16850001"
+ id="stop20045" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0.23029999"
+ id="stop20047" />
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="0.2809"
+ id="stop20049" />
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="1"
+ id="stop20051" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#B2B2B2" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#B2B2B2" />
+ <a:midPointStop
+ offset="0.1685"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="0.2303"
+ style="stop-color:#FFFFFF" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#FFFFFF" />
+ <a:midPointStop
+ offset="0.2809"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#CCCCCC" />
+ </linearGradient>
+ <linearGradient
+ x1="184.8569"
+ y1="112.2676"
+ x2="211.94099"
+ y2="89.541397"
+ id="linearGradient36613"
+ xlink:href="#XMLID_3292_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.029078,0,0,1,-183.2624,-79.44655)" />
+ <marker
+ refX="0"
+ refY="0"
+ orient="auto"
+ style="overflow:visible"
+ id="TriangleOutM">
+ <path
+ d="M 5.77,0 L -2.88,5 L -2.88,-5 L 5.77,0 z "
+ transform="scale(0.4,0.4)"
+ style="fill:#5c5c4f;fill-rule:evenodd;stroke-width:1pt;marker-start:none"
+ id="path3238" />
+ </marker>
+ <linearGradient
+ x1="165.3"
+ y1="99.5"
+ x2="165.3"
+ y2="115.9"
+ id="XMLID_3457_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#999;stop-opacity:1"
+ offset="0"
+ id="stop8309" />
+ <stop
+ style="stop-color:#b2b2b2;stop-opacity:1"
+ offset="0.30000001"
+ id="stop8311" />
+ <stop
+ style="stop-color:#b2b2b2;stop-opacity:1"
+ offset="1"
+ id="stop8313" />
+ <a:midPointstop
+ offset="0"
+ style="stop-color:#999999" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#999999" />
+ <a:midPointstop
+ offset="0.3"
+ style="stop-color:#B2B2B2" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#B2B2B2" />
+ <a:midPointstop
+ offset="1"
+ style="stop-color:#B2B2B2" />
+ </linearGradient>
+ <linearGradient
+ x1="165.3"
+ y1="99.5"
+ x2="165.3"
+ y2="115.9"
+ id="lg1997"
+ xlink:href="#XMLID_3457_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2,0,0,1.2,-175.9,-114.6)" />
+ <linearGradient
+ x1="175"
+ y1="99.800003"
+ x2="175"
+ y2="112.5"
+ id="XMLID_3456_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#737373;stop-opacity:1"
+ offset="0"
+ id="stop8300" />
+ <stop
+ style="stop-color:#191919;stop-opacity:1"
+ offset="0.60000002"
+ id="stop8302" />
+ <stop
+ style="stop-color:#191919;stop-opacity:1"
+ offset="1"
+ id="stop8304" />
+ <a:midPointstop
+ offset="0"
+ style="stop-color:#737373" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#737373" />
+ <a:midPointstop
+ offset="0.6"
+ style="stop-color:#191919" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#191919" />
+ <a:midPointstop
+ offset="1"
+ style="stop-color:#191919" />
+ </linearGradient>
+ <linearGradient
+ x1="175"
+ y1="99.800003"
+ x2="175"
+ y2="112.5"
+ id="lg2000"
+ xlink:href="#XMLID_3456_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2,0,0,1.2,-175.9,-114.6)" />
+ <linearGradient
+ x1="168.8"
+ y1="107.1"
+ x2="164.5"
+ y2="110"
+ id="XMLID_3455_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#666;stop-opacity:1"
+ offset="0"
+ id="stop8291" />
+ <stop
+ style="stop-color:#191919;stop-opacity:1"
+ offset="0.69999999"
+ id="stop8293" />
+ <stop
+ style="stop-color:#191919;stop-opacity:1"
+ offset="1"
+ id="stop8295" />
+ <a:midPointstop
+ offset="0"
+ style="stop-color:#666666" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#666666" />
+ <a:midPointstop
+ offset="0.7"
+ style="stop-color:#191919" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#191919" />
+ <a:midPointstop
+ offset="1"
+ style="stop-color:#191919" />
+ </linearGradient>
+ <linearGradient
+ x1="168.8"
+ y1="107.1"
+ x2="164.5"
+ y2="110"
+ id="lg2003"
+ xlink:href="#XMLID_3455_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2,0,0,1.2,-175.9,-114.6)" />
+ <linearGradient
+ id="lg63694">
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0"
+ id="stop63696" />
+ <stop
+ style="stop-color:white;stop-opacity:0"
+ offset="1"
+ id="stop63698" />
+ </linearGradient>
+ <linearGradient
+ x1="458"
+ y1="483"
+ x2="465.20001"
+ y2="271.39999"
+ id="lg2006"
+ xlink:href="#lg63694"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(6.3e-2,0,0,6.3e-2,-1.3,-9.8)" />
+ <linearGradient
+ x1="176.3"
+ y1="110.1"
+ x2="158.7"
+ y2="105"
+ id="XMLID_3453_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#666;stop-opacity:1"
+ offset="0"
+ id="stop8271" />
+ <stop
+ style="stop-color:#737373;stop-opacity:1"
+ offset="0.2"
+ id="stop8273" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="1"
+ id="stop8275" />
+ <a:midPointstop
+ offset="0"
+ style="stop-color:#666666" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#666666" />
+ <a:midPointstop
+ offset="0.2"
+ style="stop-color:#737373" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#737373" />
+ <a:midPointstop
+ offset="1"
+ style="stop-color:#FFFFFF" />
+ </linearGradient>
+ <linearGradient
+ x1="176.3"
+ y1="110.1"
+ x2="158.7"
+ y2="105"
+ id="lg2009"
+ xlink:href="#XMLID_3453_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2,0,0,1.2,-175.9,-114.6)" />
+ <linearGradient
+ x1="173.60001"
+ y1="118.9"
+ x2="172.8"
+ y2="128.2"
+ id="XMLID_3449_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#ecb300;stop-opacity:1"
+ offset="0"
+ id="stop8232" />
+ <stop
+ style="stop-color:#fff95e;stop-opacity:1"
+ offset="0.60000002"
+ id="stop8234" />
+ <stop
+ style="stop-color:#ecd600;stop-opacity:1"
+ offset="1"
+ id="stop8236" />
+ <a:midPointstop
+ offset="0"
+ style="stop-color:#ECB300" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#ECB300" />
+ <a:midPointstop
+ offset="0.6"
+ style="stop-color:#FFF95E" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#FFF95E" />
+ <a:midPointstop
+ offset="1"
+ style="stop-color:#ECD600" />
+ </linearGradient>
+ <linearGradient
+ x1="173.60001"
+ y1="118.9"
+ x2="172.8"
+ y2="128.2"
+ id="lg2016"
+ xlink:href="#XMLID_3449_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2,0,0,1.2,-175.9,-114.6)" />
+ <radialGradient
+ cx="284.60001"
+ cy="172.60001"
+ r="6.5"
+ fx="284.60001"
+ fy="172.60001"
+ id="XMLID_3448_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4,0,0,1.4,-237.3,-126.8)">
+ <stop
+ style="stop-color:#ecb300;stop-opacity:1"
+ offset="0"
+ id="stop8219" />
+ <stop
+ style="stop-color:#ecb300;stop-opacity:1"
+ offset="0.30000001"
+ id="stop8221" />
+ <stop
+ style="stop-color:#c96b00;stop-opacity:1"
+ offset="0.89999998"
+ id="stop8223" />
+ <stop
+ style="stop-color:#9a5500;stop-opacity:1"
+ offset="1"
+ id="stop8225" />
+ <a:midPointstop
+ offset="0"
+ style="stop-color:#ECB300" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#ECB300" />
+ <a:midPointstop
+ offset="0.3"
+ style="stop-color:#ECB300" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#ECB300" />
+ <a:midPointstop
+ offset="0.9"
+ style="stop-color:#C96B00" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#C96B00" />
+ <a:midPointstop
+ offset="1"
+ style="stop-color:#9A5500" />
+ </radialGradient>
+ <radialGradient
+ cx="284.60001"
+ cy="172.60001"
+ r="6.5"
+ fx="284.60001"
+ fy="172.60001"
+ id="rg2020"
+ xlink:href="#XMLID_3448_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.513992,0,0,2.347576,-689.1621,-378.5717)" />
+ <linearGradient
+ x1="158.10001"
+ y1="123"
+ x2="164.2"
+ y2="126.6"
+ id="XMLID_3447_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#ecd600;stop-opacity:1"
+ offset="0"
+ id="stop8204" />
+ <stop
+ style="stop-color:#ffffb3;stop-opacity:1"
+ offset="0.30000001"
+ id="stop8206" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="1"
+ id="stop8208" />
+ <a:midPointstop
+ offset="0"
+ style="stop-color:#ECD600" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#ECD600" />
+ <a:midPointstop
+ offset="0.3"
+ style="stop-color:#FFFFB3" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#FFFFB3" />
+ <a:midPointstop
+ offset="1"
+ style="stop-color:#FFFFFF" />
+ </linearGradient>
+ <linearGradient
+ x1="158.10001"
+ y1="123"
+ x2="164.2"
+ y2="126.6"
+ id="lg2026"
+ xlink:href="#XMLID_3447_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2,0,0,1.2,-175.9,-114.6)" />
+ <radialGradient
+ cx="280.89999"
+ cy="163.7"
+ r="10.1"
+ fx="280.89999"
+ fy="163.7"
+ id="XMLID_3446_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4,0,0,1.4,-237.3,-126.8)">
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0"
+ id="stop8197" />
+ <stop
+ style="stop-color:#fff95e;stop-opacity:1"
+ offset="1"
+ id="stop8199" />
+ <a:midPointstop
+ offset="0"
+ style="stop-color:#FFFFFF" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#FFFFFF" />
+ <a:midPointstop
+ offset="1"
+ style="stop-color:#FFF95E" />
+ </radialGradient>
+ <radialGradient
+ cx="280.89999"
+ cy="163.7"
+ r="10.1"
+ fx="280.89999"
+ fy="163.7"
+ id="rg2029"
+ xlink:href="#XMLID_3446_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.7,0,0,1.7,-457.5,-266.8)" />
+ <linearGradient
+ x1="156.5"
+ y1="122.7"
+ x2="180.10001"
+ y2="122.7"
+ id="XMLID_3445_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#ecb300;stop-opacity:1"
+ offset="0"
+ id="stop8184" />
+ <stop
+ style="stop-color:#ffe900;stop-opacity:1"
+ offset="0.2"
+ id="stop8186" />
+ <stop
+ style="stop-color:#ffffb3;stop-opacity:1"
+ offset="0.30000001"
+ id="stop8188" />
+ <stop
+ style="stop-color:#ffe900;stop-opacity:1"
+ offset="0.40000001"
+ id="stop8190" />
+ <stop
+ style="stop-color:#d68100;stop-opacity:1"
+ offset="1"
+ id="stop8192" />
+ <a:midPointstop
+ offset="0"
+ style="stop-color:#ECB300" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#ECB300" />
+ <a:midPointstop
+ offset="0.2"
+ style="stop-color:#FFE900" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#FFE900" />
+ <a:midPointstop
+ offset="0.3"
+ style="stop-color:#FFFFB3" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#FFFFB3" />
+ <a:midPointstop
+ offset="0.4"
+ style="stop-color:#FFE900" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#FFE900" />
+ <a:midPointstop
+ offset="1"
+ style="stop-color:#D68100" />
+ </linearGradient>
+ <linearGradient
+ x1="156.5"
+ y1="122.7"
+ x2="180.10001"
+ y2="122.7"
+ id="lg2032"
+ xlink:href="#XMLID_3445_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2,0,0,1.2,-175.9,-114.6)" />
+ <linearGradient
+ x1="156.39999"
+ y1="115.4"
+ x2="180.10001"
+ y2="115.4"
+ id="XMLID_3444_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#ecb300;stop-opacity:1"
+ offset="0"
+ id="stop8171" />
+ <stop
+ style="stop-color:#ffe900;stop-opacity:1"
+ offset="0.2"
+ id="stop8173" />
+ <stop
+ style="stop-color:#ffffb3;stop-opacity:1"
+ offset="0.30000001"
+ id="stop8175" />
+ <stop
+ style="stop-color:#ffe900;stop-opacity:1"
+ offset="0.40000001"
+ id="stop8177" />
+ <stop
+ style="stop-color:#d68100;stop-opacity:1"
+ offset="1"
+ id="stop8179" />
+ <a:midPointstop
+ offset="0"
+ style="stop-color:#ECB300" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#ECB300" />
+ <a:midPointstop
+ offset="0.2"
+ style="stop-color:#FFE900" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#FFE900" />
+ <a:midPointstop
+ offset="0.3"
+ style="stop-color:#FFFFB3" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#FFFFB3" />
+ <a:midPointstop
+ offset="0.4"
+ style="stop-color:#FFE900" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#FFE900" />
+ <a:midPointstop
+ offset="1"
+ style="stop-color:#D68100" />
+ </linearGradient>
+ <linearGradient
+ x1="156.39999"
+ y1="115.4"
+ x2="180.10001"
+ y2="115.4"
+ id="lg2035"
+ xlink:href="#XMLID_3444_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2,0,0,1.2,-175.9,-114.6)" />
+ <linearGradient
+ x1="379.70001"
+ y1="167.89999"
+ x2="383.89999"
+ y2="172.89999"
+ id="lg4286_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.8,0.2,-0.2,0.8,78.8,38.1)">
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0"
+ id="s16159" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0.1"
+ id="s16161" />
+ <stop
+ style="stop-color:#737373;stop-opacity:1"
+ offset="1"
+ id="s16163" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0.1" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#737373"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="379.60001"
+ y1="167.8"
+ x2="383.79999"
+ y2="172"
+ id="lg6416"
+ xlink:href="#lg4286_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.622156,0.623859,-0.623859,2.62182,-882.9706,-673.7921)" />
+ <linearGradient
+ x1="384.20001"
+ y1="169.8"
+ x2="384.79999"
+ y2="170.39999"
+ id="lg4285_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.8,0.2,-0.2,0.8,78.8,38.1)">
+ <stop
+ style="stop-color:#737373;stop-opacity:1"
+ offset="0"
+ id="s16152" />
+ <stop
+ style="stop-color:#d9d9d9;stop-opacity:1"
+ offset="1"
+ id="s16154" />
+ <ns:midPointStop
+ style="stop-color:#737373"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#737373"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#D9D9D9"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="384.20001"
+ y1="169.8"
+ x2="384.79999"
+ y2="170.39999"
+ id="lg6453"
+ xlink:href="#lg4285_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.6,0.6,-0.6,2.6,-883,-673.8)" />
+ <linearGradient
+ x1="380.5"
+ y1="172.60001"
+ x2="382.79999"
+ y2="173.7"
+ id="lg4284_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.8,0.2,-0.2,0.8,78.8,38.1)">
+ <stop
+ style="stop-color:gray;stop-opacity:1"
+ offset="0"
+ id="s16145" />
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="1"
+ id="s16147" />
+ <ns:midPointStop
+ style="stop-color:#808080"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#808080"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#E5E5E5"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="380.5"
+ y1="172.60001"
+ x2="382.79999"
+ y2="173.7"
+ id="lg6456"
+ xlink:href="#lg4284_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.6,0.6,-0.6,2.6,-883,-673.8)" />
+ <radialGradient
+ cx="347.29999"
+ cy="244.5"
+ r="5.1999998"
+ fx="347.29999"
+ fy="244.5"
+ id="lg4282_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(3.4,0,0,3.4,-1148,-802)">
+ <stop
+ style="stop-color:#333;stop-opacity:1"
+ offset="0"
+ id="s16135" />
+ <stop
+ style="stop-color:#999;stop-opacity:1"
+ offset="1"
+ id="s16137" />
+ <ns:midPointStop
+ style="stop-color:#333333"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#333333"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#999999"
+ offset="1" />
+ </radialGradient>
+ <linearGradient
+ x1="310.39999"
+ y1="397.70001"
+ x2="310.89999"
+ y2="399.5"
+ id="lg4280_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.7,-0.7,0.7,0.7,-153.4,180.6)">
+ <stop
+ style="stop-color:#ffcd00;stop-opacity:1"
+ offset="0"
+ id="s16111" />
+ <stop
+ style="stop-color:#ffffb3;stop-opacity:1"
+ offset="0.60000002"
+ id="s16113" />
+ <stop
+ style="stop-color:#ffffb3;stop-opacity:1"
+ offset="1"
+ id="s16115" />
+ <ns:midPointStop
+ style="stop-color:#FFCD00"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#FFCD00"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFFFB3"
+ offset="0.6" />
+ <ns:midPointStop
+ style="stop-color:#FFFFB3"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFFFB3"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="310.39999"
+ y1="397.70001"
+ x2="310.89999"
+ y2="399.5"
+ id="lg6467"
+ xlink:href="#lg4280_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.4,-2.4,2.4,2.4,-1663.6,-195)" />
+ <linearGradient
+ x1="310.89999"
+ y1="395.79999"
+ x2="313.29999"
+ y2="403.10001"
+ id="lg4279_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.7,-0.7,0.7,0.7,-153.4,180.6)">
+ <stop
+ style="stop-color:#ffffb3;stop-opacity:1"
+ offset="0"
+ id="s16100" />
+ <stop
+ style="stop-color:#ffffb3;stop-opacity:1"
+ offset="0.40000001"
+ id="s16102" />
+ <stop
+ style="stop-color:#ffcd00;stop-opacity:1"
+ offset="0.89999998"
+ id="s16104" />
+ <stop
+ style="stop-color:#ffcd00;stop-opacity:1"
+ offset="1"
+ id="s16106" />
+ <ns:midPointStop
+ style="stop-color:#FFFFB3"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#FFFFB3"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFFFB3"
+ offset="0.4" />
+ <ns:midPointStop
+ style="stop-color:#FFFFB3"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFCD00"
+ offset="0.9" />
+ <ns:midPointStop
+ style="stop-color:#FFCD00"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFCD00"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="310.89999"
+ y1="395.79999"
+ x2="313.29999"
+ y2="403.10001"
+ id="lg6465"
+ xlink:href="#lg4279_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.4,-2.4,2.4,2.4,-1663.6,-195)" />
+ <linearGradient
+ x1="307.79999"
+ y1="395.20001"
+ x2="313.79999"
+ y2="413.60001"
+ id="lg4278_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.7,-0.7,0.7,0.7,-153.4,180.6)">
+ <stop
+ style="stop-color:#ffffb3;stop-opacity:1"
+ offset="0"
+ id="s16091" />
+ <stop
+ style="stop-color:#fcd72f;stop-opacity:1"
+ offset="0.40000001"
+ id="s16093" />
+ <stop
+ style="stop-color:#ffcd00;stop-opacity:1"
+ offset="1"
+ id="s16095" />
+ <ns:midPointStop
+ style="stop-color:#FFFFB3"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#FFFFB3"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FCD72F"
+ offset="0.4" />
+ <ns:midPointStop
+ style="stop-color:#FCD72F"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFCD00"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="306.5"
+ y1="393"
+ x2="309"
+ y2="404"
+ id="lg6400"
+ xlink:href="#lg4278_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.4,-2.4,2.4,2.4,-1663.6,-195)" />
+ <linearGradient
+ x1="352.10001"
+ y1="253.60001"
+ x2="348.5"
+ y2="237.8"
+ id="lg4276_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(3.4,0,0,3.4,-1148,-802)">
+ <stop
+ style="stop-color:#ffff87;stop-opacity:1"
+ offset="0"
+ id="s16077" />
+ <stop
+ style="stop-color:#ffad00;stop-opacity:1"
+ offset="1"
+ id="s16079" />
+ <ns:midPointStop
+ style="stop-color:#FFFF87"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#FFFF87"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFAD00"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="335.60001"
+ y1="354.79999"
+ x2="337.89999"
+ y2="354.79999"
+ id="lg4275_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.9,-0.5,0.5,0.9,-121.7,105.1)">
+ <stop
+ style="stop-color:#d9d9d9;stop-opacity:1"
+ offset="0"
+ id="s16057" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0.80000001"
+ id="s16059" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="1"
+ id="s16061" />
+ <ns:midPointStop
+ style="stop-color:#D9D9D9"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#D9D9D9"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0.8" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="335.60001"
+ y1="354.79999"
+ x2="337.89999"
+ y2="354.79999"
+ id="lg6463"
+ xlink:href="#lg4275_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.9,-1.7,1.7,2.9,-1557,-448.7)" />
+ <linearGradient
+ x1="337.39999"
+ y1="353.10001"
+ x2="339.39999"
+ y2="357.10001"
+ id="lg4274_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.9,-0.5,0.5,0.9,-121.7,105.1)">
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0"
+ id="s16048" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0.1"
+ id="s16050" />
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="1"
+ id="s16052" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0.1" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#CCCCCC"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="337.39999"
+ y1="353.10001"
+ x2="339.39999"
+ y2="357.10001"
+ id="lg6461"
+ xlink:href="#lg4274_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.9,-1.7,1.7,2.9,-1557,-448.7)" />
+ <linearGradient
+ x1="334.39999"
+ y1="355.5"
+ x2="335.5"
+ y2="356.79999"
+ id="lg4273_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.9,-0.5,0.5,0.9,-121.7,105.1)">
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0"
+ id="s16041" />
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="1"
+ id="s16043" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="5.6e-003" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#CCCCCC"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="334.39999"
+ y1="355.5"
+ x2="335.5"
+ y2="356.79999"
+ id="lg6381"
+ xlink:href="#lg4273_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.9,-1.7,1.7,2.9,-1557,-448.7)" />
+ <linearGradient
+ x1="348.39999"
+ y1="247.39999"
+ x2="354.10001"
+ y2="242"
+ id="lg4271_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(3.4,0,0,3.4,-1148,-802)">
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="0"
+ id="s16025" />
+ <stop
+ style="stop-color:#9e9e9e;stop-opacity:1"
+ offset="0.40000001"
+ id="s16027" />
+ <stop
+ style="stop-color:black;stop-opacity:1"
+ offset="1"
+ id="s16029" />
+ <ns:midPointStop
+ style="stop-color:#F2F2F2"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#F2F2F2"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#000000"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="351.29999"
+ y1="257.29999"
+ x2="346.29999"
+ y2="235.5"
+ id="lg4270_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#ffff87;stop-opacity:1"
+ offset="0"
+ id="s16007" />
+ <stop
+ style="stop-color:#ffad00;stop-opacity:1"
+ offset="1"
+ id="s16009" />
+ <ns:midPointStop
+ style="stop-color:#FFFF87"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#FFFF87"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFAD00"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="351.29999"
+ y1="257.29999"
+ x2="346.29999"
+ y2="235.5"
+ id="lg6459"
+ xlink:href="#lg4270_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(3.4,0,0,3.4,-1148,-802)" />
+ <linearGradient
+ x1="43.799999"
+ y1="32.5"
+ x2="63.299999"
+ y2="66.400002"
+ id="XMLID_2708_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0"
+ id="stop75318" />
+ <stop
+ style="stop-color:#fffcea;stop-opacity:1"
+ offset="1"
+ id="stop75320" />
+ <a:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#FFFCEA"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="43.799999"
+ y1="32.5"
+ x2="63.299999"
+ y2="66.400002"
+ id="lg1907"
+ xlink:href="#XMLID_2708_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-29,-22.6)" />
+ <linearGradient
+ x1="52.5"
+ y1="40.400002"
+ x2="58.200001"
+ y2="64"
+ id="XMLID_2707_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#ffdea0;stop-opacity:1"
+ offset="0"
+ id="stop75305" />
+ <stop
+ style="stop-color:#ffd89e;stop-opacity:1"
+ offset="0.30000001"
+ id="stop75307" />
+ <stop
+ style="stop-color:#ffd79e;stop-opacity:1"
+ offset="0.30000001"
+ id="stop75309" />
+ <stop
+ style="stop-color:#dbaf6d;stop-opacity:1"
+ offset="0.69999999"
+ id="stop75311" />
+ <stop
+ style="stop-color:#6f4c24;stop-opacity:1"
+ offset="1"
+ id="stop75313" />
+ <a:midPointStop
+ style="stop-color:#FFDEA0"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#FFDEA0"
+ offset="0.6" />
+ <a:midPointStop
+ style="stop-color:#FFD79E"
+ offset="0.3" />
+ <a:midPointStop
+ style="stop-color:#FFD79E"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#DBAF6D"
+ offset="0.7" />
+ <a:midPointStop
+ style="stop-color:#DBAF6D"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#6F4C24"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="52.5"
+ y1="40.400002"
+ x2="58.200001"
+ y2="64"
+ id="lg1910"
+ xlink:href="#XMLID_2707_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-29,-22.6)" />
+ <linearGradient
+ x1="58"
+ y1="73.199997"
+ x2="44.5"
+ y2="19"
+ id="XMLID_2704_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-29,-22.6)">
+ <stop
+ style="stop-color:#d4a96c;stop-opacity:1"
+ offset="0.5"
+ id="stop75284" />
+ <stop
+ style="stop-color:#dcb273;stop-opacity:1"
+ offset="0.60000002"
+ id="stop75286" />
+ <stop
+ style="stop-color:#f0ca87;stop-opacity:1"
+ offset="0.80000001"
+ id="stop75288" />
+ <stop
+ style="stop-color:#ffdc96;stop-opacity:1"
+ offset="0.69999999"
+ id="stop75290" />
+ <stop
+ style="stop-color:#c18a42;stop-opacity:1"
+ offset="1"
+ id="stop75292" />
+ <a:midPointStop
+ style="stop-color:#D4A96C"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#D4A96C"
+ offset="0.6" />
+ <a:midPointStop
+ style="stop-color:#FFDC96"
+ offset="0.7" />
+ <a:midPointStop
+ style="stop-color:#FFDC96"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#C18A42"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="53.700001"
+ y1="32"
+ x2="53.700001"
+ y2="64.599998"
+ id="XMLID_2703_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#e5c9b0;stop-opacity:1"
+ offset="0"
+ id="stop75268" />
+ <stop
+ style="stop-color:#e5c9b0;stop-opacity:1"
+ offset="0.40000001"
+ id="stop75270" />
+ <stop
+ style="stop-color:#c0aa94;stop-opacity:1"
+ offset="1"
+ id="stop75272" />
+ <a:midPointStop
+ style="stop-color:#E5C9B0"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#E5C9B0"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#E5C9B0"
+ offset="0.4" />
+ <a:midPointStop
+ style="stop-color:#E5C9B0"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#C0AA94"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="53.700001"
+ y1="32"
+ x2="53.700001"
+ y2="64.599998"
+ id="lg1916"
+ xlink:href="#XMLID_2703_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-29,-22.6)" />
+ <linearGradient
+ x1="224.31"
+ y1="19.450001"
+ x2="214.33"
+ y2="11.46"
+ id="XMLID_419_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#404040;stop-opacity:1"
+ offset="0"
+ id="s1903" />
+ <stop
+ style="stop-color:#6d6d6d;stop-opacity:1"
+ offset="0.33000001"
+ id="s1905" />
+ <stop
+ style="stop-color:#e9e9e9;stop-opacity:1"
+ offset="1"
+ id="s1907" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#404040" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#404040" />
+ <a:midPointStop
+ offset="0.33"
+ style="stop-color:#6D6D6D" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#6D6D6D" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#E9E9E9" />
+ </linearGradient>
+ <linearGradient
+ x1="221.84"
+ y1="32.779999"
+ x2="212.2"
+ y2="20.27"
+ id="lg1988"
+ xlink:href="#XMLID_419_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.33,0,0,1.31,-274.2,-5.2)" />
+ <linearGradient
+ x1="228.35001"
+ y1="33.279999"
+ x2="215.42999"
+ y2="33.279999"
+ id="lg1900"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0"
+ id="s1902" />
+ <stop
+ style="stop-color:white;stop-opacity:0"
+ offset="1"
+ id="s1906" />
+ <a:midPointStop
+ style="stop-color:#575757"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#575757"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#6D6D6D"
+ offset="0.33" />
+ <a:midPointStop
+ style="stop-color:#6D6D6D"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#D3D3D3"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="234.81"
+ y1="33.279999"
+ x2="228.27"
+ y2="33.279999"
+ id="lg1908"
+ xlink:href="#lg1900"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.33,0,0,1.31,-274.2,-5.2)" />
+ <linearGradient
+ x1="228.35001"
+ y1="33.279999"
+ x2="215.42999"
+ y2="33.279999"
+ id="XMLID_416_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#575757;stop-opacity:1"
+ offset="0"
+ id="s1874" />
+ <stop
+ style="stop-color:#6d6d6d;stop-opacity:1"
+ offset="0.33000001"
+ id="s1876" />
+ <stop
+ style="stop-color:#d3d3d3;stop-opacity:1"
+ offset="1"
+ id="s1878" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#575757" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#575757" />
+ <a:midPointStop
+ offset="0.33"
+ style="stop-color:#6D6D6D" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#6D6D6D" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#D3D3D3" />
+ </linearGradient>
+ <linearGradient
+ x1="228.35001"
+ y1="33.279999"
+ x2="215.42999"
+ y2="33.279999"
+ id="lg1991"
+ xlink:href="#XMLID_416_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.33,0,0,1.31,-274.2,-5.2)" />
+ <radialGradient
+ cx="603.19"
+ cy="230.77"
+ r="1.67"
+ fx="603.19"
+ fy="230.77"
+ id="x5010_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.1,0,0,1.1,-54.33,-75.4)">
+ <stop
+ style="stop-color:#c9ffc9;stop-opacity:1"
+ offset="0"
+ id="stop29201" />
+ <stop
+ style="stop-color:#23a11f;stop-opacity:1"
+ offset="1"
+ id="stop29203" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#C9FFC9" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#C9FFC9" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#23A11F" />
+ </radialGradient>
+ <radialGradient
+ cx="603.19"
+ cy="230.77"
+ r="1.67"
+ fx="603.19"
+ fy="230.77"
+ id="radialGradient5711"
+ xlink:href="#x5010_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.23,0,0,1.23,-709.93,-245.02)" />
+ <linearGradient
+ x1="592.31"
+ y1="162.60001"
+ x2="609.32001"
+ y2="145.59"
+ id="lg5722"
+ xlink:href="#x5003_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.12,0,0,1.12,-649.08,-160.62)" />
+ <linearGradient
+ x1="601.48999"
+ y1="170.16"
+ x2="613.84003"
+ y2="170.16"
+ id="x5002_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#d9d9d9;stop-opacity:1"
+ offset="0"
+ id="stop29134" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0.2"
+ id="stop29136" />
+ <stop
+ style="stop-color:#999;stop-opacity:1"
+ offset="1"
+ id="stop29138" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#D9D9D9" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#D9D9D9" />
+ <a:midPointStop
+ offset="0.20"
+ style="stop-color:#FFFFFF" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#FFFFFF" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#999999" />
+ </linearGradient>
+ <linearGradient
+ x1="601.48999"
+ y1="170.16"
+ x2="613.84003"
+ y2="170.16"
+ id="lg5725"
+ xlink:href="#x5002_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.12,0,0,1.12,-649.08,-160.62)" />
+ <linearGradient
+ x1="592.20001"
+ y1="156.45"
+ x2="609.98999"
+ y2="174.23"
+ id="x5004_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.12,0,0,1.12,-649.08,-160.62)">
+ <stop
+ style="stop-color:#d9d9d9;stop-opacity:1"
+ offset="0"
+ id="stop29157" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="1"
+ id="stop29159" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#D9D9D9" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#D9D9D9" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#FFFFFF" />
+ </linearGradient>
+ <linearGradient
+ x1="592.20001"
+ y1="156.45"
+ x2="609.98999"
+ y2="174.23"
+ id="lg5728"
+ xlink:href="#x5004_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.12,0,0,1.12,-649.08,-160.62)" />
+ <linearGradient
+ x1="592.31"
+ y1="162.60001"
+ x2="609.32001"
+ y2="145.59"
+ id="x5003_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="0"
+ id="stop29143" />
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="1"
+ id="stop29145" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#F2F2F2" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#F2F2F2" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#E5E5E5" />
+ </linearGradient>
+ <linearGradient
+ x1="592.31"
+ y1="162.60001"
+ x2="609.32001"
+ y2="145.59"
+ id="lg5732"
+ xlink:href="#x5003_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.12,0,0,1.12,-649.08,-160.62)" />
+ <linearGradient
+ x1="592.20001"
+ y1="156.45"
+ x2="609.98999"
+ y2="174.24001"
+ id="x5000_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.12,0,0,1.12,-649.08,-160.62)">
+ <stop
+ style="stop-color:#d9d9d9;stop-opacity:1"
+ offset="0"
+ id="stop29124" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="1"
+ id="stop29126" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#D9D9D9" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#D9D9D9" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#FFFFFF" />
+ </linearGradient>
+ <linearGradient
+ x1="592.20001"
+ y1="156.45"
+ x2="609.98999"
+ y2="174.24001"
+ id="lg5735"
+ xlink:href="#x5000_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.12,0,0,1.12,-649.08,-160.62)" />
+ <linearGradient
+ x1="308.54999"
+ y1="149.89999"
+ x2="299.72"
+ y2="148.83"
+ id="XMLID_2433_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#d6d6d6;stop-opacity:1"
+ offset="0"
+ id="71615" />
+ <stop
+ style="stop-color:#a5a5a5;stop-opacity:1"
+ offset="1"
+ id="71617" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#D6D6D6" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#D6D6D6" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#A5A5A5" />
+ </linearGradient>
+ <linearGradient
+ x1="308.54999"
+ y1="149.89999"
+ x2="299.72"
+ y2="148.83"
+ id="lg1952"
+ xlink:href="#XMLID_2433_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.03,0,0,1.03,-279.57,-124.36)" />
+ <radialGradient
+ cx="307.39999"
+ cy="121"
+ r="23.35"
+ fx="307.39999"
+ fy="121"
+ id="XMLID_2432_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.98,0,0,0.98,2.88,2.75)">
+ <stop
+ style="stop-color:#d2d2d2;stop-opacity:1"
+ offset="0.19"
+ id="71592" />
+ <stop
+ style="stop-color:#cfcfcf;stop-opacity:1"
+ offset="0.44999999"
+ id="71594" />
+ <stop
+ style="stop-color:#c7c7c7;stop-opacity:1"
+ offset="0.60000002"
+ id="71596" />
+ <stop
+ style="stop-color:#b9b9b9;stop-opacity:1"
+ offset="0.74000001"
+ id="71598" />
+ <stop
+ style="stop-color:#a4a4a4;stop-opacity:1"
+ offset="0.86000001"
+ id="71600" />
+ <stop
+ style="stop-color:#8a8a8a;stop-opacity:1"
+ offset="0.95999998"
+ id="71602" />
+ <stop
+ style="stop-color:gray;stop-opacity:1"
+ offset="1"
+ id="71604" />
+ <a:midPointStop
+ offset="0.19"
+ style="stop-color:#D2D2D2" />
+ <a:midPointStop
+ offset="0.8"
+ style="stop-color:#D2D2D2" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#808080" />
+ </radialGradient>
+ <radialGradient
+ cx="307.39999"
+ cy="121"
+ r="23.35"
+ fx="307.39999"
+ fy="121"
+ id="radialGradient2331"
+ xlink:href="#XMLID_2432_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-276.62,-121.54)" />
+ <linearGradient
+ x1="294.13"
+ y1="127.07"
+ x2="294.13"
+ y2="142.2"
+ id="XMLID_2430_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#b5d8ff;stop-opacity:1"
+ offset="0"
+ id="71582" />
+ <stop
+ style="stop-color:black;stop-opacity:1"
+ offset="1"
+ id="71584" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#B5D8FF" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#B5D8FF" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#000000" />
+ </linearGradient>
+ <linearGradient
+ x1="294.13"
+ y1="127.07"
+ x2="294.13"
+ y2="142.2"
+ id="lg2820"
+ xlink:href="#XMLID_2430_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.03,0,0,1.03,-279.57,-124.36)" />
+ <linearGradient
+ x1="279.10999"
+ y1="148.03"
+ x2="309.16"
+ y2="148.03"
+ id="XMLID_2429_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#e1e1e1;stop-opacity:1"
+ offset="0"
+ id="71564" />
+ <stop
+ style="stop-color:#e1e1e1;stop-opacity:1"
+ offset="0.25"
+ id="71566" />
+ <stop
+ style="stop-color:#a5a5a5;stop-opacity:1"
+ offset="0.44"
+ id="71568" />
+ <stop
+ style="stop-color:#a5a5a5;stop-opacity:1"
+ offset="1"
+ id="71570" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#E1E1E1" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#E1E1E1" />
+ <a:midPointStop
+ offset="0.25"
+ style="stop-color:#E1E1E1" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#E1E1E1" />
+ <a:midPointStop
+ offset="0.44"
+ style="stop-color:#A5A5A5" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#A5A5A5" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#A5A5A5" />
+ </linearGradient>
+ <linearGradient
+ x1="279.10999"
+ y1="148.03"
+ x2="309.16"
+ y2="148.03"
+ id="lg2818"
+ xlink:href="#XMLID_2429_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.03,0,0,1.03,-279.57,-124.36)" />
+ <radialGradient
+ cx="622.34302"
+ cy="14.449"
+ r="26.496"
+ fx="622.34302"
+ fy="14.449"
+ id="lg3499_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.851,0,0,0.849,69.297,51.658)">
+ <stop
+ style="stop-color:#23468e;stop-opacity:1"
+ offset="0"
+ id="stop10972" />
+ <stop
+ style="stop-color:#012859;stop-opacity:1"
+ offset="1"
+ id="stop10974" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#23468E" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#23468E" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#012859" />
+ </radialGradient>
+ <radialGradient
+ cx="622.34302"
+ cy="14.449"
+ r="26.496"
+ fx="622.34302"
+ fy="14.449"
+ id="rg5791"
+ xlink:href="#lg3499_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.858,0,0,0.857,-511.7,9.02)" />
+ <linearGradient
+ x1="616.112"
+ y1="76.247002"
+ x2="588.14099"
+ y2="60.742001"
+ id="lg3497_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#01326e;stop-opacity:1"
+ offset="0"
+ id="stop10962" />
+ <stop
+ style="stop-color:#012859;stop-opacity:1"
+ offset="1"
+ id="stop10964" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#01326E" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#01326E" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#012859" />
+ </linearGradient>
+ <linearGradient
+ x1="617.698"
+ y1="82.445999"
+ x2="585.95203"
+ y2="54.848999"
+ id="lg3496_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="0"
+ id="stop10950" />
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="1"
+ id="stop10952" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#CCCCCC" />
+ </linearGradient>
+ <linearGradient
+ x1="617.698"
+ y1="82.445999"
+ x2="585.95203"
+ y2="54.848999"
+ id="lg5794"
+ xlink:href="#lg3496_"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ x1="601.39001"
+ y1="55.341"
+ x2="588.29199"
+ y2="71.515999"
+ id="lg3495_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#d9d9d9;stop-opacity:1"
+ offset="0"
+ id="stop10941" />
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="0.52200001"
+ id="stop10943" />
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="1"
+ id="stop10945" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#D9D9D9" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#D9D9D9" />
+ <a:midPointStop
+ offset="0.522"
+ style="stop-color:#F2F2F2" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#F2F2F2" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#CCCCCC" />
+ </linearGradient>
+ <linearGradient
+ x1="601.39001"
+ y1="55.341"
+ x2="588.29199"
+ y2="71.515999"
+ id="lg5771"
+ xlink:href="#lg3495_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.009,0,0,1.009,-581.615,-43.098)" />
+ <linearGradient
+ x1="611.34601"
+ y1="55.279999"
+ x2="590.39001"
+ y2="81.157997"
+ id="lg3494_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#d9d9d9;stop-opacity:1"
+ offset="0"
+ id="stop10932" />
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="0.52200001"
+ id="stop10934" />
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="1"
+ id="stop10936" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#D9D9D9" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#D9D9D9" />
+ <a:midPointStop
+ offset="0.522"
+ style="stop-color:#F2F2F2" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#F2F2F2" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#CCCCCC" />
+ </linearGradient>
+ <linearGradient
+ x1="611.34601"
+ y1="55.279999"
+ x2="590.39001"
+ y2="81.157997"
+ id="lg5774"
+ xlink:href="#lg3494_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.009,0,0,1.009,-581.616,-43.098)" />
+ <linearGradient
+ x1="798.72998"
+ y1="69.839996"
+ x2="799.04999"
+ y2="70.709999"
+ id="g3302_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#005e00;stop-opacity:1"
+ offset="0"
+ id="s6504" />
+ <stop
+ style="stop-color:#23a11f;stop-opacity:1"
+ offset="1"
+ id="s6506" />
+ <a:midPointstop
+ style="stop-color:#005E00"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#005E00"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#23A11F"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="798.72998"
+ y1="69.839996"
+ x2="799.04999"
+ y2="70.709999"
+ id="lg5851"
+ xlink:href="#g3302_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.204,0,0,1.263,-926.036,-60.001)" />
+ <linearGradient
+ x1="779.19"
+ y1="122.73"
+ x2="811.69"
+ y2="149.74001"
+ id="g3301_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,-0.25,0,1,0,129.19)">
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="0"
+ id="s6483" />
+ <stop
+ style="stop-color:#eee;stop-opacity:1"
+ offset="0.17"
+ id="s6485" />
+ <stop
+ style="stop-color:#e3e3e3;stop-opacity:1"
+ offset="0.34"
+ id="s6487" />
+ <stop
+ style="stop-color:#cfcfcf;stop-opacity:1"
+ offset="0.50999999"
+ id="s6489" />
+ <stop
+ style="stop-color:#b4b4b4;stop-opacity:1"
+ offset="0.67000002"
+ id="s6491" />
+ <stop
+ style="stop-color:#919191;stop-opacity:1"
+ offset="0.83999997"
+ id="s6493" />
+ <stop
+ style="stop-color:#666;stop-opacity:1"
+ offset="1"
+ id="s6495" />
+ <a:midPointstop
+ style="stop-color:#F2F2F2"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#F2F2F2"
+ offset="0.71" />
+ <a:midPointstop
+ style="stop-color:#666666"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="779.19"
+ y1="122.73"
+ x2="811.69"
+ y2="149.74001"
+ id="lg5855"
+ xlink:href="#g3301_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.204,-0.316,0,1.263,-926.036,103.123)" />
+ <clipPath
+ id="g3299_">
+ <use
+ id="use6469"
+ x="0"
+ y="0"
+ width="1005.92"
+ height="376.97"
+ xlink:href="#g101_" />
+ </clipPath>
+ <radialGradient
+ cx="1189.9301"
+ cy="100.05"
+ r="40.400002"
+ fx="1189.9301"
+ fy="100.05"
+ id="g3300_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.34,-8.46e-2,0,0.34,394.16,137.13)">
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0"
+ id="s6472" />
+ <stop
+ style="stop-color:white;stop-opacity:0"
+ offset="1"
+ id="s6474" />
+ <a:midPointstop
+ style="stop-color:#FFFFFF"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#FFFFFF"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#000000"
+ offset="1" />
+ </radialGradient>
+ <radialGradient
+ cx="1199.74"
+ cy="97.150002"
+ r="40.400002"
+ fx="1199.74"
+ fy="97.150002"
+ id="rg5860"
+ xlink:href="#g3300_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.409,-0.107,0,0.429,-451.489,113.149)" />
+ <linearGradient
+ x1="796.38"
+ y1="67.580002"
+ x2="781.28003"
+ y2="58.549999"
+ id="g3298_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#4c8bca;stop-opacity:1"
+ offset="0"
+ id="s6462" />
+ <stop
+ style="stop-color:#b7e9ff;stop-opacity:1"
+ offset="1"
+ id="s6464" />
+ <a:midPointstop
+ style="stop-color:#4C8BCA"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#4C8BCA"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#B7E9FF"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="800.97998"
+ y1="140.72"
+ x2="777.71997"
+ y2="121.76"
+ id="g3297_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,-0.25,0,1,0,129.19)">
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="0"
+ id="s6448" />
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="1"
+ id="s6450" />
+ <a:midPointstop
+ style="stop-color:#E5E5E5"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#E5E5E5"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#CCCCCC"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="800.97998"
+ y1="140.72"
+ x2="777.71997"
+ y2="121.76"
+ id="lg5890"
+ xlink:href="#g3297_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,-0.25,0,1,0,129.19)" />
+ <linearGradient
+ x1="790.03998"
+ y1="-16.33"
+ x2="779.84003"
+ y2="-3.73"
+ id="g3296_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(0,70.17)">
+ <stop
+ style="stop-color:#d9d9d9;stop-opacity:1"
+ offset="0"
+ id="s6439" />
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="0.51999998"
+ id="s6441" />
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="1"
+ id="s6443" />
+ <a:midPointstop
+ style="stop-color:#D9D9D9"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#D9D9D9"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#F2F2F2"
+ offset="0.52" />
+ <a:midPointstop
+ style="stop-color:#F2F2F2"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#CCCCCC"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="790.03998"
+ y1="-16.33"
+ x2="779.84003"
+ y2="-3.73"
+ id="lg5866"
+ xlink:href="#g3296_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.204,0,0,1.263,-926.036,28.6)" />
+ <linearGradient
+ x1="785.84003"
+ y1="72.989998"
+ x2="785.26001"
+ y2="76.279999"
+ id="g3293_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0"
+ id="s6412" />
+ <stop
+ style="stop-color:#737373;stop-opacity:1"
+ offset="1"
+ id="s6414" />
+ <a:midPointstop
+ style="stop-color:#FFFFFF"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#FFFFFF"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#737373"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="785.84003"
+ y1="72.989998"
+ x2="785.26001"
+ y2="76.279999"
+ id="lg5871"
+ xlink:href="#g3293_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.204,0,0,1.263,-926.036,-60.001)" />
+ <linearGradient
+ x1="789.37"
+ y1="69.879997"
+ x2="791.03998"
+ y2="77.120003"
+ id="g3292_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#999;stop-opacity:1"
+ offset="0"
+ id="s6403" />
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="0.28"
+ id="s6405" />
+ <stop
+ style="stop-color:#666;stop-opacity:1"
+ offset="1"
+ id="s6407" />
+ <a:midPointstop
+ style="stop-color:#999999"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#999999"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#F2F2F2"
+ offset="0.28" />
+ <a:midPointstop
+ style="stop-color:#F2F2F2"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#666666"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="789.37"
+ y1="69.879997"
+ x2="791.03998"
+ y2="77.120003"
+ id="lg5874"
+ xlink:href="#g3292_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.204,0,0,1.263,-926.036,-60.001)" />
+ <linearGradient
+ x1="786.65997"
+ y1="136.12"
+ x2="786.71002"
+ y2="134.33"
+ id="g3290_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,-0.25,0,1,0,137.29)">
+ <stop
+ style="stop-color:#d9d9d9;stop-opacity:1"
+ offset="0"
+ id="s6380" />
+ <stop
+ style="stop-color:#b2b2b2;stop-opacity:1"
+ offset="1"
+ id="s6382" />
+ <a:midPointstop
+ style="stop-color:#D9D9D9"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#D9D9D9"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#B2B2B2"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="786.65997"
+ y1="136.12"
+ x2="786.71002"
+ y2="134.33"
+ id="lg5878"
+ xlink:href="#g3290_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.204,-0.316,0,1.263,-926.036,113.351)" />
+ <radialGradient
+ cx="1458.77"
+ cy="-5.0999999"
+ r="35.130001"
+ fx="1458.77"
+ fy="-5.0999999"
+ id="g3289_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.42,0,0,0.42,167.09,79.84)">
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0"
+ id="s6371" />
+ <stop
+ style="stop-color:#999;stop-opacity:1"
+ offset="1"
+ id="s6373" />
+ <a:midPointstop
+ style="stop-color:#FFFFFF"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#FFFFFF"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#999999"
+ offset="1" />
+ </radialGradient>
+ <radialGradient
+ cx="1458.77"
+ cy="-5.0999999"
+ r="35.130001"
+ fx="1458.77"
+ fy="-5.0999999"
+ id="rg5881"
+ xlink:href="#g3289_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.505,0,0,0.53,-724.957,40.636)" />
+ <radialGradient
+ cx="1612.98"
+ cy="-4.4699998"
+ r="36.580002"
+ fx="1612.98"
+ fy="-4.4699998"
+ id="g3288_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.34,0,0,0.36,238.56,86.87)">
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="0"
+ id="s6362" />
+ <stop
+ style="stop-color:#b2b2b2;stop-opacity:1"
+ offset="0.63999999"
+ id="s6364" />
+ <stop
+ style="stop-color:#737373;stop-opacity:1"
+ offset="1"
+ id="s6366" />
+ <a:midPointstop
+ style="stop-color:#E5E5E5"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#E5E5E5"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#B2B2B2"
+ offset="0.64" />
+ <a:midPointstop
+ style="stop-color:#B2B2B2"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#737373"
+ offset="1" />
+ </radialGradient>
+ <radialGradient
+ cx="1612.98"
+ cy="-4.4699998"
+ r="36.580002"
+ fx="1612.98"
+ fy="-4.4699998"
+ id="rg5884"
+ xlink:href="#g3288_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.408,0,0,0.448,-638.943,49.495)" />
+ <radialGradient
+ cx="1470.5"
+ cy="-10.21"
+ r="33.290001"
+ fx="1470.5"
+ fy="-10.21"
+ id="g3287_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.42,0,0,0.42,167.09,79.84)">
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="0"
+ id="s6347" />
+ <stop
+ style="stop-color:#b2b2b2;stop-opacity:1"
+ offset="0.38999999"
+ id="s6349" />
+ <stop
+ style="stop-color:#b1b1b1;stop-opacity:1"
+ offset="0.75"
+ id="s6351" />
+ <stop
+ style="stop-color:#aaa;stop-opacity:1"
+ offset="0.88"
+ id="s6353" />
+ <stop
+ style="stop-color:#9e9e9e;stop-opacity:1"
+ offset="0.97000003"
+ id="s6355" />
+ <stop
+ style="stop-color:#999;stop-opacity:1"
+ offset="1"
+ id="s6357" />
+ <a:midPointstop
+ style="stop-color:#E5E5E5"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#E5E5E5"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#B2B2B2"
+ offset="0.39" />
+ <a:midPointstop
+ style="stop-color:#B2B2B2"
+ offset="0.87" />
+ <a:midPointstop
+ style="stop-color:#999999"
+ offset="1" />
+ </radialGradient>
+ <radialGradient
+ cx="1470.5"
+ cy="-10.21"
+ r="33.290001"
+ fx="1470.5"
+ fy="-10.21"
+ id="rg5887"
+ xlink:href="#g3287_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.505,0,0,0.53,-724.957,40.636)" />
+ <pattern
+ patternTransform="matrix(0.592927,0,0,0.592927,78,462)"
+ id="cream-spots"
+ height="32"
+ width="32"
+ patternUnits="userSpaceOnUse">
+ <g
+ transform="translate(-365.3146,-513.505)"
+ id="g3047">
+ id="path2858" />
+ <path
+ inkscape:label="#path2854"
+ sodipodi:nodetypes="czzzz"
+ style="fill:#e3dcc0"
+ id="path3060"
+ d="M 390.31462,529.50504 C 390.31462,534.47304 386.28262,538.50504 381.31462,538.50504 C 376.34662,538.50504 372.31462,534.47304 372.31462,529.50504 C 372.31462,524.53704 376.34662,520.50504 381.31462,520.50504 C 386.28262,520.50504 390.31462,524.53704 390.31462,529.50504 z " />
+</g>
+ </pattern>
+ <pattern
+ patternTransform="matrix(0.733751,0,0,0.733751,67,367)"
+ id="dark-cream-spots"
+ height="32"
+ width="32"
+ patternUnits="userSpaceOnUse">
+ <g
+ transform="translate(-408.0946,-513.505)"
+ id="dark-cream-spot"
+ inkscape:label="#g3043">
+ <path
+ sodipodi:nodetypes="czzzz"
+ style="fill:#c8c5ac"
+ d="M 433.09458,529.50504 C 433.09458,534.47304 429.06258,538.50504 424.09458,538.50504 C 419.12658,538.50504 415.09458,534.47304 415.09458,529.50504 C 415.09458,524.53704 419.12658,520.50504 424.09458,520.50504 C 429.06258,520.50504 433.09458,524.53704 433.09458,529.50504 z "
+ id="path2953" />
+ </g>
+ </pattern>
+ <pattern
+ patternTransform="matrix(0.375,0,0,0.375,379,400)"
+ id="white-spots"
+ height="32"
+ width="32"
+ patternUnits="userSpaceOnUse">
+ <g
+ transform="translate(-484.3997,-513.505)"
+ id="white-spot"
+ inkscape:label="#g3035">
+ <path
+ style="opacity:0.25;fill:white"
+ id="path3033"
+ d="M 509.39967,529.50504 C 509.39967,534.47304 505.36767,538.50504 500.39967,538.50504 C 495.43167,538.50504 491.39967,534.47304 491.39967,529.50504 C 491.39967,524.53704 495.43167,520.50504 500.39967,520.50504 C 505.36767,520.50504 509.39967,524.53704 509.39967,529.50504 z "
+ sodipodi:nodetypes="czzzz" />
+ </g>
+ </pattern>
+ <pattern
+ patternTransform="matrix(0.455007,0,0,0.455007,-5e-5,1.9e-5)"
+ id="black-spots"
+ height="32"
+ width="32"
+ patternUnits="userSpaceOnUse">
+ <g
+ transform="translate(-448.3997,-513.505)"
+ id="black-spot"
+ inkscape:label="#g3039">
+ <path
+ sodipodi:nodetypes="czzzz"
+ d="M 473.39967,529.50504 C 473.39967,534.47304 469.36767,538.50504 464.39967,538.50504 C 459.43167,538.50504 455.39967,534.47304 455.39967,529.50504 C 455.39967,524.53704 459.43167,520.50504 464.39967,520.50504 C 469.36767,520.50504 473.39967,524.53704 473.39967,529.50504 z "
+ id="path2961"
+ style="opacity:0.25;fill:black" />
+ </g>
+ </pattern>
+ <linearGradient
+ x1="501.0903"
+ y1="-19.2544"
+ x2="531.85413"
+ y2="0.72390002"
+ id="linearGradient17334"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0"
+ id="stop17336" />
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0.51120001"
+ id="stop17338" />
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0.64609998"
+ id="stop17340" />
+ <stop
+ style="stop-color:#16336e;stop-opacity:1"
+ offset="1"
+ id="stop17342" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#B4DAEA" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#B4DAEA" />
+ <a:midPointStop
+ offset="0.5112"
+ style="stop-color:#B4DAEA" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#B4DAEA" />
+ <a:midPointStop
+ offset="0.6461"
+ style="stop-color:#5387BA" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#5387BA" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#16336E" />
+ </linearGradient>
+ <linearGradient
+ x1="415.73831"
+ y1="11.854"
+ x2="418.13361"
+ y2="18.8104"
+ id="linearGradient17426"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.8362,0.5206,-1.1904,0.992,147.62,-30.9374)">
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="0"
+ id="stop17428" />
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="1"
+ id="stop17430" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#CCCCCC" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#CCCCCC" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#F2F2F2" />
+ </linearGradient>
+ <linearGradient
+ x1="478.21341"
+ y1="-131.9297"
+ x2="469.85818"
+ y2="-140.28481"
+ id="linearGradient17434"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.5592,0.829,-0.829,0.5592,101.3357,-104.791)">
+ <stop
+ style="stop-color:#f3403f;stop-opacity:1"
+ offset="0"
+ id="stop17436" />
+ <stop
+ style="stop-color:#d02a28;stop-opacity:1"
+ offset="0.37889999"
+ id="stop17438" />
+ <stop
+ style="stop-color:#b21714;stop-opacity:1"
+ offset="0.77649999"
+ id="stop17440" />
+ <stop
+ style="stop-color:#a6100c;stop-opacity:1"
+ offset="1"
+ id="stop17442" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#F3403F" />
+ <a:midPointStop
+ offset="0.4213"
+ style="stop-color:#F3403F" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#A6100C" />
+ </linearGradient>
+ <linearGradient
+ x1="502.70749"
+ y1="115.3013"
+ x2="516.39001"
+ y2="127.1953"
+ id="linearGradient17709"
+ xlink:href="#XMLID_1749_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.9703,0.2419,-0.2419,0.9703,11.0227,-35.6159)" />
+ <linearGradient
+ x1="506.09909"
+ y1="-11.5137"
+ x2="527.99609"
+ y2="2.7063999"
+ id="linearGradient17711"
+ xlink:href="#XMLID_1752_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)" />
+ <linearGradient
+ x1="516.57672"
+ y1="-15.769"
+ x2="516.57672"
+ y2="0.84280002"
+ id="linearGradient17713"
+ xlink:href="#XMLID_1753_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)" />
+ <linearGradient
+ x1="505.62939"
+ y1="-14.9526"
+ x2="527.49402"
+ y2="-0.7536"
+ id="linearGradient17715"
+ xlink:href="#XMLID_1756_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)" />
+ <linearGradient
+ x1="500.70749"
+ y1="-13.2441"
+ x2="513.46442"
+ y2="-2.1547"
+ id="linearGradient17717"
+ xlink:href="#XMLID_1757_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)" />
+ <linearGradient
+ x1="473.7681"
+ y1="209.17529"
+ x2="486.98099"
+ y2="213.2001"
+ id="linearGradient17721"
+ xlink:href="#XMLID_2274_"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ x1="481.23969"
+ y1="212.5742"
+ x2="472.92981"
+ y2="207.4967"
+ id="linearGradient17723"
+ xlink:href="#XMLID_2275_"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ x1="500.70749"
+ y1="-13.2441"
+ x2="513.46442"
+ y2="-2.1547"
+ id="linearGradient17416"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0"
+ id="stop17418" />
+ <stop
+ style="stop-color:#96bad6;stop-opacity:1"
+ offset="1"
+ id="stop17420" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#96BAD6"
+ offset="1" />
+ </linearGradient>
+ <defs
+ id="defs9929">
+ <path
+ d="M 489.21,209.35 L 485.35,203.63 C 483.63,204.25 473.47,208.93 471.5,210.18 C 470.57,210.77 470.17,211.16 469.72,212.48 C 470.93,212.31 471.72,212.49 473.42,213.04 C 473.26,214.77 473.24,215.74 473.57,218.2 C 474.01,216.88 474.41,216.49 475.34,215.9 C 477.33,214.65 487.49,209.97 489.21,209.35 z "
+ id="XMLID_960_" />
+ </defs>
+ <clipPath
+ id="clipPath17448">
+ <use
+ id="use17450"
+ x="0"
+ y="0"
+ width="744.09448"
+ height="600"
+ xlink:href="#XMLID_960_" />
+ </clipPath>
+ <linearGradient
+ x1="473.7681"
+ y1="209.17529"
+ x2="486.98099"
+ y2="213.2001"
+ id="linearGradient17452"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#f3403f;stop-opacity:1"
+ offset="0"
+ id="stop17454" />
+ <stop
+ style="stop-color:#d02a28;stop-opacity:1"
+ offset="0.37889999"
+ id="stop17456" />
+ <stop
+ style="stop-color:#b21714;stop-opacity:1"
+ offset="0.77649999"
+ id="stop17458" />
+ <stop
+ style="stop-color:#a6100c;stop-opacity:1"
+ offset="1"
+ id="stop17460" />
+ <a:midPointStop
+ style="stop-color:#F3403F"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#F3403F"
+ offset="0.4213" />
+ <a:midPointStop
+ style="stop-color:#A6100C"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="481.23969"
+ y1="212.5742"
+ x2="472.92981"
+ y2="207.4967"
+ id="linearGradient17463"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#f3403f;stop-opacity:1"
+ offset="0"
+ id="stop17465" />
+ <stop
+ style="stop-color:#d02a28;stop-opacity:1"
+ offset="0.37889999"
+ id="stop17467" />
+ <stop
+ style="stop-color:#b21714;stop-opacity:1"
+ offset="0.77649999"
+ id="stop17469" />
+ <stop
+ style="stop-color:#a6100c;stop-opacity:1"
+ offset="1"
+ id="stop17471" />
+ <a:midPointStop
+ style="stop-color:#F3403F"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#F3403F"
+ offset="0.4213" />
+ <a:midPointStop
+ style="stop-color:#A6100C"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="481.23969"
+ y1="212.5742"
+ x2="472.92981"
+ y2="207.4967"
+ id="linearGradient17807"
+ xlink:href="#XMLID_2275_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-177.1654,35.43307)" />
+ <linearGradient
+ x1="473.7681"
+ y1="209.17529"
+ x2="486.98099"
+ y2="213.2001"
+ id="linearGradient17810"
+ xlink:href="#XMLID_2274_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-177.1654,35.43307)" />
+ <linearGradient
+ x1="502.70749"
+ y1="115.3013"
+ x2="516.39001"
+ y2="127.1953"
+ id="linearGradient17812"
+ xlink:href="#XMLID_1749_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.9703,0.2419,-0.2419,0.9703,11.0227,-35.6159)" />
+ <linearGradient
+ x1="506.09909"
+ y1="-11.5137"
+ x2="527.99609"
+ y2="2.7063999"
+ id="linearGradient17814"
+ xlink:href="#XMLID_1752_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)" />
+ <linearGradient
+ x1="516.57672"
+ y1="-15.769"
+ x2="516.57672"
+ y2="0.84280002"
+ id="linearGradient17816"
+ xlink:href="#XMLID_1753_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)" />
+ <linearGradient
+ x1="505.62939"
+ y1="-14.9526"
+ x2="527.49402"
+ y2="-0.7536"
+ id="linearGradient17818"
+ xlink:href="#XMLID_1756_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)" />
+ <linearGradient
+ x1="502.70749"
+ y1="115.3013"
+ x2="516.39001"
+ y2="127.1953"
+ id="linearGradient17347"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.9703,0.2419,-0.2419,0.9703,11.0227,-35.6159)">
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0"
+ id="stop17349" />
+ <stop
+ style="stop-color:#96bad6;stop-opacity:1"
+ offset="1"
+ id="stop17351" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#5387BA" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#5387BA" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#96BAD6" />
+ </linearGradient>
+ <linearGradient
+ x1="516.57672"
+ y1="-15.769"
+ x2="516.57672"
+ y2="0.84280002"
+ id="linearGradient17379"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
+ <stop
+ style="stop-color:#b2b2b2;stop-opacity:1"
+ offset="0"
+ id="stop17381" />
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="1"
+ id="stop17383" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#B2B2B2" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#B2B2B2" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#F2F2F2" />
+ </linearGradient>
+ <linearGradient
+ x1="502.70749"
+ y1="115.3013"
+ x2="516.39001"
+ y2="127.1953"
+ id="linearGradient17862"
+ xlink:href="#XMLID_1749_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.9703,0.2419,-0.2419,0.9703,-166.1427,-0.18283)" />
+ <linearGradient
+ x1="505.62939"
+ y1="-14.9526"
+ x2="527.49402"
+ y2="-0.7536"
+ id="linearGradient17864"
+ xlink:href="#XMLID_1756_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)" />
+ <defs
+ id="defs3859">
+ <polygon
+ points="465.54,213.52 481.94,217.46 482.74,216.71 487.46,198.05 471.08,194.07 470.26,194.83 465.54,213.52 "
+ id="XMLID_343_" />
+ </defs>
+ <linearGradient
+ x1="471.0806"
+ y1="201.07761"
+ x2="481.91711"
+ y2="210.4977"
+ id="linearGradient17389"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#6498c1;stop-opacity:1"
+ offset="0.005618"
+ id="stop17391" />
+ <stop
+ style="stop-color:#79a9cc;stop-opacity:1"
+ offset="0.2332"
+ id="stop17393" />
+ <stop
+ style="stop-color:#a4cde2;stop-opacity:1"
+ offset="0.74049997"
+ id="stop17395" />
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="1"
+ id="stop17397" />
+ <a:midPointStop
+ style="stop-color:#6498C1"
+ offset="5.618000e-003" />
+ <a:midPointStop
+ style="stop-color:#6498C1"
+ offset="0.4438" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="1" />
+ </linearGradient>
+ <clipPath
+ id="clipPath17400">
+ <use
+ id="use17402"
+ x="0"
+ y="0"
+ width="744.09448"
+ height="600"
+ xlink:href="#XMLID_343_" />
+ </clipPath>
+ <linearGradient
+ x1="505.62939"
+ y1="-14.9526"
+ x2="527.49402"
+ y2="-0.7536"
+ id="linearGradient17404"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0"
+ id="stop17406" />
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0.51120001"
+ id="stop17408" />
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0.64609998"
+ id="stop17410" />
+ <stop
+ style="stop-color:#16336e;stop-opacity:1"
+ offset="1"
+ id="stop17412" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5112" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.6461" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#16336E"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="506.09909"
+ y1="-11.5137"
+ x2="527.99609"
+ y2="2.7063999"
+ id="linearGradient17882"
+ xlink:href="#XMLID_1752_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)" />
+ <defs
+ id="defs3826">
+ <polygon
+ points="463.52,216.14 480.56,220.24 481.36,219.5 483.03,202.04 469.05,196.69 468.24,197.45 463.52,216.14 "
+ id="XMLID_338_" />
+ </defs>
+ <linearGradient
+ x1="468.2915"
+ y1="204.7612"
+ x2="479.39871"
+ y2="214.4166"
+ id="linearGradient17357"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0"
+ id="stop17359" />
+ <stop
+ style="stop-color:#96bad6;stop-opacity:1"
+ offset="1"
+ id="stop17361" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#96BAD6"
+ offset="1" />
+ </linearGradient>
+ <clipPath
+ id="clipPath17364">
+ <use
+ id="use17366"
+ x="0"
+ y="0"
+ width="744.09448"
+ height="600"
+ xlink:href="#XMLID_338_" />
+ </clipPath>
+ <linearGradient
+ x1="506.09909"
+ y1="-11.5137"
+ x2="527.99609"
+ y2="2.7063999"
+ id="linearGradient17368"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0"
+ id="stop17370" />
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0.51120001"
+ id="stop17372" />
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0.64609998"
+ id="stop17374" />
+ <stop
+ style="stop-color:#16336e;stop-opacity:1"
+ offset="1"
+ id="stop17376" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5112" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.6461" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#16336E"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="296.4996"
+ y1="188.81061"
+ x2="317.32471"
+ y2="209.69398"
+ id="linearGradient2387"
+ xlink:href="#linearGradient2381"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.90776,0,0,0.90776,24.35648,49.24131)" />
+ <linearGradient
+ x1="296.4996"
+ y1="188.81061"
+ x2="317.32471"
+ y2="209.69398"
+ id="linearGradient5105"
+ xlink:href="#linearGradient2381"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.90776,0,0,0.90776,24.35648,49.24131)" />
+ <linearGradient
+ x1="296.4996"
+ y1="188.81061"
+ x2="317.32471"
+ y2="209.69398"
+ id="linearGradient5145"
+ xlink:href="#linearGradient2381"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.90776,0,0,0.90776,24.35648,49.24131)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2381"
+ id="linearGradient2371"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.90776,0,0,0.90776,24.35648,49.24131)"
+ x1="296.4996"
+ y1="188.81061"
+ x2="317.32471"
+ y2="209.69398" />
+ </defs>
+ <g
+ transform="matrix(0.437808,-0.437808,0.437808,0.437808,-220.8237,43.55311)"
+ id="g5089">
+ <path
+ d="M 8.4382985,-6.28125 C 7.8309069,-6.28125 4.125,-0.33238729 4.125,1.96875 L 4.125,28.6875 C 4.125,29.533884 4.7068159,29.8125 5.28125,29.8125 L 30.84375,29.8125 C 31.476092,29.8125 31.968751,29.319842 31.96875,28.6875 L 31.96875,23.46875 L 32.25,23.46875 C 32.74684,23.46875 33.156249,23.059339 33.15625,22.5625 L 33.15625,-5.375 C 33.15625,-5.8718398 32.74684,-6.28125 32.25,-6.28125 L 8.4382985,-6.28125 z "
+ transform="translate(282.8327,227.1903)"
+ style="fill:#5c5c4f;stroke:black;stroke-width:3.23021388;stroke-miterlimit:4;stroke-dasharray:none"
+ id="path5091" />
+ <rect
+ width="27.85074"
+ height="29.369793"
+ rx="1.1414107"
+ ry="1.1414107"
+ x="286.96509"
+ y="227.63805"
+ style="fill:#032c87"
+ id="rect5093" />
+ <path
+ d="M 288.43262,225.43675 L 313.67442,225.43675 L 313.67442,254.80655 L 287.29827,254.83069 L 288.43262,225.43675 z "
+ style="fill:white"
+ id="rect5095" />
+ <path
+ d="M 302.44536,251.73726 C 303.83227,259.59643 301.75225,263.02091 301.75225,263.02091 C 303.99609,261.41329 305.71651,259.54397 306.65747,257.28491 C 307.62455,259.47755 308.49041,261.71357 310.9319,263.27432 C 310.9319,263.27432 309.33686,256.07392 309.22047,251.73726 L 302.44536,251.73726 z "
+ style="fill:#a70000;fill-opacity:1;stroke-width:2"
+ id="path5097" />
+ <rect
+ width="25.241802"
+ height="29.736675"
+ rx="0.89682275"
+ ry="0.89682275"
+ x="290.73544"
+ y="220.92249"
+ style="fill:#809cc9"
+ id="rect5099" />
+ <path
+ d="M 576.47347,725.93939 L 582.84431,726.35441 L 583.25121,755.8725 C 581.35919,754.55465 576.39694,752.1117 574.98889,754.19149 L 574.98889,727.42397 C 574.98889,726.60151 575.65101,725.93939 576.47347,725.93939 z "
+ transform="matrix(0.499065,-0.866565,0,1,0,0)"
+ style="fill:#4573b3;fill-opacity:1"
+ id="rect5101" />
+ <path
+ d="M 293.2599,221.89363 L 313.99908,221.89363 C 314.45009,221.89363 314.81318,222.25673 314.81318,222.70774 C 315.02865,229.0361 295.44494,244.47124 292.44579,240.30491 L 292.44579,222.70774 C 292.44579,222.25673 292.80889,221.89363 293.2599,221.89363 z "
+ style="opacity:0.65536726;fill:url(#linearGradient2371);fill-opacity:1"
+ id="path5103" />
+ </g>
+</svg>
Added: epp/docs/branches/5.2/Developer_Guide/en-US/images/7372876/complexinfra.png
===================================================================
(Binary files differ)
Property changes on: epp/docs/branches/5.2/Developer_Guide/en-US/images/7372876/complexinfra.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: epp/docs/branches/5.2/Developer_Guide/en-US/images/7372876/simpleinfra.png
===================================================================
(Binary files differ)
Property changes on: epp/docs/branches/5.2/Developer_Guide/en-US/images/7372876/simpleinfra.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: epp/docs/branches/5.2/Developer_Guide/en-US/images/7372952/diagram-local-index.png
===================================================================
(Binary files differ)
Property changes on: epp/docs/branches/5.2/Developer_Guide/en-US/images/7372952/diagram-local-index.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: epp/docs/branches/5.2/Developer_Guide/en-US/images/7372952/diagram-shared-index.png
===================================================================
(Binary files differ)
Property changes on: epp/docs/branches/5.2/Developer_Guide/en-US/images/7372952/diagram-shared-index.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: epp/docs/branches/5.2/Developer_Guide/en-US/images/7372952/diagram-standalone-index.png
===================================================================
(Binary files differ)
Property changes on: epp/docs/branches/5.2/Developer_Guide/en-US/images/7372952/diagram-standalone-index.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: epp/docs/branches/5.2/Developer_Guide/en-US/images/7372962/portalExtensions.png
===================================================================
(Binary files differ)
Property changes on: epp/docs/branches/5.2/Developer_Guide/en-US/images/7372962/portalExtensions.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: epp/docs/branches/5.2/Developer_Guide/en-US/images/7372962/portalextensionstructure.png
===================================================================
(Binary files differ)
Property changes on: epp/docs/branches/5.2/Developer_Guide/en-US/images/7372962/portalextensionstructure.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: epp/docs/branches/5.2/Developer_Guide/publican.cfg
===================================================================
--- epp/docs/branches/5.2/Developer_Guide/publican.cfg (rev 0)
+++ epp/docs/branches/5.2/Developer_Guide/publican.cfg 2011-11-09 03:30:26 UTC (rev 8013)
@@ -0,0 +1,13 @@
+# Config::Simple 4.59
+# Wed Nov 25 09:17:17 2009
+
+
+xml_lang: en-US
+type: Book
+brand: JBoss
+debug:1
+#show_remarks:1
+
+cvs_branch: DOCS-RHEL-6
+cvs_root: :ext:cvs.devel.redhat.com:/cvs/dist
+cvs_pkg: JBoss_Enterprise_Portal_Platform-Developer_Guide-5.2-web-__LANG__
\ No newline at end of file
Property changes on: epp/docs/branches/5.2/Developer_Guide/publican.cfg
___________________________________________________________________
Added: svn:executable
+ *
Modified: epp/docs/branches/5.2/Installation_Guide/en-US/Accessing.xml
===================================================================
--- epp/docs/branches/5.2/Installation_Guide/en-US/Accessing.xml 2011-11-09 03:25:13 UTC (rev 8012)
+++ epp/docs/branches/5.2/Installation_Guide/en-US/Accessing.xml 2011-11-09 03:30:26 UTC (rev 8013)
@@ -2,9 +2,6 @@
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % BOOK_ENTITIES SYSTEM "Installation_Guide.ent">
%BOOK_ENTITIES;
-<!ENTITY % BOOK_ENTITIES SYSTEM "Installation_Guide.ent">
-%BOOK_ENTITIES;
-
]>
<chapter id="chap-Install_Guide-Accessing_PRODUCT">
<title>Accessing JBoss Enterprise Portal Platform</title>
Modified: epp/docs/branches/5.2/Installation_Guide/en-US/Book_Info.xml
===================================================================
--- epp/docs/branches/5.2/Installation_Guide/en-US/Book_Info.xml 2011-11-09 03:25:13 UTC (rev 8012)
+++ epp/docs/branches/5.2/Installation_Guide/en-US/Book_Info.xml 2011-11-09 03:30:26 UTC (rev 8013)
@@ -9,7 +9,7 @@
<productname>JBoss Enterprise Portal Platform</productname>
<productnumber>5.2</productnumber>
<edition>5.2.0</edition>
- <pubsnumber>1</pubsnumber>
+ <pubsnumber>2</pubsnumber>
<abstract>
<para>
This book provides information about obtaining, installing and running JBoss Enterprise Portal Platform. It forms part of the complete document suite along with the <emphasis role="bold">User Guide</emphasis> and <emphasis role="bold">Reference Guide</emphasis> available at <ulink type="http" url="http://docs.redhat.com/docs/en-US/JBoss_Enterprise_Portal_Platform/index...." />.
Modified: epp/docs/branches/5.2/Installation_Guide/en-US/Installation.xml
===================================================================
--- epp/docs/branches/5.2/Installation_Guide/en-US/Installation.xml 2011-11-09 03:25:13 UTC (rev 8012)
+++ epp/docs/branches/5.2/Installation_Guide/en-US/Installation.xml 2011-11-09 03:30:26 UTC (rev 8013)
@@ -5,84 +5,84 @@
]>
<chapter id="Installation">
- <title>Installation</title>
-
- <section id="Download">
- <title>Downloading</title>
-
- <para>
- The officially supported versions are available from the JBoss Customer Support Portal (CSP) located at <ulink url="https://access.redhat.com/home">https://access.redhat.com/home</ulink>. Platforms including in your Support subscription are listed in the <literal>Software</literal> section.
- </para>
- </section>
+ <title>Installation</title>
+
+ <section id="Download">
+ <title>Downloading</title>
+
+ <para>
+ The officially supported versions are available from the JBoss Customer Support Portal (CSP) located at <ulink url="https://access.redhat.com/home">https://access.redhat.com/home</ulink>. Platforms including in your Support subscription are listed in the <literal>Software</literal> section.
+ </para>
+ </section>
- <section id="Installing">
- <title>Installing</title>
-
- <para>
- To install from a zip file, simply unzip the downloaded file to a directory of your choice.
-
- <itemizedlist>
- <listitem>
- <para>
- Unzip <literal>jboss-epp-<replaceable><release></replaceable>.zip</literal> to extract the archive contents into the location of your choice. You can do this using the JDK <literal>jar</literal> tool (or any other ZIP extraction tool).
+ <section id="Installing">
+ <title>Installing</title>
+
+ <para>
+ To install from a zip file, simply unzip the downloaded file to a directory of your choice.
+
+ <itemizedlist>
+ <listitem>
+ <para>
+ Unzip <literal>jboss-epp-<replaceable><release></replaceable>.zip</literal> to extract the archive contents into the location of your choice. You can do this using the JDK <literal>jar</literal> tool (or any other ZIP extraction tool).
<programlisting>
[vsr]$ <literal>cd jbeppinstallationdir</literal>
[vsr]$ <literal>jar -xvf jboss-epp-<replaceable><release></replaceable>.zip</literal>
</programlisting>
- </para>
- </listitem>
- <listitem>
- <para>
- You are done with the installation! You should now have a directory called <filename>jboss-epp-<replaceable><release></replaceable></filename>.
- </para>
- </listitem>
- </itemizedlist>
- </para>
- <note>
- <title>Server Configurations</title>
- <para>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ You are done with the installation! You should now have a directory called <filename>jboss-epp-<replaceable><release></replaceable></filename>.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+ <note>
+ <title>Server Configurations</title>
+ <para>
Six types of server configurations will be included in your installation: <literal>minimal</literal>, <literal>default</literal>, <literal>production</literal>, <literal>all</literal>, <literal>standard</literal> and <literal>web</literal>.
</para>
<para>
The JBoss Enterprise Application Platform <ulink type="http" url="http://docs.redhat.com/docs/en-US/JBoss_Enterprise_Application_Platform/i...">Getting Started Guide</ulink> explains in detail the different server configuration file sets.
- </para>
- </note>
+ </para>
+ </note>
- </section>
-
- <section id="server-config-differences">
- <title>Choosing a server configuration</title>
- <para>
- The important differences between the Portal and JBoss Enterprise Application Platform server configurations are:
+ </section>
+
+ <section id="server-config-differences">
+ <title>Choosing a server configuration</title>
+ <para>
+ The important differences between the Portal and JBoss Enterprise Application Platform server configurations are:
- <itemizedlist>
- <listitem>
- <para>
- the <literal>minimal</literal>, <literal>web</literal> and <literal>standard</literal> server configurations do not contain any Portal relevant components. These directories exist for the sake of consistency with JBoss Enterprise Application Platform
- </para>
- </listitem>
- <listitem>
- <para>
- the <literal>default</literal> server configuration includes non-clustered Portal components. <!-- This archive (gatein.ear) is located in the <literal>deploy</literal> folder. --> This is the server configuration that is started when no other configuration is specified.
- </para>
- </listitem>
- <listitem>
- <para>
- the <literal>all</literal> server configuration includes the Portal and services used for running on a cluster.
- </para>
- </listitem>
- <listitem>
- <para>
- the <literal>production</literal> server configuration includes Portal components and clustering services. It is pre-configured with default settings which would be more accurate for a production environment.
- </para>
- </listitem>
- </itemizedlist>
- </para>
- <note><title>gatein.ear Archive</title>
- <para>
- The gatein.ear archive, which contains the Portal components, is located in the deploy folder of the <literal>default</literal>, <literal>all</literal> and <literal>production</literal> server configurations.
- </para>
- </note>
- </section>
+ <itemizedlist>
+ <listitem>
+ <para>
+ the <literal>minimal</literal>, <literal>web</literal> and <literal>standard</literal> server configurations do not contain any Portal relevant components. These directories exist for the sake of consistency with JBoss Enterprise Application Platform
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ the <literal>default</literal> server configuration includes non-clustered Portal components. <!-- This archive (gatein.ear) is located in the <literal>deploy</literal> folder. --> This is the server configuration that is started when no other configuration is specified.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ the <literal>all</literal> server configuration includes the Portal and services used for running on a cluster.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ the <literal>production</literal> server configuration includes Portal components and clustering services. It is pre-configured with default settings which would be more accurate for a production environment.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+ <note><title>gatein.ear Archive</title>
+ <para>
+ The gatein.ear archive, which contains the Portal components, is located in the deploy folder of the <literal>default</literal>, <literal>all</literal> and <literal>production</literal> server configurations.
+ </para>
+ </note>
+ </section>
</chapter>
Modified: epp/docs/branches/5.2/Installation_Guide/en-US/Revision_History.xml
===================================================================
--- epp/docs/branches/5.2/Installation_Guide/en-US/Revision_History.xml 2011-11-09 03:25:13 UTC (rev 8012)
+++ epp/docs/branches/5.2/Installation_Guide/en-US/Revision_History.xml 2011-11-09 03:30:26 UTC (rev 8013)
@@ -8,6 +8,20 @@
<title>Revision History</title>
<simpara>
<revhistory>
+ <revision>
+ <revnumber>5.2.0-2</revnumber>
+ <date>Fri Oct 21 2011</date>
+ <author>
+ <firstname>Scott</firstname>
+ <surname>Mumford</surname>
+ <email></email>
+ </author>
+ <revdescription>
+ <simplelist>
+ <member>Push to staging server.</member>
+ </simplelist>
+ </revdescription>
+ </revision>
<revision>
<revnumber>5.2.0-1</revnumber>
<date>Mon Aug 29 2011</date>
Modified: epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/concepts/why-jcr.xml
===================================================================
--- epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/concepts/why-jcr.xml 2011-11-09 03:25:13 UTC (rev 8012)
+++ epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/concepts/why-jcr.xml 2011-11-09 03:30:26 UTC (rev 8013)
@@ -4,25 +4,25 @@
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide_eXo_JCR_1.14-Java_Content_Repository">
- <title>Java Content Repository</title>
- <para>
- A Java Content Repository (<abbrev>JCR</abbrev>) is a java interface used to access contents that are not only web contents, but also other hierarchically stored data. The content is stored in a repository. The repository can be a file system, a relational database or an XML document. The internal structure of JCR data looks similar to an XML document; a document tree with nodes and data, however, in a JCR, the data is stored in <literal>property items</literal>.
- </para>
- <para>
- To cite the JCR specification: "<emphasis>A content repository is a high-level information management system that is a superset of traditional data repositories</emphasis>."
- </para>
- <para>
- A JCR provides a unique java interface for interacting with both text and binary data and for managing any kind and amount of metadata. A JCR supplies methods for storing, updating, deleting and retrieving your data, independent of where the data is physically stored (such as an RDBMS, a file system or as an XML document). The JCR interface is also defined as classes and methods for searching, versioning, access control, locking, and observation.
- </para>
- <para>
- Furthermore, an export and import functionality is specified.
- </para>
- <para>
- In order to further understand the theory of JCR and the API, please refer to some external documents about this standard:
- </para>
- <para>
- Roy T. Fielding, <ulink url="http://www.day.com/content/dam/day/whitepapers/JSR_170_White_Paper.pdf">JSR 170 Overview: Standardizing the Content Repository Interface</ulink> (March 13, 2005)
- </para>
+ <title>Java Content Repository</title>
+ <para>
+ A Java Content Repository (<abbrev>JCR</abbrev>) is a java interface used to access contents that are not only web contents, but also other hierarchically stored data. The content is stored in a repository. The repository can be a file system, a relational database or an XML document. The internal structure of JCR data looks similar to an XML document; a document tree with nodes and data, however, in a JCR, the data is stored in <literal>property items</literal>.
+ </para>
+ <para>
+ The JCR specification states: "<emphasis>A content repository is a high-level information management system that is a superset of traditional data repositories</emphasis>."
+ </para>
+ <para>
+ A JCR provides a unique java interface for interacting with both text and binary data and for managing any kind and amount of metadata. A JCR supplies methods for storing, updating, deleting and retrieving your data, independent of where the data is physically stored (such as an RDBMS, a file system or as an XML document). The JCR interface is also defined as classes and methods for searching, versioning, access control, locking, and observation.
+ </para>
+ <para>
+ Furthermore, an export and import functionality is specified.
+ </para>
+ <para>
+ In order to further understand the theory of JCR and the API, please refer to some external documents about this standard:
+ </para>
+ <para>
+ Roy T. Fielding, <ulink url="http://www.day.com/content/dam/day/whitepapers/JSR_170_White_Paper.pdf">JSR 170 Overview: Standardizing the Content Repository Interface</ulink> (March 13, 2005)
+ </para>
</section>
Modified: epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/configuration/exo-jcr-configuration.xml
===================================================================
--- epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/configuration/exo-jcr-configuration.xml 2011-11-09 03:25:13 UTC (rev 8012)
+++ epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/configuration/exo-jcr-configuration.xml 2011-11-09 03:30:26 UTC (rev 8013)
@@ -1,39 +1,28 @@
-<?xml version='1.0' encoding='utf-8' ?>
+<?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" [
<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
-
-<section id="sect-Reference_Guide_eXo_JCR_1.14-JCR_configuration">
- <title>JCR configuration</title>
-
-
-
- <para>
- The JCR configuration is defined in an XML file which is constructed as per the DTD below:
- </para>
-
-
-
- <section>
- <title>Portal configuration</title>
-
+ <section id="sect-Reference_Guide_eXo_JCR_1.14-JCR_configuration">
+ <title>JCR configuration</title>
-
<para>
- JCR services are registered in the Portal container.
+ The JCR configuration is defined in an XML file which is constructed as per the DTD below:
</para>
-
-
- <para>
- Below is an example configuration from the <filename><replaceable><JBOSS_HOME></replaceable>/server/<replaceable><PROFILE></replaceable>/deploy/gatein.ear/02portal.war/WEB-INF/conf/jcr/jcr-configuration.xml</filename> file.
- </para>
-
-
-
- <programlistingco>
+ <section>
+ <title>Portal configuration</title>
+
+ <para>
+ JCR services are registered in the Portal container.
+ </para>
+
+ <para>
+ Below is an example configuration from the <filename><replaceable><JBOSS_HOME></replaceable>/server/<replaceable><PROFILE></replaceable>/deploy/gatein.ear/02portal.war/WEB-INF/conf/jcr/jcr-configuration.xml</filename> file.
+ </para>
+
+ <programlistingco>
<areaspec>
<area coords="10" id="area-Reference_Guide_eXo_JCR_1.14-JCR_configuration-conf-path" /><area coords="15" id="area-Reference_Guide_eXo_JCR_1.14-JCR_configuration-working-conf" />
</areaspec>
@@ -59,183 +48,147 @@
</properties-param>
</init-params>
</component></programlisting>
- <calloutlist>
- <callout arearefs="area-Reference_Guide_eXo_JCR_1.14-JCR_configuration-conf-path">
- <para>
- A path to a RepositoryService JCR Configuration.
- </para>
- </callout>
+ <calloutlist>
+ <callout arearefs="area-Reference_Guide_eXo_JCR_1.14-JCR_configuration-conf-path">
+ <para>
+ A path to a RepositoryService JCR Configuration.
+ </para>
+ </callout>
-
-
- <callout arearefs="area-Reference_Guide_eXo_JCR_1.14-JCR_configuration-working-conf">
- <para>
- JCR configuration persister configuration. If no <parameter>working-conf</parameter> is found, the persister will be disabled.
- </para>
- </callout>
- </calloutlist>
- </programlistingco>
-
-
-
- <section>
- <title>JCR Configuration</title>
-
-
-
- <para>
- The JCR Service can use multiple <emphasis>Repositories</emphasis> and each repository can have multiple <emphasis>Workspaces</emphasis>.
- </para>
-
-
-
- <para>
- Configure the workspaces by locating the workspace you need to modify in <filename><replaceable><JBOSS_HOME></replaceable>/server/<replaceable><PROFILE></replaceable>/deploy/gatein.ear/02portal.war/WEB-INF/conf/jcr/repository-configuration.xml</filename>.
- </para>
-
-
-
- <para>
- The repository configuration supports human-readable values. They are not case-sensitive.
- </para>
-
-
-
- <para>
- Complete the appropriate element fields using the following value formats:
- </para>
-
-
-
- <variablelist>
- <varlistentry>
- <term>Number formats:</term>
- <listitem>
- <para>
- <itemizedlist>
- <listitem>
- <para>
- <emphasis role="bold">K</emphasis> or <emphasis role="bold">KB</emphasis> for kilobytes.
- </para>
- </listitem>
-
-
- <listitem>
- <para>
- <emphasis role="bold">M</emphasis> or <emphasis role="bold">MB</emphasis> for megabytes.
- </para>
- </listitem>
-
-
-
- <listitem>
- <para>
- <emphasis role="bold">G</emphasis> or <emphasis role="bold">GB</emphasis> for gigabytes.
- </para>
- </listitem>
-
-
-
- <listitem>
- <para>
- <emphasis role="bold">T</emphasis> or <emphasis role="bold">TB</emphasis> for terabytes.
- </para>
- </listitem>
-
-
-
- <listitem>
- <para>
- Examples: 200K or 200KB; 4M or 4MB; 1.4G or 1.4GB; 10T or 10TB.
- </para>
- </listitem>
- </itemizedlist>
+ <callout arearefs="area-Reference_Guide_eXo_JCR_1.14-JCR_configuration-working-conf">
+ <para>
+ JCR configuration persister configuration. If no <parameter>working-conf</parameter> is found, the persister will be disabled.
</para>
- </listitem>
- </varlistentry>
+ </callout>
+ </calloutlist>
+ </programlistingco>
+
+ <section>
+ <title>JCR Configuration</title>
- <varlistentry>
- <term>Time formats:</term>
+ <para>
+ The JCR Service can use multiple <emphasis>Repositories</emphasis> and each repository can have multiple <emphasis>Workspaces</emphasis>.
+ </para>
+
+ <para>
+ Configure the workspaces by locating the workspace you need to modify in <filename><replaceable><JBOSS_HOME></replaceable>/server/<replaceable><PROFILE></replaceable>/deploy/gatein.ear/02portal.war/WEB-INF/conf/jcr/repository-configuration.xml</filename>.
+ </para>
+
+ <para>
+ The repository configuration supports human-readable values. They are not case-sensitive.
+ </para>
+
+ <para>
+ Complete the appropriate element fields using the following value formats:
+ </para>
+
+ <variablelist>
+ <varlistentry>
+ <term>Number formats:</term>
+
+ <listitem>
+ <para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <emphasis role="bold">K</emphasis> or <emphasis role="bold">KB</emphasis> for kilobytes.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <emphasis role="bold">M</emphasis> or <emphasis role="bold">MB</emphasis> for megabytes.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <emphasis role="bold">G</emphasis> or <emphasis role="bold">GB</emphasis> for gigabytes.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <emphasis role="bold">T</emphasis> or <emphasis role="bold">TB</emphasis> for terabytes.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Examples: 200K or 200KB; 4M or 4MB; 1.4G or 1.4GB; 10T or 10TB.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </listitem>
+ </varlistentry>
- <listitem>
- <para>
- <itemizedlist>
- <listitem>
- <para>
- <emphasis role="bold">ms</emphasis> for milliseconds.
- </para>
- </listitem>
-
-
-
- <listitem>
- <para>
- <emphasis role="bold">s</emphasis> for seconds.
- </para>
- </listitem>
-
-
-
- <listitem>
- <para>
- <emphasis role="bold">m</emphasis> for minutes.
- </para>
- </listitem>
-
-
-
- <listitem>
- <para>
- <emphasis role="bold">h</emphasis> for hours.
- </para>
- </listitem>
-
-
-
- <listitem>
- <para>
- <emphasis role="bold">d</emphasis> for days.
- </para>
- </listitem>
-
-
-
- <listitem>
- <para>
- <emphasis role="bold">w</emphasis> for weeks.
- </para>
- </listitem>
-
-
-
- <listitem>
- <para>
- The default time format is seconds if no other format is specified.
- </para>
- </listitem>
-
-
-
- <listitem>
- <para>
- Examples: 500ms or 500 milliseconds; 20, 20s or 20 seconds; 30m or 30 minutes; 12h or 12 hours; 5d or 5 days; 4w or 4 weeks.
- </para>
- </listitem>
- </itemizedlist>
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
- </section>
-
-
-
- <section id="JCR.eXoJCRconfiguration.RepositoryConfiguration">
- <title>Repository service configuration (JCR repositories configuration)</title>
-
- <programlistingco>
+ <varlistentry>
+ <term>Time formats:</term>
+
+ <listitem>
+ <para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <emphasis role="bold">ms</emphasis> for milliseconds.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <emphasis role="bold">s</emphasis> for seconds.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <emphasis role="bold">m</emphasis> for minutes.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <emphasis role="bold">h</emphasis> for hours.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <emphasis role="bold">d</emphasis> for days.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <emphasis role="bold">w</emphasis> for weeks.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ The default time format is seconds if no other format is specified.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Examples: 500ms or 500 milliseconds; 20, 20s or 20 seconds; 30m or 30 minutes; 12h or 12 hours; 5d or 5 days; 4w or 4 weeks.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </section>
+
+ <section id="JCR.eXoJCRconfiguration.RepositoryConfiguration">
+ <title>Repository service configuration (JCR repositories configuration)</title>
+
+ <programlistingco>
<areaspec>
<!--1-->
<area coords="1 60" id="area-Reference_Guide_eXo_JCR_1.14-JCR_configuration-Example_of_the_portal_system_workspace-default-repository" />
@@ -269,523 +222,412 @@
<area coords="61 60" id="area-Reference_Guide_eXo_JCR_1.14-JCR_configuration-Example_of_the_portal_system_workspace-service_lock-manager-timeout" />
</areaspec>
<programlisting language="XML" role="XML"><xi:include href="../../../../../extras/Advanced_Development_JCR_Configuration/orig.xml" parse="text" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
- <calloutlist>
+ <calloutlist>
<!--1-->
-<callout arearefs="area-Reference_Guide_eXo_JCR_1.14-JCR_configuration-Example_of_the_portal_system_workspace-default-repository">
- <para>
- <emphasis>default-repository</emphasis>: The name of a default repository (one returned by <parameter> RepositoryService.getRepository() </parameter> ).
- </para>
-</callout>
+ <callout arearefs="area-Reference_Guide_eXo_JCR_1.14-JCR_configuration-Example_of_the_portal_system_workspace-default-repository">
+ <para>
+ <emphasis>default-repository</emphasis>: The name of a default repository (one returned by <parameter> RepositoryService.getRepository() </parameter> ).
+ </para>
+ </callout>
<!--2-->
-<callout arearefs="area-Reference_Guide_eXo_JCR_1.14-JCR_configuration-Example_of_the_portal_system_workspace-repositories">
- <para>
- <emphasis>repositories</emphasis>: The list of repositories.
- </para>
-</callout>
+ <callout arearefs="area-Reference_Guide_eXo_JCR_1.14-JCR_configuration-Example_of_the_portal_system_workspace-repositories">
+ <para>
+ <emphasis>repositories</emphasis>: The list of repositories.
+ </para>
+ </callout>
<!--3-->
-<callout arearefs="area-Reference_Guide_eXo_JCR_1.14-JCR_configuration-Example_of_the_portal_system_workspace-name">
- <para>
- <emphasis>name</emphasis>: The name of a repository.
- </para>
-</callout>
+ <callout arearefs="area-Reference_Guide_eXo_JCR_1.14-JCR_configuration-Example_of_the_portal_system_workspace-name">
+ <para>
+ <emphasis>name</emphasis>: The name of a repository.
+ </para>
+ </callout>
<!--4-->
-<callout arearefs="area-Reference_Guide_eXo_JCR_1.14-JCR_configuration-Example_of_the_portal_system_workspace-default-workspace">
- <para>
- <emphasis>default-workspace</emphasis>: The name of a workspace obtained using Session's login() or login(Credentials) methods (ones without an explicit workspace name).
- </para>
-</callout>
+ <callout arearefs="area-Reference_Guide_eXo_JCR_1.14-JCR_configuration-Example_of_the_portal_system_workspace-default-workspace">
+ <para>
+ <emphasis>default-workspace</emphasis>: The name of a workspace obtained using Session's login() or login(Credentials) methods (ones without an explicit workspace name).
+ </para>
+ </callout>
<!--5-->
-<callout arearefs="area-Reference_Guide_eXo_JCR_1.14-JCR_configuration-Example_of_the_portal_system_workspace-system-workspace">
- <para>
- <emphasis>system-workspace</emphasis>: The name of workspace where <emphasis>/jcr:system</emphasis> node is placed.
- </para>
-</callout>
+ <callout arearefs="area-Reference_Guide_eXo_JCR_1.14-JCR_configuration-Example_of_the_portal_system_workspace-system-workspace">
+ <para>
+ <emphasis>system-workspace</emphasis>: The name of workspace where <emphasis>/jcr:system</emphasis> node is placed.
+ </para>
+ </callout>
<!--6-->
-<callout arearefs="area-Reference_Guide_eXo_JCR_1.14-JCR_configuration-Example_of_the_portal_system_workspace-security-domain">
- <para>
- <emphasis>security-domain</emphasis>: The name of a security domain for JAAS authentication.
- </para>
-</callout>
+ <callout arearefs="area-Reference_Guide_eXo_JCR_1.14-JCR_configuration-Example_of_the_portal_system_workspace-security-domain">
+ <para>
+ <emphasis>security-domain</emphasis>: The name of a security domain for JAAS authentication.
+ </para>
+ </callout>
<!--7-->
-<callout arearefs="area-Reference_Guide_eXo_JCR_1.14-JCR_configuration-Example_of_the_portal_system_workspace-access-control">
- <para>
- <emphasis>access-control</emphasis>: The name of an access control policy. There can be 3 types: optional - ACL is created on-demand(default), disable - no access control, mandatory - an ACL is created for each added node(not supported yet).
- </para>
-</callout>
+ <callout arearefs="area-Reference_Guide_eXo_JCR_1.14-JCR_configuration-Example_of_the_portal_system_workspace-access-control">
+ <para>
+ <emphasis>access-control</emphasis>: The name of an access control policy. There can be 3 types: optional - ACL is created on-demand(default), disable - no access control, mandatory - an ACL is created for each added node(not supported yet).
+ </para>
+ </callout>
<!--8-->
-<callout arearefs="area-Reference_Guide_eXo_JCR_1.14-JCR_configuration-Example_of_the_portal_system_workspace-authentication-policy">
- <para>
- <emphasis>authentication-policy</emphasis>: The name of an authentication policy class.
- </para>
-</callout>
+ <callout arearefs="area-Reference_Guide_eXo_JCR_1.14-JCR_configuration-Example_of_the_portal_system_workspace-authentication-policy">
+ <para>
+ <emphasis>authentication-policy</emphasis>: The name of an authentication policy class.
+ </para>
+ </callout>
<!--9-->
-<callout arearefs="area-Reference_Guide_eXo_JCR_1.14-JCR_configuration-Example_of_the_portal_system_workspace-workspaces">
- <para>
- <emphasis>workspaces</emphasis>: The list of workspaces.
- </para>
-</callout>
+ <callout arearefs="area-Reference_Guide_eXo_JCR_1.14-JCR_configuration-Example_of_the_portal_system_workspace-workspaces">
+ <para>
+ <emphasis>workspaces</emphasis>: The list of workspaces.
+ </para>
+ </callout>
<!--10-->
-<callout arearefs="area-Reference_Guide_eXo_JCR_1.14-JCR_configuration-Example_of_the_portal_system_workspace-workspace-name">
- <para>
- The name of the workspace.
- </para>
-</callout>
+ <callout arearefs="area-Reference_Guide_eXo_JCR_1.14-JCR_configuration-Example_of_the_portal_system_workspace-workspace-name">
+ <para>
+ The name of the workspace.
+ </para>
+ </callout>
<!--11-->
-<callout arearefs="area-Reference_Guide_eXo_JCR_1.14-JCR_configuration-Example_of_the_portal_system_workspace-container">
- <para>
- Workspace data container (physical storage) configuration.
- </para>
-</callout>
+ <callout arearefs="area-Reference_Guide_eXo_JCR_1.14-JCR_configuration-Example_of_the_portal_system_workspace-container">
+ <para>
+ Workspace data container (physical storage) configuration.
+ </para>
+ </callout>
<!--12-->
-<callout arearefs="area-Reference_Guide_eXo_JCR_1.14-JCR_configuration-Example_of_the_portal_system_workspace-service_initializer">
- <para>
- Workspace initializer configuration.
- </para>
-</callout>
+ <callout arearefs="area-Reference_Guide_eXo_JCR_1.14-JCR_configuration-Example_of_the_portal_system_workspace-service_initializer">
+ <para>
+ Workspace initializer configuration.
+ </para>
+ </callout>
<!--13-->
-<callout arearefs="area-Reference_Guide_eXo_JCR_1.14-JCR_configuration-Example_of_the_portal_system_workspace-service_cache">
- <para>
- Workspace storage cache configuration.
- </para>
-</callout>
+ <callout arearefs="area-Reference_Guide_eXo_JCR_1.14-JCR_configuration-Example_of_the_portal_system_workspace-service_cache">
+ <para>
+ Workspace storage cache configuration.
+ </para>
+ </callout>
<!--14-->
-<callout arearefs="area-Reference_Guide_eXo_JCR_1.14-JCR_configuration-Example_of_the_portal_system_workspace-service_query-handler">
- <para>
- Query handler configuration.
- </para>
-</callout>
+ <callout arearefs="area-Reference_Guide_eXo_JCR_1.14-JCR_configuration-Example_of_the_portal_system_workspace-service_query-handler">
+ <para>
+ Query handler configuration.
+ </para>
+ </callout>
<!--15-->
-<callout arearefs="area-Reference_Guide_eXo_JCR_1.14-JCR_configuration-Example_of_the_portal_system_workspace-service_lock-manager-timeout">
- <para>
- The amount of time before the unused global lock is removed.
- </para>
-</callout>
- </calloutlist>
-</programlistingco>
-
- <note>
- <title><parameter> session-max-age </parameter></title>
+ <callout arearefs="area-Reference_Guide_eXo_JCR_1.14-JCR_configuration-Example_of_the_portal_system_workspace-service_lock-manager-timeout">
+ <para>
+ The amount of time before the unused global lock is removed.
+ </para>
+ </callout>
+ </calloutlist>
+ </programlistingco>
+ <note>
+ <title><parameter> session-max-age </parameter></title>
+
+ <para>
+ <emphasis>session-max-age</emphasis>: This parameter is not shown in the example file above as it is not a required setting. It sets the time after which an idle session will be removed (called logout). If it is not set up, an idle session will never be removed.
+ </para>
+ </note>
+
+ <para id="JCR.eXoJCRconfiguration.LockRemoverMaxThreads">
+ <emphasis role="bold">lock-remover-max-threads</emphasis>: Number of threads that can serve LockRemover tasks. Default value is 1. Repository may have many workspaces, each workspace have own LockManager. JCR supports Locks with defined lifetime. Such a lock must be removed is it become expired. That is what LockRemovers does. But LockRemovers is not an independent timer-threads, its a task that executed each 30 seconds. Such a task is served by ThreadPoolExecutor which may use different number of threads.
+ </para>
+ </section>
+
+ <section>
+ <title>Workspace configuration:</title>
+
<para>
- <emphasis>session-max-age</emphasis>: This parameter is not shown in the example file above as it is not a required setting. It sets the time after which an idle session will be removed (called logout). If it is not set up, an idle session will never be removed.
+ <emphasis>name</emphasis>: The name of a workspace
</para>
- </note>
-
+
+ <para>
+ <emphasis>auto-init-root-nodetype</emphasis>: DEPRECATED in JCR 1.9 (use initializer). The node type for root node initialization.
+ </para>
+
+ <para>
+ <emphasis>container</emphasis>: Workspace data container (physical storage) configuration.
+ </para>
+
+ <para>
+ <emphasis>initializer</emphasis>: Workspace initializer configuration.
+ </para>
+
+ <para>
+ <emphasis>cache</emphasis>: Workspace storage cache configuration.
+ </para>
+
+ <para>
+ <emphasis>query-handler</emphasis>: Query handler configuration.
+ </para>
+
+ <para>
+ <emphasis>auto-init-permissions</emphasis>: DEPRECATED in JCR 1.9 (use initializer). Default permissions of the root node. It is defined as a set of semicolon-delimited permissions containing a group of space-delimited identities (user, group, etc, see Organization service documentation for details) and the type of permission. For example, any read; <emphasis>:/admin read;</emphasis>:/admin add_node; <emphasis>:/admin set_property;</emphasis>:/admin remove means that users from group <emphasis>admin</emphasis> have all permissions and other users have only a 'read' permission.
+ </para>
+ </section>
-
- <para id="JCR.eXoJCRconfiguration.LockRemoverMaxThreads">
- <emphasis role="bold">lock-remover-max-threads</emphasis>: Number of threads that can serve LockRemover tasks. Default value is 1. Repository may have many workspaces, each workspace have own LockManager. JCR supports Locks with defined lifetime. Such a lock must be removed is it become expired. That is what LockRemovers does. But LockRemovers is not an independent timer-threads, its a task that executed each 30 seconds. Such a task is served by ThreadPoolExecutor which may use different number of threads.
- </para>
- </section>
-
-
-
- <section>
- <title>Workspace configuration:</title>
-
-
-
- <para>
- <emphasis>name</emphasis>: The name of a workspace
- </para>
-
-
-
- <para>
- <emphasis>auto-init-root-nodetype</emphasis>: DEPRECATED in JCR 1.9 (use initializer). The node type for root node initialization.
- </para>
-
-
-
- <para>
- <emphasis>container</emphasis>: Workspace data container (physical storage) configuration.
- </para>
-
-
-
- <para>
- <emphasis>initializer</emphasis>: Workspace initializer configuration.
- </para>
-
-
-
- <para>
- <emphasis>cache</emphasis>: Workspace storage cache configuration.
- </para>
-
-
-
- <para>
- <emphasis>query-handler</emphasis>: Query handler configuration.
- </para>
-
-
-
- <para>
- <emphasis>auto-init-permissions</emphasis>: DEPRECATED in JCR 1.9 (use initializer). Default permissions of the root node. It is defined as a set of semicolon-delimited permissions containing a group of space-delimited identities (user, group, etc, see Organization service documentation for details) and the type of permission. For example, any read; <emphasis>:/admin read;</emphasis>:/admin add_node; <emphasis>:/admin set_property;</emphasis>:/admin remove means that users from group <emphasis>admin</emphasis> have all permissions and other users have only a 'read' permission.
- </para>
- </section>
-
-
-
- <section>
- <title>Workspace data container configuration:</title>
-
-
-
- <para>
- <emphasis>class:</emphasis> A workspace data container class name.
- </para>
-
-
-
- <para>
- <emphasis>properties</emphasis>: The list of properties (name-value pairs) for the concrete Workspace data container.
- </para>
-
-
-
- <table>
- <title>Parameter Descriptions</title>
+ <section>
+ <title>Workspace data container configuration:</title>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>
- Parameter
- </entry>
-
-
-
- <entry>
- Description
- </entry>
- </row>
- </thead>
+ <para>
+ <emphasis>class:</emphasis> A workspace data container class name.
+ </para>
+
+ <para>
+ <emphasis>properties</emphasis>: The list of properties (name-value pairs) for the concrete Workspace data container.
+ </para>
+
+ <table>
+ <title>Parameter Descriptions</title>
- <tbody>
- <row>
- <entry>
- trigger_events_for_descendents_on_rename
- </entry>
-
-
-
- <entry>
- indicates if need to trigger events for descendants on rename or not. It allows to increase performance on rename operation but in same time Observation is not notified, has default value true
- </entry>
- </row>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>
+ Parameter
+ </entry>
+
+ <entry>
+ Description
+ </entry>
+ </row>
+ </thead>
- <row>
- <entry>
- lazy-node-iterator-page-size
- </entry>
-
+ <tbody>
+ <row>
+ <entry>
+ trigger_events_for_descendents_on_rename
+ </entry>
+
+ <entry>
+ indicates if need to trigger events for descendants on rename or not. It allows to increase performance on rename operation but in same time Observation is not notified, has default value true
+ </entry>
+ </row>
-
- <entry>
- the page size for lazy iterator. Indicates how many nodes can be retrieved from storage per request. The default value is 100
- </entry>
- </row>
-
- <row>
- <entry>
- acl-bloomfilter-false-positive-probability
- </entry>
-
+ <row>
+ <entry>
+ lazy-node-iterator-page-size
+ </entry>
+
+ <entry>
+ the page size for lazy iterator. Indicates how many nodes can be retrieved from storage per request. The default value is 100
+ </entry>
+ </row>
-
- <entry>
- ACL Bloom-filter desired false positive probability. Range [0..1]. Default value 0.1d. (See the note below)
- </entry>
- </row>
-
- <row>
- <entry>
- acl-bloomfilter-elements-number
- </entry>
-
+ <row>
+ <entry>
+ acl-bloomfilter-false-positive-probability
+ </entry>
+
+ <entry>
+ ACL Bloom-filter desired false positive probability. Range [0..1]. Default value 0.1d. (See the note below)
+ </entry>
+ </row>
-
- <entry>
- Expected number of ACL-elements in the Bloom-filter. Default value 1000000. (See the note below)
- </entry>
- </row>
- </tbody>
- </tgroup>
- </table>
-
-
-
- <note>
+ <row>
+ <entry>
+ acl-bloomfilter-elements-number
+ </entry>
+
+ <entry>
+ Expected number of ACL-elements in the Bloom-filter. Default value 1000000. (See the note below)
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+
+ <note>
+ <para>
+ Bloom filters are not supported by all the cache implementations so far only the implementation for infinispan supports it.
+ </para>
+ </note>
+
<para>
- Bloom filters are not supported by all the cache implementations so far only the implementation for infinispan supports it.
+ <emphasis>value-storages</emphasis>: The list of value storage plugins.
</para>
- </note>
-
+ </section>
-
- <para>
- <emphasis>value-storages</emphasis>: The list of value storage plugins.
- </para>
- </section>
-
-
-
- <section id="JCR.ConfigurationPersister.ValueStoragePlugin">
- <title>Value Storage plugin configuration (for data container):</title>
-
-
-
- <note>
+ <section id="JCR.ConfigurationPersister.ValueStoragePlugin">
+ <title>Value Storage plugin configuration (for data container):</title>
+
+ <note>
+ <para>
+ The value-storage element is optional. If you don't include it, the values will be stored as BLOBs inside the database.
+ </para>
+ </note>
+
<para>
- The value-storage element is optional. If you don't include it, the values will be stored as BLOBs inside the database.
+ <emphasis>value-storage</emphasis>: Optional value Storage plugin definition.
</para>
- </note>
-
+
+ <para>
+ <emphasis>class</emphasis>: A value storage plugin class name (attribute).
+ </para>
+
+ <para>
+ <emphasis>properties</emphasis>: The list of properties (name-value pairs) for a concrete Value Storage plugin.
+ </para>
+
+ <para>
+ <emphasis>filters</emphasis>: The list of filters defining conditions when this plugin is applicable.
+ </para>
+ </section>
-
- <para>
- <emphasis>value-storage</emphasis>: Optional value Storage plugin definition.
- </para>
-
-
-
- <para>
- <emphasis>class</emphasis>: A value storage plugin class name (attribute).
- </para>
-
-
-
- <para>
- <emphasis>properties</emphasis>: The list of properties (name-value pairs) for a concrete Value Storage plugin.
- </para>
-
-
-
- <para>
- <emphasis>filters</emphasis>: The list of filters defining conditions when this plugin is applicable.
- </para>
- </section>
-
-
-
- <section>
- <title>Initializer configuration (optional):</title>
-
-
-
- <para>
- <emphasis>class</emphasis>: Initializer implementation class.
- </para>
-
-
-
- <para>
- <emphasis>properties</emphasis>: The list of properties (name-value pairs). Properties are supported.
- </para>
-
-
-
- <para>
- <emphasis>root-nodetype</emphasis>: The node type for root node initialization.
- </para>
-
-
-
- <para>
- <emphasis>root-permissions</emphasis>: Default permissions of the root node. It is defined as a set of semicolon-delimited permissions containing a group of space-delimited identities (user, group etc, see Organization service documentation for details) and the type of permission. For example any read; <emphasis
+ <section>
+ <title>Initializer configuration (optional):</title>
+
+ <para>
+ <emphasis>class</emphasis>: Initializer implementation class.
+ </para>
+
+ <para>
+ <emphasis>properties</emphasis>: The list of properties (name-value pairs). Properties are supported.
+ </para>
+
+ <para>
+ <emphasis>root-nodetype</emphasis>: The node type for root node initialization.
+ </para>
+
+ <para>
+ <emphasis>root-permissions</emphasis>: Default permissions of the root node. It is defined as a set of semicolon-delimited permissions containing a group of space-delimited identities (user, group etc, see Organization service documentation for details) and the type of permission. For example any read; <emphasis
role="bold">:/admin read;</emphasis>:/admin add_node; <emphasis
role="bold">:/admin set_property;</emphasis>:/admin remove means that users from group <emphasis>admin</emphasis> have all permissions and other users have only a 'read' permission.
- </para>
-
+ </para>
+
+ <para>
+ Configurable initializer adds a capability to override workspace initial startup procedure (used for Clustering). Also it replaces workspace element parameters auto-init-root-nodetype and auto-init-permissions with root-nodetype and root-permissions.
+ </para>
+ </section>
-
- <para>
- Configurable initializer adds a capability to override workspace initial startup procedure (used for Clustering). Also it replaces workspace element parameters auto-init-root-nodetype and auto-init-permissions with root-nodetype and root-permissions.
- </para>
- </section>
-
-
-
- <section>
- <title>Cache configuration:</title>
-
+ <section>
+ <title>Cache configuration:</title>
+
+ <para>
+ <emphasis>enabled</emphasis>: If workspace cache is enabled or not.
+ </para>
+
+ <para>
+ <emphasis>class</emphasis>: Cache implementation class, optional from 1.9. Default value is. org.exoplatform.services.jcr.impl.dataflow.persistent.LinkedWorkspaceStorageCacheImpl.
+ </para>
+
+ <para>
+ Cache can be configured to use concrete implementation of WorkspaceStorageCache interface. JCR core has two implementation to use:
+ </para>
+
+ <itemizedlist>
+ <listitem>
+ <para>
+ LinkedWorkspaceStorageCacheImpl - default, with configurable read behavior and statistic.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ WorkspaceStorageCacheImpl - pre 1.9, still can be used.
+ </para>
+ </listitem>
+ </itemizedlist>
+
+ <para>
+ <emphasis>properties</emphasis>: The list of properties (name-value pairs) for Workspace cache.
+ </para>
+
+ <para>
+ <emphasis>max-size</emphasis>: Cache maximum size (maxSize prior to v.1.9).
+ </para>
+
+ <para>
+ <emphasis>live-time</emphasis>: Cached item live time (liveTime prior to v.1.9).
+ </para>
+
+ <para>
+ From 1.9 LinkedWorkspaceStorageCacheImpl supports additional optional parameters.
+ </para>
+
+ <para>
+ <emphasis>statistic-period</emphasis>: Period (time format) of cache statistic thread execution, 5 minutes by default.
+ </para>
+
+ <para>
+ <emphasis>statistic-log</emphasis>: If true cache statistic will be printed to default logger (log.info), false by default or not.
+ </para>
+
+ <para>
+ <emphasis>statistic-clean</emphasis>: If true cache statistic will be cleaned after was gathered, false by default or not.
+ </para>
+
+ <para>
+ <emphasis>cleaner-period</emphasis>: Period of the eldest items remover execution, 20 minutes by default.
+ </para>
+
+ <para>
+ <emphasis>blocking-users-count</emphasis>: Number of concurrent users allowed to read cache storage, 0 - unlimited by default.
+ </para>
+ </section>
-
- <para>
- <emphasis>enabled</emphasis>: If workspace cache is enabled or not.
- </para>
-
-
-
- <para>
- <emphasis>class</emphasis>: Cache implementation class, optional from 1.9. Default value is. org.exoplatform.services.jcr.impl.dataflow.persistent.LinkedWorkspaceStorageCacheImpl.
- </para>
-
-
-
- <para>
- Cache can be configured to use concrete implementation of WorkspaceStorageCache interface. JCR core has two implementation to use:
- </para>
-
-
-
- <itemizedlist>
- <listitem>
- <para>
- LinkedWorkspaceStorageCacheImpl - default, with configurable read behavior and statistic.
- </para>
- </listitem>
-
+ <section>
+ <title>Query Handler configuration:</title>
-
- <listitem>
- <para>
- WorkspaceStorageCacheImpl - pre 1.9, still can be used.
- </para>
- </listitem>
- </itemizedlist>
-
+ <para>
+ <emphasis>class</emphasis>: A Query Handler class name.
+ </para>
+
+ <para>
+ <emphasis>properties</emphasis>: The list of properties (name-value pairs) for a Query Handler (indexDir).
+ </para>
+
+ <para>
+ Properties and advanced features described in Search Configuration.
+ </para>
+ </section>
-
- <para>
- <emphasis>properties</emphasis>: The list of properties (name-value pairs) for Workspace cache.
- </para>
-
-
-
- <para>
- <emphasis>max-size</emphasis>: Cache maximum size (maxSize prior to v.1.9).
- </para>
-
-
-
- <para>
- <emphasis>live-time</emphasis>: Cached item live time (liveTime prior to v.1.9).
- </para>
-
-
-
- <para>
- From 1.9 LinkedWorkspaceStorageCacheImpl supports additional optional parameters.
- </para>
-
-
-
- <para>
- <emphasis>statistic-period</emphasis>: Period (time format) of cache statistic thread execution, 5 minutes by default.
- </para>
-
-
-
- <para>
- <emphasis>statistic-log</emphasis>: If true cache statistic will be printed to default logger (log.info), false by default or not.
- </para>
-
-
-
- <para>
- <emphasis>statistic-clean</emphasis>: If true cache statistic will be cleaned after was gathered, false by default or not.
- </para>
-
-
-
- <para>
- <emphasis>cleaner-period</emphasis>: Period of the eldest items remover execution, 20 minutes by default.
- </para>
-
-
-
- <para>
- <emphasis>blocking-users-count</emphasis>: Number of concurrent users allowed to read cache storage, 0 - unlimited by default.
- </para>
- </section>
-
-
-
- <section>
- <title>Query Handler configuration:</title>
-
-
-
- <para>
- <emphasis>class</emphasis>: A Query Handler class name.
- </para>
-
-
-
- <para>
- <emphasis>properties</emphasis>: The list of properties (name-value pairs) for a Query Handler (indexDir).
- </para>
-
-
-
- <para>
- Properties and advanced features described in Search Configuration.
- </para>
- </section>
-
-
-
- <section>
- <title>Lock Manager configuration:</title>
-
-
-
- <para>
- <emphasis>time-out</emphasis>: Time after which the unused global lock will be removed.
- </para>
-
-
-
- <para>
- <emphasis>persister</emphasis>: A class for storing lock information for future use. For example, remove lock after jcr restart.
- </para>
-
-
-
- <para>
- <emphasis>path</emphasis>: A lock folder. Each workspace has its own one.
- </para>
-
-
-
- <note>
+ <section>
+ <title>Lock Manager configuration:</title>
+
<para>
- Also see <xref linkend="JCR.eXoJCRconfiguration.LockRemoverMaxThreads"/> repository configuration parameter.
+ <emphasis>time-out</emphasis>: Time after which the unused global lock will be removed.
</para>
- </note>
-
+
+ <para>
+ <emphasis>persister</emphasis>: A class for storing lock information for future use. For example, remove lock after jcr restart.
+ </para>
+
+ <para>
+ <emphasis>path</emphasis>: A lock folder. Each workspace has its own one.
+ </para>
+
+ <note>
+ <para>
+ Also see
+ <xref linkend="JCR.eXoJCRconfiguration.LockRemoverMaxThreads"/>
+ repository configuration parameter.
+ </para>
+ </note>
<programlisting language="XML" role="XML"><!ELEMENT repository-service (repositories)>
<!ATTLIST repository-service default-repository NMTOKEN #REQUIRED>
<!ELEMENT repositories (repository)>
@@ -826,41 +668,34 @@
<!ELEMENT persister (properties)>
<!ELEMENT properties (property+)>
<!ELEMENT property EMPTY></programlisting>
- </section>
-
-
-
- <section>
- <title>Help application to prohibit the use of closed sessions</title>
-
+ </section>
-
- <para>
- Products that use eXo JCR, sometimes misuse it since they continue to use a session that has been closed through a method call on a node, a property or even the session itself. To prevent bad practices we propose three modes which are the following:
- </para>
-
-
-
- <orderedlist>
- <listitem>
- <para>
- If the system property <emphasis>exo.jcr.prohibit.closed.session.usage</emphasis> has been set to <emphasis>true</emphasis>, then a RepositoryException will be thrown any time an application will try to access to a closed session. In the stack trace, you will be able to know the call stack that closes the session.
- </para>
- </listitem>
+ <section>
+ <title>Help application to prohibit the use of closed sessions</title>
- <listitem>
- <para>
- If the system property <emphasis>exo.jcr.prohibit.closed.session.usage</emphasis> has not been set and the system property <emphasis>exo.product.developing</emphasis> has been set to <emphasis>true</emphasis>, then a warning will be logged in the log file with the full stack trace in order to help identifying the root cause of the issue. In the stack trace, you will be able to know the call stack that closes the session.
- </para>
- </listitem>
+ <para>
+ Products that use eXo JCR, sometimes misuse it since they continue to use a session that has been closed through a method call on a node, a property or even the session itself. To prevent bad practices we propose three modes which are the following:
+ </para>
- <listitem>
- <para>
- If none of the previous system properties have been set, then we will ignore that the issue and let the application use the closed session as it was possible before without doing anything in order to allow applications to migrate step by step.
- </para>
- </listitem>
- </orderedlist>
+ <orderedlist>
+ <listitem>
+ <para>
+ If the system property <emphasis>exo.jcr.prohibit.closed.session.usage</emphasis> has been set to <emphasis>true</emphasis>, then a RepositoryException will be thrown any time an application will try to access to a closed session. In the stack trace, you will be able to know the call stack that closes the session.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ If the system property <emphasis>exo.jcr.prohibit.closed.session.usage</emphasis> has not been set and the system property <emphasis>exo.product.developing</emphasis> has been set to <emphasis>true</emphasis>, then a warning will be logged in the log file with the full stack trace in order to help identifying the root cause of the issue. In the stack trace, you will be able to know the call stack that closes the session.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ If none of the previous system properties have been set, then we will ignore that the issue and let the application use the closed session as it was possible before without doing anything in order to allow applications to migrate step by step.
+ </para>
+ </listitem>
+ </orderedlist>
+ </section>
</section>
</section>
-</section>
-
Modified: epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/repository-check-controller.xml
===================================================================
--- epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/repository-check-controller.xml 2011-11-09 03:25:13 UTC (rev 8012)
+++ epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/repository-check-controller.xml 2011-11-09 03:30:26 UTC (rev 8013)
@@ -1,70 +1,105 @@
+
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
-<section>
-
- <title>Checking repository integrity and consistency</title>
-
- <section>
- <title>JMX-based consistency tool</title>
-
- <para>Production and any other system may have faults some day. They may
- be caused by hardware problems, human faults, software errors during
- updates and many other circumstances. It is important to check integrity
- and consistency of the system if there is no backup or it is stale, or
- recovery process takes much. Exo JCR implementation offers an innovative
- JMX-based complex checking tool. Running inspection, tool check every
- major JCR component, such as persistent data layer and index. Persistent
- layer includes JDBC Data Container and Value-Storages if they are
- configured. Database verified using the set of complex specialized
- domain-specific queries. Value Storage tool checks existence and access to
- each file. Index verification contains two-way pass cycle, existence of
- each node in index checks on persistent layer along with opposite
- direction, when each node from Data Container validated in index. Access
- to check tool is exposed via JMX interface, with the following operation
- available:</para>
-
- <table>
- <title>Available methods</title>
-
- <tgroup cols="2">
- <tbody>
- <row>
- <entry>checkRepositoryDataConsistency()</entry>
-
- <entry>Inspect full repository data (db, value storage and search
- index)</entry>
- </row>
-
- <row>
- <entry>checkRepositoryDataBaseConsistency()</entry>
-
- <entry>Inspect only DB</entry>
- </row>
-
- <row>
- <entry>checkRepositoryValueStorageConsistency()</entry>
-
- <entry>Inspect only ValueStorage</entry>
- </row>
-
- <row>
- <entry>checkRepositorySearchIndexConsistency()</entry>
-
- <entry>Inspect only SearchIndex</entry>
- </row>
- </tbody>
- </tgroup>
- </table>
-
- <para>All inspection activities and corrupted data identifier are stored
- in file, which can be found in app directory by name
- <code>report-<repository name>-dd-MMM-yy-HH-mm.txt</code>. Path to
- file will be returned in result message also. Please, take in account
- thare is three types of inconsistency and two of them are critical. They
- are Errors and Index faults. Index faults are marked as "Reindex" and can
- be fixed by reindexing the workspace, but the Errors can only be fixed
- manually. Warnings found by tool can be a normal situation in some cases
- and usually production system will still remain fully functional.</para>
- </section>
-</section>
+ <section>
+ <title>Checking repository integrity and consistency</title>
+
+ <section>
+ <title>JMX-based consistency tool</title>
+
+ <para>
+ It is important to check the integrity and consistency of system regularly, especially if there is no, or stale, backups. The JBoss Enterprise Portal Platform JCR implementation offers an innovative JMX-based complex checking tool.
+ </para>
+ <para>
+ During an inspection, the tool checks every major JCR component, such as persistent data layer and the index. The persistent layer includes JDBC Data Container and Value-Storages if they are configured.
+ </para>
+ <para>
+ The database is verified using the set of complex specialized domain-specific queries. The Value Storage tool checks the existence of, and access to, each file.
+ </para>
+ <para>
+ Access to the check tool is exposed via the JMX interface, with the following operations available:
+ </para>
+
+ <table>
+ <title>Available methods</title>
+
+ <tgroup cols="2">
+ <tbody>
+ <row>
+ <entry>
+ <code>checkRepositoryDataConsistency()</code>
+ </entry>
+
+ <entry>
+ Inspect full repository data (db, value storage and search index)
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <code>checkRepositoryDataBaseConsistency()</code>
+ </entry>
+
+ <entry>
+ Inspect only DB
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <code>checkRepositoryValueStorageConsistency()</code>
+ </entry>
+
+ <entry>
+ Inspect only ValueStorage
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <code>checkRepositorySearchIndexConsistency()</code>
+ </entry>
+
+ <entry>
+ Inspect only SearchIndex
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+
+ <para>
+ All inspection activities and corrupted data details are stored in a file in the app directory and named as per the following convention:
+ <code>
+ report-<replaceable><repository name></replaceable>-<replaceable>dd-MMM-yy-HH-mm</replaceable>.txt
+ </code>.
+ </para>
+ <para>
+ The path to the file will be returned in result message also at the end of the inspection.
+ </para>
+ <note>
+ <title></title>
+ <para>
+ There are three types of inconsistency (Warning, Error and Index) and two of them are critical (Errors and Index):
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ Index faults are marked as "Reindex" and can be fixed by reindexing the workspace.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Errors can only be fixed manually.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Warnings can be a normal situation in some cases and usually production system will still remain fully functional.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </note>
+ </section>
+ </section>
Modified: epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/find-similar-nodes.xml
===================================================================
--- epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/find-similar-nodes.xml 2011-11-09 03:25:13 UTC (rev 8012)
+++ epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/find-similar-nodes.xml 2011-11-09 03:30:26 UTC (rev 8013)
@@ -6,19 +6,20 @@
<section id="sect-Reference_Guide_eXo_JCR_1.14-Finding_Similar_Nodes">
<title>Finding Similar Nodes</title>
<para>
- Find similar nodes to node by path '/baseFile/jcr:content'.
+ Find similar nodes to a nominated node with the path: '<literal>/baseFile/jcr:content</literal>'.
</para>
<para>
- In our example, baseFile will contain text where "terms" word happens many times. That's a reason why the existence of this word will be used as a criteria of node similarity (for node baseFile).
+ In this example, <literal>baseFile</literal> contains text where a keyword (<literal>terms</literal>) is repeated often. This word will be used as a criteria of node similarity (for node baseFile).
</para>
<note>
+ <title>Reference</title>
<para>
Refer to <xref linkend="sect-Reference_Guide_eXo_JCR_1.14-Searching_Repository_Content" /> for information about Similarity and configuration.
</para>
</note>
<para>
- Higlighting support must be added to configuration. test-jcr-config.xml:
+ Higlighting support must be added to the configuration (in <filename>test-jcr-config.xml</filename>):
</para>
<programlisting language="Java" role="Java"><query-handler class="org.exoplatform.services.jcr.impl.core.query.lucene.SearchIndex">
@@ -33,79 +34,43 @@
<para>
Repository contains many nt:file nodes"
</para>
- <itemizedlist>
- <listitem>
- <para>
- root
- </para>
- <itemizedlist>
- <listitem>
- <para>
- baseFile (nt:file)
- </para>
- <itemizedlist>
- <listitem>
- <para>
- jcr:content (nt:resource) jcr:data="Similarity is determined by looking up <emphasis role="bold">terms</emphasis> that are common to nodes. There are some conditions that must be met for a <emphasis role="bold">term</emphasis> to be considered. This is required to limit the number possibly relevant <emphasis role="bold">terms</emphasis>. Only <emphasis role="bold">terms</emphasis> with at least 4 characters are considered. Only <emphasis role="bold">terms</emphasis> that occur at least 2 times in the source node are considered. Only <emphasis role="bold">terms</emphasis> that occur in at least 5 nodes are considered."
- </para>
+ <programlistingco>
+ <areaspec>
+ <area coords="2" id="area-Reference_Guide_eXo_JCR_1.14-Finding_Similar_Nodes-Repository_structure-baseFile" />
+ <area coords="3" id="area-Reference_Guide_eXo_JCR_1.14-Finding_Similar_Nodes-Repository_structure-target1" />
+ <area coords="4" id="area-Reference_Guide_eXo_JCR_1.14-Finding_Similar_Nodes-Repository_structure-target2" />
+ <area coords="5" id="area-Reference_Guide_eXo_JCR_1.14-Finding_Similar_Nodes-Repository_structure-target3" />
+ </areaspec>
+<programlisting>root
+├── baseFile (nt:file)
+├── target1 (nt:file)
+├── target2 (nt:file)
+└── target3 (nt:file)
+</programlisting>
+ <calloutlist>
+ <callout arearefs="area-Reference_Guide_eXo_JCR_1.14-Finding_Similar_Nodes-Repository_structure-baseFile">
+ <para>
+ jcr:content (nt:resource) jcr:data="Similarity is determined by looking up <emphasis role="bold">terms</emphasis> that are common to nodes. There are some conditions that must be met for a <emphasis role="bold">term</emphasis> to be considered. This is required to limit the number possibly relevant <emphasis role="bold">terms</emphasis>. Only <emphasis role="bold">terms</emphasis> with at least 4 characters are considered. Only <emphasis role="bold">terms</emphasis> that occur at least 2 times in the source node are considered. Only <emphasis role="bold">terms</emphasis> that occur in at least 5 nodes are considered."
+ </para>
+ </callout>
+ <callout arearefs="area-Reference_Guide_eXo_JCR_1.14-Finding_Similar_Nodes-Repository_structure-target1">
+ <para>
+ jcr:content (nt:resource) jcr:data="Similarity is determined by looking up <emphasis role="bold">terms</emphasis> that are common to nodes."
+ </para>
+ </callout>
+ <callout arearefs="area-Reference_Guide_eXo_JCR_1.14-Finding_Similar_Nodes-Repository_structure-target2">
+ <para>
+ jcr:content (nt:resource) jcr:data="There is no you know what"
+ </para>
+ </callout>
+ <callout arearefs="area-Reference_Guide_eXo_JCR_1.14-Finding_Similar_Nodes-Repository_structure-target3">
+ <para>
+ jcr:content (nt:resource) jcr:data=" <emphasis role="bold">Terms</emphasis> occurs here"
+ </para>
+ </callout>
+ </calloutlist>
+ </programlistingco>
- </listitem>
-
- </itemizedlist>
-
- </listitem>
- <listitem>
- <para>
- target1 (nt:file)
- </para>
- <itemizedlist>
- <listitem>
- <para>
- jcr:content (nt:resource) jcr:data="Similarity is determined by looking up <emphasis role="bold">terms</emphasis> that are common to nodes."
- </para>
-
- </listitem>
-
- </itemizedlist>
-
- </listitem>
- <listitem>
- <para>
- target2 (nt:file)
- </para>
- <itemizedlist>
- <listitem>
- <para>
- jcr:content (nt:resource) jcr:data="There is no you know what"
- </para>
-
- </listitem>
-
- </itemizedlist>
-
- </listitem>
- <listitem>
- <para>
- target3 (nt:file)
- </para>
- <itemizedlist>
- <listitem>
- <para>
- jcr:content (nt:resource) jcr:data=" <emphasis role="bold">Terms</emphasis> occurs here"
- </para>
-
- </listitem>
-
- </itemizedlist>
-
- </listitem>
-
- </itemizedlist>
-
- </listitem>
-
- </itemizedlist>
-
</section>
<section id="sect-Reference_Guide_eXo_JCR_1.14-Finding_Similar_Nodes-Query_execution">
Modified: epp/docs/branches/5.2/Site_Publisher/Release_Notes/en-US/Article_Info.xml
===================================================================
--- epp/docs/branches/5.2/Site_Publisher/Release_Notes/en-US/Article_Info.xml 2011-11-09 03:25:13 UTC (rev 8012)
+++ epp/docs/branches/5.2/Site_Publisher/Release_Notes/en-US/Article_Info.xml 2011-11-09 03:30:26 UTC (rev 8013)
@@ -4,12 +4,12 @@
%BOOK_ENTITIES;
]>
<articleinfo id="arti-Release_Notes-Release_Notes">
- <title>Site Publisher 5.1.1 Release Notes</title>
+ <title>Site Publisher 5.2.0 Release Notes</title>
<subtitle>For the JBoss Enterprise Portal Platform Site Publisher &VZ; extension.</subtitle>
<productname>JBoss Enterprise Portal Platform</productname>
<productnumber>5.2</productnumber>
<edition>5.2.0</edition>
- <pubsnumber>1</pubsnumber>
+ <pubsnumber>2</pubsnumber>
<abstract>
<para>
These release notes contain important information related to JBoss Site Publisher &VZ; that may not be currently available in the Product Manuals. You should read these Release Notes in their entirety before installing the product.
Modified: epp/docs/branches/5.2/Site_Publisher/Release_Notes/en-US/Revision_History.xml
===================================================================
--- epp/docs/branches/5.2/Site_Publisher/Release_Notes/en-US/Revision_History.xml 2011-11-09 03:25:13 UTC (rev 8012)
+++ epp/docs/branches/5.2/Site_Publisher/Release_Notes/en-US/Revision_History.xml 2011-11-09 03:30:26 UTC (rev 8013)
@@ -7,6 +7,20 @@
<title>Revision History</title>
<simpara>
<revhistory>
+ <revision>
+ <revnumber>5.2.0-2</revnumber>
+ <date>Wed Nov 9 2011</date>
+ <author>
+ <firstname>Scott</firstname>
+ <surname>Mumford</surname>
+ <email></email>
+ </author>
+ <revdescription>
+ <simplelist>
+ <member>Bumped for cvs branching.</member>
+ </simplelist>
+ </revdescription>
+ </revision>
<revision>
<revnumber>5.2.0-1</revnumber>
<date>Mon Aug 29 2011</date>
Deleted: epp/docs/branches/5.2/Site_Publisher/Release_Notes/en-US/Site_Publisher_5.1.1_Release_Notes.ent
===================================================================
--- epp/docs/branches/5.2/Site_Publisher/Release_Notes/en-US/Site_Publisher_5.1.1_Release_Notes.ent 2011-11-09 03:25:13 UTC (rev 8012)
+++ epp/docs/branches/5.2/Site_Publisher/Release_Notes/en-US/Site_Publisher_5.1.1_Release_Notes.ent 2011-11-09 03:30:26 UTC (rev 8013)
@@ -1,14 +0,0 @@
-<!-- Product Specifics: -->
-<!ENTITY PRODUCT "JBoss Site Publisher">
-
-<!-- Book specifics: -->
-<!ENTITY BOOKID "Site Publisher Release Notes">
-
-<!-- Corporate Specifics: -->
-<!ENTITY YEAR "2011">
-<!ENTITY HOLDER "Red Hat, Inc">
-
-<!-- Version Specifcs: -->
-<!ENTITY VX "5">
-<!ENTITY VY "5.2">
-<!ENTITY VZ "5.2.0">
\ No newline at end of file
Deleted: epp/docs/branches/5.2/Site_Publisher/Release_Notes/en-US/Site_Publisher_5.1.1_Release_Notes.xml
===================================================================
--- epp/docs/branches/5.2/Site_Publisher/Release_Notes/en-US/Site_Publisher_5.1.1_Release_Notes.xml 2011-11-09 03:25:13 UTC (rev 8012)
+++ epp/docs/branches/5.2/Site_Publisher/Release_Notes/en-US/Site_Publisher_5.1.1_Release_Notes.xml 2011-11-09 03:30:26 UTC (rev 8013)
@@ -1,707 +0,0 @@
-<?xml version='1.0' encoding='utf-8' ?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Release_Notes.ent">
-%BOOK_ENTITIES;
-]>
-<article>
- <xi:include href="Article_Info.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
- <section id="sect-Release_Notes-Introduction">
- <title>Introduction</title>
- <para>
- JBoss Site Publisher (powered by eXo) is a new add-on component for JBoss Enterprise Portal Platform. Site Publisher enables users to create, edit and publish rich web content within the context of their portal installation.
- </para>
- <note>
- <title>Subscription</title>
- <para>
- Subscriptions to JBoss Site Publisher are available at an additional fee over and above JBoss Enterprise Portal Platform subscriptions.
- </para>
- </note>
- <para>
- JBoss Site Publisher simplifies the authoring and management for every website an organization needs to deploy. It includes the ability to administer sites, manage navigation, and publish content. Site Publisher delivers powerful functionality to everyone responsible for maintaining web content:
- </para>
- <itemizedlist>
- <listitem>
- <para>
- Webmasters can easily administer multiple websites.
- </para>
- </listitem>
- <listitem>
- <para>
- Website administrators can set permission policies according to user roles to better control website changes.
- </para>
- </listitem>
- <listitem>
- <para>
- Content providers can use JBoss Enterprise Portal Platform’s tools to create content and then choose how to publish it using blogs, RSS feeds, social networks and more.
- </para>
- </listitem>
- <listitem>
- <para>
- Web developers can introduce other forms of rich media content to create truly professional websites easily and efficiently.
- </para>
- </listitem>
- </itemizedlist>
- </section>
-
- <section id="sect-Release_Notes-Component_Features">
- <title>Component Features</title>
- <variablelist>
- <varlistentry>
- <term>Search</term>
- <listitem>
- <para>
- Categorization and tag features enable users to search contents and documents in the current website or all websites.
- </para>
- </listitem>
- </varlistentry>
- <!-- Commenting out pending resolution of JBEPP-949 (also in SP User Guide rh-Preamble.xml)
- <varlistentry>
- <term>Broken link detection engine</term>
- <listitem>
- <para>
- Site Publisher’s site explorer displays the current number of broken links.
- </para>
- </listitem>
- </varlistentry>-->
- <varlistentry>
- <term> Versioning and rollback of content</term>
- <listitem>
- <para>
- If needed, administrators can simply roll back website content with automatic site versioning.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>Web-based administration</term>
- <listitem>
- <para>
- Your website can be administered remotely, simply by using a web browser, and requires no additional software to be installed on your computer.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>Media library</term>
- <listitem>
- <para>
- Users can add any media they want to use on a website to the media library. They can also re-use this media on other websites and update media across multiple websites.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>Web page management tools</term>
- <listitem>
- <para>
- Webmasters can organize website content and menus.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>Content features</term>
- <listitem>
- <para>
- Webmasters can easily edit categories, comments, versions, and permissions.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>Search engine optimization (SEO)</term>
- <listitem>
- <para>
- SEO processes are now easier and more effective with an intuitive interface to edit meta tags.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>Friendly URLs</term>
- <listitem>
- <para>
- Site Publisher gives every piece of content a specific URL, which further helps your organization improve SEO processes and results.
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
- </section>
-
- <section id="sect-Release_Notes-Installation">
- <title>Installation</title>
- <para>
- The JBoss Site Publisher Installation Guide contains detailed installation instructions as well as environment requirements.
- </para>
- <para>
- The Installation Guide can be found online at <ulink type="http" url="http://docs.redhat.com/docs/en-US/JBoss_Enterprise_Portal_Platform/index...."/>.
- </para>
- </section>
-
-
-
- <section id="sect-5.1.1_Release_Notes-Issues_Resolved_In_Production">
- <title>Issues Resolved In Production</title>
- <para>
- The following issues were resolved in the production process of Site Publisher:
- </para>
- <xi:include href="resolved_issues.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
- </section>
-
- <section id="sect-5.1.1_Release_Notes-Issues_Resolved_Upstream">
-
- <!-- Issues gathered from Changelog at: http://intranet.exoplatform.org/rest/jcr/repository/collaboration/Groups/.... Supplied by Patrice Lamarque -->
-
- <!-- Supplemented with: http://intranet.exoplatform.org/rest/jcr/repository/collaboration/Groups/... Supplied by Philippe Arisotle-->
-
- <title>Issues Resolved Upstream</title>
- <para>
- The following issues were resolved upstream:
- </para>
- <variablelist>
- <varlistentry>
- <term><ulink type="http" url="https://jira.exoplatform.org/browse/ECMS-2248"></ulink></term>
- <listitem>
- <para>
- A bug that prevented users from logging in using the pre-formatted URL <ulink type="http" url="http://localhost:8080/ecmdemo/login?username=john&password=gtn&in..."></ulink> has been corrected with an upstream patch.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><ulink type="http" url="https://jira.exoplatform.org/browse/ECMS-1907"></ulink></term>
- <listitem>
- <para>
- An bug found when setting a <emphasis>Publication Lifecycle</emphasis> resulted in the <emphasis>Authoring</emphasis> life-cycle being activated regardless of the user's selection. This behavior has been corrected with an upstream patch.
- </para>
- <para>
- This patch also corrects a similar behavior as documented in <ulink type="http" url="https://jira.exoplatform.org/browse/ECMS-1534"></ulink>.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><ulink type="http" url="https://jira.exoplatform.org/browse/ECMS-1688"></ulink></term>
- <listitem>
- <para>
- A bug which prevented custom <filename>.war</filename> files from being successfully imported through the <application>Application Registry</application> of the <literal>ecmdemo</literal> domain has been corrected.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><ulink type="http" url="https://jira.exoplatform.org/browse/ECMS-1890"></ulink></term>
- <listitem>
- <para>
- A bug resulting in an <literal>Unexpected Error</literal> encountered when adding a document to <parameter>/exo:ecm/exo:taxonomyTrees/definition/acme</parameter> has been resolved.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><ulink type="http" url="https://jira.exoplatform.org/browse/ECMS-1903"></ulink></term>
- <listitem>
- <para>
- A <literal>ConstraintViolationException</literal> encountered when importing a versioned <literal>nt:folder</literal> node was found to be caused by the <literal>nt:versionedChild</literal> disallowing <literal>nt:versionedChild</literal> subnodes. An upstream patch has corrected this behavior, avoiding the error and allowing successful import of versioned subnodes and their history.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><ulink type="http" url="https://jira.exoplatform.org/browse/ECMS-1908"></ulink></term>
- <listitem>
- <para>
- An upstream patch has modified Site Publisher's default behavior if an invalid value was entered as a file <emphasis>Category</emphasis>. Now, instead of clearing the field without feedback, a warning message is displayed that informs the user that they have entered an invalid value.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><ulink type="http" url="https://jira.exoplatform.org/browse/ECMS-1942"></ulink></term>
- <listitem>
- <para>
- A memory leak discovered in <literal>PortletFutureCache</literal> has been corrected.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><ulink type="http" url="https://jira.exoplatform.org/browse/ECMS-1980"></ulink></term>
- <listitem>
- <para>
- A code bug prevented <filename>PDF</filename> files attached to <literal>Article</literal> documents from being viewable in the <emphasis>Content Detail Portlet</emphasis>. This has been corrected with an upstream patch.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><ulink type="http" url="https://jira.exoplatform.org/browse/ECMS-1981"></ulink></term>
- <listitem>
- <para>
- A bug was encountered that caused the <emphasis>Content by URL</emphasis> portlet to display incorrect content to public users in some instances. For instance; the URL pointing to <filename>document1</filename> might correctly show <filename>document1</filename> in one browser window, while the same URL might incorrectly present <filename>document2</filename> in a different browser tab or window.
- </para>
- <para>
- An upstream patch has resolved this issue.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><ulink type="http" url="https://jira.exoplatform.org/browse/ECMS-1998"></ulink></term>
- <listitem>
- <para>
- A bug that prevented a new file (either uploaded or created) from appearing under a taxonomy tree immediately after it had been added to that taxonomy category has been corrected in an upstream patch.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><ulink type="http" url="https://jira.exoplatform.org/browse/ECMS-1999"></ulink></term>
- <listitem>
- <para>
- A code bug that prevented Internet Explorer 8 from sanitizing special (accented) characters in URLs has been corrected.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><ulink type="http" url="https://jira.exoplatform.org/browse/ECMS-2000"></ulink></term>
- <listitem>
- <para>
- A bug in the pagination code prevented the Pager in <emphasis>Content Selector</emphasis> from rendering page views correctly in Internet Explorer 8, Firefox 3.5 or Google Chrome. This bug was fixed in an upstream patch.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><ulink type="http" url="https://jira.exoplatform.org/browse/ECMS-2009"></ulink></term>
- <listitem>
- <para>
- Upstream patches have corrected code bugs that resulted in multi-valued <emphasis>WYSIWYG</emphasis> fields being uneditable and set to <parameter>null</parameter>.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><ulink type="http" url="https://jira.exoplatform.org/browse/ECMS-972"></ulink></term>
- <listitem>
- <para>
- A warning message has been added to the <emphasis>Manage Users</emphasis> form to advise users attempting to delete <emphasis>Administrator</emphasis> privileges that they cannot do so.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><ulink type="http" url="https://jira.exoplatform.org/browse/ECMS-1179"></ulink></term>
- <listitem>
- <para>
- The Newsletter category <emphasis>General</emphasis> and the subscription <emphasis>Check-list</emphasis> are no longer loaded by default.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><ulink type="http" url="https://jira.exoplatform.org/browse/ECMS-1395"></ulink></term>
- <listitem>
- <para>
- A patch has been applied to the code which implements a task within the JCR to remove any unassigned symlinks. This update resolves the issue of symlinks being retained in the JCR after the original object is deleted.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><ulink type="http" url="https://jira.exoplatform.org/browse/ECMS-1446"></ulink></term>
- <listitem>
- <para>
- A bug that prevented the <emphasis>Manage Lock</emphasis> list from updating with a group added to the lock list in <emphasis>Group Management</emphasis> has been corrected in a upstream patch.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><ulink type="http" url="https://jira.exoplatform.org/browse/ECMS-1502"></ulink></term>
- <term><ulink type="http" url="https://jira.exoplatform.org/browse/ECMS-1754"></ulink></term>
- <listitem>
- <para>
- Upstream patches have resolved various bugs in the <emphasis>RSS</emphasis> function that resulted in some feed URLs pointing to incorrect content or not rendering correctly if they contained special or accented characters. RSS links now work as expected.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><ulink type="http" url="https://jira.exoplatform.org/browse/ECMS-1765"></ulink></term>
- <listitem>
- <para>
- A new feature has been added to Site Publisher which displays a warning message when a user is about to close a document that has unsaved changes. The message warns the user that they will lose unsaved changes if they close the current document.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><ulink type="http" url="https://jira.exoplatform.org/browse/ECMS-1776"></ulink></term>
- <listitem>
- <para>
- A bug that prevented users from opening nodes whose names begin with a period (.) has been corrected. Users can now open files as expected.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><ulink type="http" url="https://jira.exoplatform.org/browse/ECMS-1780"></ulink></term>
- <listitem>
- <para>
- A code bug that produced an error message when adding universal permissions (*) to view new system elements (views, templates, etc) after adding tag permissions for managers has been corrected by an upstream patch.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><ulink type="http" url="https://jira.exoplatform.org/browse/ECMS-1782"></ulink></term>
- <listitem>
- <para>
- A bug which resulted in newly added node properties not appearing in the property list has been corrected in an upstream patch.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><ulink type="http" url="https://jira.exoplatform.org/browse/ECMS-1819"></ulink></term>
- <term><ulink type="http" url="https://jira.exoplatform.org/browse/ECMS-1866"></ulink></term>
- <listitem>
- <para>
- A bug which produced an "<emphasis>Unknown Error</emphasis>" message when attempting to save edited permission settings on <literal>nt:unstructured</literal> nodes has been resolved in an upstream patch.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><ulink type="http" url="https://jira.exoplatform.org/browse/ECMS-1824"></ulink></term>
- <listitem>
- <para>
- A bug which prevented users from viewing the content of a document attached to an article in <emphasis>SCV</emphasis> has been corrected in an upstream patch.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><ulink type="http" url="https://jira.exoplatform.org/browse/ECMS-1836"></ulink></term>
- <listitem>
- <para>
- A bug which produced an error pop-up when attempting to view an uploaded image while in "<emphasis>jailed</emphasis>" mode has been corrected in an upstream patch.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><ulink type="http" url="https://jira.exoplatform.org/browse/ECMS-1841"></ulink></term>
- <listitem>
- <para>
- A bug that prevented the '<emphasis>collapse</emphasis>' icon (-) from switching to the '<emphasis>expand</emphasis>' icon (+) after a folder was collapsed has been corrected.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><ulink type="http" url="https://jira.exoplatform.org/browse/ECMS-1853"></ulink></term>
- <listitem>
- <para>
- A code bug which may have revealed the <emphasis>edit/remove</emphasis> options on <emphasis>Queries</emphasis> to users without the required authorizations has been corrected. Edit permissions are now validated before the options are presented.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><ulink type="http" url="https://jira.exoplatform.org/browse/ECMS-1857"></ulink></term>
- <listitem>
- <para>
- A code bug was found to revert the mode selector in the administration bar from <emphasis>Edit</emphasis> to <emphasis>Published</emphasis> when the user switched from one site to another, even though the <guilabel>edit</guilabel> buttons remained visible on page elements. This bug has been corrected in an upstream patch.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><ulink type="http" url="https://jira.exoplatform.org/browse/ECMS-1861"></ulink></term>
- <listitem>
- <para>
- A bug which threw an exception when a user attempted to edit content which has different permissions than it's parent directory has been corrected.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><ulink type="http" url="https://jira.exoplatform.org/browse/ECMS-1862"></ulink></term>
- <listitem>
- <para>
- A bug in the code caused Site Publisher to attempt to open a new page from the last opened folder rather than the correct file path. This caused an exception to be thrown in the console. This bug has been corrected in an upstream patch.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><ulink type="http" url="https://jira.exoplatform.org/browse/ECMS-1863"></ulink></term>
- <listitem>
- <para>
- A bug which caused Site Publisher to throw an exception when a user attempted to create and use a <emphasis>Category</emphasis> which contained an accented character has been corrected in an upstream patch.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><ulink type="http" url="https://jira.exoplatform.org/browse/ECMS-1865"></ulink></term>
- <listitem>
- <para>
- A bug which allowed empty property fields to overwrite original values when editing an uploaded content file (an image or pdf, for example), resulting in an exception has been corrected in an upstream patch.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><ulink type="http" url="https://jira.exoplatform.org/browse/ECMS-1868"></ulink></term>
- <listitem>
- <para>
- A bug which caused published content in <emphasis>CLV</emphasis> portlets to remain visible and accessible even after it had been deleted has been corrected in an upstream patch.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><ulink type="http" url="https://jira.exoplatform.org/browse/ECMS-1874"></ulink></term>
- <listitem>
- <para>
- A bug causing some browser tabs to show '<emphasis role="bold">null</emphasis>', rather than the title of the Site Publisher page being viewed has been corrected.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><ulink type="http" url="https://jira.exoplatform.org/browse/ECMS-1875"></ulink></term>
- <listitem>
- <para>
- A bug which caused the most recent versions of edited documents to appear on a page even after the document had been restored to an earlier (possibly non-edited version) has been corrected in an upstream patch.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><ulink type="http" url="https://jira.exoplatform.org/browse/ECMS-1887"></ulink></term>
- <listitem>
- <para>
- A bug that prevented commenting on documents when using IE7 has been corrected.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><ulink type="http" url="https://jira.exoplatform.org/browse/ECMS-1882"></ulink></term>
- <listitem>
- <para>
- A bug which threw an exception after a user attempted to access a Newsletter category after having deleted a newsletter from that category has been corrected in an upstream patch.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><ulink type="http" url="https://jira.exoplatform.org/browse/ECMS-1916"></ulink></term>
- <listitem>
- <para>
- A bug which prevented newly created documents from appearing in simple searches has been corrected.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><ulink type="http" url="https://jira.exoplatform.org/browse/ECMS-1885"></ulink></term>
- <listitem>
- <para>
- A bug which prevented a node that was locked by a user from being unlocked by an administrator has been corrected in an upstream patch.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><ulink type="http" url="https://jira.exoplatform.org/browse/ECMS-1883"></ulink></term>
- <listitem>
- <para>
- Importing portlets through the <application>Application Registry</application> using the <guilabel>Import Application</guilabel> button results in some portlets being registered twice. This is because these portlets are registered once during the portal initialization and then registered again during the <emphasis role="bold">Import</emphasis> action.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><ulink type="http" url="https://jira.exoplatform.org/browse/ECMS-1995"></ulink></term>
- <listitem>
- <para>
- A bug that prevented images uploaded during the creation of a free layout web content from saving to the to the appropriate content folder has been addressed in an upstream patch.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><ulink type="http" url="https://jira.exoplatform.org/browse/ECMS-2023"></ulink></term>
- <listitem>
- <para>
- An upstream patch has improved the jQuery implementation in Site Publisher. This improvement allows developers and system administrators to include their own version of jQuery.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><ulink type="http" url="https://jira.exoplatform.org/browse/ECMS-2024"></ulink></term>
- <listitem>
- <para>
- A bug which, in some circumstances, caused multi-line comments on free layout web contents to be truncated in the document view tab has been resolved in an upstream patch.
- </para>
- <para>
- The fix for this bug should also resolve <ulink type="http" url="https://jira.exoplatform.org/browse/ECMS-2117"></ulink>
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><ulink type="http" url="https://jira.exoplatform.org/browse/ECMS-2079"></ulink></term>
- <listitem>
- <para>
- The node locking mechanism has been patched to allow children of locked nodes to be checked in, without modifying the parent node, as part of the publication process.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><ulink type="http" url="https://jira.exoplatform.org/browse/ECMS-2088"></ulink></term>
- <listitem>
- <para>
- A bug which caused the ampersand characters that separate URL parameters to be rendered as <emphasis>&amp;</emphasis> (and hence lost to the browser) when leaving in-context editing has been fixed with an upstream patch.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><ulink type="http" url="https://jira.exoplatform.org/browse/ECMS-2092"></ulink></term>
- <listitem>
- <para>
- 'Unknown Error' messages encountered when performing searches using special characters (eg; [ ] ' " *) have been corrected in an upstream patch. Site Publisher now escapes special characters correctly.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><ulink type="http" url="https://jira.exoplatform.org/browse/ECMS-2093"></ulink></term>
- <listitem>
- <para>
- A bug that rendered the Category Content portlet blank when attempting to edit it after deleting the 'acme' category in the ACME example site has been patched upstream.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><ulink type="http" url="https://jira.exoplatform.org/browse/ECMS-2094"></ulink></term>
- <listitem>
- <para>
- URLs generated using the 'Copy URL to clipboard' node context option were invalid as the URL path was hard-coded with the <filename>/rest-ecmdemo/private/jcr/</filename> path, regardless of the location of the node being referenced. This error has been resolved in this release.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><ulink type="http" url="https://jira.exoplatform.org/browse/ECMS-2100"></ulink></term>
- <listitem>
- <para>
- A bug in how Site Publisher displayed taxonomy names with more than twenty (20) characters has been corrected.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><ulink type="http" url="https://jira.exoplatform.org/browse/ECMS-2114"></ulink></term>
- <listitem>
- <para>
- The <literal>SCVPortletPreferenceMigrationService</literal> service has been deactivated in the 'default' profile of this release of Site Publisher. This is to improve start up performance. The service has been commented out in the <filename>core-services-configuration.xml</filename> file and can be reactivated by removing the comment mark-up.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><ulink type="http" url="https://jira.exoplatform.org/browse/ECMS-2119"></ulink></term>
- <listitem>
- <para>
- <emphasis role="bold">Chrome Browser:</emphasis> A bug which prevented the file upload pop-up window from closing after a user clicked the <guilabel>Save</guilabel> button has been resolved.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><ulink type="http" url="https://jira.exoplatform.org/browse/ECMS-2137"></ulink></term>
- <listitem>
- <para>
- <emphasis role="bold">Chrome Browser:</emphasis> A bug which caused the Rich Text Editor to not honor site CSS styles has been resolved in an upstream patch.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><ulink type="http" url="https://jira.exoplatform.org/browse/ECMS-2174"></ulink></term>
- <listitem>
- <para>
- A security vulnerability that allowed XSS javascript to be injected into a site through the text fields of view templates has been closed in this release. A front-side filter now removes any entered content inside <literal><script></literal> tags, any javascript calls and any <literal>on*</literal> attributes (such as <literal>onLoad</literal> and <literal>onClick</literal> before the content is saved.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><ulink type="http" url="https://jira.exoplatform.org/browse/ECMS-2234"></ulink></term>
- <listitem>
- <para>
- A bug which caused Site Publisher to not honor the timezone of the server on which it is running has been corrected in an upstream patch.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><ulink type="http" url="https://jira.exoplatform.org/browse/ECMS-2272"></ulink></term>
- <listitem>
- <para>
- A bug which overwrote any manually entered name applied to an uploaded PDF file with the file's original name has been corrected upstream.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><ulink type="http" url="https://jira.exoplatform.org/browse/ECMS-2483"></ulink></term>
- <listitem>
- <para>
- An <emphasis role="bold">Unknown Error</emphasis> encountered when attempting to add a newly created category as content in a SCV portlet on a new page in the <emphasis>acme</emphasis> drive has been corrected in an upstream patch.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><ulink type="http" url="https://jira.exoplatform.org/browse/ECMS-2366"></ulink></term>
- <listitem>
- <para>
- An initialization error in the <literal>DriverConnector</literal> service's constructor was found to be caused by the service calling the <literal>resourceBundleService.getResourceBundle method</literal> before the <literal>ResourceBundleService</literal> had been started.
- </para>
- <para>
- A patch to the upstream code has introduced fallback clauses which prevent the error.
- </para>
- </listitem>
- </varlistentry>
-</variablelist>
- </section>
-
- <section id="sect-5.1.1_Release_Notes-Known_Issues">
- <title>Known Issues</title>
- <xi:include href="known_issues.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
- </section>
-
- <!--<section>
- <title><remark>NEEDINFO</remark></title>
- <xi:include href="need_info.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
- </section>-->
-
- <!--<section>
- <title><remark>Not Yet Documented</remark></title>
- <xi:include href="not_documented.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
- </section>-->
-
- <!--<section id="sect-5.1.1_Release_Notes-Migration">
- <title><remark>Migration</remark></title>
- <para>
- Stuff about migration from 5.1.0 to 5.1.1.
- </para>
- </section>-->
-
- <section id="sect-Release_Notes-Documentation">
- <title>Documentation</title>
- <para>
- An Installation Guide and a User Guide for JBoss Site Publisher are available at <ulink type="http" url="http://docs.redhat.com/docs/en-US/JBoss_Enterprise_Portal_Platform/index...." />. JBoss Enterprise Portal Platform specific documentation is also available from this location.
- </para>
- </section>
-
- <section id="sect-Release_Notes-_Product_Support_and_License_Website_Links_">
- <title> Product Support and License Website Links </title>
- <formalpara id="form-Release_Notes-_Product_Support_and_License_Website_Links_-Support_Processes">
- <title>Support Processes</title>
- <para>
- <ulink url="http://www.redhat.com/support/process/">http://www.redhat.com/support/process/</ulink>
- </para>
- </formalpara>
- <formalpara id="form-Release_Notes-_Product_Support_and_License_Website_Links_-_Production_Support_Scope_of_Coverage_">
- <title> Production Support Scope of Coverage </title>
- <para>
- <ulink url="http://www.redhat.com/support/policy/soc/production">http://www.redhat.com/support/policy/soc/production</ulink>
- </para>
- </formalpara>
- <formalpara id="form-Release_Notes-_Product_Support_and_License_Website_Links_-_Production_Support_Service_Level_Agreement_">
- <title> Production Support Service Level Agreement </title>
- <para>
- <ulink url="http://www.redhat.com/support/policy/sla/production/">http://www.redhat.com/support/policy/sla/production/</ulink>
- </para>
- </formalpara>
- <formalpara id="form-Release_Notes-_Product_Support_and_License_Website_Links_-_Developer_Support_Scope_of_Coverage_">
- <title> Developer Support Scope of Coverage </title>
- <para>
- <ulink url="http://www.redhat.com/support/policy/soc/developer/">http://www.redhat.com/support/policy/soc/developer/</ulink>
- </para>
- </formalpara>
- <formalpara id="form-Release_Notes-_Product_Support_and_License_Website_Links_-_Developer_Support_Service_Level_Agreement_">
- <title> Developer Support Service Level Agreement </title>
- <para>
- <ulink url="http://www.redhat.com/support/policy/sla/developer/">http://www.redhat.com/support/policy/sla/developer/</ulink>
- </para>
- </formalpara>
- <formalpara id="form-Release_Notes-_Product_Support_and_License_Website_Links_-_Product_Update_and_Support_Policy_by_Product_">
- <title> Product Update and Support Policy by Product </title>
- <para>
- <ulink url="http://www.redhat.com/security/updates/jboss_notes/">http://www.redhat.com/security/updates/jboss_notes/</ulink>
- </para>
- </formalpara>
- <formalpara id="form-Release_Notes-_Product_Support_and_License_Website_Links_-_JBoss_End_User_License_Agreement_">
- <title> JBoss End User License Agreement </title>
- <para>
- <ulink url="http://www.redhat.com/licenses/jboss_eula.html">http://www.redhat.com/licenses/jboss_eula.html</ulink>
- </para>
- </formalpara>
- </section>
-
- <xi:include href="Revision_History.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
- <index />
-</article>
-
Copied: epp/docs/branches/5.2/Site_Publisher/Release_Notes/en-US/Site_Publisher_5.2.0_Release_Notes.ent (from rev 8009, epp/docs/branches/5.2/Site_Publisher/Release_Notes/en-US/Site_Publisher_5.1.1_Release_Notes.ent)
===================================================================
--- epp/docs/branches/5.2/Site_Publisher/Release_Notes/en-US/Site_Publisher_5.2.0_Release_Notes.ent (rev 0)
+++ epp/docs/branches/5.2/Site_Publisher/Release_Notes/en-US/Site_Publisher_5.2.0_Release_Notes.ent 2011-11-09 03:30:26 UTC (rev 8013)
@@ -0,0 +1,14 @@
+<!-- Product Specifics: -->
+<!ENTITY PRODUCT "JBoss Site Publisher">
+
+<!-- Book specifics: -->
+<!ENTITY BOOKID "Site Publisher Release Notes">
+
+<!-- Corporate Specifics: -->
+<!ENTITY YEAR "2011">
+<!ENTITY HOLDER "Red Hat, Inc">
+
+<!-- Version Specifcs: -->
+<!ENTITY VX "5">
+<!ENTITY VY "5.2">
+<!ENTITY VZ "5.2.0">
\ No newline at end of file
Copied: epp/docs/branches/5.2/Site_Publisher/Release_Notes/en-US/Site_Publisher_5.2.0_Release_Notes.xml (from rev 8009, epp/docs/branches/5.2/Site_Publisher/Release_Notes/en-US/Site_Publisher_5.1.1_Release_Notes.xml)
===================================================================
--- epp/docs/branches/5.2/Site_Publisher/Release_Notes/en-US/Site_Publisher_5.2.0_Release_Notes.xml (rev 0)
+++ epp/docs/branches/5.2/Site_Publisher/Release_Notes/en-US/Site_Publisher_5.2.0_Release_Notes.xml 2011-11-09 03:30:26 UTC (rev 8013)
@@ -0,0 +1,169 @@
+<?xml version='1.0' encoding='utf-8' ?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+<!ENTITY % BOOK_ENTITIES SYSTEM "Release_Notes.ent">
+%BOOK_ENTITIES;
+]>
+<article>
+ <xi:include href="Article_Info.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <section id="sect-Release_Notes-Introduction">
+ <title>Introduction</title>
+ <para>
+ JBoss Site Publisher (powered by eXo) is a new add-on component for JBoss Enterprise Portal Platform. Site Publisher enables users to create, edit and publish rich web content within the context of their portal installation.
+ </para>
+ <note>
+ <title>Subscription</title>
+ <para>
+ Subscriptions to JBoss Site Publisher are available at an additional fee over and above JBoss Enterprise Portal Platform subscriptions.
+ </para>
+ </note>
+ <para>
+ JBoss Site Publisher simplifies the authoring and management for every website an organization needs to deploy. It includes the ability to administer sites, manage navigation, and publish content. Site Publisher delivers powerful functionality to everyone responsible for maintaining web content:
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ Webmasters can easily administer multiple websites.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Website administrators can set permission policies according to user roles to better control website changes.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Content providers can use JBoss Enterprise Portal Platform’s tools to create content and then choose how to publish it using blogs, RSS feeds, social networks and more.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Web developers can introduce other forms of rich media content to create truly professional websites easily and efficiently.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </section>
+
+ <section id="sect-Release_Notes-Component_Features">
+ <title><remark>Component Features</remark></title>
+ <variablelist>
+ <varlistentry>
+ <term>Waiting...</term>
+ <listitem>
+ <para>
+ ...on content.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </section>
+
+ <section id="sect-Release_Notes-Installation">
+ <title>Installation</title>
+ <para>
+ The JBoss Site Publisher Installation Guide contains detailed installation instructions as well as environment requirements.
+ </para>
+ <para>
+ The Installation Guide can be found online at <ulink type="http" url="http://docs.redhat.com/docs/en-US/JBoss_Enterprise_Portal_Platform/index...."/>.
+ </para>
+ </section>
+
+
+
+ <section id="sect-5.1.1_Release_Notes-Issues_Resolved_In_Production">
+ <title><remark>Issues Resolved In Production</remark></title>
+ <para>
+ The following issues were resolved in the production process of Site Publisher:
+ </para>
+ <xi:include href="resolved_issues.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+ </section>
+
+ <section id="sect-5.1.1_Release_Notes-Issues_Resolved_Upstream">
+ <title>Issues Resolved Upstream</title>
+ <para>
+ Awaiting triage efforts.
+ </para>
+ </section>
+
+ <section id="sect-5.1.1_Release_Notes-Known_Issues">
+ <title><remark>Known Issues</remark></title>
+ <!-- <xi:include href="known_issues.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+ -->
+ <para>
+ Awaiting triage efforts.
+ </para>
+ </section>
+
+ <!--<section>
+ <title><remark>NEEDINFO</remark></title>
+ <xi:include href="need_info.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+ </section>-->
+
+ <!--<section>
+ <title><remark>Not Yet Documented</remark></title>
+ <xi:include href="not_documented.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+ </section>-->
+
+ <!--<section id="sect-5.1.1_Release_Notes-Migration">
+ <title><remark>Migration</remark></title>
+ <para>
+ Stuff about migration from 5.1.0 to 5.1.1.
+ </para>
+ </section>-->
+
+ <section id="sect-Release_Notes-Documentation">
+ <title>Documentation</title>
+ <para>
+ An Installation Guide and a User Guide for JBoss Site Publisher are available at <ulink type="http" url="http://docs.redhat.com/docs/en-US/JBoss_Enterprise_Portal_Platform/index...." />. JBoss Enterprise Portal Platform specific documentation is also available from this location.
+ </para>
+ </section>
+
+ <section id="sect-Release_Notes-_Product_Support_and_License_Website_Links_">
+ <title> Product Support and License Website Links </title>
+ <formalpara id="form-Release_Notes-_Product_Support_and_License_Website_Links_-Support_Processes">
+ <title>Support Processes</title>
+ <para>
+ <ulink url="http://www.redhat.com/support/process/">http://www.redhat.com/support/process/</ulink>
+ </para>
+ </formalpara>
+ <formalpara id="form-Release_Notes-_Product_Support_and_License_Website_Links_-_Production_Support_Scope_of_Coverage_">
+ <title> Production Support Scope of Coverage </title>
+ <para>
+ <ulink url="http://www.redhat.com/support/policy/soc/production">http://www.redhat.com/support/policy/soc/production</ulink>
+ </para>
+ </formalpara>
+ <formalpara id="form-Release_Notes-_Product_Support_and_License_Website_Links_-_Production_Support_Service_Level_Agreement_">
+ <title> Production Support Service Level Agreement </title>
+ <para>
+ <ulink url="http://www.redhat.com/support/policy/sla/production/">http://www.redhat.com/support/policy/sla/production/</ulink>
+ </para>
+ </formalpara>
+ <formalpara id="form-Release_Notes-_Product_Support_and_License_Website_Links_-_Developer_Support_Scope_of_Coverage_">
+ <title> Developer Support Scope of Coverage </title>
+ <para>
+ <ulink url="http://www.redhat.com/support/policy/soc/developer/">http://www.redhat.com/support/policy/soc/developer/</ulink>
+ </para>
+ </formalpara>
+ <formalpara id="form-Release_Notes-_Product_Support_and_License_Website_Links_-_Developer_Support_Service_Level_Agreement_">
+ <title> Developer Support Service Level Agreement </title>
+ <para>
+ <ulink url="http://www.redhat.com/support/policy/sla/developer/">http://www.redhat.com/support/policy/sla/developer/</ulink>
+ </para>
+ </formalpara>
+ <formalpara id="form-Release_Notes-_Product_Support_and_License_Website_Links_-_Product_Update_and_Support_Policy_by_Product_">
+ <title> Product Update and Support Policy by Product </title>
+ <para>
+ <ulink url="http://www.redhat.com/security/updates/jboss_notes/">http://www.redhat.com/security/updates/jboss_notes/</ulink>
+ </para>
+ </formalpara>
+ <formalpara id="form-Release_Notes-_Product_Support_and_License_Website_Links_-_JBoss_End_User_License_Agreement_">
+ <title> JBoss End User License Agreement </title>
+ <para>
+ <ulink url="http://www.redhat.com/licenses/jboss_eula.html">http://www.redhat.com/licenses/jboss_eula.html</ulink>
+ </para>
+ </formalpara>
+ </section>
+
+ <xi:include href="Revision_History.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <index />
+</article>
+
Modified: epp/docs/branches/5.2/Site_Publisher/User_Guide/en-US/Book_Info.xml
===================================================================
--- epp/docs/branches/5.2/Site_Publisher/User_Guide/en-US/Book_Info.xml 2011-11-09 03:25:13 UTC (rev 8012)
+++ epp/docs/branches/5.2/Site_Publisher/User_Guide/en-US/Book_Info.xml 2011-11-09 03:30:26 UTC (rev 8013)
@@ -9,7 +9,7 @@
<productname>JBoss Enterprise Portal Platform</productname>
<productnumber>5.2</productnumber>
<edition>5.2.0</edition>
- <pubsnumber>1</pubsnumber>
+ <pubsnumber>2</pubsnumber>
<abstract>
<para>
This document provides an easy to follow guide to the functions and options available in the Enterprise Portal Platform Site Publisher extension (powered by eXo). It is intended to be accessible and useful to both experienced and novice portal users.
Modified: epp/docs/branches/5.2/Site_Publisher/User_Guide/en-US/Revision_History.xml
===================================================================
--- epp/docs/branches/5.2/Site_Publisher/User_Guide/en-US/Revision_History.xml 2011-11-09 03:25:13 UTC (rev 8012)
+++ epp/docs/branches/5.2/Site_Publisher/User_Guide/en-US/Revision_History.xml 2011-11-09 03:30:26 UTC (rev 8013)
@@ -7,6 +7,20 @@
<title>Revision History</title>
<simpara>
<revhistory>
+ <revision>
+ <revnumber>5.2.0-2</revnumber>
+ <date>Fri Oct 21 2011</date>
+ <author>
+ <firstname>Scott</firstname>
+ <surname>Mumford</surname>
+ <email></email>
+ </author>
+ <revdescription>
+ <simplelist>
+ <member>Push to staging server.</member>
+ </simplelist>
+ </revdescription>
+ </revision>
<revision>
<revnumber>5.2.0-1</revnumber>
<date>Mon Aug 29 2011</date>
Modified: epp/docs/branches/5.2/Site_Publisher/User_Guide/en-US/modules/Get_Started/Account.xml
===================================================================
--- epp/docs/branches/5.2/Site_Publisher/User_Guide/en-US/modules/Get_Started/Account.xml 2011-11-09 03:25:13 UTC (rev 8012)
+++ epp/docs/branches/5.2/Site_Publisher/User_Guide/en-US/modules/Get_Started/Account.xml 2011-11-09 03:30:26 UTC (rev 8013)
@@ -167,7 +167,7 @@
<title>Sign in</title>
<step>
<para>
- Go to the your portal's Home Page by entering the URL in the address bar (e.g: <ulink url="http://localhost:8080//portal/public/classic/" type="http"/>).
+ Go to the your portal's Home Page by entering the URL in the address bar (e.g: <ulink url="http://localhost:8080/ecmdemo/public/classic" type="http"/>).
</para>
</step>
<step>
13 years, 1 month
gatein SVN: r8012 - epp/docs/branches/5.2/Release_Notes.
by do-not-reply@jboss.org
Author: smumford
Date: 2011-11-08 22:25:13 -0500 (Tue, 08 Nov 2011)
New Revision: 8012
Removed:
epp/docs/branches/5.2/Release_Notes/en-US/
epp/docs/branches/5.2/Release_Notes/pom.xml
epp/docs/branches/5.2/Release_Notes/publican.cfg
Log:
Removed unecessary release notes doc
Deleted: epp/docs/branches/5.2/Release_Notes/pom.xml
===================================================================
--- epp/docs/branches/5.2/Release_Notes/pom.xml 2011-11-09 01:42:19 UTC (rev 8011)
+++ epp/docs/branches/5.2/Release_Notes/pom.xml 2011-11-09 03:25:13 UTC (rev 8012)
@@ -1,216 +0,0 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-
- <modelVersion>4.0.0</modelVersion>
- <groupId>org.gatein.docs.dummy</groupId>
- <artifactId>${docname}-${translation}</artifactId>
- <version>1.0-SNAPSHOT</version>
- <packaging>jdocbook</packaging>
- <name>${bookname}-(${translation})</name>
-
- <properties>
- <translation>en-US</translation>
- <docname>Release_Notes</docname>
- <bookname>Relese Notes</bookname>
- </properties>
-
- <repositories>
- <repository>
- <id>repository.jboss.org</id>
- <name>JBoss Repository</name>
- <layout>default</layout>
- <url>http://repository.jboss.org/maven2/</url>
- <snapshots>
- <enabled>false</enabled>
- </snapshots>
- </repository>
- </repositories>
- <pluginRepositories>
- <pluginRepository>
- <id>repository.jboss.org</id>
- <name>JBoss Repository</name>
- <layout>default</layout>
- <url>http://repository.jboss.org/maven2/</url>
- <snapshots>
- <enabled>false</enabled>
- </snapshots>
- </pluginRepository>
- </pluginRepositories>
-
-
- <profiles>
-
- <!-- mvn compile -->
- <profile>
- <id>all</id>
- <activation>
- <activeByDefault>true</activeByDefault>
- </activation>
- <build>
- <plugins>
- <plugin>
- <groupId>org.jboss.maven.plugins</groupId>
- <artifactId>maven-jdocbook-plugin</artifactId>
- <version>2.2.1</version>
- <extensions>true</extensions>
- <configuration>
- <formats>
- <format>
- <formatName>pdf</formatName>
- <stylesheetResource>classpath:/xslt/org/jboss/pdf.xsl</stylesheetResource>
- <finalName>${docname}.pdf</finalName>
- </format>
- <format>
- <formatName>html</formatName>
- <stylesheetResource>classpath:/xslt/org/jboss/xhtml.xsl</stylesheetResource>
- <finalName>index.html</finalName>
- </format>
- <format>
- <formatName>html_single</formatName>
- <stylesheetResource>classpath:/xslt/org/jboss/xhtml-single.xsl</stylesheetResource>
- <finalName>index.html</finalName>
- </format>
- </formats>
- </configuration>
- </plugin>
- </plugins>
- </build>
- </profile>
-
- <!-- mvn compile -Phtml -->
- <profile>
- <id>html</id>
- <activation>
- <activeByDefault>false</activeByDefault>
- </activation>
- <build>
- <plugins>
- <plugin>
- <groupId>org.jboss.maven.plugins</groupId>
- <artifactId>maven-jdocbook-plugin</artifactId>
- <version>2.2.1</version>
- <extensions>true</extensions>
- <configuration>
- <formats>
- <format>
- <formatName>html</formatName>
- <stylesheetResource>classpath:/xslt/org/jboss/xhtml.xsl</stylesheetResource>
- <finalName>index.html</finalName>
- </format>
- </formats>
- </configuration>
- </plugin>
- </plugins>
- </build>
- </profile>
-
- <!-- mvn compile -Phtml-single -->
- <profile>
- <id>html-single</id>
- <activation>
- <activeByDefault>false</activeByDefault>
- </activation>
- <build>
- <plugins>
- <plugin>
- <groupId>org.jboss.maven.plugins</groupId>
- <artifactId>maven-jdocbook-plugin</artifactId>
- <version>2.2.1</version>
- <extensions>true</extensions>
- <configuration>
- <formats>
- <format>
- <formatName>html_single</formatName>
- <stylesheetResource>classpath:/xslt/org/jboss/xhtml-single.xsl</stylesheetResource>
- <finalName>index.html</finalName>
- </format>
- </formats>
- </configuration>
- </plugin>
- </plugins>
- </build>
- </profile>
-
- <!-- mvn compile -Ppdf -->
- <profile>
- <id>pdf</id>
- <activation>
- <activeByDefault>false</activeByDefault>
- </activation>
- <build>
- <plugins>
- <plugin>
- <groupId>org.jboss.maven.plugins</groupId>
- <artifactId>maven-jdocbook-plugin</artifactId>
- <version>2.2.0</version>
- <extensions>true</extensions>
- <configuration>
- <formats>
- <format>
- <formatName>pdf</formatName>
- <stylesheetResource>classpath:/xslt/org/jboss/pdf.xsl</stylesheetResource>
- <finalName>${docname}.pdf</finalName>
- </format>
- </formats>
- </configuration>
- </plugin>
- </plugins>
- </build>
- </profile>
-
- </profiles>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.jboss.maven.plugins</groupId>
- <artifactId>maven-jdocbook-plugin</artifactId>
- <version>2.2.0</version>
- <extensions>true</extensions>
- <dependencies>
- <dependency>
- <groupId>org.jboss</groupId>
- <artifactId>jbossorg-docbook-xslt</artifactId>
- <version>1.1.0</version>
- </dependency>
- <dependency>
- <groupId>org.jboss</groupId>
- <artifactId>jbossorg-jdocbook-style</artifactId>
- <version>1.1.0</version>
- <type>jdocbook-style</type>
- </dependency>
- </dependencies>
- <configuration>
- <sourceDocumentName>${docname}.xml</sourceDocumentName>
- <sourceDirectory>.</sourceDirectory>
- <imageResource>
- <directory>${translation}</directory>
- <includes>
- <include>images/*</include>
- </includes>
- </imageResource>
- <options>
- <xincludeSupported>true</xincludeSupported>
- <xmlTransformerType>saxon</xmlTransformerType>
- <!-- needed for uri-resolvers; can be ommitted if using 'current' uri scheme -->
- <!-- could also locate the docbook dependency and inspect its version... -->
- <docbookVersion>1.72.0</docbookVersion>
- <transformerParameters>
- <property>
- <name>javax.xml.parsers.DocumentBuilderFactory</name>
- <value>org.apache.xerces.jaxp.DocumentBuilderFactoryImpl</value>
- </property>
- <property>
- <name>javax.xml.parsers.SAXParserFactory</name>
- <value>org.apache.xerces.jaxp.SAXParserFactoryImpl</value>
- </property>
- </transformerParameters>
- </options>
- </configuration>
- </plugin>
-
- </plugins>
- </build>
-
-</project>
Deleted: epp/docs/branches/5.2/Release_Notes/publican.cfg
===================================================================
--- epp/docs/branches/5.2/Release_Notes/publican.cfg 2011-11-09 01:42:19 UTC (rev 8011)
+++ epp/docs/branches/5.2/Release_Notes/publican.cfg 2011-11-09 03:25:13 UTC (rev 8012)
@@ -1,10 +0,0 @@
-# Config::Simple 4.59
-# Thu Mar 18 09:14:12 2010
-
-debug: 1
-xml_lang: en-US
-brand: JBoss
-show_remarks: 1
-cvs_branch: DOCS-RHEL-6
-cvs_root: :ext:cvs.devel.redhat.com:/cvs/dist
-cvs_pkg: JBoss_Enterprise_Portal_Platform-5.2.0_Release_Notes-5.2-web-__LANG__
\ No newline at end of file
13 years, 1 month
gatein SVN: r8011 - in epp/portal/branches/EPP_5_2_Branch: web/eXoResources/src/main/webapp/skin/DefaultSkin/portal/webui/component/control/UIWorkspace and 3 other directories.
by do-not-reply@jboss.org
Author: mwringe
Date: 2011-11-08 20:42:19 -0500 (Tue, 08 Nov 2011)
New Revision: 8011
Modified:
epp/portal/branches/EPP_5_2_Branch/portlet/web/src/main/webapp/skin/portal/webui/component/UINavigationPortlet/DefaultStylesheet.css
epp/portal/branches/EPP_5_2_Branch/web/eXoResources/src/main/webapp/skin/DefaultSkin/portal/webui/component/control/UIWorkspace/Stylesheet.css
epp/portal/branches/EPP_5_2_Branch/web/eXoResources/src/main/webapp/skin/DefaultSkin/portal/webui/component/view/UIDashboard/Stylesheet.css
epp/portal/branches/EPP_5_2_Branch/web/portal/src/main/webapp/templates/skin/webui/component/UIHomePagePortlet/DefaultSkin/background/epp/redbox-tab1-bg.jpg
epp/portal/branches/EPP_5_2_Branch/web/portal/src/main/webapp/templates/skin/webui/component/UIHomePagePortlet/DefaultStylesheet.css
Log:
JBEPP-1258: tweak some of the css to fix some of the display issues. Tested on IE7/IE8, Chrome 15 and Firefox 7.0.1
Modified: epp/portal/branches/EPP_5_2_Branch/portlet/web/src/main/webapp/skin/portal/webui/component/UINavigationPortlet/DefaultStylesheet.css
===================================================================
--- epp/portal/branches/EPP_5_2_Branch/portlet/web/src/main/webapp/skin/portal/webui/component/UINavigationPortlet/DefaultStylesheet.css 2011-11-09 00:26:01 UTC (rev 8010)
+++ epp/portal/branches/EPP_5_2_Branch/portlet/web/src/main/webapp/skin/portal/webui/component/UINavigationPortlet/DefaultStylesheet.css 2011-11-09 01:42:19 UTC (rev 8011)
@@ -33,8 +33,7 @@
.UINavigationPortlet {
background: #a3a3a3;
padding: 0;
- border-top: 1px solid #fff;
- border-bottom: 1px solid #fff;
+ border-top: 1px solid #b4b4b4;
border-left: 1px solid #b4b4b4;
border-right: 1px solid #b4b4b4;
}
@@ -254,7 +253,7 @@
/***********GroupNavigation*************/
.UINavigationPortlet .GroupNavigation {
- background-color:#ffa200;
+ background-color:#B4B4B4;
}
.UINavigationPortlet .GroupNavigation .HighlightNavigationTab > span {
Modified: epp/portal/branches/EPP_5_2_Branch/web/eXoResources/src/main/webapp/skin/DefaultSkin/portal/webui/component/control/UIWorkspace/Stylesheet.css
===================================================================
--- epp/portal/branches/EPP_5_2_Branch/web/eXoResources/src/main/webapp/skin/DefaultSkin/portal/webui/component/control/UIWorkspace/Stylesheet.css 2011-11-09 00:26:01 UTC (rev 8010)
+++ epp/portal/branches/EPP_5_2_Branch/web/eXoResources/src/main/webapp/skin/DefaultSkin/portal/webui/component/control/UIWorkspace/Stylesheet.css 2011-11-09 01:42:19 UTC (rev 8011)
@@ -17,7 +17,8 @@
.UIWorkingWorkspace .UIPageBody {
border-bottom:1px solid #B4B4B4;
border-left:1px solid #B4B4B4;
- border-right:1px solid #B4B4B4;
+ border-right:1px solid #B4B4B4;
+ width: 978px;
}
.UIWorkingWorkspace .UIPageBody .VIEW-PAGEBODY{
@@ -25,7 +26,7 @@
# -moz-border-radius:0px 0px 9px 9px;
# -webkit-border-radius:0px 0px 9px 9px;
# border-radius:0px 0px 9px 9px;
-# padding: 0px 8px 8px;
+# padding: 0px 0px 0px;
}
.MaskLayer {
Modified: epp/portal/branches/EPP_5_2_Branch/web/eXoResources/src/main/webapp/skin/DefaultSkin/portal/webui/component/view/UIDashboard/Stylesheet.css
===================================================================
--- epp/portal/branches/EPP_5_2_Branch/web/eXoResources/src/main/webapp/skin/DefaultSkin/portal/webui/component/view/UIDashboard/Stylesheet.css 2011-11-09 00:26:01 UTC (rev 8010)
+++ epp/portal/branches/EPP_5_2_Branch/web/eXoResources/src/main/webapp/skin/DefaultSkin/portal/webui/component/view/UIDashboard/Stylesheet.css 2011-11-09 01:42:19 UTC (rev 8011)
@@ -37,12 +37,18 @@
.UITabPaneDashboard {
height: auto;
- -moz-border-radius: 5px 5px 0 0;
- -webkit-border-radius: 5px 5px 0 0;
- border-radius: 5px 5px 0 0;
+ border: 1px solid #B4B4B4;
+/* -moz-border-radius: 5px 5px 0 0;
+ */
+/* -webkit-border-radius: 5px 5px 0 0;
+ */
+/* border-radius: 5px 5px 0 0;
+ */
background-color: #ffcf01;
+
padding: 0px 9px;
- margin: 0 9px;
+/* margin: 0 9px;
+ */
}
.UITabPaneDashboard .UITab {
-moz-border-radius: 4px;
Modified: epp/portal/branches/EPP_5_2_Branch/web/portal/src/main/webapp/templates/skin/webui/component/UIHomePagePortlet/DefaultSkin/background/epp/redbox-tab1-bg.jpg
===================================================================
(Binary files differ)
Modified: epp/portal/branches/EPP_5_2_Branch/web/portal/src/main/webapp/templates/skin/webui/component/UIHomePagePortlet/DefaultStylesheet.css
===================================================================
--- epp/portal/branches/EPP_5_2_Branch/web/portal/src/main/webapp/templates/skin/webui/component/UIHomePagePortlet/DefaultStylesheet.css 2011-11-09 00:26:01 UTC (rev 8010)
+++ epp/portal/branches/EPP_5_2_Branch/web/portal/src/main/webapp/templates/skin/webui/component/UIHomePagePortlet/DefaultStylesheet.css 2011-11-09 01:42:19 UTC (rev 8011)
@@ -6,8 +6,8 @@
.UIHomePagePortlet {
background: white;
- padding: 0;
- width: 976px;
+ padding: 0px;
+ width: 978px;
}
.UIHomePagePortlet .TRContainer .PortletDecoration {
@@ -117,6 +117,8 @@
.UIHomePagePortlet .HomePortletContent {
/*margin-top: 8px;*/
+ border-style: none;
+ border: 0px;
}
.UIHomePagePortlet .HomePortletContent .LeftAccountsContainer {
13 years, 1 month
gatein SVN: r8010 - epp/portal/branches/EPP_5_2_Branch/portlet/web/src/main/webapp/groovy/groovy/webui/component.
by do-not-reply@jboss.org
Author: hfnukal
Date: 2011-11-08 19:26:01 -0500 (Tue, 08 Nov 2011)
New Revision: 8010
Modified:
epp/portal/branches/EPP_5_2_Branch/portlet/web/src/main/webapp/groovy/groovy/webui/component/UIFooterPortlet.gtmpl
Log:
JBEPP-1349 Version number in footer
Modified: epp/portal/branches/EPP_5_2_Branch/portlet/web/src/main/webapp/groovy/groovy/webui/component/UIFooterPortlet.gtmpl
===================================================================
--- epp/portal/branches/EPP_5_2_Branch/portlet/web/src/main/webapp/groovy/groovy/webui/component/UIFooterPortlet.gtmpl 2011-11-08 21:32:07 UTC (rev 8009)
+++ epp/portal/branches/EPP_5_2_Branch/portlet/web/src/main/webapp/groovy/groovy/webui/component/UIFooterPortlet.gtmpl 2011-11-09 00:26:01 UTC (rev 8010)
@@ -1,6 +1,9 @@
<%
Package p = _ctx.getClass().getPackage();
-String version = p==null?"":"EPP "+p.getImplementationVersion();
+String version = "";
+if(p!=null) {
+ version = "EPP " + p.getImplementationVersion();
+}
%>
<div class="UIFooterPortlet" id="$uicomponent.id">
<div class="LeftFooter">
13 years, 1 month