You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jetspeed-dev@portals.apache.org by vk...@apache.org on 2008/10/28 11:14:10 UTC

svn commit: r708505 - in /portals/jetspeed-2/portal/trunk/xdocs/components: jetspeed-portal/ jetspeed-portal/images/ jetspeed-rdbms/ jetspeed-rdbms/images/ jetspeed-search/ jetspeed-search/images/

Author: vkumar
Date: Tue Oct 28 03:14:09 2008
New Revision: 708505

URL: http://svn.apache.org/viewvc?rev=708505&view=rev
Log:
Moving components jetspeed-portal xdoc document to new location

Added:
    portals/jetspeed-2/portal/trunk/xdocs/components/jetspeed-portal/
    portals/jetspeed-2/portal/trunk/xdocs/components/jetspeed-portal/images/
    portals/jetspeed-2/portal/trunk/xdocs/components/jetspeed-portal/images/valve-c.gif   (with props)
    portals/jetspeed-2/portal/trunk/xdocs/components/jetspeed-portal/index.xml   (with props)
    portals/jetspeed-2/portal/trunk/xdocs/components/jetspeed-portal/pipeline.xml   (with props)
    portals/jetspeed-2/portal/trunk/xdocs/components/jetspeed-rdbms/
    portals/jetspeed-2/portal/trunk/xdocs/components/jetspeed-rdbms/dao.xml   (with props)
    portals/jetspeed-2/portal/trunk/xdocs/components/jetspeed-rdbms/images/
    portals/jetspeed-2/portal/trunk/xdocs/components/jetspeed-rdbms/images/connection-repository-c.gif   (with props)
    portals/jetspeed-2/portal/trunk/xdocs/components/jetspeed-rdbms/images/persistence-broker-dao-c.gif   (with props)
    portals/jetspeed-2/portal/trunk/xdocs/components/jetspeed-rdbms/index.xml   (with props)
    portals/jetspeed-2/portal/trunk/xdocs/components/jetspeed-search/
    portals/jetspeed-2/portal/trunk/xdocs/components/jetspeed-search/images/
    portals/jetspeed-2/portal/trunk/xdocs/components/jetspeed-search/images/portlet-search.gif   (with props)
    portals/jetspeed-2/portal/trunk/xdocs/components/jetspeed-search/images/searchengine-c.gif   (with props)
    portals/jetspeed-2/portal/trunk/xdocs/components/jetspeed-search/images/searchhandlers-c.gif   (with props)
    portals/jetspeed-2/portal/trunk/xdocs/components/jetspeed-search/index.xml   (with props)
    portals/jetspeed-2/portal/trunk/xdocs/components/jetspeed-search/using-search.xml   (with props)

Added: portals/jetspeed-2/portal/trunk/xdocs/components/jetspeed-portal/images/valve-c.gif
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/xdocs/components/jetspeed-portal/images/valve-c.gif?rev=708505&view=auto
==============================================================================
Binary file - no diff available.

Propchange: portals/jetspeed-2/portal/trunk/xdocs/components/jetspeed-portal/images/valve-c.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: portals/jetspeed-2/portal/trunk/xdocs/components/jetspeed-portal/index.xml
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/xdocs/components/jetspeed-portal/index.xml?rev=708505&view=auto
==============================================================================
--- portals/jetspeed-2/portal/trunk/xdocs/components/jetspeed-portal/index.xml (added)
+++ portals/jetspeed-2/portal/trunk/xdocs/components/jetspeed-portal/index.xml Tue Oct 28 03:14:09 2008
@@ -0,0 +1,38 @@
+<?xml version="1.0" ?>
+<!--
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+    
+    http://www.apache.org/licenses/LICENSE-2.0
+    
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<document>
+    <properties>
+        <title>Jetspeed-2 Portal</title>
+        <authors>
+            <person name="David Le Strat" email="dlestrat@apache.org" />
+        </authors>
+    </properties>
+    <body>
+        <section name="Portal Overview">
+            <p>
+            The core portal components are:
+            <ul>
+            <li>The portal engine</li>
+            <li>The <a href="pipeline.html">request pipeline</a></li>
+            <li>The aggregation engine</li>
+            <li>The portlet container engine integration</li>
+            </ul>
+            </p>
+        </section>
+    </body>
+</document>

Propchange: portals/jetspeed-2/portal/trunk/xdocs/components/jetspeed-portal/index.xml
------------------------------------------------------------------------------
    svn:keywords = Id

Added: portals/jetspeed-2/portal/trunk/xdocs/components/jetspeed-portal/pipeline.xml
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/xdocs/components/jetspeed-portal/pipeline.xml?rev=708505&view=auto
==============================================================================
--- portals/jetspeed-2/portal/trunk/xdocs/components/jetspeed-portal/pipeline.xml (added)
+++ portals/jetspeed-2/portal/trunk/xdocs/components/jetspeed-portal/pipeline.xml Tue Oct 28 03:14:09 2008
@@ -0,0 +1,88 @@
+<?xml version="1.0" ?>
+<!--
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+    
+    http://www.apache.org/licenses/LICENSE-2.0
+    
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<document>
+    <properties>
+        <title>Jetspeed-2 Portal</title>
+        <authors>
+            <person name="David Le Strat" email="dlestrat@apache.org" />
+        </authors>
+    </properties>
+    <body>
+        <section name="Request Pipeline">
+            <p>
+            In Jetspeed-2, a request pipeline performs individual operations to the request.
+            </p>
+            <subsection name="Pipeline Concepts">
+            <p>
+            A <code>Pipeline</code> is made of <code>Valves</code> chained together in a chain of responsibility pattern.
+            The <code>JetspeedPipeline</code> implementation assembles a ordered list of <code>Valves</code> that are
+            processed sequentially.
+            <br/><br/>
+            <img src="images/pipeline-c.gif" border="0"/><br/><br/>
+            <img src="images/pipeline-assembly.gif" border="0"/>
+            </p>	
+            </subsection>
+            <subsection name="Jetspeed-2 Valves">
+            <p>
+            Jetspeed-2 provides various type of <code>Valve</code> as illustrated below:<br/><br/>
+           	<img src="images/valve-c.gif" border="0"/><br/>
+			The above valves serve the following purpose:
+           	<table>
+            	<tr>
+            		<th>Valve Name</th>
+            		<th>Description</th>
+            	</tr>
+            	<tr>
+            		<td>ActionValve</td>
+            		<td>Check if <code>PortletAction</code> needs to be processed and process it, if required.
+            		Used in the portlet pipeline.</td>
+            	</tr>
+            	<tr>
+            		<td>AggregateValve</td>
+            		<td>Invokes all Layout components in render mode to aggregate the generated contents and
+            		send the result to the client.</td>
+            	</tr>
+            	<tr>
+            		<td>CapabilityValve</td>
+            		<td>Identifies the browser and adds a <code>CapabilityMap</code> to the <code>RequestContext</code>.</td>
+            	</tr>
+            	<tr>
+            		<td>CleanupValve</td>
+            		<td>Looks for JSP pages that were pushed onto the <code>org.apache.jetspeed.renderStack</code>
+					request attribute, and attempts to include them.</td>
+            	</tr>
+            	<tr>
+            		<td>LoginValidationValve</td>
+            		<td>Checks if a login attempt failed and determines the cause.</td>
+            	</tr>
+            	<tr>
+            		<td>PasswordCredentialValve</td>
+            		<td>Checks the PasswordCredential (only once) after a User is logged in and redirects to a 
+            		change password page if necessary.</td>
+            	</tr>
+            	<tr>
+            		<td>SecurityValve</td>
+            		<td>Authenticates the user or redirects to Login if necessary, adds the
+					authenticated Subject to the <code>RequestContext</code>.</td>
+            	</tr>
+            </table>
+           	</p>
+            </subsection>
+        </section>
+    </body>
+</document>

Propchange: portals/jetspeed-2/portal/trunk/xdocs/components/jetspeed-portal/pipeline.xml
------------------------------------------------------------------------------
    svn:keywords = Id

Added: portals/jetspeed-2/portal/trunk/xdocs/components/jetspeed-rdbms/dao.xml
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/xdocs/components/jetspeed-rdbms/dao.xml?rev=708505&view=auto
==============================================================================
--- portals/jetspeed-2/portal/trunk/xdocs/components/jetspeed-rdbms/dao.xml (added)
+++ portals/jetspeed-2/portal/trunk/xdocs/components/jetspeed-rdbms/dao.xml Tue Oct 28 03:14:09 2008
@@ -0,0 +1,73 @@
+<?xml version="1.0" ?>
+<!--
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+    
+    http://www.apache.org/licenses/LICENSE-2.0
+    
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<document>
+    <properties>
+        <title>Jetspeed-2 RDBMS</title>
+        <authors>
+            <person name="David Le Strat" email="dlestrat@apache.org" />
+        </authors>
+    </properties>
+    <body>
+        <section name="Data Access Overview">
+            <p>
+            Jetspeed-2 RDBMS component provide some of level of abstraction from the underlying persistence mechanism.    
+            </p>
+            <subsection name="Data Access Using Object Relational Mapping">
+            <p>
+            Jetspeed-2 uses object relational mapping as the underlying technology for persistence.  By default, 
+            <a href="http://db.apache.org/ojb/">Apache OJB</a> is used as an ORM engine.  In order to minimize Jetspeed-2
+            OJB dependencies, the <code>InitablePersistenceBrokerDaoSupport</code> provides a layer of abstraction that minimizes
+            the dependencies on a specific ORM engine.  The class diagram below illustration the Jetspeed-2 implementation classes
+            that leverage <code>InitablePersistenceBrokerDaoSupport</code>:<br/>
+            <img src="images/persistence-broker-dao-c.gif" border="0"/>
+            </p>
+            <p>
+            The <code>InitablePersistenceBrokerDaoSupport</code> extends <code>org.springframework.orm.ojb.support.PersistenceBrokerDaoSupport</code>.
+            </p>
+            </subsection>
+            <subsection name="Spring ORM Support">
+            <p>
+            Spring's adds significant support when using the O/R mapping layer of your choice to create data access applications.  The 
+            <code>InitablePersistenceBrokerDaoSupport</code> extends spring layer of abstraction for persistence support, specifically the
+            OJB <a href="http://static.springframework.org/spring/docs/1.2.x/reference/orm.html#orm-ojb"><code>PersistenceBroker</code> API support</a>.
+            </p>
+            <p>
+            Using such a layer of abstraction has many advantages.  Some of the advantages outlined in Spring's documentation are:
+            <ul>
+            <li>Ease of testing. Spring's inversion of control approach makes it easy to swap the implementations and config locations of persistence manager instances,
+            JDBC DataSources, transaction managers, and mapper object implementations (if needed). This makes it much easier to isolate and test each piece of
+            persistence-related code in isolation.</li>
+            <li>Common data access exceptions. Spring can wrap exceptions from you O/R mapping tool of choice, converting them from proprietary (potentially checked) exceptions
+            to a common runtime DataAccessException hierarchy. This allows you to handle most persistence exceptions, which are non-recoverable, only in the appropriate layers,
+            without annoying boilerplate catches/throws, and exception declarations. You can still trap and handle exceptions anywhere you need to. Remember that JDBC exceptions
+            (including DB specific dialects) are also converted to the same hierarchy, meaning that you can perform some operations with JDBC within a consistent programming model.</li>
+            <li>General resource management. Spring application contexts can handle the location and configuration of persistence managers instances, JDBC DataSources, 
+            and other related resources. This makes these values easy to manage and change. Spring offers efficient, easy and safe handling of persistence resources.</li>
+			<li>Integrated transaction management. Spring allows you to wrap your O/R mapping code with either a declarative, AOP style method interceptor,
+			or an explicit 'template' wrapper class at the Java code level. In either case, transaction semantics are handled for you, and proper transaction handling (rollback, etc)
+			in case of exceptions is taken care of. As discussed below, you also get the benefit of being able to use and swap various transaction managers, without your ORM specific code being affected:
+			for example, between local transactions and JTA, with the same full services (such as declarative transactions) available in both scenarios. As an additional benefit,
+			JDBC-related code can fully integrate transactionally with the code you use to do O/R mapping. This is useful for data access that's not suitable for O/R mapping,
+			such as batch processing or streaming of BLOBs, which still needs to share common transactions with O/R mapping operations.</li>
+			<li>To avoid vendor lock-in, and allow mix-and-match implementation strategies.</li>
+			</ul>
+			</p>
+            </subsection>
+        </section>
+    </body>
+</document>

Propchange: portals/jetspeed-2/portal/trunk/xdocs/components/jetspeed-rdbms/dao.xml
------------------------------------------------------------------------------
    svn:keywords = Id

Added: portals/jetspeed-2/portal/trunk/xdocs/components/jetspeed-rdbms/images/connection-repository-c.gif
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/xdocs/components/jetspeed-rdbms/images/connection-repository-c.gif?rev=708505&view=auto
==============================================================================
Binary file - no diff available.

Propchange: portals/jetspeed-2/portal/trunk/xdocs/components/jetspeed-rdbms/images/connection-repository-c.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: portals/jetspeed-2/portal/trunk/xdocs/components/jetspeed-rdbms/images/persistence-broker-dao-c.gif
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/xdocs/components/jetspeed-rdbms/images/persistence-broker-dao-c.gif?rev=708505&view=auto
==============================================================================
Binary file - no diff available.

Propchange: portals/jetspeed-2/portal/trunk/xdocs/components/jetspeed-rdbms/images/persistence-broker-dao-c.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: portals/jetspeed-2/portal/trunk/xdocs/components/jetspeed-rdbms/index.xml
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/xdocs/components/jetspeed-rdbms/index.xml?rev=708505&view=auto
==============================================================================
--- portals/jetspeed-2/portal/trunk/xdocs/components/jetspeed-rdbms/index.xml (added)
+++ portals/jetspeed-2/portal/trunk/xdocs/components/jetspeed-rdbms/index.xml Tue Oct 28 03:14:09 2008
@@ -0,0 +1,100 @@
+<?xml version="1.0" ?>
+<!--
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+    
+    http://www.apache.org/licenses/LICENSE-2.0
+    
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<document>
+    <properties>
+        <title>Jetspeed-2 RDBMS</title>
+        <authors>
+            <person name="David Le Strat" email="dlestrat@apache.org" />
+        </authors>
+    </properties>
+    <body>
+        <section name="RDBMS Overview">
+            <p>
+            Jetspeed-2 RDBMS component provide a layer of abstraction from the persistence mechanism used by Jetspeed-2.
+            It provides facilities for datasource configuration as well as data access. 
+            </p>
+            <subsection name="Datasource Configuration">
+            <p>
+            Jetspeed-2 uses <a href="http://db.apache.org/ojb/">OJB</a> <code>PersistenceBroker</code> API as its default
+            persistence mechanism.  The <code>ConnectionRepositoryEntry</code> component configures OJB for Jetspeed-2 as well
+            as the properties available under <code>/etc/db-ojb</code> in the Jetspeed-2 source repository or <code>WEB-INF/classes</code>
+            in a deployed instance of Jetspeed-2.
+            </p>
+            <p>
+            The <code>datasource.xml</code> spring assembly configuration file configures <code>ConnectionRepositoryEntry</code> and is located
+            in <code>WEB-INF/assembly/boot</code>.
+            </p>
+            <p>
+            The <code>ConnectionRepositoryEntry</code> configures an entry in OJB's ConnectionRepository according to its properties.
+            The properties <code>driverClassName</code>, <code>url</code>, <code>username</code> and <code>password</code> are used
+			only if no <code>jndiName</code> is set, i.e. if the connection factory uses the driver to create data sources.  The platform
+			settings are derived from the configured  data source or database driver using OJB's <code>JdbcMetadataUtils</code> class.  The default
+			Jetspeed-2 <code>ConnectionRepositoryEntry</code> configuration expose a datasource.
+            <source>
+    &lt;bean id="JetspeedDS" class="org.apache.jetspeed.components.rdbms.ojb.ConnectionRepositoryEntry"&gt;
+      &lt;property name="jndiName"&gt;
+        &lt;value&gt;java:comp/env/jdbc/jetspeed&lt;/value&gt;
+      &lt;/property&gt;
+    &lt;/bean&gt;</source>
+            </p>
+            <p>
+            In order for OJB to be configured properly with Jetspeed-2, the <code>OJB.properties</code> file (located under
+            <code>/etc/db-ojb/OJB.properties</code> in the source tree and <code>WEB-INF/classes</code> in the deployed application)
+            must set:
+            <source>
+    ConnectionManagerClass=org.apache.jetspeed.components.rdbms.ojb.ConnectionManagerImpl</source>
+            instead of:
+            <source>
+    ConnectionFactoryClass=org.apache.ojb.broker.accesslayer.ConnectionFactoryManagedImpl</source>
+            </p>
+            <p>
+            A class diagram of <code>ConnectionRepositoryEntry</code> and <code>ConnectionManagerImpl</code> is
+            provided below:<br/>
+            <img src="images/connection-repository-c.gif" border="0"/>
+            </p>
+            </subsection>
+            <subsection name="OJB Datasource Configuration">
+            <p>
+            The bean name provided in <code>datasource.xml</code> must match the <code>jdbc-connection-descriptor</code>
+            <code>jcd-alias</code> property (by default <code>JetspeedDS</code>) located in OJB <code>repository_database.xml</code>
+            as illustrated below.
+            <source>
+    &lt;jdbc-connection-descriptor
+        jcd-alias="JetspeedDS"
+        default-connection="true"
+        batch-mode="false"&gt;</source>
+            </p>
+            </subsection>
+            <subsection name="Jetspeed-2 Datasource Configuration in Tomcat">
+            <p>
+            Jetspeed-2 configure the following datasource in Tomcat.  In the source tree, the Tomcat datasource configuration
+            is located under <code>/etc/conf/tomcat</code>.  When deployed Jetspeed-2 in a Tomcat instance, the Jetspeed-2
+            datasource configuration are deployed under <code>${tomcat_home}/conf/Catalina/localhost/jetspeed.xml</code>. If a different
+            portal name is being used for Jetspeed-2, the configuration file will be named accordingly.
+            <source>
+    &lt;Resource name="jdbc/jetspeed" auth="Container"
+                 factory="org.apache.commons.dbcp.BasicDataSourceFactory"
+                 type="javax.sql.DataSource" username="" password=""
+                 driverClassName="org.apache.derby.jdbc.EmbeddedDriver"
+                 url="jdbc:derby:/tmp/productiondb;create=true"
+                 maxActive="100" maxIdle="30" maxWait="10000"/&gt;</source>
+            </p>
+            </subsection>
+        </section>
+    </body>
+</document>

Propchange: portals/jetspeed-2/portal/trunk/xdocs/components/jetspeed-rdbms/index.xml
------------------------------------------------------------------------------
    svn:keywords = Id

Added: portals/jetspeed-2/portal/trunk/xdocs/components/jetspeed-search/images/portlet-search.gif
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/xdocs/components/jetspeed-search/images/portlet-search.gif?rev=708505&view=auto
==============================================================================
Binary file - no diff available.

Propchange: portals/jetspeed-2/portal/trunk/xdocs/components/jetspeed-search/images/portlet-search.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: portals/jetspeed-2/portal/trunk/xdocs/components/jetspeed-search/images/searchengine-c.gif
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/xdocs/components/jetspeed-search/images/searchengine-c.gif?rev=708505&view=auto
==============================================================================
Binary file - no diff available.

Propchange: portals/jetspeed-2/portal/trunk/xdocs/components/jetspeed-search/images/searchengine-c.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: portals/jetspeed-2/portal/trunk/xdocs/components/jetspeed-search/images/searchhandlers-c.gif
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/xdocs/components/jetspeed-search/images/searchhandlers-c.gif?rev=708505&view=auto
==============================================================================
Binary file - no diff available.

Propchange: portals/jetspeed-2/portal/trunk/xdocs/components/jetspeed-search/images/searchhandlers-c.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: portals/jetspeed-2/portal/trunk/xdocs/components/jetspeed-search/index.xml
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/xdocs/components/jetspeed-search/index.xml?rev=708505&view=auto
==============================================================================
--- portals/jetspeed-2/portal/trunk/xdocs/components/jetspeed-search/index.xml (added)
+++ portals/jetspeed-2/portal/trunk/xdocs/components/jetspeed-search/index.xml Tue Oct 28 03:14:09 2008
@@ -0,0 +1,83 @@
+<?xml version="1.0" ?>
+<!--
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+    
+    http://www.apache.org/licenses/LICENSE-2.0
+    
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<document>
+    <properties>
+        <title>Jetspeed-2 Search</title>
+        <authors>
+            <person name="David Le Strat" email="dlestrat@apache.org" />
+        </authors>
+    </properties>
+    <body>
+        <section name="Search Overview">
+            <p>
+            Jetspeed-2 provides an integration with the popular <a href="http://lucene.apache.org/">Apache Lucene</a>, 
+            a high-performance, full-featured text search engine library written entirely in Java; a technology suitable
+            for nearly any application that requires full-text search, especially cross-platform.. 
+            </p>
+            <subsection name="SearchEngine Overview">
+            <p>
+            Jetspeed-2 provides a <code>SearchEngine</code> component configured as a spring component.  The <code>SearchEngine</code>
+            component is configured in <code>WEB-INF/assembly/search.xml</code>.  The default implementation based on the embedded Lucene
+            search engine must specify the location of the search index file, the name of the analyzer class (if null the default analyzer
+            <code>StandardAnalyzer</code> is used), whether to optimize after update and the <code>HandlerFactory</code>:
+            <source>
+    &lt;bean id="org.apache.jetspeed.search.SearchEngine"
+  	  class="org.apache.jetspeed.search.lucene.SearchEngineImpl"&gt;
+  	  &lt;constructor-arg index="0"&gt;&lt;value&gt;${applicationRoot}/WEB-INF/search_index&lt;/value&gt;&lt;/constructor-arg&gt;
+  	  &lt;constructor-arg index="1"&gt;&lt;null /&gt;&lt;/constructor-arg&gt;
+  	  &lt;constructor-arg type="boolean"&gt;&lt;valu&gt;true&lt;/value&gt;&lt;/constructor-arg&gt;
+  	  &lt;constructor-arg&gt;&lt;ref bean="org.apache.jetspeed.search.HandlerFactory"/&gt;&lt;/constructor-arg&gt;
+    &lt;/bean&gt;</source>
+    		</p>
+    		<p>
+    		The <code>HandlerFactory</code> provides the <code>SearchEngine</code> with a list of <code>ObjectHandler</code>
+    		that will handle the various document types supported by Jetspeed-2 for search.  By default, Jetspeed-2 supports
+    		portlet instances and portlet definitions as searchable entities.  When portlets are registered to the portal,
+    		<code>searchEngine.add(pa)</code> and <code>searchEngine.add(pa.getPortletDefinitions())</code> are invoked.  This
+    		action updates the Jetspeed-2 search index.  For more information on how portlets are registered to the search engine,
+    		see <code>org.apache.jetspeed.tools.pamanager.PortletApplicationManager</code>.
+            <br/>
+            <img src="images/searchengine-c.gif" border="0"/>
+            </p>
+            </subsection>
+            <subsection name="Document Handlers Overview">
+            <p>
+            Document Handlers are responsible for the parsing of a specific document type in order to index the relevant document fields.
+            </p>
+            <p>
+            Jetspeed-2 provides 2 document handlers implementations responsible for parsing parsing the documents supported by Jetspeed-2
+            as <code>org.apache.jetspeed.search.ParsedObject</code>.  The <code>ParsedObject</code> specify the list of fields
+            and documents supported by Jetspeed-2 that can then be added to <code>org.apache.lucene.document.Document</code> and
+            written to the index through <code>indexWriter.addDocument(doc)</code> operation of the 
+            <a href="http://lucene.apache.org/java/docs/api/index.html"><code>IndexWriter</code></a>.
+            </p>
+            <p>
+            By default, Jetspeed-2 can index portlet applications and portlet definitions respectively through the
+            <code>PortletApplicationHandler</code> and <code>PortletDefinitionHandler</code>.
+            <br/>
+            <img src="images/searchhandlers-c.gif" border="0"/>
+            </p>
+            </subsection>
+            <subsection name="An Extensible Framework">
+            <p>
+            As most components in Jetspeed-2, the search engine can easily be extended to support addional document types.
+            </p>
+            </subsection>
+        </section>
+    </body>
+</document>
\ No newline at end of file

Propchange: portals/jetspeed-2/portal/trunk/xdocs/components/jetspeed-search/index.xml
------------------------------------------------------------------------------
    svn:keywords = Id

Added: portals/jetspeed-2/portal/trunk/xdocs/components/jetspeed-search/using-search.xml
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/xdocs/components/jetspeed-search/using-search.xml?rev=708505&view=auto
==============================================================================
--- portals/jetspeed-2/portal/trunk/xdocs/components/jetspeed-search/using-search.xml (added)
+++ portals/jetspeed-2/portal/trunk/xdocs/components/jetspeed-search/using-search.xml Tue Oct 28 03:14:09 2008
@@ -0,0 +1,44 @@
+<?xml version="1.0" ?>
+<!--
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+    
+    http://www.apache.org/licenses/LICENSE-2.0
+    
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<document>
+    <properties>
+        <title>Jetspeed-2 Search</title>
+        <authors>
+            <person name="David Le Strat" email="dlestrat@apache.org" />
+        </authors>
+    </properties>
+    <body>
+        <section name="Using Jetspeed Search Engine">
+            <p>
+            Jetspeed-2 <code>SearchEngine</code> exposes a <code>search</code> operation returning <code>SearchResults</code>.
+            The <code>SearchResult</code> can be iterated through to display the result of the search.
+            </p>
+            <subsection name="Portlet Search">
+            <p>
+            Jetspeed-2 <code>SearchEngine</code> is used by the <code>PortletApplicationBrowser</code> portlet to search
+            and retrieve portlet according to a given criteria.
+            <br/>
+            <img src="images/portlet-search.gif" border="0" />
+            </p>
+            <p>
+            Performing a search for &quot;security&quot; returns all the matching portlets and portlet definitions.
+            </p>
+            </subsection>
+        </section>
+    </body>
+</document>
\ No newline at end of file

Propchange: portals/jetspeed-2/portal/trunk/xdocs/components/jetspeed-search/using-search.xml
------------------------------------------------------------------------------
    svn:keywords = Id



---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-dev-unsubscribe@portals.apache.org
For additional commands, e-mail: jetspeed-dev-help@portals.apache.org