gatein SVN: r2176 - in portal/trunk/docs: user-guide/en/modules and 1 other directory.
by do-not-reply@jboss.org
Author: luc.texier(a)jboss.com
Date: 2010-03-11 10:56:20 -0500 (Thu, 11 Mar 2010)
New Revision: 2176
Modified:
portal/trunk/docs/reference-guide/en/modules/Foundations.xml
portal/trunk/docs/reference-guide/en/modules/Introduction.xml
portal/trunk/docs/user-guide/en/modules/Introduction.xml
Log:
Fixed docbook headers
Modified: portal/trunk/docs/reference-guide/en/modules/Foundations.xml
===================================================================
--- portal/trunk/docs/reference-guide/en/modules/Foundations.xml 2010-03-11 15:55:32 UTC (rev 2175)
+++ portal/trunk/docs/reference-guide/en/modules/Foundations.xml 2010-03-11 15:56:20 UTC (rev 2176)
@@ -1,39 +1,19 @@
<?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 "../Reference_Guide.ent">
+%BOOK_ENTITIES;
]>
<chapter id="chap-Reference_Guide-Foundations" xmlns:x="http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
- <!--
- Copyright (C) 2009 eXo Platform SAS.
-
- This is free software; you can redistribute it and/or modify it
- under the terms of the GNU Lesser General Public License as
- published by the Free Software Foundation; either version 2.1 of
- the License, or (at your option) any later version.
-
- This software is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with this software; if not, write to the Free
- Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-
- -->
<title>Foundations</title>
<section id="sect-Reference_Guide-Foundations-Kernel">
<title>GateIn Kernel</title>
<para>
- GateIn is built on top of eXo platform, which is composed of a kernel, and a set of services that exist in two
- scopes.
- First scope is represented by <emphasis role="bold">RootContainer</emphasis> - it contains services that exist independently of any portal, and can be
- accessed by all portals.
+ &PRODUCT; is built on top of a kernel, and a set of services that exist in two scopes.
+ First scope is represented by <emphasis role="bold">RootContainer</emphasis> - it contains services that exist independently of any portal, and can be accessed by all portals.
</para>
<para>
- Second scope is portal-private in the form of <emphasis role="bold">PortalContainer</emphasis>. For each configured portal, an instance of
- PortalContainer is created.
+ Second scope is portal-private in the form of <emphasis role="bold">PortalContainer</emphasis>. For each configured portal, an instance of PortalContainer is created.
This scope contains services that have portal specific configuration, and services which should not be shared by
multiple portals.
</para>
@@ -569,4 +549,4 @@
</section>
-</chapter>
\ No newline at end of file
+</chapter>
Modified: portal/trunk/docs/reference-guide/en/modules/Introduction.xml
===================================================================
--- portal/trunk/docs/reference-guide/en/modules/Introduction.xml 2010-03-11 15:55:32 UTC (rev 2175)
+++ portal/trunk/docs/reference-guide/en/modules/Introduction.xml 2010-03-11 15:56:20 UTC (rev 2176)
@@ -1,60 +1,83 @@
<?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 "../Reference_Guide.ent">
+%BOOK_ENTITIES;
]>
<chapter id="chap-Reference_Guide-Introduction">
- <!--
+<title>Introduction</title>
- Copyright (C) 2009 eXo Platform SAS.
-
- This is free software; you can redistribute it and/or modify it
- under the terms of the GNU Lesser General Public License as
- published by the Free Software Foundation; either version 2.1 of
- the License, or (at your option) any later version.
-
- This software is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with this software; if not, write to the Free
- Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-
- --><title>Introduction</title>
-
<para>
- &PRODUCT; is a merge of two mature projects; JBoss Portal and eXo Portal. It takes the best of both offerings and incorporates them into a single new project. The aim is to provide an intuitive portal for as-is use and a framework to build upon depending on your needs.
+ &PRODUCT; 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 j2ee deployment archive. 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>
- <imagedata fileref="images/Frontpage.png" format="PNG" scalefit="1" width="444" />
+ <imageobject role="html">
+ <imagedata fileref="images/Frontpage.png" format="PNG" align="center" scale="110" />
</imageobject>
+ <imageobject role="fo">
+ <imagedata fileref="images/Frontpage.png" format="PNG" align="center" contentwidth="150mm" />
+ </imageobject>
</mediaobject>
<para>
- This book explains how to configure various aspects of &PRODUCT;, including navigation, skins and database variables.
+ This book provides deep-dive information about the installation and configuration of the services provide by GateIn.
</para>
+<!--
<para>
Refer to the <ulink type="http" url="http://redhat.com/docs">&PRODUCT; Installation Guide</ulink> for information on downloading and installing the product or the <ulink type="http" url="http://redhat.com/docs">&PRODUCT; User Guide</ulink> for information on basic usage.
</para>
+-->
<section id="sect-Install_Guide-Introduction-Related_Links">
<title>Related Links</title>
<itemizedlist>
<listitem>
<para>
- GateIn project homepage. GateIn 3.0 is the community project that &PRODUCT; is based on. <ulink url="http://www.gatein.org" />
+ GateIn homepage:
+ <ulink url="http://www.gatein.org">www.gatein.org</ulink>
</para>
+ <mediaobject>
+ <imageobject role="html">
+ <imagedata fileref="images/GateIn.png" format="PNG" align="center" scale="110"/>
+ </imageobject>
+ <imageobject role="fo">
+ <imagedata fileref="images/GateIn.png" format="PNG" align="center" contentwidth="150mm"/>
+ </imageobject>
+ </mediaobject>
</listitem>
<listitem>
<para>
- GateIn downloads: <ulink url="http://www.jboss.org/gatein/downloads.html">www.jboss.org/gatein/downloads.html</ulink>
+ GateIn videos:
+ <ulink url="http://www.jboss.org/gatein/videos.html">www.jboss.org/gatein/videos.html</ulink>
</para>
+ <mediaobject>
+ <imageobject role="html">
+ <imagedata fileref="images/Videos.png" format="PNG" align="center" scale="110" />
+ </imageobject>
+ <imageobject role="fo">
+ <imagedata fileref="images/Videos.png" format="PNG" align="center" contentwidth="150mm"/>
+ </imageobject>
+ </mediaobject>
+
</listitem>
<listitem>
<para>
- Further documentation about the Red Hat &PRODUCT; and other Red Hat products can be found at <ulink type="http" url="www.redhat.com/docs" />
+ GateIn documentation:
+ <ulink url="http://www.jboss.org/gatein/documentation.html">www.jboss.org/gatein/documentation.html</ulink>
</para>
</listitem>
+ <listitem>
+ <para>
+ GateIn downloads:
+ <ulink url="http://www.jboss.org/gatein/downloads.html">www.jboss.org/gatein/downloads.html</ulink>
+ </para>
+ <mediaobject>
+ <imageobject role="html">
+ <imagedata fileref="images/Downloads.png" format="PNG" align="center" scale="110" />
+ </imageobject>
+ <imageobject role="fo">
+ <imagedata fileref="images/Downloads.png" format="PNG" align="center" contentwidth="150mm"/>
+ </imageobject>
+ </mediaobject>
+
+ </listitem>
</itemizedlist>
</section>
Modified: portal/trunk/docs/user-guide/en/modules/Introduction.xml
===================================================================
--- portal/trunk/docs/user-guide/en/modules/Introduction.xml 2010-03-11 15:55:32 UTC (rev 2175)
+++ portal/trunk/docs/user-guide/en/modules/Introduction.xml 2010-03-11 15:56:20 UTC (rev 2176)
@@ -20,7 +20,7 @@
This book introduces and provides detailed information about most features and capabilities of &PRODUCT; such as user/group management and access permissions, using portlets and changing basic interface objects such as skins, language and page orientation.
</para>
<para>
- Refer to <ulink type="http" url="http://www.jboss.org/gatein/documentation.html">&PRODUCT; Installation Guide</ulink> for information on downloading and installing the project or <ulink type="http" url="http://www.jboss.org/gatein/documentation.html">&PRODUCT; Reference Guide</ulink> for detailed information on all aspects of the project.
+ Refer to <ulink type="http" url="http://www.jboss.org/gatein/documentation.html">&PRODUCT; Reference Guide</ulink> for detailed information on all aspects of the project.
</para>
<section id="sect-Install_Guide-Introduction-Related_Links">
<title>Related Links</title>
16 years, 1 month
gatein SVN: r2175 - portal/trunk.
by do-not-reply@jboss.org
Author: chris.laprun(a)jboss.com
Date: 2010-03-11 10:55:32 -0500 (Thu, 11 Mar 2010)
New Revision: 2175
Modified:
portal/trunk/pom.xml
Log:
- Updated to use GA version of WSRP.
Modified: portal/trunk/pom.xml
===================================================================
--- portal/trunk/pom.xml 2010-03-11 15:50:29 UTC (rev 2174)
+++ portal/trunk/pom.xml 2010-03-11 15:55:32 UTC (rev 2175)
@@ -47,7 +47,7 @@
<org.gatein.wci.version>2.0.0-GA</org.gatein.wci.version>
<org.gatein.pc.version>2.1.0-GA</org.gatein.pc.version>
<org.picketlink.idm>1.1.1.GA</org.picketlink.idm>
- <org.gatein.wsrp.version>1.0.0-Beta09</org.gatein.wsrp.version>
+ <org.gatein.wsrp.version>1.0.0-GA</org.gatein.wsrp.version>
<org.gatein.mop.version>1.0.0-CR03</org.gatein.mop.version>
<org.slf4j.version>1.5.6</org.slf4j.version>
<rhino.version>1.6R5</rhino.version>
16 years, 1 month
gatein SVN: r2174 - in portal/trunk/docs/reference-guide/en: images and 2 other directories.
by do-not-reply@jboss.org
Author: chris.laprun(a)jboss.com
Date: 2010-03-11 10:50:29 -0500 (Thu, 11 Mar 2010)
New Revision: 2174
Added:
portal/trunk/docs/reference-guide/en/images/wsrp/
portal/trunk/docs/reference-guide/en/images/wsrp/bea.png
portal/trunk/docs/reference-guide/en/images/wsrp/bea_insider.png
portal/trunk/docs/reference-guide/en/images/wsrp/config_create.png
portal/trunk/docs/reference-guide/en/images/wsrp/config_end.png
portal/trunk/docs/reference-guide/en/images/wsrp/config_init.png
portal/trunk/docs/reference-guide/en/images/wsrp/config_refresh.png
portal/trunk/docs/reference-guide/en/images/wsrp/config_self.png
portal/trunk/docs/reference-guide/en/images/wsrp/config_usewsdl.png
portal/trunk/docs/reference-guide/en/images/wsrp/consumer_operations.png
portal/trunk/docs/reference-guide/en/images/wsrp/erase_registration.png
portal/trunk/docs/reference-guide/en/images/wsrp/erase_registration_warning.png
portal/trunk/docs/reference-guide/en/images/wsrp/modify_reg_end.png
portal/trunk/docs/reference-guide/en/images/wsrp/modify_reg_modify.png
portal/trunk/docs/reference-guide/en/images/wsrp/modify_reg_self.png
portal/trunk/docs/reference-guide/en/images/wsrp/modify_reg_self_end.png
portal/trunk/docs/reference-guide/en/images/wsrp/modify_reg_start.png
portal/trunk/docs/reference-guide/en/images/wsrp/portlets.png
portal/trunk/docs/reference-guide/en/images/wsrp/producer_blank.png
portal/trunk/docs/reference-guide/en/images/wsrp/producer_default.png
portal/trunk/docs/reference-guide/en/images/wsrp/producer_email.png
portal/trunk/docs/reference-guide/en/images/wsrp/producer_registration.png
portal/trunk/docs/reference-guide/en/images/wsrp/result.png
portal/trunk/docs/reference-guide/en/modules/WSRP.xml
Modified:
portal/trunk/docs/reference-guide/en/master.xml
Log:
- First import of WSRP documentation based on what existed in JBoss Portal.
- Replaced obvious references to JBoss Portal by &PRODUCT;
Added: portal/trunk/docs/reference-guide/en/images/wsrp/bea.png
===================================================================
(Binary files differ)
Property changes on: portal/trunk/docs/reference-guide/en/images/wsrp/bea.png
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:mime-type
+ application/octet-stream
Added: portal/trunk/docs/reference-guide/en/images/wsrp/bea_insider.png
===================================================================
(Binary files differ)
Property changes on: portal/trunk/docs/reference-guide/en/images/wsrp/bea_insider.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: portal/trunk/docs/reference-guide/en/images/wsrp/config_create.png
===================================================================
(Binary files differ)
Property changes on: portal/trunk/docs/reference-guide/en/images/wsrp/config_create.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: portal/trunk/docs/reference-guide/en/images/wsrp/config_end.png
===================================================================
(Binary files differ)
Property changes on: portal/trunk/docs/reference-guide/en/images/wsrp/config_end.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: portal/trunk/docs/reference-guide/en/images/wsrp/config_init.png
===================================================================
(Binary files differ)
Property changes on: portal/trunk/docs/reference-guide/en/images/wsrp/config_init.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: portal/trunk/docs/reference-guide/en/images/wsrp/config_refresh.png
===================================================================
(Binary files differ)
Property changes on: portal/trunk/docs/reference-guide/en/images/wsrp/config_refresh.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: portal/trunk/docs/reference-guide/en/images/wsrp/config_self.png
===================================================================
(Binary files differ)
Property changes on: portal/trunk/docs/reference-guide/en/images/wsrp/config_self.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: portal/trunk/docs/reference-guide/en/images/wsrp/config_usewsdl.png
===================================================================
(Binary files differ)
Property changes on: portal/trunk/docs/reference-guide/en/images/wsrp/config_usewsdl.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: portal/trunk/docs/reference-guide/en/images/wsrp/consumer_operations.png
===================================================================
(Binary files differ)
Property changes on: portal/trunk/docs/reference-guide/en/images/wsrp/consumer_operations.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: portal/trunk/docs/reference-guide/en/images/wsrp/erase_registration.png
===================================================================
(Binary files differ)
Property changes on: portal/trunk/docs/reference-guide/en/images/wsrp/erase_registration.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: portal/trunk/docs/reference-guide/en/images/wsrp/erase_registration_warning.png
===================================================================
(Binary files differ)
Property changes on: portal/trunk/docs/reference-guide/en/images/wsrp/erase_registration_warning.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: portal/trunk/docs/reference-guide/en/images/wsrp/modify_reg_end.png
===================================================================
(Binary files differ)
Property changes on: portal/trunk/docs/reference-guide/en/images/wsrp/modify_reg_end.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: portal/trunk/docs/reference-guide/en/images/wsrp/modify_reg_modify.png
===================================================================
(Binary files differ)
Property changes on: portal/trunk/docs/reference-guide/en/images/wsrp/modify_reg_modify.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: portal/trunk/docs/reference-guide/en/images/wsrp/modify_reg_self.png
===================================================================
(Binary files differ)
Property changes on: portal/trunk/docs/reference-guide/en/images/wsrp/modify_reg_self.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: portal/trunk/docs/reference-guide/en/images/wsrp/modify_reg_self_end.png
===================================================================
(Binary files differ)
Property changes on: portal/trunk/docs/reference-guide/en/images/wsrp/modify_reg_self_end.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: portal/trunk/docs/reference-guide/en/images/wsrp/modify_reg_start.png
===================================================================
(Binary files differ)
Property changes on: portal/trunk/docs/reference-guide/en/images/wsrp/modify_reg_start.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: portal/trunk/docs/reference-guide/en/images/wsrp/portlets.png
===================================================================
(Binary files differ)
Property changes on: portal/trunk/docs/reference-guide/en/images/wsrp/portlets.png
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:mime-type
+ application/octet-stream
Added: portal/trunk/docs/reference-guide/en/images/wsrp/producer_blank.png
===================================================================
(Binary files differ)
Property changes on: portal/trunk/docs/reference-guide/en/images/wsrp/producer_blank.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: portal/trunk/docs/reference-guide/en/images/wsrp/producer_default.png
===================================================================
(Binary files differ)
Property changes on: portal/trunk/docs/reference-guide/en/images/wsrp/producer_default.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: portal/trunk/docs/reference-guide/en/images/wsrp/producer_email.png
===================================================================
(Binary files differ)
Property changes on: portal/trunk/docs/reference-guide/en/images/wsrp/producer_email.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: portal/trunk/docs/reference-guide/en/images/wsrp/producer_registration.png
===================================================================
(Binary files differ)
Property changes on: portal/trunk/docs/reference-guide/en/images/wsrp/producer_registration.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: portal/trunk/docs/reference-guide/en/images/wsrp/result.png
===================================================================
(Binary files differ)
Property changes on: portal/trunk/docs/reference-guide/en/images/wsrp/result.png
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:mime-type
+ application/octet-stream
Modified: portal/trunk/docs/reference-guide/en/master.xml
===================================================================
--- portal/trunk/docs/reference-guide/en/master.xml 2010-03-11 15:25:55 UTC (rev 2173)
+++ portal/trunk/docs/reference-guide/en/master.xml 2010-03-11 15:50:29 UTC (rev 2174)
@@ -21,98 +21,101 @@
-->
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
- "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
+ "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
<book lang="en">
- <bookinfo>
- <title>GateIn Documentation</title>
- <subtitle>GateIn</subtitle>
- <releaseinfo>This is a very rough documentation issued from the merge,
- content still has to be validated, we still hope that it can help the
- beta testers. Thanks !</releaseinfo>
+ <bookinfo>
+ <title>GateIn Documentation</title>
+ <subtitle>GateIn</subtitle>
+ <releaseinfo>This is a very rough documentation issued from the merge,
+ content still has to be validated, we still hope that it can help the
+ beta testers. Thanks !
+ </releaseinfo>
- </bookinfo>
- <toc />
+ </bookinfo>
+ <toc/>
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="modules/Introduction.xml" />
- <!--
- Table of content in Wiki Format <xi:include
- xmlns:xi="http://www.w3.org/2001/XInclude"
- href="modules/Portal_Manual.xml" />
- -->
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="modules/Introduction.xml"/>
+ <!--
+ Table of content in Wiki Format <xi:include
+ xmlns:xi="http://www.w3.org/2001/XInclude"
+ href="modules/Portal_Manual.xml" />
+ -->
- <!-- 4_Configuration -->
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="modules/Configuration.xml" />
+ <!-- 4_Configuration -->
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="modules/Configuration.xml"/>
- <!-- 5_Security -->
+ <!-- 5_Security -->
- <!-- Core/Security_Service -->
- <!--
- Outdated <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
- href="modules/Security.xml" />
- -->
+ <!-- Core/Security_Service -->
+ <!--
+ Outdated <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ href="modules/Security.xml" />
+ -->
- <!-- 6_Integration -->
+ <!-- 6_Integration -->
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="modules/Integration.xml" />
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="modules/Integration.xml"/>
- <!-- 7_SSO -->
+ <!-- 7_SSO -->
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="modules/SSO.xml" />
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="modules/SSO.xml"/>
- <!-- 8_Migration -->
- <!--
- Archived <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
- href="modules/Migration_from_2-1_to_2-2.xml" /> <xi:include
- xmlns:xi="http://www.w3.org/2001/XInclude"
- href="modules/Migration_from_2-2_to_2-5.xml" /> <xi:include
- xmlns:xi="http://www.w3.org/2001/XInclude"
- href="modules/Export-Import_Portal_Configuration.xml" />
- -->
+ <!-- 8_Migration -->
+ <!--
+ Archived <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ href="modules/Migration_from_2-1_to_2-2.xml" /> <xi:include
+ xmlns:xi="http://www.w3.org/2001/XInclude"
+ href="modules/Migration_from_2-2_to_2-5.xml" /> <xi:include
+ xmlns:xi="http://www.w3.org/2001/XInclude"
+ href="modules/Export-Import_Portal_Configuration.xml" />
+ -->
- <!-- 9_Technical_Foundations -->
+ <!-- 9_Technical_Foundations -->
- <!-- Main/Overall_Architecture -->
- <!-- Kernel/Inversion_of_Control -->
- <!-- Portlet_Container -->
- <!-- Java_Content_Repository -->
- <!-- Web_Services -->
- <!-- GateIn_Core -->
- <!-- GateIn_Kernel -->
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="modules/Foundations.xml" />
+ <!-- Main/Overall_Architecture -->
+ <!-- Kernel/Inversion_of_Control -->
+ <!-- Portlet_Container -->
+ <!-- Java_Content_Repository -->
+ <!-- Web_Services -->
+ <!-- GateIn_Core -->
+ <!-- GateIn_Kernel -->
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="modules/Foundations.xml"/>
- <!-- 10_Development_ -->
+ <!-- 10_Development_ -->
- <!-- Main/Developers -->
- <!-- http://docs.exoplatform.org -->
- <!-- Products_Tech_Overview/Components_Registry -->
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="modules/Development.xml" />
+ <!-- Main/Developers -->
+ <!-- http://docs.exoplatform.org -->
+ <!-- Products_Tech_Overview/Components_Registry -->
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="modules/Development.xml"/>
- <!-- Portlets -->
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="modules/Portlets.xml" />
+ <!-- Portlets -->
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="modules/Portlets.xml"/>
- <!-- Gadgets -->
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="modules/Gadgets.xml" />
-
+ <!-- Gadgets -->
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="modules/Gadgets.xml"/>
- <!--
- 11_Support
- http://www.exoplatform.com/portal/public/en/forum?portal:componentId=foru...
- http://faq.exoplatform.com/ http://jira.exoplatform.org/browse/Portal
- -->
+ <!-- WSRP -->
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="modules/WSRP.xml"/>
+ <!--
+ 11_Support
+ http://www.exoplatform.com/portal/public/en/forum?portal:componentId=foru...
+ http://faq.exoplatform.com/ http://jira.exoplatform.org/browse/Portal
+ -->
- <!--
- Deprecated <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
- href="modules/Advanced_User_Guide.xml" /> <xi:include
- xmlns:xi="http://www.w3.org/2001/XInclude"
- href="modules/Create_a_predefined_Portal_Navigation.xml" />
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
- href="modules/RTL.xml" /> Was in HowTo <xi:include
- xmlns:xi="http://www.w3.org/2001/XInclude"
- href="modules/Skin_Config.xml" />
- -->
+ <!--
+ Deprecated <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ href="modules/Advanced_User_Guide.xml" /> <xi:include
+ xmlns:xi="http://www.w3.org/2001/XInclude"
+ href="modules/Create_a_predefined_Portal_Navigation.xml" />
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ href="modules/RTL.xml" /> Was in HowTo <xi:include
+ xmlns:xi="http://www.w3.org/2001/XInclude"
+ href="modules/Skin_Config.xml" />
+ -->
+
</book>
Added: portal/trunk/docs/reference-guide/en/modules/WSRP.xml
===================================================================
--- portal/trunk/docs/reference-guide/en/modules/WSRP.xml (rev 0)
+++ portal/trunk/docs/reference-guide/en/modules/WSRP.xml 2010-03-11 15:50:29 UTC (rev 2174)
@@ -0,0 +1,1067 @@
+<?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 % entities SYSTEM "../Reference_Guide.ent">
+ %entities;
+ ]>
+<chapter id="wsrp">
+ <title>Web Services for Remote Portlets (WSRP)</title>
+
+ <sect1>
+ <title>Introduction</title>
+ <para>The Web Services for Remote Portlets specification defines a web service interface for accessing and
+ interacting with interactive presentation-oriented web services. It has been produced through the efforts of
+ the Web Services for Remote Portlets (WSRP) OASIS Technical Committee. It is based on the requirements
+ gathered and on the concrete proposals made to the committee.
+ </para>
+
+ <para>Scenarios that motivate WSRP functionality include:
+ <itemizedlist>
+ <listitem>Content hosts, such as portal servers, providing Portlets as presentation-oriented web services
+ that can be used by aggregation engines.
+ </listitem>
+ <listitem>Aggregating frameworks, including portal servers, consuming presentation-oriented web services
+ offered by content providers and integrating them into the framework.
+ </listitem>
+ </itemizedlist>
+ </para>
+
+ <para>More information on WSRP can be found on the
+ <ulink url="http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=wsrp">official website for WSRP</ulink>.
+ We suggest reading the
+ <ulink url="http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=wsrp">primer
+ </ulink>
+ for a good, albeit technical, overview of WSRP.
+ </para>
+ </sect1>
+
+ <sect1 id="wsrp_support">
+ <title>Level of support in GateIn</title>
+ <para>The WSRP Technical Committee defined
+ <ulink url="http://www.oasis-open.org/committees/download.php/3073">WSRP Use Profiles</ulink>
+ to help with WSRP interoperability. We will refer to terms defined in that document in
+ this section.
+ </para>
+
+ <para>&PRODUCT; provides a Simple level of support for our WSRP Producer except that out-of-band registration
+ is not currently handled. We support in-band registration and persistent local state (which are
+ defined at the Complex level).
+ </para>
+
+ <para>On the Consumer side, &PRODUCT; provides a Medium level of support for WSRP, except that we only handle
+ HTML markup (as &PRODUCT; itself doesn't handle other markup types). We do support explicit portlet cloning and
+ we fully support the PortletManagement interface.
+ </para>
+
+ <para>As far as caching goes, we have Level 1 Producer and Consumer. We support Cookie handling properly on the
+ Consumer and our Producer requires initialization of cookies (as we have found that it improved interoperabilty
+ with some consumers). We don't support custom window states or modes, as Portal doesn't either. We do, however,
+ support CSS on both the Producer (though it's more a function of the portlets than inherent Producer
+ capability) and Consumer.
+ </para>
+
+ <para>While we provide a complete implementation of WSRP 1.0, we do need to go through the
+ <ulink url="http://www.oasis-open.org/committees/download.php/6018">Conformance statements</ulink>
+ and perform more interoperability testing (an area that needs to be better supported by the WSRP Technical
+ Committee and Community at large).
+ </para>
+ </sect1>
+
+ <sect1>
+ <title>Deploying &PRODUCT;'s WSRP services</title>
+ <para>
+ &PRODUCT; provides a complete support of WSRP 1.0 standard interfaces and offers both consumer and producer
+ services. WSRP support is provided by the
+ <filename>portal-wsrp.sar</filename>
+ service archive, included in
+ the main
+ <filename>jboss-portal.sar</filename>
+ service archive, if you've obtained &PRODUCT; from a binary
+ distribution. If you don't intend on using WSRP, we recommend that you remove
+ <filename>portal-wspr.sar</filename>
+ from the main
+ <filename>jboss-portal.sar</filename>
+ service archive.
+ </para>
+ <para>If you've obtained the source distribution of &PRODUCT;, you need to build and deploy the WSRP service
+ separately. Please follow the instructions on how to install
+ <ulink url="http://docs.jboss.com/jbportal/v2.6/reference-guide/en/html/installation....">JBoss
+ Portal from the sources</ulink>. Once this is done, navigate to
+ <filename>JBOSS_PORTAL_HOME_DIRECTORY/wsrp</filename>
+ and type:
+ <command>build deploy</command>
+ At the end of the build process,
+ <filename>portal-wsrp.sar</filename>
+ is copied to
+ <filename>JBOSS_HOME/server/default/deploy</filename>.
+ </para>
+
+ <sect2 id="wsrp-ports">
+ <title>Considerations to use WSRP when running Portal on a non-default port or hostname</title>
+ <para>If you have modified the port number on which Portal runs or bound your Application Server to a specific
+ host name, you will also need
+ <ulink url="http://wiki.jboss.org/wiki/Wiki.jsp?page=WSRPChangePorts">update the port and/or hostname
+ information for WSRP
+ </ulink>
+ as found on
+ <ulink url="http://wiki.jboss.org/wiki/Wiki.jsp?page=JBossPortal">&PRODUCT;'s wiki</ulink>.
+ </para>
+ </sect2>
+
+ <sect2>
+ <title>Considerations to use WSRP with SSL</title>
+ <para>It is possible to use WSRP over SSL for secure exchange of data. Please refer to the
+ <ulink url="http://wiki.jboss.org/wiki/Wiki.jsp?page=WSRPUseSSL">instructions</ulink>
+ on how to do so from
+ <ulink url="http://wiki.jboss.org/wiki/Wiki.jsp?page=JBossPortal">&PRODUCT;'s wiki</ulink>.
+ </para>
+ </sect2>
+ </sect1>
+
+ <sect1>
+ <title>Making a portlet remotable</title>
+ <para>&PRODUCT; does<emphasis role="bold">NOT</emphasis>, by default, expose local portlets for consumption by
+ remote WSRP consumers. In order to make a portlet remotely available, it must be made "remotable" by adding a
+ <literal>remotable</literal>
+ element to the
+ <filename>jboss-portlet.xml</filename>
+ deployment descriptor for
+ that portlet. If a
+ <filename>jboss-portlet.xml</filename>
+ file does not exist, one must be added to the
+ <filename>WEB-INF</filename>
+ folder of the web application containing the portlet.
+ </para>
+ <para>In the following example, the "BasicPortlet" portlet is specified as being remotable. The
+ <literal>remotable</literal>
+ element is optional.
+ </para>
+ <example>
+ <programlisting><![CDATA[
+<?xml version="1.0" standalone="yes"?>
+<!DOCTYPE portlet-app PUBLIC "-//&PRODUCT;//DTD JBoss Portlet 2.6//EN"
+ "http://www.jboss.org/portal/dtd/jboss-portlet_2_6.dtd">
+<portlet-app>
+ <portlet>
+ <portlet-name>BasicPortlet</portlet-name>
+ <remotable>true</remotable>
+ </portlet>
+</portlet-app>]]></programlisting>
+ </example>
+ <para>
+ It is also possible to specify that all the portlets declared within a given
+ <filename>jboss-portlet.xml</filename>
+ file have a specific "remotable" status by default. This is done by adding a single
+ <literal>remotable</literal>
+ element to the root
+ <literal>portlet-app</literal>
+ element. Usually, this feature will be used to remotely expose
+ several portlets without having to specify the status for all the declared portlets. Let's look at an example:
+ </para>
+ <example>
+ <programlisting><![CDATA[
+<?xml version="1.0" standalone="yes"?>
+<!DOCTYPE portlet-app PUBLIC
+ "-//&PRODUCT;//DTD JBoss Portlet 2.6//EN"
+ "http://www.jboss.org/portal/dtd/jboss-portlet_2_6.dtd">
+<portlet-app>
+ <remotable>true</remotable>
+ <portlet>
+ <portlet-name>RemotelyExposedPortlet</portlet-name>
+ ...
+ </portlet>
+ <portlet>
+ <portlet-name>NotRemotelyExposedPortlet</portlet-name>
+ <remotable>false</remotable>
+ ...
+ </portlet>
+</portlet-app>]]>
+ </programlisting>
+ </example>
+
+ <para>
+ In the example above, we defined two portlets with a default "remotable" status set to true. This means that
+ all portlets defined in this descriptor are, by default, exposed remotely by &PRODUCT;'s WSRP producer.
+ Note, however, that it is possible to override the default behavior by adding a
+ <literal>remotable</literal>
+ element to a portlet description. In that case, the "remotable" status defined by the portlet takes precedence
+ over the default. In the example above, the
+ <varname>RemotelyExposedPortlet</varname>
+ inherits the "remotable"
+ status defined by default since it does not specify a
+ <literal>remotable</literal>
+ element in its description.
+ The<varname>NotRemotelyExposedPortlet</varname>, however, overrides the default behavior and is not remotely
+ exposed. Note that in the absence of a top-level
+ <literal>remotable</literal>
+ element, portlets are NOT
+ remotely exposed.
+ </para>
+ </sect1>
+
+ <sect1>
+ <title>Consuming &PRODUCT;'s WSRP portlets from a remote Consumer</title>
+ <para>WSRP Consumers vary a lot as far as how they are configured. Most of them require that you either specify
+ the URL for the Producer's WSDL definition or the URLs for the individual endpoints. Please refer to your
+ Consumer's documentation for specific instructions. For instructions on how to do so in &PRODUCT;, please
+ refer to<xref linkend="consumer_configuration"/>.
+ </para>
+ <para>
+ &PRODUCT;'s Producer is automatically set up when you deploy a portal instance with the WSRP service.
+ You can access the WSDL file at
+ <filename>http://{hostname}:{port}/portal-wsrp/MarkupService?wsdl</filename>. You can access the endpoint URLs
+ at:
+ <itemizedlist>
+ <listitem>
+ <filename>http://{hostname}:{port}/portal-wsrp/ServiceDescriptionService</filename>
+ </listitem>
+ <listitem>
+ <filename>http://{hostname}:{port}/portal-wsrp/MarkupService</filename>
+ </listitem>
+ <listitem>
+ <filename>http://{hostname}:{port}/portal-wsrp/RegistrationService</filename>
+ </listitem>
+ <listitem>
+ <filename>http://{hostname}:{port}/portal-wsrp/PortletManagementService</filename>
+ </listitem>
+ </itemizedlist>
+ The default hostname is
+ <literal>localhost</literal>
+ and the default port is 8080.
+ </para>
+ </sect1>
+
+ <sect1 id="consumer_configuration">
+ <title>Consuming remote WSRP portlets in &PRODUCT;</title>
+ <sect2>
+ <title>Overview</title>
+ <para>
+ To be able to consume WSRP portlets exposed by a remote producer, &PRODUCT;'s WSRP consumer needs to know
+ how to access that remote producer. One can configure access to a remote producer using WSRP Producer
+ descriptors. Alternatively, a portlet is provided to configure remote producers.
+ </para>
+ <para>
+ Once a remote producer has been configured, it can be made available
+ in the list of portlet providers in the Management portlet on the Admin page of &PRODUCT;. You can then
+ examine the list of portlets that are exposed by this producer and configure the portlets just like you
+ would for local portlets.
+ </para>
+ <para>
+ &PRODUCT;'s default configuration exposes some of the sample portlets for remote consumption. As a way to
+ test the WSRP service, a default consumer has been configured to consume these portlets. To make sure that
+ the service indeed works, check that there is a portlet provider with the
+ <literal>self</literal>
+ identifier in the portlet providers list in the Management portlet of the Admin page. All local portlets
+ marked as remotable are exposed as remote portlets via the
+ <literal>self</literal>
+ portlet
+ provider so that you can check that they work as expected with WSRP. The
+ <filename>portal-wsrp.sar</filename>
+ file contains a WSRP Producer descriptor (<filename>default-wsrp.xml</filename>) that configures this
+ default producer. This file can be edited or removed if needed.
+ </para>
+ </sect2>
+
+ <sect2>
+ <title>Configuring a remote producer walk-through</title>
+ <para>
+ Let's work through the steps of defining access to a remote producer so that its portlets can be
+ consumed within &PRODUCT;. We will configure access to BEA's public WSRP producer. We will first examine
+ how to do so using the configuration portlet. We will then show how the same result can be accomplish with
+ a producer descriptor.
+ </para>
+
+ <sect3 id="consumer_gui">
+ <title>Using the configuration portlet</title>
+ <para>
+ As of Portal 2.6, a configuration portlet is provided to configure access to remote WSRP Producers
+ grahically. You can access it at
+ <filename>http://{hostname}:{port}/portal/auth/portal/admin/WSRP</filename>
+ or by logging in as a Portal administrator and clicking on the WSRP tab in the Admin portal. If all went
+ well, you should see something similar to this:
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/wsrp/config_init.png" format="PNG" align="center" valign="middle"
+ scalefit="1"/>
+ </imageobject>
+ </mediaobject>
+ This screen presents all the configured producers associated with their status and possible actions on
+ them. A Consumer can be active or inactive. Activating a Consumer means that it is ready to act as a
+ portlet provider. Deactivating it will remove it from the list of available portlet providers. Note also
+ that a Consumer can be marked as requiring refresh meaning that the information held about it might not
+ be up to date and refreshing it from the remote Producer might be a good idea. This can happen for
+ several reasons: the service description for that remote Producer has not been fetched yet, the cached
+ version has expired or modifications have been made to the configuration that could potentially
+ invalidate it, thus requiring re-validation of the information.
+ </para>
+
+ <para>
+ Next, we create a new Consumer which we will call<literal>bea</literal>. Type "<literal>bea</literal>" in
+ the "Create a consumer named:" field then click on "Create consumer":
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/wsrp/config_create.png" format="PNG" align="center" valign="middle"
+ scalefit="1"/>
+ </imageobject>
+ </mediaobject>
+ You should now see a form allowing you to enter/modify the information about the Consumer.
+ Set the cache expiration value to 300 seconds and enter the WSDL URL for the producer in the text field
+ and press the "Refresh & Save" button:
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/wsrp/config_usewsdl.png" format="PNG" align="center" valign="middle"
+ scalefit="1"/>
+ </imageobject>
+ </mediaobject>
+ This will retrieve the service description associated with the Producer which WSRP is described by the
+ WSDL file found at the URL you just entered. In our case, querying the service description will allow us
+ to learn that the Producer requires registration and that it expects a value for the registration
+ property named<literal>registration/consumerRole</literal>:
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/wsrp/config_refresh.png" format="PNG" align="center" valign="middle"
+ scalefit="1"/>
+ </imageobject>
+ </mediaobject>
+ <note>At this point, there is no automated way to learn about which possible values (if any) are
+ expected by the remote Producer. In the case of BEA's public producer, the possible values are
+ indicated in the registration property description. This is not always the case... Please refer to
+ the specific Producer's documentation.
+ </note>
+ Enter "<literal>public</literal>" as the value for the registration property and press "Save &
+ Refresh" once more. You should now
+ see something similar to:
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/wsrp/config_end.png" format="PNG" align="center" valign="middle"
+ scalefit="1"/>
+ </imageobject>
+ </mediaobject>
+ The Consumer for the
+ <literal>bea</literal>
+ Producer should now be available as a portlet provider and
+ is ready to be used.
+ </para>
+ <para>
+ A producer is configured, by default, by retrieving the producer's information via a WSDL URL. There are
+ rare cases, however, where URLs need to be provided for each of the producer's end points. You can do
+ exactly that by unchecking the "Use WSDL?" checkbox, as is the case for the
+ <literal>self</literal>
+ producer:
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/wsrp/config_self.png" format="PNG" align="center" valign="middle"
+ scalefit="1"/>
+ </imageobject>
+ </mediaobject>
+ </para>
+ </sect3>
+
+ <sect3>
+ <title>Using a WSRP Producer XML descriptor</title>
+
+ <para>We will create a
+ <filename>public-bea-wsrp.xml</filename>
+ descriptor. Note that the actual name does not
+ matter as long as it ends with<filename>-wsrp.xml</filename>:
+ </para>
+ <programlisting role="XML"><![CDATA[
+<?xml version='1.0' encoding='UTF-8' ?>
+<!DOCTYPE deployments PUBLIC "-//&PRODUCT;//DTD WSRP Remote Producer Configuration 2.6//EN"
+ "http://www.jboss.org/portal/dtd/jboss-wsrp-consumer_2_6.dtd">
+<deployments>
+ <deployment>
+ <wsrp-producer id="bea" expiration-cache="300">
+ <endpoint-wsdl-url>http://wsrp.bea.com:7001/producer/producer?WSDL</endpoint-wsdl-url>
+ <registration-data>
+ <property>
+ <name>registration/consumerRole</name>
+ <lang>en</lang>
+ <value>public</value>
+ </property>
+ </registration-data>
+ </wsrp-producer>
+ </deployment>
+</deployments>]]></programlisting>
+ <para>
+ This producer descriptor gives access to BEA's public WSRP producer. We will look at the details of the
+ different elements later. Note for now the
+ <literal>producer-id</literal>
+ element with a "<literal>bea</literal>" value. Put this file in the deploy directory and start the server
+ (with &PRODUCT; and its WSRP service deployed).
+ </para>
+ <para>
+ <note>A DTD and an XML Schema for WSRP Producer XML descriptors are available in
+ <filename>jboss-portal.sar/portal-wsrp.sar/dtd/jboss-wsrp-consumer_2_6.dtd</filename>
+ and
+ <filename>jboss-portal.sar/portal-wsrp.sar/xsd/jboss-wsrp-consumer_2_6.xsd</filename>
+ </note>
+ </para>
+ </sect3>
+
+ <sect3>
+ <title>Configuring access to a remote portlet</title>
+ <para>
+ Let's now look at the Admin page and the Management portlet. Click on the "Portlet definitions" tab at
+ the
+ top. Once this is done, look at the list of available portlet providers. If all went well,
+ you should see something similar to this:
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/wsrp/portlets.png" format="PNG" align="center" valign="middle"
+ scalefit="1"/>
+ </imageobject>
+ </mediaobject>
+ </para>
+ <para>
+ We have 3 available portlet providers:
+ <literal>local, self</literal>
+ and<literal>bea</literal>. The
+ <literal>local</literal>
+ portlet provider exposes all the portlets deployed in this particular instance of Portal. As
+ explained above, the
+ <literal>self</literal>
+ provider refers to the default WSRP consumer bundled with Portal that consumes
+ the portlets exposed by the default WSRP producer. The
+ <literal>bea</literal>
+ provider corresponds to BEA's public producer
+ we just configured. Select it and click on "View portlets". You should now see something similar to:
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/wsrp/bea.png" format="PNG" align="center" valign="middle" scalefit="1"/>
+ </imageobject>
+ </mediaobject>
+ </para>
+ <para>
+ From there on out, you should be able to configure WSRP portlets just as any other. In particular, you
+ can create an instance of one of the remote portlets offered by BEA's public producer just like you would
+ create an instance of a local portlet and then assign it to a window in a page. If you go to that page,
+ you should see something similar to below for this portlet:
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/wsrp/result.png" format="PNG" align="center" valign="middle"/>
+ </imageobject>
+ </mediaobject>
+ </para>
+ </sect3>
+ </sect2>
+
+ <sect2>
+ <title>WSRP Producer descriptors</title>
+
+ <para>
+ A WSRP Producer descriptor is an XML file which name ends in
+ <filename>-wsrp.xml</filename>
+ and
+ which can be dropped in the deploy directory of the JBoss application server or nested in .sar files. It is
+ possible to configure access to several different producers within a single descriptor or use one file per
+ producer, depending on your needs. An XML Schema for the WSRP Producer descriptor format can be found at
+ <filename>jboss-portal.sar/portal-wsrp.sar/xsd/jboss-wsrp-consumer_2_6.xsd</filename>, while a (legacy) DTD
+ can be found at<filename>jboss-portal.sar/portal-wsrp.sar/dtd/jboss-wsrp-consumer_2_6.dtd</filename>.
+
+ <note>It is important to note how WSRP Producer descriptors are processed. They are read the first time the
+ WSRP service starts and the associated information is then put in the Portal database. Subsequent launch
+ of the WSRP service will use the database-stored information for all producers which identifier is
+ already known to Portal. More specifically, all the descriptors are scanned for producer identifiers.
+ Any identifier that is already known will be bypassed and the configuration associated with this remote
+ producer in the database will be used. If a producer identifier is found that wasn't already in the
+ database, that producer information will be processed and recorded in the database. Therefore, if you
+ wish to delete a producer configuration, you need to delete the associated information in the database
+ (this can be accomplished using the configuration portlet as we saw in<xref linkend="consumer_gui"/>)
+ <emphasis>AND</emphasis>
+ remove the associated information in any WSRP Producer descriptor (if such
+ information exists) as the producer will be re-created the next time the WSRP is launched if that
+ information is not removed.
+ </note>
+ </para>
+
+ <sect3>
+ <title>Required configuration information</title>
+
+ <para>Let's now look at which information needs to be provided to configure access to a remote producer.
+ </para>
+
+ <para>First, we need to provide an identifier for the producer we are configuring so that we can refer to it
+ afterwards. This is accomplished via the mandatory
+ <literal>id</literal>
+ attribute of the
+ <literal><wsrp-producer></literal>
+ element.
+ </para>
+
+ <para>&PRODUCT; also needs to learn about the remote producer's endpoints to be able to connect to the
+ remote web services and perform WSRP invocations. Two options are currently supported to provide this
+ information:
+ </para>
+
+ <para>
+ <itemizedlist>
+ <listitem>You can provide the URLs for each of the different WSRP interfaces offered by the remote
+ producer via the
+ <literal><endpoint-config></literal>
+ element and its
+ <literal><service-description-url></literal>,
+ <literal><markup-url></literal>,
+ <literal><registration-url></literal>
+ and
+ <literal><portlet-management-url></literal>
+ children. These URLs are
+ producer-specific so you will need to refer to your producer documentation or WSDL file to
+ determine
+ the appropriate values.
+ </listitem>
+ <listitem>Alternatively, and this is the easiest way to configure your producer, you can provide a URL
+ pointing to the WSDL description of the producer's WSRP services. This is accomplished via the
+ <literal><endpoint-wsdl-url></literal>
+ element. &PRODUCT; will then
+ heuristically determine, from the information contained in the WSDL file, how to connect
+ appropriately
+ to the remote WSRP services.
+ <note>It is important to note that, when using this method, &PRODUCT; will try to match a port
+ name to an interface based solely on the provided name. There are no standard names for these
+ ports so it is possible (though rare) that this matching process fails. In this case, you should
+ look at the WSDL file and provide the endpoint URLs manually, as per the previous method.
+ </note>
+ </listitem>
+ </itemizedlist>
+ </para>
+
+ <para>Both the
+ <literal>id</literal>
+ attribute and either
+ <literal><endpoint-config></literal>
+ or
+ <literal><endpoint-wsdl-url></literal>
+ elements
+ are required for a functional remote producer configuration.
+ </para>
+ </sect3>
+
+ <sect3>
+ <title>Optional configuration</title>
+ <para>It is also possible to provide addtional configuration, which, in some cases, might be important to
+ establish a proper connection to the remote producer.
+ </para>
+
+ <para>One such optional configuration concerns caching. To prevent useless roundtrips between the local
+ consumer and the remote producer, it is possible to cache some of the information sent by the producer
+ (such
+ as the list of offered portlets) for a given duration. The rate at which the information is refreshed is
+ defined by the
+ <literal>expiration-cache</literal>
+ attribute of the
+ <literal><wsrp-producer></literal>
+ element which specifies the
+ refreshing period in seconds. For example, providing a value of 120 for expiration-cache means that the
+ producer information will not be refreshed for 2 minutes after it has been somehow accessed. If no value
+ is provided, &PRODUCT; will always access the remote producer regardless of whether the remote
+ information has changed or not. Since, in most instances, the information provided by the producer does
+ not
+ change often, we recommend that you use this caching facility to minimize bandwidth usage.
+ </para>
+
+ <para>Additionally, some producers require consumers to register with them before authorizing them to access
+ their offered portlets. If you know that information beforehand, you can provide the required
+ registration
+ information in the producer configuration so that the Portal consumer can register with the remote
+ producer when required.
+ <note>At this time, though, only simple String properties are supported and it is not possible to
+ configure complex registration data. This should however be sufficient for most cases.
+ </note>
+ </para>
+
+ <para>Registration configuration is done via the
+ <literal><registration-data></literal>
+ element. Since &PRODUCT; can generate the mandatory information for you, if the remote producer does
+ not
+ require any registration properties, you only need to provide an empty
+ <literal><registration-data></literal>
+ element. Values for the registration properties
+ required by the remote producer can be provided via
+ <literal><property></literal>
+ elements. See the example below for more details. Additionally, you can override the default consumer
+ name
+ automatically provided by &PRODUCT; via the
+ <literal><consumer-name></literal>
+ element. If you choose to provide a consumer name, please remember that this should uniquely identify
+ your
+ consumer.
+ </para>
+ </sect3>
+ </sect2>
+
+ <sect2>
+ <title>Examples</title>
+
+ <para>
+ Here is the configuration of the
+ <literal>self</literal>
+ producer as found in
+ <filename>default-wsrp.xml</filename>
+ with a cache expiring every five minutes:
+ </para>
+
+ <example>
+ <programlisting><![CDATA[
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE deployments PUBLIC "-//&PRODUCT;//DTD WSRP Remote Producer Configuration 2.6//EN"
+ "http://www.jboss.org/portal/dtd/jboss-wsrp-consumer_2_6.dtd">
+
+<deployments>
+ <deployment>
+ <wsrp-producer id="self" expiration-cache="300">
+ <!--
+ we need to use the individual endpoint configuration because the configuration via
+ wsdl forces an immediate attempt to access the web service description which is not
+ available yet at this point of deployment
+ -->
+ <endpoint-config>
+ <service-description-url>
+ http://localhost:8080/portal-wsrp/ServiceDescriptionService
+ </service-description-url>
+ <markup-url>http://localhost:8080/portal-wsrp/MarkupService</markup-url>
+ <registration-url>
+ http://localhost:8080/portal-wsrp/RegistrationService
+ </registration-url>
+ <portlet-management-url>
+ http://localhost:8080/portal-wsrp/PortletManagementService
+ </portlet-management-url>
+ </endpoint-config>
+ <registration-data/>
+ </wsrp-producer>
+ </deployment>
+</deployments>]]>
+ </programlisting>
+ </example>
+
+ <para>Here is an example of a WSRP descriptor with a 2 minute caching time and manual definition of the
+ endpoint URLs:
+ </para>
+
+ <example>
+ <programlisting><![CDATA[
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE deployments PUBLIC "-//&PRODUCT;//DTD WSRP Remote Producer Configuration 2.6//EN"
+ "http://www.jboss.org/portal/dtd/jboss-wsrp-consumer_2_6.dtd">
+
+<deployments>
+ <deployment>
+ <wsrp-producer id="MyProducer" expiration-cache="120">
+ <endpoint-config>
+ <service-description-url>
+ http://www.someproducer.com/portal-wsrp/ServiceDescriptionService
+ </service-description-url>
+ <markup-url>
+ http://www.someproducer.com/portal-wsrp/MarkupService
+ </markup-url>
+ <registration-url>
+ http://www.someproducer.com/portal-wsrp/RegistrationService
+ </registration-url>
+ <portlet-management-url>
+ http://www.someproducer.com/portal-wsrp/PortletManagementService
+ </portlet-management-url>
+ </endpoint-config>
+ </wsrp-producer>
+ </deployment>
+</deployments>]]></programlisting>
+ </example>
+
+ <para>Here is an example of a WSRP descriptor with endpoint definition via remote WSDL file, registration
+ data and cache expiring every minute:
+ </para>
+
+ <example>
+ <programlisting><![CDATA[
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE deployments PUBLIC "-//&PRODUCT;//DTD WSRP Remote Producer Configuration 2.6//EN"
+ "http://www.jboss.org/portal/dtd/jboss-wsrp-consumer_2_6.dtd">
+
+<deployments>
+ <deployment>
+ <wsrp-producer id="AnotherProducer" expiration-cache="60">
+ <endpoint-wsdl-url>http://example.com/producer/producer?WSDL</endpoint-wsdl-url>
+ <registration-data>
+ <property>
+ <name>property name</name>
+ <lang>en</lang>
+ <value>property value</value>
+ </property>
+ </registration-data>
+ </wsrp-producer>
+ </deployment>
+</deployments>]]></programlisting>
+ </example>
+ </sect2>
+ </sect1>
+
+ <sect1>
+ <title>Consumers maintenance</title>
+
+ <sect2>
+ <title>Modifying a currently held registration</title>
+
+ <sect3>
+ <title>Registration modification for service upgrade</title>
+ <para>
+ Producers often offer several levels of service depending on consumers' subscription levels (for
+ example).
+ This is implemented at the WSRP level with the registration concept: producers assert which level of
+ service to provide to consumers based on the values of given registration properties.
+ </para>
+ <para>
+ It is therefore sometimes necessary to modify the registration that concretizes the service agreement
+ between a consumer and a producer. An example of easily available producer offering different level of
+ services is BEA's public producer. We configured access to that producer in
+ <xref linkend="consumer_gui"/>.
+ If you recall, the producer was requiring registration and required a value to be provided for the
+ <literal>registration/consumerRole</literal>
+ property. The description of that property indicated that
+ three values were possible:<literal>public</literal>,
+ <literal>partner</literal>
+ or
+ <literal>insider</literal>
+ each corresponding to a different service level. We registered using the
+ <literal>public</literal>
+ service level. This gave us access to three portlets as shown here:
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/wsrp/bea.png" format="png" align="center" valign="middle" scalefit="1"/>
+ </imageobject>
+ </mediaobject>
+ </para>
+ <para>
+ Suppose now that we would like to upgrade our service level to the "insider" level. We will need to
+ tell BEA's producer that our registration data has been modified. Let's see how to do this. Assuming you
+ have configured access to the producer as previously described, please go to the configuration screen for
+ the
+ <literal>bea</literal>
+ producer and modify the value of the
+ <literal>registration/consumerRole</literal>
+ to
+ <literal>insider</literal>
+ instead of<literal>public</literal>:
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/wsrp/modify_reg_start.png" format="png" align="center" valign="middle"
+ scalefit="1"/>
+ </imageobject>
+ </mediaobject>
+ Now click on "Update properties" to save the change. A "Modify registration" button should now appear to
+ let you send this new data to the remote producer:
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/wsrp/modify_reg_modify.png" format="png" align="center"
+ valign="middle" scalefit="1"/>
+ </imageobject>
+ </mediaobject>
+ Click on this new button and, if everything went well and your updated registration has been accepted by
+ the remote producer, you should see something similar to:
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/wsrp/modify_reg_end.png" format="png" align="center" valign="middle"
+ scalefit="1"/>
+ </imageobject>
+ </mediaobject>
+ You can now check the list of available portlets from the
+ <literal>bea</literal>
+ provider and verify that
+ new portlets are now available:
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/wsrp/bea_insider.png" format="png" align="center" valign="middle"
+ scalefit="1"/>
+ </imageobject>
+ </mediaobject>
+ </para>
+
+ </sect3>
+
+ <sect3 id="reg_mod_error">
+ <title>Registration modification on producer error</title>
+
+ <para>
+ It can also happen that a producer administrator decided to require more information from registered
+ consumers. In this case, invoking operations on the producer will fail with an
+ <exceptionname>OperationFailedFault</exceptionname>. &PRODUCT; will attempt to help you in this
+ situation. Let's walk through an example using the
+ <literal>self</literal>
+ producer. Let's assume that
+ registration is required without any registration properties (as is the case by default). If you go to
+ the configuration screen for this producer, you should see:
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/wsrp/config_self.png" format="png" align="center" valign="middle"
+ scalefit="1"/>
+ </imageobject>
+ </mediaobject>
+
+ Now suppose that the administrator of the producer now requires a value to be provided for an
+ <literal>email</literal>
+ registration property. We will actually see how to do perform this operation
+ in &PRODUCT; when we examine how to configure Portal's producer in<xref linkend="producer_config"/>.
+ Operations with this producer will now fail. If you suspect that a registration modification is required,
+ you should go to the configuration screen for this remote producer and refresh the information held by
+ the consumer by pressing "Refresh & Save":
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/wsrp/modify_reg_self.png" format="png" align="center" valign="middle"
+ scalefit="1"/>
+ </imageobject>
+ </mediaobject>
+
+ As you can see, the configuration screen now shows the currently held registration information and
+ the expected information from the producer. Enter a value for the
+ <literal>email</literal>
+ property
+ and then click on "Modify registration". If all went well and the producer accepted your new registration
+ data, you should see something similar to:
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/wsrp/modify_reg_self_end.png" format="png" align="center"
+ valign="middle" scalefit="1"/>
+ </imageobject>
+ </mediaobject>
+
+ <note>As of WSRP 1, it is rather difficult to ascertain for sure what caused an
+ <exceptionname>OperationFailedFault</exceptionname>
+ as it is the generic exception returned by
+ producers if something didn't quite happen as expected during a method invocation. This means that
+ <exceptionname>OperationFailedFault</exceptionname>
+ can be caused by several different reasons, one
+ of them being a request to modify the registration data. Please take a look at the log files to see
+ if you can gather more information as to what happened. WSRP 2 introduces an exception that is
+ specific to a request to modify registrations thus reducing the ambiguity that currently exists.
+ </note>
+ </para>
+ </sect3>
+ </sect2>
+
+ <sect2>
+ <title>Consumer operations</title>
+ <para>
+ Several operations are available from the consumer list view of the WSRP configuration portlet:
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/wsrp/consumer_operations.png" format="png" align="center" valign="middle"
+ scalefit="1"/>
+ </imageobject>
+ </mediaobject>
+ </para>
+ <para>
+ The available operations are:
+ <itemizedlist>
+ <listitem>Configure: displays the consumer details and allows user to edit them</listitem>
+ <listitem>
+ Refresh: forces the consumer to retrieve the service description from the remote producer to refresh
+ the local information (offered portlets, registration information, etc.)
+ </listitem>
+ <listitem>
+ Activate/Deactivate: activates/deactivates a consumer, governing whether it will be available to
+ provide portlets and receive portlet invocations
+ </listitem>
+ <listitem>
+ Register/Deregister: registers/deregisters a consumer based on whether registration is required
+ and/or acquired
+ </listitem>
+ <listitem>Delete: destroys the consumer, after deregisterting it if it was registered</listitem>
+ </itemizedlist>
+ </para>
+ </sect2>
+
+ <sect2>
+ <title>Erasing local registration data</title>
+ <para>
+ There are rare cases where it might be required to erase the local information without being able to
+ deregister first. This is the case when a consumer is registered with a producer that has been modified by
+ its administrator to not require registration anymore. If that ever was to happen (most likely, it won't),
+ you can erase the local registration information from the consumer so that it can resume interacting with
+ the remote producer. To do so, click on "Erase local registration" button next to the registration context
+ information on the consumer configuration screen:
+ </para>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/wsrp/erase_registration.png" format="png" align="center" valign="middle"/>
+ </imageobject>
+ </mediaobject>
+ <para>
+ <emphasis>Warning:</emphasis>
+ This operation is dangerous as it can result in inability to interact with the remote producer if invoked
+ when not required. A warning screen will be displayed to give you a chance to change your mind:
+ </para>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/wsrp/erase_registration_warning.png" format="png" align="center"
+ valign="middle"/>
+ </imageobject>
+ </mediaobject>
+ </sect2>
+ </sect1>
+
+ <sect1 id="producer_config">
+ <title>Configuring &PRODUCT;'s WSRP Producer</title>
+ <sect2>
+ <title>Overview</title>
+ <para>
+ You can configure the behavior of Portal's WSRP Producer by using the WSRP administration interface, which
+ is the preferred way, or by editing the
+ <filename>conf/config.xml</filename>
+ file found in
+ <filename>portal-wsrp.sar</filename>. Several aspects can be modified with respects to whether
+ registration is required for consumers to access the Producer's services. An XML Schema for the
+ configuration
+ format is available at<filename>jboss-portal.sar/portal-wsrp.sar/xsd/jboss-wsrp-producer_2_6.xsd</filename>,
+ while a (legacy) DTD is available at
+ <filename>jboss-portal.sar/portal-wsrp.sar/dtd/jboss-wsrp-producer_2_6.dtd</filename>
+ </para>
+ </sect2>
+ <sect2>
+ <title>Default configuration</title>
+ <para>
+ The default producer configuration is to require that consumers register with it before providing access its
+ services but does not require any specific registration properties (apart from what is mandated by the
+ WSRP standard). It does, however, require consumers to be registered before sending them a full service
+ description. This means that our WSRP producer will not provide the list of offered portlets and other
+ capabilities to unregistered consumers. The producer also uses the default
+ <classname>RegistrationPolicy</classname>
+ paired with the default
+ <classname>RegistrationPropertyValidator</classname>. We will look into property
+ validators in greater detail later in<xref linkend="registration-configuration"/>. Suffice to say for now
+ that this allows users to customize how Portal's WSRP Producer decides whether a given registration property
+ is valid or not.
+ </para>
+ <para>
+ &PRODUCT; 2.6.3 introduces a web interface to configure the producer's behavior. You can access it
+ by clicking on the "Producer Configuration" tab of the "WSRP" page of the "admin" portal. Here's what you
+ should see with the default configuration:
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/wsrp/producer_default.png" format="png" align="center" valign="middle"
+ scalefit="1"/>
+ </imageobject>
+ </mediaobject>
+ As would be expected, you can specify whether or not the producer will send the full service description to
+ unregistered consumers, and, if it requires registration, which
+ <classname>RegistrationPolicy</classname>
+ to
+ use (and, if needed, which<classname>RegistrationPropertyValidator</classname>), along with required
+ registration property description for which consumers must provide acceptable values to successfully
+ register.
+ </para>
+ </sect2>
+
+ <sect2 id="registration-configuration">
+ <title>Registration configuration</title>
+ <para>
+ In order to require consumers to register with Portal's producer before interacting with it, you need to
+ configure Portal's behavior with respect to registration. Registration is optional, as are registration
+ properties. The producer can require registration without requiring consumers to pass any registration
+ properties as is the case in the default configuration. Let's configure our producer starting with a blank
+ state:
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/wsrp/producer_blank.png" format="png" align="center" valign="middle"
+ scalefit="1"/>
+ </imageobject>
+ </mediaobject>
+ We will allow unregistered consumers to see the list of offered portlets so we leave the first checkbox
+ ("Access to full service description requires consumers to be registered.") unchecked. We will, however,
+ specify that consumers will need to be registered to be able to interact with our producer. Check the second
+ checkbox ("Requires registration. Modifying this information will trigger invalidation of consumer
+ registrations."). The screen should now refresh and display:
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/wsrp/producer_registration.png" format="png" align="center"
+ valign="middle" scalefit="1"/>
+ </imageobject>
+ </mediaobject>
+ You can specify the fully-qualified name for your
+ <classname>RegistrationPolicy</classname>
+ and
+ <classname>RegistrationPropertyValidator</classname>
+ there. We will keep the default value. See
+ <xref linkend="custom_registration"/>
+ for more details. Let's add, however, a registration property called
+ <literal>email</literal>. Click "Add property" and enter the appropriate information in the fields,
+ providing a description for the registration property that can be used by consumers to figure out its
+ purpose:
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/wsrp/producer_email.png" format="png" align="center" valign="middle"
+ scalefit="1"/>
+ </imageobject>
+ </mediaobject>
+ Press "Save" to record your modifications.
+
+ <note>
+ At this time, only String (xsd:string) properties are supported. If your application requires more
+ complex properties, please let us know.
+ </note>
+
+ <note>
+ If consumers are already registered with the producer, modifying the configuration of required
+ registration
+ information will trigger the invalidation of held registrations, requiring consumers to modify their
+ registration before being able to access the producer again. We saw the consumer side of that process
+ in<xref linkend="reg_mod_error"/>.
+ </note>
+ </para>
+
+ <sect3 id="custom_registration">
+ <title>Customization of Registration handling behavior</title>
+ <para>
+ Registration handling behavior can be customized by users to suit their Producer needs. This is
+ accomplished by providing an implementation of the
+ <classname>RegistrationPolicy</classname>
+ interface. This interface defines methods that are called by Portal's Registration service so that
+ decisions can be made appropriately. A default registration policy that provides basic
+ behavior is provided and should be enough for most user needs.
+ </para>
+ <para>
+ While the default registration policy provides default behavior for most registration-related aspects,
+ there is still one aspect that requires configuration: whether a given value for a registration property
+ is acceptable by the WSRP Producer. This is accomplished by plugging a
+ <classname>RegistrationPropertyValidator</classname>
+ in the default registration policy. This allows users to define their own validation mechanism.
+ </para>
+ <para>
+ Please refer to the
+ <trademark class="trade">Javadoc</trademark>
+ for
+ <classname>org.jboss.portal.registration.RegistrationPolicy</classname>
+ and
+ <classname>org.jboss.portal.Registration.policies.RegistrationPropertyValidator</classname>
+ for more
+ details on what is expected of each method.
+ </para>
+ <para>Defining a registration policy is required for the producer to be correctly configured. This is
+ accomplished by specifying the qualified class name of the registration policy. Since we anticipate that
+ most users will use the default registration policy, it is possible to provide the class
+ name of your custom property validator instead to customize the default registration policy behavior.
+ Note that property validators are only used by the default policy.
+
+ <note>Since the policy or the validator are defined via their class name and dynamically loaded, it is
+ important that you make sure that the identified class is available to the application server. One way
+ to accomplish that is to deploy your policy implementation as JAR file in your AS instance deploy
+ directory. Note also that, since both policies and validators are dynamically instantiated, they must
+ provide a default, no-argument constructor.
+ </note>
+ </para>
+ </sect3>
+ </sect2>
+ <sect2 id="strict-mode">
+ <title>WSRP validation mode</title>
+ <para>The lack of conformance kit and the wording of the WSRP specification leaves room for differing
+ interpretations, resulting in interoperability issues. It is therefore possible to encounter issues when
+ using consumers from different vendors. We have experienced such issues and have introduced a way to relax
+ the validation that our WSRP producer performs on the data provided by consumers to help with
+ interoperability by accepting data that would normally be invalid. Note that we only relax our validation
+ algorithm on aspects of the specification that are deemed harmless such as invalid language codes.
+ </para>
+ <para>
+ By default, the WSRP producer is configured in strict mode. If you experience issues with a given consumer,
+ you might want to try to relax the validation mode. This is accomplished by unchecking the "Use strict WSRP
+ compliance." checkbox on the Producer configuration screen.
+ </para>
+ </sect2>
+
+ </sect1>
+</chapter>
\ No newline at end of file
16 years, 1 month
gatein SVN: r2173 - portal/trunk/docs/reference-guide/en/modules.
by do-not-reply@jboss.org
Author: mstruk
Date: 2010-03-11 10:25:55 -0500 (Thu, 11 Mar 2010)
New Revision: 2173
Modified:
portal/trunk/docs/reference-guide/en/modules/Foundations.xml
Log:
GTNPORTAL-718 Additional Foundations docs
Modified: portal/trunk/docs/reference-guide/en/modules/Foundations.xml
===================================================================
--- portal/trunk/docs/reference-guide/en/modules/Foundations.xml 2010-03-11 15:12:41 UTC (rev 2172)
+++ portal/trunk/docs/reference-guide/en/modules/Foundations.xml 2010-03-11 15:25:55 UTC (rev 2173)
@@ -28,24 +28,24 @@
<para>
GateIn is built on top of eXo platform, which is composed of a kernel, and a set of services that exist in two
scopes.
- First scope is represented by RootContainer - it contains services that exist independently of any portal, and can be
+ First scope is represented by <emphasis role="bold">RootContainer</emphasis> - it contains services that exist independently of any portal, and can be
accessed by all portals.
</para>
<para>
- Second scope is portal-private in the form of PortalContainer. For each configured portal, an instance of
+ Second scope is portal-private in the form of <emphasis role="bold">PortalContainer</emphasis>. For each configured portal, an instance of
PortalContainer is created.
This scope contains services that have portal specific configuration, and services which should not be shared by
multiple portals.
</para>
<para>
- RootContainer and PortalContainer classes are part of the same class hierarchy - they both inherit from ExoContainer,
- which provides ExoContainerContext handling, and they also inherit methods for looking up registered services.
+ RootContainer and PortalContainer classes are part of the same class hierarchy - they both inherit from <emphasis role="bold">ExoContainer</emphasis>,
+ and they also inherit methods for looking up registered services.
</para>
<para>
Whenever a specific service is looked up through PortalContainer, and service is not available, the lookup is
delegated further up to RootContainer. We can therefore have default instance of a certain component in
- RootContainer and portal specific instances in some, or all PortalContainers, that override the default
+ RootContainer, and portal specific instances in some or all PortalContainers, that override the default
instance.
</para>
<para>
@@ -59,12 +59,12 @@
<section id="sect-Reference_Guide-Foundations-Configuring_services">
<title>Configuring services</title>
- <para>GateIn Kernel uses dependency injection to create services based on configuration.xml configuration files.
+ <para>GateIn Kernel uses dependency injection to create services based on <emphasis role="bold">configuration.xml</emphasis> configuration files.
The location of the configuration files determines if services are placed into RootContainer scope, or into PortalContainer scope.
- All configuration.xml files located at conf/configuration.xml in the classpath (any directory, or any jar in the classpath) will have their
+ All configuration.xml files located at <emphasis role="bold">conf/configuration.xml</emphasis> in the classpath (any directory, or any jar in the classpath) will have their
services configured at RootContainer scope.
- All configuration.xml files located at conf/portal/configuration.xml in the classpath will have their services configured at PortalContainer scope.
- Additionally, portal extensions can contain configuration in WEB-INF/conf/configuration.xml, and will also have their services configured at PortalContainer scope.
+ All configuration.xml files located at <emphasis role="bold">conf/portal/configuration.xml</emphasis> in the classpath will have their services configured at PortalContainer scope.
+ Additionally, <emphasis role="bold">portal extensions</emphasis> can contain configuration in <emphasis role="bold">WEB-INF/conf/configuration.xml</emphasis>, and will also have their services configured at PortalContainer scope.
</para>
<note>
Portal extensions are described later on.
@@ -77,9 +77,9 @@
<section id="sect-Reference_Guide-Foundations-Configuration_syntax-Component">
<title>Components</title>
- <para>A service component is defined in configuration.xml by using <component> element.</para>
- <para>There is only one required information when defining a service - the service implementation class, specified using <type></para>
- <para>Every component has a <key> that identifies it. If not explicitly set, a key defaults to the value of <type>.
+ <para>A service component is defined in <emphasis role="bold">configuration.xml</emphasis> by using <emphasis role="bold"><component></emphasis> element.</para>
+ <para>There is only one required information when defining a service - the service implementation class, specified using <emphasis role="bold"><type></emphasis></para>
+ <para>Every component has a <emphasis role="bold"><key></emphasis> that identifies it. If not explicitly set, a key defaults to the value of <type>.
If key can be loaded as a class, a Class object is used as a key, otherwise a String is used.</para>
<para>The usual approach is to specify an interface as a key.</para>
@@ -106,12 +106,12 @@
<title>External Plugins</title>
<para>GateIn Kernel supports non-component objects that can be configured, instantiated, and injected into registered components, using method calls.
The mechanism is called 'plugins', and allows portal extensions to add additional configurations to core services.</para>
- <para>External plugin is defined by using <external-component-plugins> wrapper element which contains one or more
- <component-plugin> definitions. <external-component-plugins> uses <target-component> to specify a target service component that will receive injected objects.</para>
+ <para>External plugin is defined by using <emphasis role="bold"><external-component-plugins></emphasis> wrapper element which contains one or more
+ <emphasis role="bold"><component-plugin></emphasis> definitions. <external-component-plugins> uses <emphasis role="bold"><target-component></emphasis> to specify a target service component that will receive injected objects.</para>
<para>Every <component-plugin> defines an implementation type, and a method on target component
- to use for injection (<set-method>). </para>
- <para>A plugin implementation class has to implement org.exoplatform.container.component.ComponentPlugin interface.</para>
- <para>In the following example PortalContainerDefinitionPlugin implements ComponentPlugin:</para>
+ to use for injection (<emphasis role="bold"><set-method></emphasis>). </para>
+ <para>A plugin implementation class has to implement <emphasis role="bold">org.exoplatform.container.component. ComponentPlugin</emphasis> interface.</para>
+ <para>In the following example <emphasis role="bold">PortalContainerDefinitionPlugin</emphasis> implements ComponentPlugin:</para>
<programlisting role="XML"><![CDATA[
<?xml version="1.0" encoding="UTF-8"?>
@@ -144,7 +144,7 @@
<section id="sect-Reference_Guide-Foundations-Configuration_syntax-Includes">
<title>Includes, and special URLs</title>
- <para>It is possible to break configuration.xml file into many smaller files, that are then included into a 'master' configuration file.
+ <para>It is possible to break <emphasis role="bold">configuration.xml</emphasis> file into many smaller files, that are then included into a 'master' configuration file.
The included files are complete configuration xml documents by themselves - they are not fragments of text.</para>
<para>An example configuration.xml that 'outsources' its content into several files:</para>
<programlisting role="XML"><![CDATA[
@@ -160,19 +160,19 @@
]]></programlisting>
<para>We see a special URL being used to reference another configuration file.
- URL schema 'war:' means, that the path that follows is resolved relative to current PortalContainer's servlet context resource path, starting at WEB-INF as a root.</para>
+ URL schema <emphasis role="bold">'war:'</emphasis> means, that the path that follows is resolved relative to current PortalContainer's servlet context resource path, starting at <emphasis role="bold">WEB-INF</emphasis> as a root.</para>
<note>Current PortalContainer is really a newly created PortalContainer, as war: URLs only make sense for PortalContainer scoped configuration.</note>
- <para>Also, thanks to extension mechanism, the servlet context used for resource loading is a unified servlet context (as explaned in a later section).</para>
- <para>To have include path resolved relative to current classpath (context classloader), use 'jar:' URL schema.</para>
+ <para>Also, thanks to extension mechanism, the servlet context used for resource loading is a <emphasis role="bold">unified servlet context</emphasis> (as explaned in a later section).</para>
+ <para>To have include path resolved relative to current classpath (context classloader), use <emphasis role="bold">'jar:'</emphasis> URL schema.</para>
</section>
<section id="sect-Reference_Guide-Foundations-Configuration_syntax-Special_vars">
<title>Special variables</title>
- <para>Configuration files may contain a special variable reference ${container.name.suffix}. This variable resolves to the name of the current portal container, prefixed by underscore (_).
+ <para>Configuration files may contain a <emphasis role="bold">special variable</emphasis> reference <emphasis>${container.name.suffix}</emphasis>. This variable resolves to the name of the current portal container, prefixed by underscore (_).
This facilitates reuse of configuration files in situations where portal specific unique names need to be assigned to some resources
(i.e. JNDI names, Database / DataSource names, JCR repository names, etc ...).</para>
<para>This variable is only defined when there is a current PortalContainer available - only for PortalContainer scoped services.</para>
- <para>A good example for this is HibernateService:</para>
+ <para>A good example for this is <emphasis role="bold">HibernateService</emphasis>:</para>
<programlisting role="XML"><![CDATA[
<?xml version="1.0" encoding="ISO-8859-1"?>
<configuration
@@ -215,25 +215,25 @@
<title>Configuring a portal</title>
<para>
- A portal is defined by several attributes.
+ A <emphasis role="bold">portal</emphasis> is defined by several attributes.
</para>
<para>
- First, there is a portal name, which is always equal to URL context to which the current portal is bound.
+ First, there is a <emphasis role="bold">portal name</emphasis>, which is always equal to URL context to which the current portal is bound.
</para>
<para>
- Second, there is a REST context name, which is used for REST access to portal application - every portal has
+ Second, there is a <emphasis role="bold">REST context name</emphasis>, which is used for REST access to portal application - every portal has
exactly one (unique) REST context name.
</para>
<para>
- Then, there is a realm name which is the name of security realm used for authentication when users log into the
+ Then, there is a <emphasis role="bold">realm name</emphasis> which is the name of security realm used for authentication when users log into the
portal.
</para>
<para>
- Finally, there is a list of dependencies - other web applications, whose resources are visible to current
+ Finally, there is a list of <emphasis role="bold">Dependencies</emphasis> - other web applications, whose resources are visible to current
portal (via extension mechanism described later), and are searched in the specified order.
</para>
@@ -320,22 +320,30 @@
</programlisting>
- <para>
+ <note>
Dependencies are part of the extension mechanism.
- </para>
+ </note>
<para>
- Every portal is represented by PortalContainer instance, which contains:
+ Every <emphasis role="bold">portal</emphasis> is represented by <emphasis role="bold">PortalContainer instance</emphasis>, which contains:
<itemizedlist>
- <listitem>associated ExoContainerContext, which contains information about the portal</listitem>
- <listitem>unified servlet context, for web-archive-relative resource loading</listitem>
- <listitem>unified classloader, for classpath based resource loading</listitem>
- <listitem>methods for retrieving services</listitem>
+ <listitem>
+ <para>associated <emphasis role="bold">ExoContainerContext</emphasis>, which contains information about the portal</para>
+ </listitem>
+ <listitem>
+ <para><emphasis role="bold">unified servlet context</emphasis>, for web-archive-relative resource loading</para>
+ </listitem>
+ <listitem>
+ <para><emphasis role="bold">unified classloader</emphasis>, for classpath based resource loading</para>
+ </listitem>
+ <listitem>
+ <para>methods for retrieving services</para>
+ </listitem>
</itemizedlist>
</para>
<para>
- Unified servlet context, and unified classloader are part of the extension mechanism (explained in next section),
+ <emphasis role="bold">Unified servlet context</emphasis>, and <emphasis role="bold">unified classloader</emphasis> are part of the <emphasis role="bold">extension mechanism</emphasis> (explained in next section),
and provide standard API (ServletContext, ClassLoader) with specific resource loading behavior - visibility into associated web application archives,
configured with Dependencies property of PortalContainerDefinition. Resources from other web applications are queried in the order specified by Dependencies.
The later entries in the list override the previous ones.
@@ -343,11 +351,11 @@
</section>
<section id="sect-Reference_Guide-Foundations-Extension_mechanism">
- <title>GateIn Extension Mechanism</title>
+ <title>GateIn Extension Mechanism, and Portal Extensions</title>
<para>
- Extension mechanism is a functionality that makes it possible to override portal resources in an almost
- plug-and-play fashion - just drop in a .war archive with the resources, and configure its position on the
+ <emphasis role="bold">Extension mechanism</emphasis> is a functionality that makes it possible to override portal resources in an almost
+ plug-and-play fashion - just drop in a .war archive with the resources, and configure its position on the portal's
classpath.
This way any customizations of the portal don't have to involve unpacking and repacking the original portal
.war archives. Instead, you create your own .war archive with changed resources, that override the resources in
@@ -355,35 +363,70 @@
</para>
<para>
- TODO: Configuring the classpath via PortalContainerDefinition's Dependencies property.
+ A web archive packaged in a way to be used through extension mechanism is called <emphasis role="bold">portal extension</emphasis>.
</para>
<para>
- TODO: Using PortalConfigOwner servlet context listener to announce resource availability.
+ There are two steps necessary to create a portal extension.
</para>
+ <para>
+ First, declare <emphasis role="bold">PortalConfigOwner</emphasis> servlet context listener in web.xml of your web application.
+ </para>
+ <para>An example of a portal extension called sample-ext:</para>
+
+ <programlisting role="XML"><![CDATA[
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!DOCTYPE web-app PUBLIC -//Sun Microsystems, Inc.//DTD Web Application 2.3//EN
+ http://java.sun.com/dtd/web-app_2_3.dtd>
+<web-app>
+
+ <display-name>sample-ext</display-name>
+
+ <listener>
+ <listener-class>org.exoplatform.container.web.PortalContainerConfigOwner</listener-class>
+ </listener>
+
+ ...
+
+</web-app>
+ ]]></programlisting>
+ <para>
+ Then, add the servlet context name of this web application in proper place in the list of Dependencies of the PortalContainerDefinition
+ of all the portal containers that you want to have access to its resources.
+ </para>
+ <para>
+ After this step your web archive will be on portal's unified classpath, and unified servlet context resource path.
+ The later in the Dependencies list your application is, the higher priority it has when resources are loaded by portal.
+ </para>
+
+ <note>
+ See 'Configuring a portal' section for example of PortalContainerDefinition, that has sample-ext at the end of its list of Dependencies.
+ </note>
+
</section>
+
<section id="sect-Reference_Guide-Foundations-Multiple_portals">
<title>Running Multiple Portals</title>
<para>
It is possible to run several independent portal containers - each bound to a different URL context - within
the same JVM instance. This kind of setup is very efficient from administration and resource consumption
- aspect. The most elegant way to reuse configuration for different coexisting portals is by way of extension
- mechanism - by inheriting resources and configuration from existing web archives, and just adding extra resources to it,
- and overriding those that need to be changed by including modified copies of specific resources.
+ aspect. The most elegant way to <emphasis role="bold">reuse</emphasis> configuration for different coexisting portals is by way of extension
+ mechanism - by <emphasis role="bold">inheriting</emphasis> resources and configuration from existing web archives, and just <emphasis role="bold">adding</emphasis> extra resources to it,
+ and <emphasis role="bold">overriding</emphasis> those that need to be changed by including modified copies.
</para>
<para>
In order for a portal application to correctly function when deployed in multiple portals, the application may
have to dynamically query the information about the current portal container. The application should not make
- any assumptions about the name of the current portal, as there are now multiple different portals in play.
+ any assumptions about the name, and other information of the current portal, as there are now multiple different portals in play.
</para>
<para>
At any point during request processing, or lifecycle event processing, your application can retrieve this
- information through org.exoplatform.container.ExoContainerContext.
- Sometimes your application needs to make sure that the proper PortalContainer - the source of ExoContainerContext - is associated with the
- current call.
+ information through <emphasis role="bold">org.exoplatform.container. ExoContainerContext</emphasis>.
+ Sometimes your application needs to make sure that the proper <emphasis role="bold">PortalContainer</emphasis>
+ - the source of <emphasis role="bold">ExoContainerContext</emphasis> - is associated with the current call.
</para>
<para>
@@ -392,18 +435,18 @@
sure the servlet/filter is associated with the current container.
</para>
<para>
- The proper way to do that is to make your servlet extend org.exoplatform.container.web.AbstractHttpServlet
+ The proper way to do that is to make your servlet extend <emphasis role="bold">org.exoplatform.container.web. AbstractHttpServlet</emphasis>
class.
- This will not only properly initialize current PortalContainer for you, but will also set the current thread's
+ This will not only properly initialize current <emphasis role="bold">PortalContainer</emphasis> for you, but will also set the current thread's
context classloader to one that looks for resources in associated web applications in the order specified by
- Dependencies configuration (as explained in Extension mechanism section).
+ <emphasis role="bold">Dependencies</emphasis> configuration (as explained in Extension mechanism section).
</para>
<para>
- Similarly for filters, make sure your filter class extends org.exoplatform.container.web.AbstractFilter.
- Both AbstractHttpServlet, and AbstractFilter have a method getContainer(), which returns the current
- PortalContainer.
+ Similarly for filters, make sure your filter class extends <emphasis role="bold">org.exoplatform.container.web. AbstractFilter</emphasis>.
+ Both <emphasis role="bold">AbstractHttpServlet</emphasis>, and <emphasis role="bold">AbstractFilter</emphasis> have a method <emphasis role="bold">getContainer()</emphasis>,
+ which returns the current <emphasis role="bold">PortalContainer</emphasis>.
- If your servlet handles the requests by implementing a service() method, you need to rename that method to match
+ If your servlet handles the requests by implementing a <emphasis role="bold">service()</emphasis> method, you need to rename that method to match
the following signature:
<programlisting role="JAVA"><![CDATA[
/**
@@ -414,13 +457,13 @@
]]></programlisting>
</para>
- <para>
+ <note>
The reason is that AbstractHttpServlet implements service() to perform its interception, and you don't want to
overwrite (by overriding) this functionality.
- </para>
+ </note>
<para>
- You may also need to access portal information within your HttpSessionListener. Again, make sure to extend the
- provided abstract class - org.exoplatform.container.web.AbstractHttpSessionListener.
+ You may also need to access portal information within your <emphasis role="bold">HttpSessionListener</emphasis>. Again, make sure to extend the
+ provided abstract class - <emphasis role="bold">org.exoplatform.container.web. AbstractHttpSessionListener</emphasis>.
Also, modify your method signitures as follows:
<programlisting role="JAVA"><![CDATA[
/**
@@ -437,30 +480,34 @@
<para>
There is another method you have to implement in this case:
<programlisting role="JAVA"><![CDATA[
+/**
+ * Method should return true if unified servlet context,
+ * and unified classloader should be made available
+ */
protected boolean requirePortalEnvironment();
]]></programlisting>
- If this method returns true, current thread's context classloader is set up according to Dependencies
+ If this method returns true, current thread's context classloader is set up according to <emphasis role="bold">Dependencies</emphasis>
configuration, and availability of the associated web applications. If it returns false, the standard
application separation rules are used for resource loading (effectively turning off the
- extension mechanism). This method exists on AbstractHttpServlet and AbstractFilter as well, where there is a
+ extension mechanism). This method exists on <emphasis role="bold">AbstractHttpServlet</emphasis> and <emphasis role="bold">AbstractFilter</emphasis> as well, where there is a
default implementation that automatically returns true, when it detects there is a current PortalContainer
present, otherwise it returns false.
</para>
<para>
- We still have to explain how to properly perform ServletContextListener based initialization, when you need
+ We still have to explain how to properly perform <emphasis role="bold">ServletContextListener</emphasis> based initialization, when you need
access to current PortalContainer.
</para>
<para>
GateIn has no direct control over the deployment of application archives (.war, .ear files) - it is the
- application server that performs the deployment. For extension mechanism to work properly, the applications,
- associated with the portal via Dependencies configuration, have to be deployed before the portal, that depends
+ application server that performs the deployment. For <emphasis role="bold">extension mechanism</emphasis> to work properly, the applications,
+ associated with the portal via <emphasis role="bold">Dependencies</emphasis> configuration, have to be deployed before the portal, that depends
on them, is initialized. On the other hand, these applications may require an already initialized PortalContainer
to properly initialize themselves - we have a recursive dependency problem. To resolve this problem, a
- mechanism of initialization tasks, and task queues, was put in place. Web applications that depend on current
+ mechanism of <emphasis role="bold">initialization tasks</emphasis>, and <emphasis role="bold">task queues</emphasis>, was put in place. Web applications that depend on current
PortalContainer for their initialization have to avoid performing their initialization directly in some
ServletContextListener executed during their deployment (before any PortalContainer was initialized). Instead,
a web application should package its initialization logic into an init task of appropriate type, and only use
@@ -497,26 +544,26 @@
}
};
- // Add post-init task for execution on all the portal containers that depend on the given ServletContext
- // according to the PortalContainerDefinitions (via Dependencies configuration)
+ // Add post-init task for execution on all the portal containers
+ // that depend on the given ServletContext according to
+ // PortalContainerDefinitions (via Dependencies configuration)
PortalContainer.addInitTask(event.getServletContext(), task);
}
}
]]></programlisting>
<para>
- The above example uses PortalContainerPostInitTask, which gets executed after the portal container has been
- initialized. In some situations you may want to execute initialization after portal container was instantiated
- but before it was initialized - use PortalContainerPreInitTask in that case. Or, you may want to execute
- initialization after all the post-init tasks have been executed - use PortalContainerPostCreateTask in that
- case.
+ The above example uses <emphasis role="bold">PortalContainerPostInitTask</emphasis>, which gets executed after the portal container has been
+ initialized. In some situations you may want to execute initialization after portal container was instantiated,
+ but before it was initialized - use <emphasis role="bold">PortalContainerPreInitTask</emphasis> in that case. Or, you may want to execute
+ initialization after all the post-init tasks have been executed - use <emphasis role="bold">PortalContainerPostCreateTask</emphasis> in that case.
</para>
<para>
- One more area that may need your attention are LoginModules. If you use custom LoginModules, that require
- current ExoContainer, make sure they extend org.exoplatform.services.security.jaas.AbstractLoginModule for
+ One more area that may need your attention are <emphasis role="bold">LoginModules</emphasis>. If you use custom LoginModules, that require
+ current ExoContainer, make sure they extend <emphasis role="bold">org.exoplatform.services.security.jaas.AbstractLoginModule</emphasis> for
proper initialization. AbstractLoginModule also takes care of the basic configuration - it recognizes two
- initialization options - portalContainerName, and realmName whose values you can access via protected fields of
+ initialization options - <emphasis role="bold">portalContainerName</emphasis>, and <emphasis role="bold">realmName</emphasis> whose values you can access via protected fields of
the same name.
</para>
16 years, 1 month
gatein SVN: r2172 - in portal/trunk/component/portal/src: test/java/org/exoplatform/portal/config and 1 other directory.
by do-not-reply@jboss.org
Author: julien_viet
Date: 2010-03-11 10:12:41 -0500 (Thu, 11 Mar 2010)
New Revision: 2172
Added:
portal/trunk/component/portal/src/test/java/org/exoplatform/portal/config/TestEscape.java
portal/trunk/component/portal/src/test/java/org/exoplatform/portal/config/TestSearch.java
Modified:
portal/trunk/component/portal/src/main/java/org/exoplatform/portal/pom/config/POMSession.java
portal/trunk/component/portal/src/main/java/org/exoplatform/portal/pom/config/Utils.java
Log:
GTNPORTAL-811 : search input not triggered after pressing enter
Modified: portal/trunk/component/portal/src/main/java/org/exoplatform/portal/pom/config/POMSession.java
===================================================================
--- portal/trunk/component/portal/src/main/java/org/exoplatform/portal/pom/config/POMSession.java 2010-03-11 15:02:35 UTC (rev 2171)
+++ portal/trunk/component/portal/src/main/java/org/exoplatform/portal/pom/config/POMSession.java 2010-03-11 15:12:41 UTC (rev 2172)
@@ -307,11 +307,15 @@
{
if (title != null)
{
+ title = Utils.queryEscape(title);
if (type == ObjectType.PAGE)
{
statement =
"jcr:path LIKE '" + workspaceChunk + "/" + ownerTypeChunk + "/" + ownerIdChunk
- + "/mop:rootpage/mop:children/mop:pages/mop:children/%' AND gtn:name='" + title + "'";
+ + "/mop:rootpage/mop:children/mop:pages/mop:children/%' AND " +
+ "(" +
+ "LOWER(gtn:name) LIKE '%" + title + "%' OR CONTAINS(gtn:name,'" + title + "')" +
+ ")";
}
else
{
Modified: portal/trunk/component/portal/src/main/java/org/exoplatform/portal/pom/config/Utils.java
===================================================================
--- portal/trunk/component/portal/src/main/java/org/exoplatform/portal/pom/config/Utils.java 2010-03-11 15:02:35 UTC (rev 2171)
+++ portal/trunk/component/portal/src/main/java/org/exoplatform/portal/pom/config/Utils.java 2010-03-11 15:12:41 UTC (rev 2172)
@@ -175,4 +175,15 @@
chunks[index] = s.substring(fromIndex, toIndex);
return chunks;
}
+
+ /**
+ * Escape the provided string for being usable as a query litteral.
+ *
+ * @param s the string to escpae
+ * @return the escaped result
+ */
+ public static String queryEscape(String s)
+ {
+ return s.replaceAll("[\\\\%_'\"]", "\\\\$0");
+ }
}
Added: portal/trunk/component/portal/src/test/java/org/exoplatform/portal/config/TestEscape.java
===================================================================
--- portal/trunk/component/portal/src/test/java/org/exoplatform/portal/config/TestEscape.java (rev 0)
+++ portal/trunk/component/portal/src/test/java/org/exoplatform/portal/config/TestEscape.java 2010-03-11 15:12:41 UTC (rev 2172)
@@ -0,0 +1,41 @@
+/*
+ * Copyright (C) 2009 eXo Platform SAS.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package org.exoplatform.portal.config;
+
+import org.exoplatform.component.test.AbstractGateInTest;
+import org.exoplatform.portal.pom.config.Utils;
+
+/**
+ * @author <a href="mailto:julien.viet@exoplatform.com">Julien Viet</a>
+ * @version $Revision$
+ */
+public class TestEscape extends AbstractGateInTest
+{
+
+ public void testQueryEscape()
+ {
+ assertEquals("\\%", Utils.queryEscape("%"));
+ assertEquals("\\'", Utils.queryEscape("'"));
+ assertEquals("\\\"", Utils.queryEscape("\""));
+ assertEquals("\\_", Utils.queryEscape("_"));
+ assertEquals("\\\\", Utils.queryEscape("\\"));
+ }
+
+}
Added: portal/trunk/component/portal/src/test/java/org/exoplatform/portal/config/TestSearch.java
===================================================================
--- portal/trunk/component/portal/src/test/java/org/exoplatform/portal/config/TestSearch.java (rev 0)
+++ portal/trunk/component/portal/src/test/java/org/exoplatform/portal/config/TestSearch.java 2010-03-11 15:12:41 UTC (rev 2172)
@@ -0,0 +1,100 @@
+/*
+ * Copyright (C) 2009 eXo Platform SAS.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package org.exoplatform.portal.config;
+
+import org.exoplatform.container.PortalContainer;
+import org.exoplatform.portal.config.model.Page;
+import org.exoplatform.portal.pom.config.POMSession;
+import org.exoplatform.portal.pom.config.POMSessionManager;
+
+import java.util.List;
+
+/**
+ * @author <a href="mailto:julien.viet@exoplatform.com">Julien Viet</a>
+ * @version $Revision$
+ */
+public class TestSearch extends AbstractPortalTest
+{
+
+ /** . */
+ private DataStorage storage;
+
+ /** . */
+ private POMSessionManager mgr;
+
+ /** . */
+ private POMSession session;
+
+ public void setUp() throws Exception
+ {
+ super.setUp();
+ begin();
+ PortalContainer container = PortalContainer.getInstance();
+ storage = (DataStorage)container.getComponentInstanceOfType(DataStorage.class);
+ mgr = (POMSessionManager)container.getComponentInstanceOfType(POMSessionManager.class);
+ session = mgr.openSession();
+ }
+
+ protected void tearDown() throws Exception
+ {
+ session.close();
+ end();
+ super.tearDown();
+ }
+
+ private void assertFound(String searchTitle, String expectedPage) throws Exception
+ {
+ Query<Page> q = new Query<Page>(null, null, null, searchTitle, Page.class);
+ List<Page> res = storage.find(q).getAll();
+ assertEquals(1, res.size());
+ assertEquals(expectedPage, res.get(0).getPageId());
+ }
+
+ private void assertNotFound(String searchTitle) throws Exception
+ {
+ Query<Page> q = new Query<Page>(null, null, null, searchTitle, Page.class);
+ List<Page> res = storage.find(q).getAll();
+ assertEquals(0, res.size());
+ }
+
+ public void testFoo() throws Exception
+ {
+ Page page = new Page();
+ page.setPageId("portal::test::searchedpage");
+ page.setTitle("Juuu Ziii");
+ storage.create(page);
+ session.save();
+
+ //
+ assertFound("Juuu Ziii", "portal::test::searchedpage");
+ assertFound("Juuu", "portal::test::searchedpage");
+ assertFound("Ziii", "portal::test::searchedpage");
+ assertFound("juuu ziii", "portal::test::searchedpage");
+ assertFound("juuu", "portal::test::searchedpage");
+ assertFound("ziii", "portal::test::searchedpage");
+ assertFound("juu", "portal::test::searchedpage");
+ assertFound("zii", "portal::test::searchedpage");
+ assertFound("ju", "portal::test::searchedpage");
+ assertFound("zi", "portal::test::searchedpage");
+
+ assertNotFound("foo");
+ assertNotFound("foo bar");
+ }
+}
16 years, 1 month
gatein SVN: r2171 - in portal/trunk/docs: user-guide/en/images and 1 other directory.
by do-not-reply@jboss.org
Author: luc.texier(a)jboss.com
Date: 2010-03-11 10:02:35 -0500 (Thu, 11 Mar 2010)
New Revision: 2171
Modified:
portal/trunk/docs/reference-guide/en/images/Frontpage.png
portal/trunk/docs/user-guide/en/images/Frontpage.png
Log:
Updated frontpage screenshot
Modified: portal/trunk/docs/reference-guide/en/images/Frontpage.png
===================================================================
(Binary files differ)
Modified: portal/trunk/docs/user-guide/en/images/Frontpage.png
===================================================================
(Binary files differ)
16 years, 1 month
gatein SVN: r2170 - in components/wsrp/trunk: admin-gui and 8 other directories.
by do-not-reply@jboss.org
Author: thomas.heute(a)jboss.com
Date: 2010-03-11 09:50:26 -0500 (Thu, 11 Mar 2010)
New Revision: 2170
Modified:
components/wsrp/trunk/admin-gui/pom.xml
components/wsrp/trunk/api/pom.xml
components/wsrp/trunk/common/pom.xml
components/wsrp/trunk/consumer/pom.xml
components/wsrp/trunk/hibernate-impl/pom.xml
components/wsrp/trunk/pom.xml
components/wsrp/trunk/producer/pom.xml
components/wsrp/trunk/test/pom.xml
components/wsrp/trunk/wsrp-producer-war/pom.xml
components/wsrp/trunk/wsrp1-ws/pom.xml
Log:
[maven-release-plugin] prepare for next development iteration
Modified: components/wsrp/trunk/admin-gui/pom.xml
===================================================================
--- components/wsrp/trunk/admin-gui/pom.xml 2010-03-11 14:50:04 UTC (rev 2169)
+++ components/wsrp/trunk/admin-gui/pom.xml 2010-03-11 14:50:26 UTC (rev 2170)
@@ -25,7 +25,7 @@
<parent>
<groupId>org.gatein.wsrp</groupId>
<artifactId>wsrp-parent</artifactId>
- <version>1.0.0-GA</version>
+ <version>1.0.1-GA-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>wsrp-admin-gui</artifactId>
Modified: components/wsrp/trunk/api/pom.xml
===================================================================
--- components/wsrp/trunk/api/pom.xml 2010-03-11 14:50:04 UTC (rev 2169)
+++ components/wsrp/trunk/api/pom.xml 2010-03-11 14:50:26 UTC (rev 2170)
@@ -25,7 +25,7 @@
<parent>
<groupId>org.gatein.wsrp</groupId>
<artifactId>wsrp-parent</artifactId>
- <version>1.0.0-GA</version>
+ <version>1.0.1-GA-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>wsrp-integration-api</artifactId>
Modified: components/wsrp/trunk/common/pom.xml
===================================================================
--- components/wsrp/trunk/common/pom.xml 2010-03-11 14:50:04 UTC (rev 2169)
+++ components/wsrp/trunk/common/pom.xml 2010-03-11 14:50:26 UTC (rev 2170)
@@ -24,7 +24,7 @@
<parent>
<groupId>org.gatein.wsrp</groupId>
<artifactId>wsrp-parent</artifactId>
- <version>1.0.0-GA</version>
+ <version>1.0.1-GA-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>wsrp-common</artifactId>
Modified: components/wsrp/trunk/consumer/pom.xml
===================================================================
--- components/wsrp/trunk/consumer/pom.xml 2010-03-11 14:50:04 UTC (rev 2169)
+++ components/wsrp/trunk/consumer/pom.xml 2010-03-11 14:50:26 UTC (rev 2170)
@@ -25,7 +25,7 @@
<parent>
<groupId>org.gatein.wsrp</groupId>
<artifactId>wsrp-parent</artifactId>
- <version>1.0.0-GA</version>
+ <version>1.0.1-GA-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>wsrp-consumer</artifactId>
Modified: components/wsrp/trunk/hibernate-impl/pom.xml
===================================================================
--- components/wsrp/trunk/hibernate-impl/pom.xml 2010-03-11 14:50:04 UTC (rev 2169)
+++ components/wsrp/trunk/hibernate-impl/pom.xml 2010-03-11 14:50:26 UTC (rev 2170)
@@ -28,7 +28,7 @@
<parent>
<groupId>org.gatein.wsrp</groupId>
<artifactId>wsrp-parent</artifactId>
- <version>1.0.0-GA</version>
+ <version>1.0.1-GA-SNAPSHOT</version>
</parent>
<groupId>org.gatein.wsrp</groupId>
Modified: components/wsrp/trunk/pom.xml
===================================================================
--- components/wsrp/trunk/pom.xml 2010-03-11 14:50:04 UTC (rev 2169)
+++ components/wsrp/trunk/pom.xml 2010-03-11 14:50:26 UTC (rev 2170)
@@ -29,7 +29,7 @@
<groupId>org.gatein.wsrp</groupId>
<artifactId>wsrp-parent</artifactId>
- <version>1.0.0-GA</version>
+ <version>1.0.1-GA-SNAPSHOT</version>
<packaging>pom</packaging>
@@ -40,9 +40,9 @@
</parent>
<scm>
- <connection>scm:svn:http://anonsvn.jboss.org/repos/gatein/components/wsrp/tags/1.0.0-GA</connection>
- <developerConnection>scm:svn:https://svn.jboss.org/repos/gatein/components/wsrp/tags/1.0.0-GA</developerConnection>
- <url>http://fisheye.jboss.org/browse/gatein/components/wsrp/tags/1.0.0-GA</url>
+ <connection>scm:svn:http://anonsvn.jboss.org/repos/gatein/components/wsrp/trunk/</connection>
+ <developerConnection>scm:svn:https://svn.jboss.org/repos/gatein/components/wsrp/trunk/</developerConnection>
+ <url>http://fisheye.jboss.org/browse/gatein/components/wsrp/trunk/</url>
</scm>
<properties>
Modified: components/wsrp/trunk/producer/pom.xml
===================================================================
--- components/wsrp/trunk/producer/pom.xml 2010-03-11 14:50:04 UTC (rev 2169)
+++ components/wsrp/trunk/producer/pom.xml 2010-03-11 14:50:26 UTC (rev 2170)
@@ -25,7 +25,7 @@
<parent>
<groupId>org.gatein.wsrp</groupId>
<artifactId>wsrp-parent</artifactId>
- <version>1.0.0-GA</version>
+ <version>1.0.1-GA-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>wsrp-producer-lib</artifactId>
Modified: components/wsrp/trunk/test/pom.xml
===================================================================
--- components/wsrp/trunk/test/pom.xml 2010-03-11 14:50:04 UTC (rev 2169)
+++ components/wsrp/trunk/test/pom.xml 2010-03-11 14:50:26 UTC (rev 2170)
@@ -3,7 +3,7 @@
<parent>
<groupId>org.gatein.wsrp</groupId>
<artifactId>wsrp-parent</artifactId>
- <version>1.0.0-GA</version>
+ <version>1.0.1-GA-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
Modified: components/wsrp/trunk/wsrp-producer-war/pom.xml
===================================================================
--- components/wsrp/trunk/wsrp-producer-war/pom.xml 2010-03-11 14:50:04 UTC (rev 2169)
+++ components/wsrp/trunk/wsrp-producer-war/pom.xml 2010-03-11 14:50:26 UTC (rev 2170)
@@ -26,7 +26,7 @@
<parent>
<groupId>org.gatein.wsrp</groupId>
<artifactId>wsrp-parent</artifactId>
- <version>1.0.0-GA</version>
+ <version>1.0.1-GA-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
Modified: components/wsrp/trunk/wsrp1-ws/pom.xml
===================================================================
--- components/wsrp/trunk/wsrp1-ws/pom.xml 2010-03-11 14:50:04 UTC (rev 2169)
+++ components/wsrp/trunk/wsrp1-ws/pom.xml 2010-03-11 14:50:26 UTC (rev 2170)
@@ -25,7 +25,7 @@
<parent>
<groupId>org.gatein.wsrp</groupId>
<artifactId>wsrp-parent</artifactId>
- <version>1.0.0-GA</version>
+ <version>1.0.1-GA-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>wsrp-wsrp1-ws</artifactId>
16 years, 1 month
gatein SVN: r2169 - components/wsrp/tags.
by do-not-reply@jboss.org
Author: thomas.heute(a)jboss.com
Date: 2010-03-11 09:50:04 -0500 (Thu, 11 Mar 2010)
New Revision: 2169
Added:
components/wsrp/tags/1.0.0-GA/
Log:
[maven-scm] copy for tag 1.0.0-GA
Copied: components/wsrp/tags/1.0.0-GA (from rev 2168, components/wsrp/trunk)
16 years, 1 month
gatein SVN: r2168 - in components/wsrp/trunk: admin-gui and 8 other directories.
by do-not-reply@jboss.org
Author: thomas.heute(a)jboss.com
Date: 2010-03-11 09:49:40 -0500 (Thu, 11 Mar 2010)
New Revision: 2168
Modified:
components/wsrp/trunk/admin-gui/pom.xml
components/wsrp/trunk/api/pom.xml
components/wsrp/trunk/common/pom.xml
components/wsrp/trunk/consumer/pom.xml
components/wsrp/trunk/hibernate-impl/pom.xml
components/wsrp/trunk/pom.xml
components/wsrp/trunk/producer/pom.xml
components/wsrp/trunk/test/pom.xml
components/wsrp/trunk/wsrp-producer-war/pom.xml
components/wsrp/trunk/wsrp1-ws/pom.xml
Log:
[maven-release-plugin] prepare release 1.0.0-GA
Modified: components/wsrp/trunk/admin-gui/pom.xml
===================================================================
--- components/wsrp/trunk/admin-gui/pom.xml 2010-03-11 13:55:38 UTC (rev 2167)
+++ components/wsrp/trunk/admin-gui/pom.xml 2010-03-11 14:49:40 UTC (rev 2168)
@@ -25,7 +25,7 @@
<parent>
<groupId>org.gatein.wsrp</groupId>
<artifactId>wsrp-parent</artifactId>
- <version>1.0.0-CR01-SNAPSHOT</version>
+ <version>1.0.0-GA</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>wsrp-admin-gui</artifactId>
Modified: components/wsrp/trunk/api/pom.xml
===================================================================
--- components/wsrp/trunk/api/pom.xml 2010-03-11 13:55:38 UTC (rev 2167)
+++ components/wsrp/trunk/api/pom.xml 2010-03-11 14:49:40 UTC (rev 2168)
@@ -25,7 +25,7 @@
<parent>
<groupId>org.gatein.wsrp</groupId>
<artifactId>wsrp-parent</artifactId>
- <version>1.0.0-CR01-SNAPSHOT</version>
+ <version>1.0.0-GA</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>wsrp-integration-api</artifactId>
Modified: components/wsrp/trunk/common/pom.xml
===================================================================
--- components/wsrp/trunk/common/pom.xml 2010-03-11 13:55:38 UTC (rev 2167)
+++ components/wsrp/trunk/common/pom.xml 2010-03-11 14:49:40 UTC (rev 2168)
@@ -24,7 +24,7 @@
<parent>
<groupId>org.gatein.wsrp</groupId>
<artifactId>wsrp-parent</artifactId>
- <version>1.0.0-CR01-SNAPSHOT</version>
+ <version>1.0.0-GA</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>wsrp-common</artifactId>
Modified: components/wsrp/trunk/consumer/pom.xml
===================================================================
--- components/wsrp/trunk/consumer/pom.xml 2010-03-11 13:55:38 UTC (rev 2167)
+++ components/wsrp/trunk/consumer/pom.xml 2010-03-11 14:49:40 UTC (rev 2168)
@@ -21,12 +21,11 @@
~ 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-->
-<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/maven-v4_0_0.xsd">
+<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/maven-v4_0_0.xsd">
<parent>
<groupId>org.gatein.wsrp</groupId>
<artifactId>wsrp-parent</artifactId>
- <version>1.0.0-CR01-SNAPSHOT</version>
+ <version>1.0.0-GA</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>wsrp-consumer</artifactId>
Modified: components/wsrp/trunk/hibernate-impl/pom.xml
===================================================================
--- components/wsrp/trunk/hibernate-impl/pom.xml 2010-03-11 13:55:38 UTC (rev 2167)
+++ components/wsrp/trunk/hibernate-impl/pom.xml 2010-03-11 14:49:40 UTC (rev 2168)
@@ -22,15 +22,13 @@
~ 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-->
-<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">
+<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>
<parent>
<groupId>org.gatein.wsrp</groupId>
<artifactId>wsrp-parent</artifactId>
- <version>1.0.0-CR01-SNAPSHOT</version>
+ <version>1.0.0-GA</version>
</parent>
<groupId>org.gatein.wsrp</groupId>
Modified: components/wsrp/trunk/pom.xml
===================================================================
--- components/wsrp/trunk/pom.xml 2010-03-11 13:55:38 UTC (rev 2167)
+++ components/wsrp/trunk/pom.xml 2010-03-11 14:49:40 UTC (rev 2168)
@@ -21,8 +21,7 @@
~ 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-->
-<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/maven-v4_0_0.xsd">
+<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
@@ -30,7 +29,7 @@
<groupId>org.gatein.wsrp</groupId>
<artifactId>wsrp-parent</artifactId>
- <version>1.0.0-CR01-SNAPSHOT</version>
+ <version>1.0.0-GA</version>
<packaging>pom</packaging>
@@ -41,9 +40,9 @@
</parent>
<scm>
- <connection>scm:svn:http://anonsvn.jboss.org/repos/gatein/components/wsrp/trunk/</connection>
- <developerConnection>scm:svn:https://svn.jboss.org/repos/gatein/components/wsrp/trunk/</developerConnection>
- <url>http://fisheye.jboss.org/browse/gatein/components/wsrp/trunk/</url>
+ <connection>scm:svn:http://anonsvn.jboss.org/repos/gatein/components/wsrp/tags/1.0.0-GA</connection>
+ <developerConnection>scm:svn:https://svn.jboss.org/repos/gatein/components/wsrp/tags/1.0.0-GA</developerConnection>
+ <url>http://fisheye.jboss.org/browse/gatein/components/wsrp/tags/1.0.0-GA</url>
</scm>
<properties>
Modified: components/wsrp/trunk/producer/pom.xml
===================================================================
--- components/wsrp/trunk/producer/pom.xml 2010-03-11 13:55:38 UTC (rev 2167)
+++ components/wsrp/trunk/producer/pom.xml 2010-03-11 14:49:40 UTC (rev 2168)
@@ -25,7 +25,7 @@
<parent>
<groupId>org.gatein.wsrp</groupId>
<artifactId>wsrp-parent</artifactId>
- <version>1.0.0-CR01-SNAPSHOT</version>
+ <version>1.0.0-GA</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>wsrp-producer-lib</artifactId>
Modified: components/wsrp/trunk/test/pom.xml
===================================================================
--- components/wsrp/trunk/test/pom.xml 2010-03-11 13:55:38 UTC (rev 2167)
+++ components/wsrp/trunk/test/pom.xml 2010-03-11 14:49:40 UTC (rev 2168)
@@ -3,7 +3,7 @@
<parent>
<groupId>org.gatein.wsrp</groupId>
<artifactId>wsrp-parent</artifactId>
- <version>1.0.0-CR01-SNAPSHOT</version>
+ <version>1.0.0-GA</version>
</parent>
<modelVersion>4.0.0</modelVersion>
Modified: components/wsrp/trunk/wsrp-producer-war/pom.xml
===================================================================
--- components/wsrp/trunk/wsrp-producer-war/pom.xml 2010-03-11 13:55:38 UTC (rev 2167)
+++ components/wsrp/trunk/wsrp-producer-war/pom.xml 2010-03-11 14:49:40 UTC (rev 2168)
@@ -26,7 +26,7 @@
<parent>
<groupId>org.gatein.wsrp</groupId>
<artifactId>wsrp-parent</artifactId>
- <version>1.0.0-CR01-SNAPSHOT</version>
+ <version>1.0.0-GA</version>
</parent>
<modelVersion>4.0.0</modelVersion>
Modified: components/wsrp/trunk/wsrp1-ws/pom.xml
===================================================================
--- components/wsrp/trunk/wsrp1-ws/pom.xml 2010-03-11 13:55:38 UTC (rev 2167)
+++ components/wsrp/trunk/wsrp1-ws/pom.xml 2010-03-11 14:49:40 UTC (rev 2168)
@@ -25,7 +25,7 @@
<parent>
<groupId>org.gatein.wsrp</groupId>
<artifactId>wsrp-parent</artifactId>
- <version>1.0.0-CR01-SNAPSHOT</version>
+ <version>1.0.0-GA</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>wsrp-wsrp1-ws</artifactId>
16 years, 1 month
gatein SVN: r2167 - portal/trunk/portlet/web/src/main/webapp/WEB-INF/classes/locale/portlet/web.
by do-not-reply@jboss.org
Author: thomas.heute(a)jboss.com
Date: 2010-03-11 08:55:38 -0500 (Thu, 11 Mar 2010)
New Revision: 2167
Modified:
portal/trunk/portlet/web/src/main/webapp/WEB-INF/classes/locale/portlet/web/GroovyPortlet_en.properties
portal/trunk/portlet/web/src/main/webapp/WEB-INF/classes/locale/portlet/web/GroovyPortlet_es.properties
portal/trunk/portlet/web/src/main/webapp/WEB-INF/classes/locale/portlet/web/GroovyPortlet_fr.properties
portal/trunk/portlet/web/src/main/webapp/WEB-INF/classes/locale/portlet/web/GroovyPortlet_it.properties
portal/trunk/portlet/web/src/main/webapp/WEB-INF/classes/locale/portlet/web/GroovyPortlet_ja.properties
portal/trunk/portlet/web/src/main/webapp/WEB-INF/classes/locale/portlet/web/GroovyPortlet_ko.xml
portal/trunk/portlet/web/src/main/webapp/WEB-INF/classes/locale/portlet/web/GroovyPortlet_ne.properties
portal/trunk/portlet/web/src/main/webapp/WEB-INF/classes/locale/portlet/web/GroovyPortlet_nl.properties
portal/trunk/portlet/web/src/main/webapp/WEB-INF/classes/locale/portlet/web/GroovyPortlet_ru.properties
portal/trunk/portlet/web/src/main/webapp/WEB-INF/classes/locale/portlet/web/GroovyPortlet_uk.properties
portal/trunk/portlet/web/src/main/webapp/WEB-INF/classes/locale/portlet/web/GroovyPortlet_vi.properties
portal/trunk/portlet/web/src/main/webapp/WEB-INF/classes/locale/portlet/web/GroovyPortlet_zh.xml
portal/trunk/portlet/web/src/main/webapp/WEB-INF/classes/locale/portlet/web/GroovyPortlet_zh_TW.xml
Log:
Change front page version to 3.0
Modified: portal/trunk/portlet/web/src/main/webapp/WEB-INF/classes/locale/portlet/web/GroovyPortlet_en.properties
===================================================================
--- portal/trunk/portlet/web/src/main/webapp/WEB-INF/classes/locale/portlet/web/GroovyPortlet_en.properties 2010-03-11 12:49:58 UTC (rev 2166)
+++ portal/trunk/portlet/web/src/main/webapp/WEB-INF/classes/locale/portlet/web/GroovyPortlet_en.properties 2010-03-11 13:55:38 UTC (rev 2167)
@@ -35,7 +35,7 @@
UIHomePagePortlet.Label.Title=Try GateIn 3.0 with one of these user accounts:
UIHomePagePortlet.Label.Intro=The new version comes with a revolutionary user interface<br/>Classic and WebOS Desktop Layouts<br/> Drag and Drop Features. Create Page Wizard<br/>And many more...
-UIHomePagePortlet.Label.Slogan=The Best of eXo and JBoss Portal<div>GateIn 3.0 CR1</div>
+UIHomePagePortlet.Label.Slogan=The Best of eXo and JBoss Portal<div>GateIn 3.0</div>
UIHomePagePortlet.Label.GuideText=For more information, please contact us.
UIHomePagePortlet.Label.IntroText=GateIn is the new generation of Open Source portal, jointly led by Red Hat and eXo Platform who partner to gather the best portal experts and communities around a robust and intuitive portal that brings rich administration functionalities to IT systems.
UIHomePagePortlet.Label.Administrator=Administrator
Modified: portal/trunk/portlet/web/src/main/webapp/WEB-INF/classes/locale/portlet/web/GroovyPortlet_es.properties
===================================================================
--- portal/trunk/portlet/web/src/main/webapp/WEB-INF/classes/locale/portlet/web/GroovyPortlet_es.properties 2010-03-11 12:49:58 UTC (rev 2166)
+++ portal/trunk/portlet/web/src/main/webapp/WEB-INF/classes/locale/portlet/web/GroovyPortlet_es.properties 2010-03-11 13:55:38 UTC (rev 2167)
@@ -35,7 +35,7 @@
UIHomePagePortlet.Label.Title=Prueba GateIn 3.0 con uno de los siguientes usuarios:
UIHomePagePortlet.Label.Intro=La nueva versi\u00f3n viene con un interfaz de usuario revolucionario<br/>Layouts Cl\u00e1sico y Escritorio WebOS <br/> Funcionalidad Drag and Drop. Asistente de Creaci\u00f3n de P\u00e1gina<br/>Y mucho m\u00e1s...
-UIHomePagePortlet.Label.Slogan=Lo mejor de eXo y JBoss Portal<div>GateIn 3.0 CR1</div>
+UIHomePagePortlet.Label.Slogan=Lo mejor de eXo y JBoss Portal<div>GateIn 3.0</div>
UIHomePagePortlet.Label.Username=Usuario:
UIHomePagePortlet.Label.Password=Contrase\u00f1a:
Modified: portal/trunk/portlet/web/src/main/webapp/WEB-INF/classes/locale/portlet/web/GroovyPortlet_fr.properties
===================================================================
--- portal/trunk/portlet/web/src/main/webapp/WEB-INF/classes/locale/portlet/web/GroovyPortlet_fr.properties 2010-03-11 12:49:58 UTC (rev 2166)
+++ portal/trunk/portlet/web/src/main/webapp/WEB-INF/classes/locale/portlet/web/GroovyPortlet_fr.properties 2010-03-11 13:55:38 UTC (rev 2167)
@@ -34,6 +34,6 @@
#############################################################################
UIHomePagePortlet.Label.Title=Essayez GateIn 3.0 avec l'un de ces comptes:
-UIHomePagePortlet.Label.Slogan=Le meilleur d'eXo et de JBoss Portal<div>GateIn 3.0 CR1</div>
+UIHomePagePortlet.Label.Slogan=Le meilleur d'eXo et de JBoss Portal<div>GateIn 3.0</div>
UIHomePagePortlet.Label.Username=Username:
UIHomePagePortlet.Label.Password=Password:
Modified: portal/trunk/portlet/web/src/main/webapp/WEB-INF/classes/locale/portlet/web/GroovyPortlet_it.properties
===================================================================
--- portal/trunk/portlet/web/src/main/webapp/WEB-INF/classes/locale/portlet/web/GroovyPortlet_it.properties 2010-03-11 12:49:58 UTC (rev 2166)
+++ portal/trunk/portlet/web/src/main/webapp/WEB-INF/classes/locale/portlet/web/GroovyPortlet_it.properties 2010-03-11 13:55:38 UTC (rev 2167)
@@ -35,7 +35,7 @@
UIHomePagePortlet.Label.Title=Prova GateIn 3.0 con uno di questi account utente:
UIHomePagePortlet.Label.Intro=La nuova versione nasce con una moderna interfaccia utente<br/>Layout Classici e WebOS Desktop<br/> Funzionalit\u00E0 di Drag and Drop. Wizard di creazione della pagina<br/>E oltre...
-UIHomePagePortlet.Label.Slogan=Il meglio di eXo e JBoss Portal<div>GateIn 3.0 CR1</div>
+UIHomePagePortlet.Label.Slogan=Il meglio di eXo e JBoss Portal<div>GateIn 3.0</div>
UIHomePagePortlet.Label.GuideText=Contattaci per maggiori informazioni.
UIHomePagePortlet.Label.IntroText=GateIn \u00E8 la nuova generazione di portali Open Source, esclusivamente fornito da Red Hat ed eXo Platform ai sistemi IT che raccolgono i migliori partner esperti di tecnologie sui portali e una community che gira intorno ad un portale robusto ed intuitivo e ricco di funzionalit\u00E0 di amministrazione.
UIHomePagePortlet.Label.Administrator=Amministratore
Modified: portal/trunk/portlet/web/src/main/webapp/WEB-INF/classes/locale/portlet/web/GroovyPortlet_ja.properties
===================================================================
--- portal/trunk/portlet/web/src/main/webapp/WEB-INF/classes/locale/portlet/web/GroovyPortlet_ja.properties 2010-03-11 12:49:58 UTC (rev 2166)
+++ portal/trunk/portlet/web/src/main/webapp/WEB-INF/classes/locale/portlet/web/GroovyPortlet_ja.properties 2010-03-11 13:55:38 UTC (rev 2167)
@@ -41,7 +41,7 @@
UIHomePagePortlet.Label.Intro=The new version comes with a revolutionary user interface<br/>Classic and WebOS Desktop Layouts<br/> Drag and Drop Features. Create Page Wizard<br/>And many more...
-UIHomePagePortlet.Label.Slogan=The Best of eXo and JBoss Portal<div>GateIn 3.0 CR1</div>
+UIHomePagePortlet.Label.Slogan=The Best of eXo and JBoss Portal<div>GateIn 3.0</div>
UIHomePagePortlet.Label.Username=\u30e6\u30fc\u30b6\u30fc\u540d:
Modified: portal/trunk/portlet/web/src/main/webapp/WEB-INF/classes/locale/portlet/web/GroovyPortlet_ko.xml
===================================================================
--- portal/trunk/portlet/web/src/main/webapp/WEB-INF/classes/locale/portlet/web/GroovyPortlet_ko.xml 2010-03-11 12:49:58 UTC (rev 2166)
+++ portal/trunk/portlet/web/src/main/webapp/WEB-INF/classes/locale/portlet/web/GroovyPortlet_ko.xml 2010-03-11 13:55:38 UTC (rev 2167)
@@ -26,7 +26,7 @@
<Label>
<Title>사용자 계정들 중 하나와 함께 GateIn 3.0을 시도하십시오.</Title>
<Intro>새로운 버전에 혁신적인 사용자 인터페이스가 추가됩니다. <br/>표준 및 WebOS 데스크탑 레이아웃<br/> 드래그 앤 드롭 기능들. 페이지 생성 마법사<br/>기타 부가 기능.</Intro>
- <Slogan>최고의 eXo 및 JBoss Portal<div>GateIn 3.0 CR1</div></Slogan>
+ <Slogan>최고의 eXo 및 JBoss Portal<div>GateIn 3.0</div></Slogan>
<Username>사용자이름:</Username>
<Password>비밀번호:</Password>
</Label>
Modified: portal/trunk/portlet/web/src/main/webapp/WEB-INF/classes/locale/portlet/web/GroovyPortlet_ne.properties
===================================================================
--- portal/trunk/portlet/web/src/main/webapp/WEB-INF/classes/locale/portlet/web/GroovyPortlet_ne.properties 2010-03-11 12:49:58 UTC (rev 2166)
+++ portal/trunk/portlet/web/src/main/webapp/WEB-INF/classes/locale/portlet/web/GroovyPortlet_ne.properties 2010-03-11 13:55:38 UTC (rev 2167)
@@ -35,7 +35,7 @@
UIHomePagePortlet.Label.Title=\u092f\u0940 \u092e\u0927\u094d\u092f\u0947 \u0915\u0941\u0928\u0948 \u092a\u094d\u0930\u092f\u094b\u0917\u0915\u0930\u094d\u0924\u093e \u0916\u093e\u0924\u093e\u0939\u0930\u0941\u0932\u0947 GateIn 3.0\u092e\u093e \u092a\u094d\u0930\u092f\u093e\u0938 \u0917\u0930\u094d\u0928\u0941\u0939\u094b\u0938\u094d
UIHomePagePortlet.Label.Intro=The new version comes with a revolutionary user interface<br/>Classic and WebOS Desktop Layouts<br/> Drag and Drop Features. Create Page Wizard<br/>And many more...
-UIHomePagePortlet.Label.Slogan=The Best of eXo and JBoss Portal<div>GateIn 3.0 CR1</div>
+UIHomePagePortlet.Label.Slogan=The Best of eXo and JBoss Portal<div>GateIn 3.0</div>
UIHomePagePortlet.Label.Username=\u092a\u094d\u0930\u092f\u094b\u0917\u0915\u0930\u094d\u0924\u093e \u0928\u093e\u092e:
UIHomePagePortlet.Label.Password=\u092a\u093e\u0938\u094d\u0935\u094b\u0930\u094d\u0921:
Modified: portal/trunk/portlet/web/src/main/webapp/WEB-INF/classes/locale/portlet/web/GroovyPortlet_nl.properties
===================================================================
--- portal/trunk/portlet/web/src/main/webapp/WEB-INF/classes/locale/portlet/web/GroovyPortlet_nl.properties 2010-03-11 12:49:58 UTC (rev 2166)
+++ portal/trunk/portlet/web/src/main/webapp/WEB-INF/classes/locale/portlet/web/GroovyPortlet_nl.properties 2010-03-11 13:55:38 UTC (rev 2167)
@@ -35,7 +35,7 @@
UIHomePagePortlet.Label.Title=Probeer GateIn 3.0 met \u00E9\u00E9n van deze gebruikersaccounts:
UIHomePagePortlet.Label.Intro=De nieuwe versie komt met een revolutionaire gebruikersinterface<br/>Klassieke en WebOS desktop lay-outs<br/> Drag and drop mogelijkheden. Pagina creatie wizard<br/>En nog veel meer ...
-UIHomePagePortlet.Label.Slogan=Het beste van eXo en JBoss Portal<div>GateIn 3.0 CR1</div>
+UIHomePagePortlet.Label.Slogan=Het beste van eXo en JBoss Portal<div>GateIn 3.0</div>
UIHomePagePortlet.Label.Username=Gebruikersnaam:
UIHomePagePortlet.Label.Password=Paswoord:
Modified: portal/trunk/portlet/web/src/main/webapp/WEB-INF/classes/locale/portlet/web/GroovyPortlet_ru.properties
===================================================================
--- portal/trunk/portlet/web/src/main/webapp/WEB-INF/classes/locale/portlet/web/GroovyPortlet_ru.properties 2010-03-11 12:49:58 UTC (rev 2166)
+++ portal/trunk/portlet/web/src/main/webapp/WEB-INF/classes/locale/portlet/web/GroovyPortlet_ru.properties 2010-03-11 13:55:38 UTC (rev 2167)
@@ -16,6 +16,6 @@
UIHomePagePortlet.Label.Title=Используйте GateIn 3.0 с одной из учётных записей:
UIHomePagePortlet.Label.Intro=Новая версия представляет революционно новый пользовательский интерфейс<br/>Класический и WebOS макеты<br/> Поддержка перетаскивания. Мастера создания страниц<br/>И многое другое...
-UIHomePagePortlet.Label.Slogan=The Best of eXo and JBoss Portal<div>GateIn 3.0 CR1</div>
+UIHomePagePortlet.Label.Slogan=The Best of eXo and JBoss Portal<div>GateIn 3.0</div>
UIHomePagePortlet.Label.Username=Имя:
UIHomePagePortlet.Label.Password=Пароль:
Modified: portal/trunk/portlet/web/src/main/webapp/WEB-INF/classes/locale/portlet/web/GroovyPortlet_uk.properties
===================================================================
--- portal/trunk/portlet/web/src/main/webapp/WEB-INF/classes/locale/portlet/web/GroovyPortlet_uk.properties 2010-03-11 12:49:58 UTC (rev 2166)
+++ portal/trunk/portlet/web/src/main/webapp/WEB-INF/classes/locale/portlet/web/GroovyPortlet_uk.properties 2010-03-11 13:55:38 UTC (rev 2167)
@@ -17,6 +17,6 @@
UIHomePagePortlet.Label.Title=Спробуй GateIn 3.0 з користувачем серед таких облікових записів:
UIHomePagePortlet.Label.Intro=Нова версія з прогресивним інтерфейсом користувача<br/>схема класичного та WebOS робочого столу<br/> Можливість "Перетягни-відпусти". Wizard-створювач сторінок<br/>Та багато іншого...
-UIHomePagePortlet.Label.Slogan=The Best of eXo and JBoss Portal<div>GateIn 3.0 CR1</div>
+UIHomePagePortlet.Label.Slogan=The Best of eXo and JBoss Portal<div>GateIn 3.0</div>
UIHomePagePortlet.Label.Username=Ім'я користувача:
UIHomePagePortlet.Label.Password=Пароль:
Modified: portal/trunk/portlet/web/src/main/webapp/WEB-INF/classes/locale/portlet/web/GroovyPortlet_vi.properties
===================================================================
--- portal/trunk/portlet/web/src/main/webapp/WEB-INF/classes/locale/portlet/web/GroovyPortlet_vi.properties 2010-03-11 12:49:58 UTC (rev 2166)
+++ portal/trunk/portlet/web/src/main/webapp/WEB-INF/classes/locale/portlet/web/GroovyPortlet_vi.properties 2010-03-11 13:55:38 UTC (rev 2167)
@@ -35,7 +35,7 @@
UIHomePagePortlet.Label.Title=Dùng thử GateIn 3.0 với một trong những tài khoản sau:
UIHomePagePortlet.Label.Intro=The new version comes with a revolutionary user interface<br/>Classic and WebOS Desktop Layouts<br/> Drag and Drop Features. Create Page Wizard<br/>And many more...
-UIHomePagePortlet.Label.Slogan=The Best of eXo and JBoss Portal<div>GateIn 3.0 CR1</div>
+UIHomePagePortlet.Label.Slogan=The Best of eXo and JBoss Portal<div>GateIn 3.0</div>
UIHomePagePortlet.Label.GuideText=Để biết thêm thông tin xin hãy liên lạc với chúng tôi.
UIHomePagePortlet.Label.IntroText=GateIn là cổng thông tin thế hệ mới kết hợp giữa Red Hat và eXo Platform, tập trung những chuyên gia về cổng thông tin và cộng đồng tốt nhất, mang lại cho các hệ thống thông tin những tính năng đầy đủ nhất.
UIHomePagePortlet.Label.Administrator=Quản trị
Modified: portal/trunk/portlet/web/src/main/webapp/WEB-INF/classes/locale/portlet/web/GroovyPortlet_zh.xml
===================================================================
--- portal/trunk/portlet/web/src/main/webapp/WEB-INF/classes/locale/portlet/web/GroovyPortlet_zh.xml 2010-03-11 12:49:58 UTC (rev 2166)
+++ portal/trunk/portlet/web/src/main/webapp/WEB-INF/classes/locale/portlet/web/GroovyPortlet_zh.xml 2010-03-11 13:55:38 UTC (rev 2167)
@@ -26,7 +26,7 @@
<Label>
<Title>用一个用户帐户尝试GateIn 3.0:</Title>
<Intro>新版本增加了新的用户界面<br/>经典和WebOS桌面布局<br/>拖放功能,创建页向导<br/>等等。。。</Intro>
- <Slogan>eXo和JBoss Portal最好的门户平台<div>GateIn 3.0 CR1</div></Slogan>
+ <Slogan>eXo和JBoss Portal最好的门户平台<div>GateIn 3.0</div></Slogan>
<Username>用户名:</Username>
<Password>密码:</Password>
</Label>
Modified: portal/trunk/portlet/web/src/main/webapp/WEB-INF/classes/locale/portlet/web/GroovyPortlet_zh_TW.xml
===================================================================
--- portal/trunk/portlet/web/src/main/webapp/WEB-INF/classes/locale/portlet/web/GroovyPortlet_zh_TW.xml 2010-03-11 12:49:58 UTC (rev 2166)
+++ portal/trunk/portlet/web/src/main/webapp/WEB-INF/classes/locale/portlet/web/GroovyPortlet_zh_TW.xml 2010-03-11 13:55:38 UTC (rev 2167)
@@ -25,7 +25,7 @@
<Label>
<Title>讓你感受全新體驗的 JBoss GateIn 3.0:</Title>
<Intro>新版本增加了新的Web 2.0界面<br/>經典和WebOS桌面佈局<br/>拖放功能,頁面導覽<br/>等等。 。 。</Intro>
-<Slogan>eXo和JBoss Portal最好的Portal平台<div>GateIn 3.0 CR1</div></Slogan>
+<Slogan>eXo和JBoss Portal最好的Portal平台<div>GateIn 3.0</div></Slogan>
<Username>用戶名:</Username>
<Password>密碼:</Password>
</Label>
16 years, 1 month