You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@portals.apache.org by at...@apache.org on 2012/12/16 23:55:26 UTC
svn commit: r1422709 [8/44] - in /portals/site-live/jetspeed-2.1.3:
2.1/schemas/ adminguide/ adminguide/css/ adminguide/images/
adminguide/images/logos/ css/ deployguide/ deployguide/css/
deployguide/images/ deployguide/images/ldap/ deployguide/images/...
Added: portals/site-live/jetspeed-2.1.3/deployguide/distributed-cache.html
URL: http://svn.apache.org/viewvc/portals/site-live/jetspeed-2.1.3/deployguide/distributed-cache.html?rev=1422709&view=auto
==============================================================================
--- portals/site-live/jetspeed-2.1.3/deployguide/distributed-cache.html (added)
+++ portals/site-live/jetspeed-2.1.3/deployguide/distributed-cache.html Sun Dec 16 22:54:22 2012
@@ -0,0 +1,501 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+
+
+
+
+
+
+
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+ <title>Jetspeed 2 - Guide to Distributed Cache</title>
+ <style type="text/css" media="all">
+ @import url("./css/maven-base.css");
+ @import url("./css/maven-theme.css");
+ @import url("./css/site.css");
+ </style>
+ <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
+ </head>
+ <body class="composite">
+ <div id="banner">
+ <a href="http://portals.apache.org/jetspeed-2/" id="bannerLeft">
+
+ <img src="images/jetspeed-logo.gif" alt="" />
+
+ </a>
+ <div class="clear">
+ <hr/>
+ </div>
+ </div>
+ <div id="breadcrumbs">
+
+
+
+
+
+
+
+
+ <div class="xleft">
+ Last Published: 14 July 2010
+ </div>
+ <div class="xright"> <a href="http://portals.apache.org/applications/" class="externalLink">Applications</a>
+ |
+ <a href="http://portals.apache.org/" class="externalLink">Portals</a>
+ |
+ <a href="http://portals.apache.org/jetspeed-2/" class="externalLink">Jetspeed-2.2</a>
+
+
+
+
+
+
+
+
+ </div>
+ <div class="clear">
+ <hr/>
+ </div>
+ </div>
+ <div id="leftColumn">
+ <div id="navcolumn">
+
+
+
+
+
+
+
+
+ <h5>Essentials</h5>
+ <ul>
+
+ <li class="none">
+ <a href="index.html">Welcome</a>
+ </li>
+
+ <li class="none">
+ <a href="features.html">Features</a>
+ </li>
+
+ <li class="none">
+ <a href="getting-started.html">Getting Started</a>
+ </li>
+
+ <li class="none">
+ <a href="demo.html">Jetspeed Online Demos</a>
+ </li>
+ </ul>
+ <h5>Get Jetspeed</h5>
+ <ul>
+
+ <li class="none">
+ <a href="download.html">Download</a>
+ </li>
+
+ <li class="none">
+ <a href="getting-started-installer.html">Installer Instructions</a>
+ </li>
+
+ <li class="none">
+ <a href="release-notes.html">Release Notes</a>
+ </li>
+ </ul>
+ <h5>Documentation Guides</h5>
+ <ul>
+
+ <li class="none">
+ <a href="usersguide/index.html">Users Guide</a>
+ </li>
+
+ <li class="none">
+ <a href="adminguide/index.html">Administrators Guide</a>
+ </li>
+
+ <li class="none">
+ <a href="deployguide/index.html">Deployment Guide</a>
+ </li>
+
+ <li class="none">
+ <a href="devguide/index.html">Developers Guide</a>
+ </li>
+ </ul>
+ <h5>Migration</h5>
+ <ul>
+
+ <li class="none">
+ <a href="guide-migration.html">Migration Guide</a>
+ </li>
+
+ <li class="none">
+ <a href="j1-migration.html">Jetspeed-1 Migration Guideline</a>
+ </li>
+
+ <li class="none">
+ <a href="j1-users.html">For Jetspeed-1 Users</a>
+ </li>
+ </ul>
+ <h5>APIs</h5>
+ <ul>
+
+ <li class="none">
+ <a href="apidocs/jetspeed-api/index.html">Jetspeed-2 Java API</a>
+ </li>
+
+ <li class="none">
+ <a href="devguide/guide-ajax-api.html">Jetspeed-2 AJAX API</a>
+ </li>
+ </ul>
+ <h5>Tutorials</h5>
+ <h5>Community</h5>
+ <ul>
+
+ <li class="none">
+ <a href="supporting-projects.html">Supporting Projects</a>
+ </li>
+
+ <li class="none">
+ <a href="who-uses-j2.html">Who Uses J2?</a>
+ </li>
+
+ <li class="none">
+ <a href="portlets-community.html">Portlets Community</a>
+ </li>
+
+ <li class="none">
+ <a href="how-to-help.html">How to Help?</a>
+ </li>
+ </ul>
+ <h5>Support</h5>
+ <ul>
+
+ <li class="none">
+ <a href="mail-lists.html">Mailing List</a>
+ </li>
+
+ <li class="none">
+ <a href="issue-tracking.html">Bug Database</a>
+ </li>
+
+ <li class="none">
+ <a href="http://wiki.apache.org/portals/Jetspeed2" class="externalLink">Wiki</a>
+ </li>
+
+ <li class="none">
+ <a href="faq.html">FAQ</a>
+ </li>
+ </ul>
+ <h5>Translation</h5>
+ <ul>
+
+ <li class="none">
+ <a href="http://jetspeed-japan.sourceforge.jp/jetspeed-2-trans/ja/index.html" class="externalLink">Japanese</a>
+ </li>
+ </ul>
+ <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
+ <img alt="Built by Maven" src="./images/logos/maven-feather.png"></img>
+ </a>
+
+
+
+
+
+
+
+
+ </div>
+ </div>
+ <div id="bodyColumn">
+ <div id="contentBox">
+ <subtitle></subtitle><authors><person name="David Sean Taylor" email="taylor@apache.org"></authors><div class="section"><h2><a name="Jetspeed_Distributed_Cache_Configuration"></a>Jetspeed Distributed Cache Configuration</h2>
+<p>
+ Jetspeed can be optionally configured to use distributed cache replication with ehcache.
+ By default, distributed cache replication is disabled but it can be enabled through the Jetspeed configuration.
+ The assembly folder contains <strong><code>cache.xml</code></strong> to control the ehcache configuration via Spring.
+ </p>
+<p>
+ Jetspeed uses cache-replication for managing all of its distributed caches, such as the page-manager and preferences caches.
+ The <strong><code>ehcache.xml</code></strong> (found in <strong><code>/WEB-INF/classes/</code></strong>) has more detailed cache configuration details.
+ It has been modified to enable distributed cache replication for all caches including the page manager and preferences caches.
+ </p>
+<p>
+ The following examples are taken from the <strong><code>distributed-ehcache.xml</code></strong> (in <strong><code>/WEB-INF/classes/</code></strong>).
+ If you want to switch to complete distributed cache usage, it is easier to swap the usages of <strong><code>ehache.xml</code></strong> with
+ the <strong><code>distributed.ehcache.xml</code></strong> completely in <strong><code>cache.xml</code></strong> (in <strong><code>/WEB-INF/assembly/</code></strong>) as shown below.
+ </p>
+<p><div class="source"><pre>
+<!-- Cache Manager -->
+<bean id="cacheManagerConfig" class="org.apache.jetspeed.cache.impl.EhCacheConfigResource">
+ <!-- <property name="defaultConfigResource" value="distributed-ehcache.xml"/> -->
+ <property name="defaultConfigResource" value="ehcache.xml"/>
+</bean>
+</pre>
+</div>
+</p>
+<p>
+ The Listener and Provider factory caches are required for cache replication. You shouldn't have to enter values in this file but instead use the jetspeed override.properties to set them.
+ Below are parameters which can be set for configuring the distributed cache.
+ The port and hostname can be the same for all nodes in the cluster under most default configurations.
+ </p>
+<div class="section"><h3><a name="ListenerFactory"></a>ListenerFactory</h3>
+<p><div class="source"><pre>
+<cacheManagerPeerListenerFactory class="net.sf.ehcache.distribution.RMICacheManagerPeerListenerFactory"
+ properties="hostName=${org.apache.jetspeed.ehcache.hostname},
+ port=${org.apache.jetspeed.ehcache.port}"/>
+</pre>
+</div>
+</p>
+</div>
+<div class="section"><h3><a name="ProviderFactory"></a>ProviderFactory</h3>
+<p><div class="source"><pre>
+<cacheManagerPeerProviderFactory class="net.sf.ehcache.distribution.RMICacheManagerPeerProviderFactory"
+ properties="peerDiscovery=automatic,
+ multicastGroupAddress=${org.apache.jetspeed.ehcache.group.address},
+ multicastGroupPort=${org.apache.jetspeed.ehcache.group.port},
+ timeToLive=${org.apache.jetspeed.ehcache.group.ttl}"/>
+</pre>
+</div>
+</p>
+</div>
+<div class="section"><h3><a name="preferencesCache"></a>preferencesCache</h3>
+<p><div class="source"><pre>
+<cache name="preferencesCache"
+ maxElementsInMemory="10000"
+ maxElementsOnDisk="1000"
+ eternal="false"
+ overflowToDisk="false"
+ timeToIdleSeconds="28800"
+ timeToLiveSeconds="28800"
+ memoryStoreEvictionPolicy="LFU">
+ <cacheEventListenerFactory
+ class="net.sf.ehcache.distribution.RMICacheReplicatorFactory"
+ properties="replicateAsynchronously=true, replicatePuts=false,
+ replicateUpdates=false, replicateUpdatesViaCopy=false,
+ replicateRemovals=true"/>
+ </cache>
+</pre>
+</div>
+</p>
+</div>
+<div class="section"><h3><a name="pageManagerPathCache"></a>pageManagerPathCache</h3>
+<p><div class="source"><pre>
+<cache name="pageManagerPathCache"
+ maxElementsInMemory="${org.apache.jetspeed.ehcache.pagemanager.maxelements}"
+ eternal="false"
+ overflowToDisk="false"
+ timeToIdleSeconds="${org.apache.jetspeed.ehcache.pagemanager.element.ttl}"
+ timeToLiveSeconds="${org.apache.jetspeed.ehcache.pagemanager.element.ttl}"
+ memoryStoreEvictionPolicy="LFU">
+ <cacheEventListenerFactory class="net.sf.ehcache.distribution.RMICacheReplicatorFactory"
+ properties="replicateAsynchronously=true,
+ replicatePuts=false,
+ replicateUpdates=false,
+ replicateUpdatesViaCopy=false,
+ replicateRemovals=true"/>
+</cache>
+</pre>
+</div>
+</p>
+</div>
+<div class="section"><h3><a name="Hostnames"></a>Hostnames</h3>
+<p>
+ The host name, represented by the <code>org.apache.jetspeed.ehcache.hostname</code> property, is the host the listener is running on.
+ The host name defaults to the host name of the default interface if not specified.
+ You will be required to specify a host name for each node when the host is multi-homed and you want to control the interface over which cluster messages are received.
+ For instance, if you happen to setup your network so that the cache to cache communication is not on the default interface, then you have to set that host name property on each machine.
+ This requires a custom jetspeed.property file for each node.
+ </p>
+<p>Configuring a different hostname per node can be done through the Cache Manager configuration Spring bean combined with setting a Java System property.
+ In the <code>cache.xml</code>, you can configure the <code>CacheManagerConfig</code> to use a system property, in this case a property named <code>server.ref</code>.
+ This argument is populated at runtime in the portal framework via the following setting in cache.xml:</p>
+<div class="source"><pre>
+ <!-- Cache Manager -->
+ <bean id="cacheManagerConfig" class="org.apache.jetspeed.cache.impl.EhCacheConfigResource">
+ <!-- <property name="defaultConfigResource" value="distributed-ehcache.xml"/> -->
+ <property name="defaultConfigResource" value="ehcache${server.ref}.xml"/>
+ </bean>
+</pre>
+</div>
+<p>Make sure to set the system property, for example at startup:</p>
+<div class="source"><pre>
+java .... -Dserver.ref=_NODE56
+</pre>
+</div>
+</div>
+<div class="section"><h3><a name="Cache_Properties"></a>Cache Properties</h3>
+<p>
+ Following are the default settings for using the distributed cache. These can be set/modified in the <strong><code>jetspeed.properties</code></strong> or <strong><code>override.properties</code></strong>:
+ </p>
+<table class="bodyTable"><tr class="a"><th>Cache (commented out by default)</th>
+</tr>
+<tr class="b"><td>Cache page manager override properties.</td>
+</tr>
+<tr class="a"><th>Property</th>
+<th>Default</th>
+<th>Description</th>
+</tr>
+<tr class="b"><td>#org.apache.jetspeed.ehcache.pagemanager.maxelements</td>
+<td>128</td>
+<td>Database page manager cache size</td>
+</tr>
+<tr class="a"><td>#org.apache.jetspeed.ehcache.pagemanager.element.ttl</td>
+<td>150</td>
+<td>Database page manager cache element expiration in seconds, (infinite = 0)</td>
+</tr>
+<tr class="b"><td>#org.apache.jetspeed.ehcache.pagemanager.maxfiles</td>
+<td>1000</td>
+<td>PSML page manager file cache size</td>
+</tr>
+<tr class="a"><td>#org.apache.jetspeed.ehcache.config.resource</td>
+<td>ehcache.xml</td>
+<td>Cache configuration resource, ('ehcache.xml' or 'distributed-ehcache.xml' supported by default)</td>
+</tr>
+<tr class="b"><td>#org.apache.jetspeed.ehcache.group.address</td>
+<td>230.0.0.1</td>
+<td>Distributed cache peer discovery multicast address</td>
+</tr>
+<tr class="a"><td>#org.apache.jetspeed.ehcache.group.port</td>
+<td>4446</td>
+<td>Distributed cache peer discovery multicast port</td>
+</tr>
+<tr class="b"><td>#org.apache.jetspeed.ehcache.group.ttl</td>
+<td>1</td>
+<td>Distributed cache peer discovery multicast TTL. Choose based on the nodes locations.
+ <ul><li>0 - restricted to the same host</li>
+<li>1 - restricted to the same subnet</li>
+<li>32 - restricted to the same site</li>
+<li>64 - restricted to the same region</li>
+<li>128 - restricted to the same continent</li>
+<li>255 - unrestricted</li>
+</ul>
+</td>
+</tr>
+<tr class="a"><td>#org.apache.jetspeed.ehcache.hostname</td>
+<td></td>
+<td>Distributed cache peer hostname, (set to listen on specific interface). Hostname will need to be entered for every node in some cases, see section above on <code>Hostnames</code>, otherwise leave blank.</td>
+</tr>
+<tr class="b"><td>#org.apache.jetspeed.ehcache.port</td>
+<td>40001</td>
+<td>Distributed cache peer port. Port should be different for each node if they are running on the same machine.</td>
+</tr>
+</table>
+<br />
+<p>
+ These settings are specific for the page manger cache:<br />
+<ul><li>#org.apache.jetspeed.ehcache.pagemanager.maxelements=128</li>
+<li>#org.apache.jetspeed.ehcache.pagemanager.element.ttl=150</li>
+<li>#org.apache.jetspeed.ehcache.pagemanager.maxfiles=1000</li>
+</ul>
+</p>
+</div>
+</div>
+<div class="section"><h2><a name="Testing_Jetspeed_Distributed_Cache"></a>Testing Jetspeed Distributed Cache</h2>
+<p>
+ First, verify that the following page-manager test works on your development machine:
+ </p>
+<p><div class="source"><pre>
+mvn test -P test -Dtest=TestDatabasePageManagerCache
+</pre>
+</div>
+</p>
+<p>
+ Not only must this test pass, but the following message should not appear in the
+ console/shell or in the test log files:
+ </p>
+<p><strong>
+ "Server page managers not distributed: possible system limitation... test skipped"
+ </strong></p>
+<p>
+ If you see the above message, check firewall settings to allow UDP/4446. That is
+ sometimes needed on Lunix systems if firewalls are enabled to allow UDP multicast
+ loopback. Some older TCP stacks do not support UDP multicast loopback at all. This
+ is why this test does not outright fail even though distributed caches can not be setup.
+ </p>
+<p>
+ Now for the full test: setup two independent tomcat J2 images.
+ Edit <strong><code>webapps/jetspeed/WEB-INF/assembly/cache.xml</code></strong> for Tomcat image #1:
+ </p>
+<div class="source"><pre>
+<bean id="cacheManagerConfig" class="org.apache.jetspeed.cache.impl.EhCacheConfigResource">
+ <property name="defaultConfigResource" value="distributed-ehcache.xml"/>
+ <property name="defaultHostname" value="localhost"/>
+ <property name="defaultPort" value="40001"/>
+</bean>
+</pre>
+</div>
+<p>
+ Edit <strong><code>webapps/jetspeed/WEB-INF/assembly/cache.xml</code></strong> for Tomcat image #2:
+ </p>
+<div class="source"><pre>
+<bean id="cacheManagerConfig" class="org.apache.jetspeed.cache.impl.EhCacheConfigResource">
+ <property name="defaultConfigResource" value="distributed-ehcache.xml"/>
+ <property name="defaultHostname" value="localhost"/>
+ <property name="defaultPort" value="40002"/>
+</bean>
+</pre>
+</div>
+<p>
+ Startup browsers against each server. Use different host names to
+ ensure cookies are managed separately (i.e. '127.0.0.1' and 'localhost').
+ View the same page in each browser. Edit the page in one browser. Upon refresh, changes should be
+ visible in second browser.
+ </p>
+<p>
+ When distributed caches are run on multiple virtual or physical servers, the default
+ port assigned above does not need to be incremented for each machine. If the servers
+ are deployed on multiple networks, care must be taken to ensure multicast traffic on
+ UDP/4446/230.0.0.1 and TCP/40001 is routed between the servers. Additionally,
+ multicast propagation TTL may have to be specified to enable the UDP packets to
+ jump between networks. The default value is "1", which is supposed to limit packets
+ to one subnet. (See the org.apache.jetspeed.ehcache.group.ttl property).
+ </p>
+<p>
+ Here is a fully specified cacheManagerConfig bean with its distributed cache default
+ values for normal installation:
+ </p>
+<div class="source"><pre>
+<bean id="cacheManagerConfig" class="org.apache.jetspeed.cache.impl.EhCacheConfigResource">
+ <property name="defaultConfigResource" value="distributed-ehcache.xml"/>
+ <property name="defaultGroupAddress" value="230.0.0.1"/>
+ <property name="defaultGroupPort" value="4446"/>
+ <property name="defaultGroupTTL" value="1"/>
+ <property name="defaultHostname" value="localhost"/>
+ <property name="defaultPort" value="40001"/>
+</bean>
+</pre>
+</div>
+<p>
+ Any of these can be configured to reflect requirements of the production network.
+ </p>
+</div>
+
+ </div>
+ </div>
+ <div class="clear">
+ <hr/>
+ </div>
+ <div id="footer">
+ <div class="xright">©
+ 2004-2010
+
+ Apache Software Foundation
+
+
+
+
+
+
+
+
+ </div>
+ <div class="clear">
+ <hr/>
+ </div>
+ </div>
+ </body>
+</html>
Propchange: portals/site-live/jetspeed-2.1.3/deployguide/distributed-cache.html
------------------------------------------------------------------------------
svn:executable = *
Added: portals/site-live/jetspeed-2.1.3/deployguide/guide-aggregation.html
URL: http://svn.apache.org/viewvc/portals/site-live/jetspeed-2.1.3/deployguide/guide-aggregation.html?rev=1422709&view=auto
==============================================================================
--- portals/site-live/jetspeed-2.1.3/deployguide/guide-aggregation.html (added)
+++ portals/site-live/jetspeed-2.1.3/deployguide/guide-aggregation.html Sun Dec 16 22:54:22 2012
@@ -0,0 +1,468 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+
+
+
+
+
+
+
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+ <title>Jetspeed 2 - Jetspeed 2 Aggregation</title>
+ <style type="text/css" media="all">
+ @import url("./css/maven-base.css");
+ @import url("./css/maven-theme.css");
+ @import url("./css/site.css");
+ </style>
+ <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
+ </head>
+ <body class="composite">
+ <div id="banner">
+ <a href="http://portals.apache.org/jetspeed-2/" id="bannerLeft">
+
+ <img src="images/jetspeed-logo.gif" alt="" />
+
+ </a>
+ <div class="clear">
+ <hr/>
+ </div>
+ </div>
+ <div id="breadcrumbs">
+
+
+
+
+
+
+
+
+ <div class="xleft">
+ Last Published: 14 July 2010
+ </div>
+ <div class="xright"> <a href="http://portals.apache.org/applications/" class="externalLink">Applications</a>
+ |
+ <a href="http://portals.apache.org/" class="externalLink">Portals</a>
+ |
+ <a href="http://portals.apache.org/jetspeed-2/" class="externalLink">Jetspeed-2.2</a>
+
+
+
+
+
+
+
+
+ </div>
+ <div class="clear">
+ <hr/>
+ </div>
+ </div>
+ <div id="leftColumn">
+ <div id="navcolumn">
+
+
+
+
+
+
+
+
+ <h5>Essentials</h5>
+ <ul>
+
+ <li class="none">
+ <a href="index.html">Welcome</a>
+ </li>
+
+ <li class="none">
+ <a href="features.html">Features</a>
+ </li>
+
+ <li class="none">
+ <a href="getting-started.html">Getting Started</a>
+ </li>
+
+ <li class="none">
+ <a href="demo.html">Jetspeed Online Demos</a>
+ </li>
+ </ul>
+ <h5>Get Jetspeed</h5>
+ <ul>
+
+ <li class="none">
+ <a href="download.html">Download</a>
+ </li>
+
+ <li class="none">
+ <a href="getting-started-installer.html">Installer Instructions</a>
+ </li>
+
+ <li class="none">
+ <a href="release-notes.html">Release Notes</a>
+ </li>
+ </ul>
+ <h5>Documentation Guides</h5>
+ <ul>
+
+ <li class="none">
+ <a href="usersguide/index.html">Users Guide</a>
+ </li>
+
+ <li class="none">
+ <a href="adminguide/index.html">Administrators Guide</a>
+ </li>
+
+ <li class="none">
+ <a href="deployguide/index.html">Deployment Guide</a>
+ </li>
+
+ <li class="none">
+ <a href="devguide/index.html">Developers Guide</a>
+ </li>
+ </ul>
+ <h5>Migration</h5>
+ <ul>
+
+ <li class="none">
+ <a href="guide-migration.html">Migration Guide</a>
+ </li>
+
+ <li class="none">
+ <a href="j1-migration.html">Jetspeed-1 Migration Guideline</a>
+ </li>
+
+ <li class="none">
+ <a href="j1-users.html">For Jetspeed-1 Users</a>
+ </li>
+ </ul>
+ <h5>APIs</h5>
+ <ul>
+
+ <li class="none">
+ <a href="apidocs/jetspeed-api/index.html">Jetspeed-2 Java API</a>
+ </li>
+
+ <li class="none">
+ <a href="devguide/guide-ajax-api.html">Jetspeed-2 AJAX API</a>
+ </li>
+ </ul>
+ <h5>Tutorials</h5>
+ <h5>Community</h5>
+ <ul>
+
+ <li class="none">
+ <a href="supporting-projects.html">Supporting Projects</a>
+ </li>
+
+ <li class="none">
+ <a href="who-uses-j2.html">Who Uses J2?</a>
+ </li>
+
+ <li class="none">
+ <a href="portlets-community.html">Portlets Community</a>
+ </li>
+
+ <li class="none">
+ <a href="how-to-help.html">How to Help?</a>
+ </li>
+ </ul>
+ <h5>Support</h5>
+ <ul>
+
+ <li class="none">
+ <a href="mail-lists.html">Mailing List</a>
+ </li>
+
+ <li class="none">
+ <a href="issue-tracking.html">Bug Database</a>
+ </li>
+
+ <li class="none">
+ <a href="http://wiki.apache.org/portals/Jetspeed2" class="externalLink">Wiki</a>
+ </li>
+
+ <li class="none">
+ <a href="faq.html">FAQ</a>
+ </li>
+ </ul>
+ <h5>Translation</h5>
+ <ul>
+
+ <li class="none">
+ <a href="http://jetspeed-japan.sourceforge.jp/jetspeed-2-trans/ja/index.html" class="externalLink">Japanese</a>
+ </li>
+ </ul>
+ <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
+ <img alt="Built by Maven" src="./images/logos/maven-feather.png"></img>
+ </a>
+
+
+
+
+
+
+
+
+ </div>
+ </div>
+ <div id="bodyColumn">
+ <div id="contentBox">
+ <subtitle></subtitle><authors><person name="David Sean Taylor" email="taylor@apache.org"></authors><div class="section"><h2><a name="What_is_Aggregation"></a>What is Aggregation?</h2>
+<p>
+ The portal provides a consolidated view of multiple content sources, or portlets, in a single browser display.
+ The process of consolidating and rendering this content together is known as aggregation.
+ In Jetspeed, the aggregator is made up of several pluggable Spring components that plug into the Jetspeed engine.
+ </p>
+</div>
+<div class="section"><h2><a name="Supported_Aggregators"></a>Supported Aggregators</h2>
+<p>List of Aggregators:</p>
+<table class="bodyTable"><tr class="a"><th>Component Name</th>
+<th>Description</th>
+<th>Multithreaded?</th>
+<th>JSR-168 Caching?</th>
+</tr>
+<tr class="b"><td>PageAggregator</td>
+<td>Given a PSML page, aggregates the content of all portlets on that page.</td>
+<td>no</td>
+<td>yes</td>
+</tr>
+<tr class="a"><td>AsyncPageAggregator</td>
+<td>A multi-threaded, asynchronous PSML page aggregator.</td>
+<td>yes</td>
+<td>yes</td>
+</tr>
+<tr class="b"><td>PortletAggregator</td>
+<td>Renders the content of one single portlet.</td>
+<td>no*</td>
+<td>yes</td>
+</tr>
+<tr class="a"><td>AsyncPageAggregator + CommonJ</td>
+<td>A multi-threaded, asynchronous PSML page aggregator running CommonJ Work Monitor threads, tested only with IBM Websphere 6.1 only.</td>
+<td>yes</td>
+<td>yes</td>
+</tr>
+</table>
+<i>* multi-threading is accomplished with the Jetspeed Desktop combined with the PortletAggregator</i></div>
+<div class="section"><h2><a name="Aggregator_Spring_Configuration"></a>Aggregator Spring Configuration</h2>
+<p></p>
+<div class="source"><pre>
+
+ <!-- Default portlet timeout in milliseconds:
+ Zero means no portlet timeout option by default.
+ -->
+ <constructor-arg>
+ <value>0</value>
+ </constructor-arg>
+
+ </pre>
+</div>
+<p></p>
+</div>
+<div class="section"><h2><a name="Changing_the_Page_Aggregator_to_Multithreaded"></a>Changing the Page Aggregator to Multithreaded</h2>
+<p>
+ The default aggregator is single-threaded. To switch to multi-threaded,
+ edit the <b>pipelines.xml</b> spring configuration file:
+ </p>
+<div class="source"><pre>
+
+<!-- Before -->
+ <bean id="aggregatorValve"
+ class="org.apache.jetspeed.aggregator.AggregatorValve"
+ init-method="initialize"
+
+ <constructor-arg>
+ <ref bean="org.apache.jetspeed.aggregator.PageAggregator"/>
+ </constructor-arg>
+ </bean>
+
+ <!-- After -->
+ <bean id="aggregatorValve"
+ class="org.apache.jetspeed.aggregator.AggregatorValve"
+ init-method="initialize"
+
+ <constructor-arg>
+ <ref bean="org.apache.jetspeed.aggregator.AsyncPageAggregator"/>
+ </constructor-arg>
+ </bean>
+
+ </pre>
+</div>
+<p></p>
+</div>
+<div class="section"><h2><a name="jetspeed-portlet.xml_Parameters"></a>jetspeed-portlet.xml Parameters</h2>
+<p>
+ For the multithreaded aggregator, you can override the default setting
+ for rendering timeout for a specific portlet. This value is set in milliseconds
+ and represents the timeout value that Jetspeed will give the portlet to complete
+ rendering before it gives up.
+ </p>
+<p>
+ IMPORTANT: This parameter serves two purposes: (1) the presence of it enables parallel rendering for a portlet, and (2) the value determines how long Jetspeed will
+give this portlet to complete rendering before it times out and abandons rendering the portlet. Future versions will relax the first requirement. Beware that even if parallel
+rendering is enabled, portlets will not be rendered outside the main thread group, i.e. in sequential, unless this timeout parameter exists in the jetspeed-portlet.xml.
+ </p>
+<div class="source"><pre>
+
+<portlet>
+ <portlet-name>PickANumberPortlet</portlet-name>
+ <js:metadata name="timeout">3000</js:metadata>
+</portlet>
+
+ </pre>
+</div>
+<p></p>
+</div>
+<div class="section"><h2><a name="Multithreaded_Aggregation_with_Websphere"></a>Multithreaded Aggregation with Websphere</h2>
+<p>Running mulithreaded aggregation with Jetspeed requires the following configuration steps.
+ Note that steps 1 and 2 are required for all Websphere installations and are not specific to multithreaded aggregation.
+ </p>
+<div class="section"><h3><a name="a1._Login_Filter"></a>1. Login Filter</h3>
+<p>Configure the WEB-INF/web.xml to use the PortalFilter for logging in by uncommented the PortalFilter and its mapping:</p>
+<div class="source"><pre>
+
+ <filter>
+ <filter-name>PortalFilter</filter-name>
+ <filter-class>org.apache.jetspeed.login.filter.PortalFilter</filter-class>
+ </filter>
+...
+ <filter-mapping>
+ <filter-name>PortalFilter</filter-name>
+ <url-pattern>/*</url-pattern>
+ </filter-mapping>
+
+ </pre>
+</div>
+</div>
+<div class="section"><h3><a name="a2.Portal_Login_Portlet"></a>2.Portal Login Portlet</h3>
+<p>Edit the default-page.psml, changing the login portlet to the filter-based login portlet as shown below.
+ Make sure to also change the fragment id. Change:</p>
+<div class="source"><pre>
+
+ <fragment id="dp-12" type="portlet" name="j2-admin::LoginPortlet">
+ ...
+
+ </pre>
+</div>
+<p>to ..</p>
+<div class="source"><pre>
+
+ <fragment id="dp-12a" type="portlet" name="j2-admin::PortalLoginPortlet">
+ ...
+
+ </pre>
+</div>
+</div>
+<div class="section"><h3><a name="a3._Use_the_Jetspeed_Portal_Request_Factory"></a>3. Use the Jetspeed Portal Request Factory</h3>
+<p>
+Some webcontainers like WebSphere 5.x derive critical information of the HttpServletRequest dynamically from the current application context.
+This means that in an invoked portlet application, the original Portal request, as stored in the RequestContext, for example doesn't returns the Portal contextPath, servletPath and HttpSession of the Portal application. You'll get the same object references as in the current application HttpServletRequest.
+Because of this, simple things as portal level login through a custom portlet isn't possible in these web containers.
+ </p>
+<p>
+To solve this, an additional PortalRequest wrapper will be used which registers the initial (portal) object references from a supplied request and always returns those,
+instead of delagating to the wrapped request.
+Which wrapper is used is handled by a new PortalRequestFactory which can be specified in the springframework configuration.
+For other web containers like Tomcat which doesn't have this "problem", nothing has to be specified (none is by default), in which case the request will be wrapped in an HttpServletRequestWrapper to maintain the same level of wrapping (needed for easy access to the original request in ServletPortletInvoker.
+ </p>
+<p>Edit WEB-INF/assembly/wps.xml, and uncomment the one bean found there</p>
+<div class="source"><pre>
+
+<beans>
+ <!-- required for websphere, uncomment if running under websphere
+ see: http://issues.apache.org/jira/browse/JS2-355 -->
+ <bean id="org.apache.jetspeed.request.PortalRequestFactory" class="org.apache.jetspeed.request.PortalRequestFactoryImpl"/>
+</beans>
+
+ </pre>
+</div>
+</div>
+<div class="section"><h3><a name="a4._Turn_on_the_Multithreaded_Aggregation_Engine"></a>4. Turn on the Multithreaded Aggregation Engine</h3>
+<p>Swap out the (org.apache.jetspeed.aggregator.PageAggregator) with the multithreaded aggregation engine in WEB-INF/assembly/pipelines.xml:
+ </p>
+<div class="source"><pre>
+
+ <bean id="aggregatorValve"
+ class="org.apache.jetspeed.aggregator.AggregatorValve"
+ init-method="initialize"
+ >
+ <constructor-arg>
+ <ref bean="org.apache.jetspeed.aggregator.AsyncPageAggregator"/>
+ </constructor-arg>
+ </bean>
+
+ </pre>
+</div>
+</div>
+<div class="section"><h3><a name="Optional_Replacement_for_Portlet_RequestResponse_Unwrapper"></a>Optional Replacement for Portlet Request/Response Unwrapper</h3>
+<p>You can replace the default portlet request/response unwrapper with a third-party module in WEB-INF/assembly/pluto-factories.xml.</p>
+<p>Because the servlet request object of a servlet container could not be thread-safe under Jetspeed parallel rendering mode, the third-party unwrapper module can provide a thread-safe implementation by decorating the original request object.</p>
+<p>Here's an example setting for third-party unwrapper module:</p>
+<div class="source"><pre>
+
+ <!--
+ PortletRequestResponseUnwrapper finds servlet request or servlet response from portlet request or portlet response by unwrapping.
+ Third-party module can provide an implementation to decorate the real request or response object of a servlet container.
+ For example, the real request object of a servlet container can be decorated because it is not thread-safe under Jetspeed parallel rendering mode.
+ -->
+ <bean id="PortletRequestResponseUnwrapper"
+ class="com.bluesunrise.jetspeed.container.invoker.WebspherePortletRequestResponseUnwrapper" />
+
+ </pre>
+</div>
+</div>
+<div class="section"><h3><a name="Optional_CommonJ_Work_Manager"></a>Optional CommonJ Work Manager</h3>
+<p> If you want to use Commonj Work Manager provided by the container, uncomment the followings in WEB-INF/assembly/aggregation.xml:</p>
+<div class="source"><pre>
+
+ <bean id="JetspeedWorkManager" class="org.springframework.jndi.JndiObjectFactoryBean">
+ <property name="resourceRef"><value>false</value></property>
+ <property name="jndiName">
+ <value>java:comp/env/wm/jetspeed</value>
+ </property>
+ </bean>
+ <bean id="org.apache.jetspeed.aggregator.CommonjWorkerMonitor"
+ class="org.apache.jetspeed.aggregator.impl.CommonjWorkerMonitorImpl"
+ init-method="start" destroy-method="stop" >
+ <constructor-arg index="0">
+ <ref bean="JetspeedWorkManager" />
+ </constructor-arg>
+ </bean>
+
+ </pre>
+</div>
+<p>
+ Also replace all references to org.apache.jetspeed.aggregator.WorkerMonitor with org.apache.jetspeed.aggregator.CommonjWorkerMonitor in WEB-INF/assembly/aggregation.xml.
+</p>
+</div>
+</div>
+
+ </div>
+ </div>
+ <div class="clear">
+ <hr/>
+ </div>
+ <div id="footer">
+ <div class="xright">©
+ 2004-2010
+
+ Apache Software Foundation
+
+
+
+
+
+
+
+
+ </div>
+ <div class="clear">
+ <hr/>
+ </div>
+ </div>
+ </body>
+</html>
Propchange: portals/site-live/jetspeed-2.1.3/deployguide/guide-aggregation.html
------------------------------------------------------------------------------
svn:executable = *
Added: portals/site-live/jetspeed-2.1.3/deployguide/guide-caching.html
URL: http://svn.apache.org/viewvc/portals/site-live/jetspeed-2.1.3/deployguide/guide-caching.html?rev=1422709&view=auto
==============================================================================
--- portals/site-live/jetspeed-2.1.3/deployguide/guide-caching.html (added)
+++ portals/site-live/jetspeed-2.1.3/deployguide/guide-caching.html Sun Dec 16 22:54:22 2012
@@ -0,0 +1,387 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+
+
+
+
+
+
+
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+ <title>Jetspeed 2 - Portlet Caching</title>
+ <style type="text/css" media="all">
+ @import url("./css/maven-base.css");
+ @import url("./css/maven-theme.css");
+ @import url("./css/site.css");
+ </style>
+ <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
+ </head>
+ <body class="composite">
+ <div id="banner">
+ <a href="http://portals.apache.org/jetspeed-2/" id="bannerLeft">
+
+ <img src="images/jetspeed-logo.gif" alt="" />
+
+ </a>
+ <div class="clear">
+ <hr/>
+ </div>
+ </div>
+ <div id="breadcrumbs">
+
+
+
+
+
+
+
+
+ <div class="xleft">
+ Last Published: 14 July 2010
+ </div>
+ <div class="xright"> <a href="http://portals.apache.org/applications/" class="externalLink">Applications</a>
+ |
+ <a href="http://portals.apache.org/" class="externalLink">Portals</a>
+ |
+ <a href="http://portals.apache.org/jetspeed-2/" class="externalLink">Jetspeed-2.2</a>
+
+
+
+
+
+
+
+
+ </div>
+ <div class="clear">
+ <hr/>
+ </div>
+ </div>
+ <div id="leftColumn">
+ <div id="navcolumn">
+
+
+
+
+
+
+
+
+ <h5>Essentials</h5>
+ <ul>
+
+ <li class="none">
+ <a href="index.html">Welcome</a>
+ </li>
+
+ <li class="none">
+ <a href="features.html">Features</a>
+ </li>
+
+ <li class="none">
+ <a href="getting-started.html">Getting Started</a>
+ </li>
+
+ <li class="none">
+ <a href="demo.html">Jetspeed Online Demos</a>
+ </li>
+ </ul>
+ <h5>Get Jetspeed</h5>
+ <ul>
+
+ <li class="none">
+ <a href="download.html">Download</a>
+ </li>
+
+ <li class="none">
+ <a href="getting-started-installer.html">Installer Instructions</a>
+ </li>
+
+ <li class="none">
+ <a href="release-notes.html">Release Notes</a>
+ </li>
+ </ul>
+ <h5>Documentation Guides</h5>
+ <ul>
+
+ <li class="none">
+ <a href="usersguide/index.html">Users Guide</a>
+ </li>
+
+ <li class="none">
+ <a href="adminguide/index.html">Administrators Guide</a>
+ </li>
+
+ <li class="none">
+ <a href="deployguide/index.html">Deployment Guide</a>
+ </li>
+
+ <li class="none">
+ <a href="devguide/index.html">Developers Guide</a>
+ </li>
+ </ul>
+ <h5>Migration</h5>
+ <ul>
+
+ <li class="none">
+ <a href="guide-migration.html">Migration Guide</a>
+ </li>
+
+ <li class="none">
+ <a href="j1-migration.html">Jetspeed-1 Migration Guideline</a>
+ </li>
+
+ <li class="none">
+ <a href="j1-users.html">For Jetspeed-1 Users</a>
+ </li>
+ </ul>
+ <h5>APIs</h5>
+ <ul>
+
+ <li class="none">
+ <a href="apidocs/jetspeed-api/index.html">Jetspeed-2 Java API</a>
+ </li>
+
+ <li class="none">
+ <a href="devguide/guide-ajax-api.html">Jetspeed-2 AJAX API</a>
+ </li>
+ </ul>
+ <h5>Tutorials</h5>
+ <h5>Community</h5>
+ <ul>
+
+ <li class="none">
+ <a href="supporting-projects.html">Supporting Projects</a>
+ </li>
+
+ <li class="none">
+ <a href="who-uses-j2.html">Who Uses J2?</a>
+ </li>
+
+ <li class="none">
+ <a href="portlets-community.html">Portlets Community</a>
+ </li>
+
+ <li class="none">
+ <a href="how-to-help.html">How to Help?</a>
+ </li>
+ </ul>
+ <h5>Support</h5>
+ <ul>
+
+ <li class="none">
+ <a href="mail-lists.html">Mailing List</a>
+ </li>
+
+ <li class="none">
+ <a href="issue-tracking.html">Bug Database</a>
+ </li>
+
+ <li class="none">
+ <a href="http://wiki.apache.org/portals/Jetspeed2" class="externalLink">Wiki</a>
+ </li>
+
+ <li class="none">
+ <a href="faq.html">FAQ</a>
+ </li>
+ </ul>
+ <h5>Translation</h5>
+ <ul>
+
+ <li class="none">
+ <a href="http://jetspeed-japan.sourceforge.jp/jetspeed-2-trans/ja/index.html" class="externalLink">Japanese</a>
+ </li>
+ </ul>
+ <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
+ <img alt="Built by Maven" src="./images/logos/maven-feather.png"></img>
+ </a>
+
+
+
+
+
+
+
+
+ </div>
+ </div>
+ <div id="bodyColumn">
+ <div id="contentBox">
+ <subtitle></subtitle><authors><person name="David Sean Taylor" email="taylor@apache.org"></authors><div class="section"><h2><a name="Portlet_Expiration_Caching"></a>Portlet Expiration Caching</h2>
+<p>
+ The Expiration Cache for specific portlets is declared in your portlet.xml deployment descriptor.
+ At runtime, you can also modify the cache in the <a href="../adminguide/pam.html">Registry admin</a> for your portlet.
+ Caching content helps improve the Portal response time for users. An expiration
+ mechanism is provided on a per portlet basis. Be careful with this feature as cached content, in the Portlet 1.0 specification, the cache is not shared across users.
+ Each user will receive their own cached content. This feature can use up a lot of memory when you have thousands of users.
+ The real advantage to using portlet caching is when you have content that is very expensive, performance-wise, to produce.
+ </p>
+<p>
+ Expiration times are defined in the portlet.xml and are specified in seconds:
+<div class="source"><pre>
+<portlet>
+ <expiration-cache>300</expiration-cache>
+</portlet>
+</pre>
+</div>
+<ul><li>A value of 0 indicates information is never cached.</li>
+<li>A value of -1 indicates the cache never expires.</li>
+</ul>
+</p>
+<div class="section"><h3><a name="Jetspeed_Caches"></a>Jetspeed Caches</h3>
+<p>The Jetspeed portal maintains its several system caches to increase portal performance. These caches can be made <a href="distributed-cache.html">distributed</a>, but n the default deployment, they are not distributed.
+ The <code>ehcache.xml</code> file, found under <code>WEB-INF/classes</code>, configures the Jetspeed system caches.
+ </p>
+<p><table class="bodyTable"><tr class="a"><th>Jetspeed Caches</th>
+</tr>
+<tr class="b"><th>Cache</th>
+<th>Description</th>
+<th>Parameters</th>
+</tr>
+<tr class="a"><td>portletContentCache</td>
+<td>JSR-168 Portlet Content Cache
+ This cache implements the JSR-168 caching specification (see Portlet Expiration Caching above).
+ The timeToIdle and timeToLive are set to defaults here, but are
+ always overriden on a per cache-element basis based on the portlet deployment
+ descriptor value. If there are more than 10000 elements it will not by default, overflow to the
+ disk cache, which in this configuration will go to wherever java.io.tmp is
+ defined on your system. On a standard Linux system this will be /tmp
+ timeToIdleSeconds and timeToLiveSeconds to live are both set at 8 hours (28800)
+ this is the default setting for portlets who set their expiration cache as -1
+ </td>
+<td>10,000 elements, time to idle/live = 8 hours, overflow to disk = false, LFU</td>
+</tr>
+<tr class="b"><td>preferencesCache</td>
+<td>Caches all preference nodes as elements, including user and default preferences. A single user preference can be represented by as many as 8 nodes in memory per user. When calculating
+ your cache size, also consider the default preferences along with the per user preferences requirements. Also see the section below on <code>Preferences Cache Preloading</code> for instructions on preloading the preferences cache.</td>
+<td>10,000 elements, time to idle/live = 8 hours, overflow to disk = false, LFU</td>
+</tr>
+<tr class="a"><td>portletApplicationNameCache</td>
+<td>Portlet Applications are cached by application name. This cache is hooked into the object-relational database cache and is essential for reasonable performance of the portal.</td>
+<td>500 elements, time to idle/live = 8 hours, overflow to disk = false, LFU</td>
+</tr>
+<tr class="b"><td>portletApplicationOidCache</td>
+<td>Portlet Applications are cached by object id. This cache is hooked into the object-relational database cache and is essential for reasonable performance of the portal.</td>
+<td>500 elements, time to idle/live = 8 hours, overflow to disk = false, LFU</td>
+</tr>
+<tr class="a"><td>portletDefinitionNameCache</td>
+<td>Portlet Definition are cached by portlet unique name. This cache is hooked into the object-relational database cache and is essential for reasonable performance of the portal.</td>
+<td>2000 elements, time to idle/live = 8 hours, overflow to disk = false, LFU</td>
+</tr>
+<tr class="b"><td>portletDefinitionOidCache</td>
+<td>Portlet Definition are cached by object id. This cache is hooked into the object-relational database cache and is essential for reasonable performance of the portal.</td>
+<td>2000 elements, time to idle/live = 8 hours, overflow to disk = false, LFU</td>
+</tr>
+<tr class="a"><td>decorationConfigurationCache</td>
+<td></td>
+<td>500 elements, time to idle/live = 8 hours, overflow to disk = false, LFU</td>
+</tr>
+<tr class="b"><td>portletWindowCache</td>
+<td>Caches portlet window accessor objects to speed up access for portlet fragment to window lookups</td>
+<td>200 elements, time to idle/live = 8 hours, overflow to disk = false, LFU</td>
+</tr>
+<tr class="a"><td>pageManagerOidCache</td>
+<td>Pages are cached by object id. This cache is hooked into the object-relational database cache and is essential for reasonable performance of the portal.</td>
+<td>128 elements, time to idle/live = 150 seconds, overflow to disk = false, LFU</td>
+</tr>
+<tr class="b"><td>pageManagerPathCache</td>
+<td>Pages are cached by the page full path. This cache is hooked into the object-relational database cache and is essential for reasonable performance of the portal.</td>
+<td>128 elements, time to idle/live = 150 seconds, overflow to disk = false, LFU</td>
+</tr>
+</table>
+</p>
+<p><table class="bodyTable"><tr class="a"><th>General Cache Settings in ehcache.xml</th>
+</tr>
+<tr class="b"><th>Setting</th>
+<th>Description</th>
+</tr>
+<tr class="a"><td>maxElementsInMemory</td>
+<td>Sets the maximum number of objects that will be created in memory</td>
+</tr>
+<tr class="b"><td>maxElementsOnDisk</td>
+<td>Sets the maximum number of objects that will be maintained in the DiskStore
+ The default value is zero, meaning unlimited.</td>
+</tr>
+<tr class="a"><td>eternal</td>
+<td> Sets whether elements are eternal. If eternal, timeouts are ignored and the
+ element is never expired.</td>
+</tr>
+<tr class="b"><td>overflowToDisk</td>
+<td>Sets whether elements can overflow to disk when the memory store
+ has reached the maxInMemory limit.</td>
+</tr>
+<tr class="a"><td>timeToIdleSeconds (optional)</td>
+<td> Sets the time to idle for an element before it expires.
+ i.e. The maximum amount of time between accesses before an element expires
+ Is only used if the element is not eternal.
+ Optional attribute. A value of 0 means that an Element can idle for infinity.
+ The default value is 0.</td>
+</tr>
+<tr class="b"><td>timeToLiveSeconds (optional)</td>
+<td>Sets the time to live for an element before it expires.
+ i.e. The maximum time between creation time and when an element expires.
+ Is only used if the element is not eternal.
+ Optional attribute. A value of 0 means that and Element can live for infinity.
+ The default value is 0.</td>
+</tr>
+<tr class="a"><td>memoryStoreEvictionPolicy</td>
+<td>Policy would be enforced upon reaching the maxElementsInMemory limit. Default
+ policy is Least Recently Used (specified as LRU). Other policies available -
+ First In First Out (specified as FIFO) and Less Frequently Used
+ (specified as LFU)</td>
+</tr>
+</table>
+</p>
+</div>
+<div class="section"><h3><a name="Preferences_Cache_Preloading"></a>Preferences Cache Preloading</h3>
+<p>To help with preferences performance, preferences can be preloaded at system started. See the Spring configuration file <code>prefs.xml</code> to modify the loading
+ of preferences into the preference cache at Jetspeed startup. Both default and user (entity) preferences can be optionally preloaded. The default setting is to
+ preload all all preferences for the j2-admin portlet application. See the constructor argument 2 on the <code>PreferencesProviderImpl</code> service, to modify the
+ list of portlet applications default preferences to preload. Leave the list empty to not preload default preferences. The third constructor argument determines
+ whether all user (entity) preferences are preloaded or not. The default is to not preload. Be very careful with this setting as it can result in quickly running out
+ of memory at startup.
+ </p>
+<div class="source"><pre>
+ <!-- list of portlet applications default preferences to preload, leave list empty to not preload -->
+ <constructor-arg index='2'>
+ <list>
+ <value>j2-admin</value>
+ </list>
+ </constructor-arg>
+ <!-- preload ALL Entities: warning this can chew up lots of memory -->
+ <constructor-arg index='3'><value type="boolean">false</value></constructor-arg>
+</pre>
+</div>
+</div>
+</div>
+
+ </div>
+ </div>
+ <div class="clear">
+ <hr/>
+ </div>
+ <div id="footer">
+ <div class="xright">©
+ 2004-2010
+
+ Apache Software Foundation
+
+
+
+
+
+
+
+
+ </div>
+ <div class="clear">
+ <hr/>
+ </div>
+ </div>
+ </body>
+</html>
Propchange: portals/site-live/jetspeed-2.1.3/deployguide/guide-caching.html
------------------------------------------------------------------------------
svn:executable = *
Added: portals/site-live/jetspeed-2.1.3/deployguide/guide-components.html
URL: http://svn.apache.org/viewvc/portals/site-live/jetspeed-2.1.3/deployguide/guide-components.html?rev=1422709&view=auto
==============================================================================
--- portals/site-live/jetspeed-2.1.3/deployguide/guide-components.html (added)
+++ portals/site-live/jetspeed-2.1.3/deployguide/guide-components.html Sun Dec 16 22:54:22 2012
@@ -0,0 +1,424 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+
+
+
+
+
+
+
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+ <title>Jetspeed 2 - Guide to Jetspeed-2 Component Architecture</title>
+ <style type="text/css" media="all">
+ @import url("./css/maven-base.css");
+ @import url("./css/maven-theme.css");
+ @import url("./css/site.css");
+ </style>
+ <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
+ </head>
+ <body class="composite">
+ <div id="banner">
+ <a href="http://portals.apache.org/jetspeed-2/" id="bannerLeft">
+
+ <img src="images/jetspeed-logo.gif" alt="" />
+
+ </a>
+ <div class="clear">
+ <hr/>
+ </div>
+ </div>
+ <div id="breadcrumbs">
+
+
+
+
+
+
+
+
+ <div class="xleft">
+ Last Published: 14 July 2010
+ </div>
+ <div class="xright"> <a href="http://portals.apache.org/applications/" class="externalLink">Applications</a>
+ |
+ <a href="http://portals.apache.org/" class="externalLink">Portals</a>
+ |
+ <a href="http://portals.apache.org/jetspeed-2/" class="externalLink">Jetspeed-2.2</a>
+
+
+
+
+
+
+
+
+ </div>
+ <div class="clear">
+ <hr/>
+ </div>
+ </div>
+ <div id="leftColumn">
+ <div id="navcolumn">
+
+
+
+
+
+
+
+
+ <h5>Essentials</h5>
+ <ul>
+
+ <li class="none">
+ <a href="index.html">Welcome</a>
+ </li>
+
+ <li class="none">
+ <a href="features.html">Features</a>
+ </li>
+
+ <li class="none">
+ <a href="getting-started.html">Getting Started</a>
+ </li>
+
+ <li class="none">
+ <a href="demo.html">Jetspeed Online Demos</a>
+ </li>
+ </ul>
+ <h5>Get Jetspeed</h5>
+ <ul>
+
+ <li class="none">
+ <a href="download.html">Download</a>
+ </li>
+
+ <li class="none">
+ <a href="getting-started-installer.html">Installer Instructions</a>
+ </li>
+
+ <li class="none">
+ <a href="release-notes.html">Release Notes</a>
+ </li>
+ </ul>
+ <h5>Documentation Guides</h5>
+ <ul>
+
+ <li class="none">
+ <a href="usersguide/index.html">Users Guide</a>
+ </li>
+
+ <li class="none">
+ <a href="adminguide/index.html">Administrators Guide</a>
+ </li>
+
+ <li class="none">
+ <a href="deployguide/index.html">Deployment Guide</a>
+ </li>
+
+ <li class="none">
+ <a href="devguide/index.html">Developers Guide</a>
+ </li>
+ </ul>
+ <h5>Migration</h5>
+ <ul>
+
+ <li class="none">
+ <a href="guide-migration.html">Migration Guide</a>
+ </li>
+
+ <li class="none">
+ <a href="j1-migration.html">Jetspeed-1 Migration Guideline</a>
+ </li>
+
+ <li class="none">
+ <a href="j1-users.html">For Jetspeed-1 Users</a>
+ </li>
+ </ul>
+ <h5>APIs</h5>
+ <ul>
+
+ <li class="none">
+ <a href="apidocs/jetspeed-api/index.html">Jetspeed-2 Java API</a>
+ </li>
+
+ <li class="none">
+ <a href="devguide/guide-ajax-api.html">Jetspeed-2 AJAX API</a>
+ </li>
+ </ul>
+ <h5>Tutorials</h5>
+ <h5>Community</h5>
+ <ul>
+
+ <li class="none">
+ <a href="supporting-projects.html">Supporting Projects</a>
+ </li>
+
+ <li class="none">
+ <a href="who-uses-j2.html">Who Uses J2?</a>
+ </li>
+
+ <li class="none">
+ <a href="portlets-community.html">Portlets Community</a>
+ </li>
+
+ <li class="none">
+ <a href="how-to-help.html">How to Help?</a>
+ </li>
+ </ul>
+ <h5>Support</h5>
+ <ul>
+
+ <li class="none">
+ <a href="mail-lists.html">Mailing List</a>
+ </li>
+
+ <li class="none">
+ <a href="issue-tracking.html">Bug Database</a>
+ </li>
+
+ <li class="none">
+ <a href="http://wiki.apache.org/portals/Jetspeed2" class="externalLink">Wiki</a>
+ </li>
+
+ <li class="none">
+ <a href="faq.html">FAQ</a>
+ </li>
+ </ul>
+ <h5>Translation</h5>
+ <ul>
+
+ <li class="none">
+ <a href="http://jetspeed-japan.sourceforge.jp/jetspeed-2-trans/ja/index.html" class="externalLink">Japanese</a>
+ </li>
+ </ul>
+ <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
+ <img alt="Built by Maven" src="./images/logos/maven-feather.png"></img>
+ </a>
+
+
+
+
+
+
+
+
+ </div>
+ </div>
+ <div id="bodyColumn">
+ <div id="contentBox">
+ <subtitle></subtitle><authors><person name="David Le Strat" email="dlestrat@apache.org"></authors><div class="section"><h2><a name="Guide_to_Jetspeed-2_Component_Architecture"></a>Guide to Jetspeed-2 Component Architecture</h2>
+<p>
+ The Jetspeed-2 architecture is build on a component architecture where as defined by
+ <a href="http://www.martinfowler.com/articles/injection.html" class="externalLink">Martin Fowler</a>:
+ <pre>
+ By the term component, I mean a glob of software that's intended to be used,
+ without change, by application that is out of the control of the writers of
+ the component. By 'without change' I mean that the using application doesn't
+ change the source code of the components, although they may alter the component's
+ behavior by extending it in ways allowed by the component writers.</pre></p>
+<p>
+ Jetspeed-2 uses dependency injection as a programming design pattern and architectural model
+ to establish a level of abstraction via a public interface, and to remove dependency on the components' implementation.
+ The architecture unites the components rather than the components linking themselves or being linked together.
+ Dependency injection is a pattern in which responsibility for object creation and object linking is removed
+ from the objects themselves and transferred to a factory.
+ Dependency injection therefore is obviously inverting the control for object creation and linking,
+ and can be seen to be a form of Inversion of Controls(IoC).
+ </p>
+<div class="section"><h3><a name="Jetspeed-2_and_Component_Frameworks"></a>Jetspeed-2 and Component Frameworks</h3>
+<p>
+ Jetspeed-2 leverages the <a href="http://www.springframework.org" class="externalLink">Spring Framework</a> as its default component framework.
+ However, Jetspeed-2 provides an architecture in which the component framework can easily be replaced by alternative
+ component frameworks such as <a href="http://www.picocontainer.org/" class="externalLink">Pico</a>.
+ </p>
+<p>
+ Jetspeed-2 component framework assembly is configured and implemented in <i>JetspeedServlet</i>:<br />
+<br />
+<img src="devguide/images/jetspeedservlet-c.gif" /></p>
+<p>
+ The <code>JetspeedServlet</code> is configured in the portal application <i>web.xml</i> to load at startup. The <code>initializeComponentManager</code>
+ method loads the <a href="guide-portal-assembly.html">assembly</a> for the given component framework. The default implementation
+ of <code>initializeComponentManager</code> supports the <a href="http://www.springframework.com" class="externalLink">spring framework</a> as a component framework
+ and assembles the xml files located under <code>WEB-INF/assembly</code> to initialize the spring engine. The <i>JetspeedEngine</i> is then
+ constructed with the proper component manager.
+ <div class="source"><pre>
+ engine = new JetspeedEngine(properties, applicationRoot, config,
+ initializeComponentManager(config, applicationRoot, properties));
+ </pre>
+</div>
+</p>
+<p>
+ In order to support another component framework, developers should override the <code>initializeComponentManager</code> implementation.
+ </p>
+</div>
+<div class="section"><h3><a name="Jetspeed-2_Core_Components"></a>Jetspeed-2 Core Components</h3>
+<table class="bodyTable"><tr class="a"><th>Jetspeed-2 Capabilities - Artifact Id: jetspeed-capability</th>
+</tr>
+<tr class="b"><th>Component Name</th>
+<th>Description</th>
+</tr>
+<tr class="a"><td><a href="../multiproject/jetspeed-capability/index.html"><code>Capabilities</code></a></td>
+<td>The <code>Capabilities</code> components maps clients to supported mime types and media types.
+ It creates a <code>CapabilityMap</code> that is used through the portal engine to render the
+ portal content for the targetted client.</td>
+</tr>
+</table>
+<br />
+<table class="bodyTable"><tr class="b"><th>Jetspeed-2 Component Manager - Artifact Id: jetspeed-cm</th>
+</tr>
+<tr class="a"><th>Component Name</th>
+<th>Description</th>
+</tr>
+<tr class="b"><td><a href="../multiproject/jetspeed-cm/index.html"><code>ComponentManager</code></a></td>
+<td>The <code>ComponentManager</code> provides a generic layer of abstraction on top of the component framework
+ being used. The default <code>ComponentManager</code> implementation in Jetspeed-2 is the
+ <code>SpringComponentManager</code>. More information can be found in the
+ <a href="../multiproject/jetspeed-cm/index.html"><code>ComponentManager</code> documentation</a>.</td>
+</tr>
+</table>
+<br />
+<table class="bodyTable"><tr class="a"><th>Jetspeed-2 Deploy Tools - Artifact Id: jetspeed-deploy-tools</th>
+</tr>
+<tr class="b"><th>Component Name</th>
+<th>Description</th>
+</tr>
+<tr class="a"><td><a href="../multiproject/jetspeed-deploy-tools/deploy-tools.html"><code>JetspeedDeploy</code></a></td>
+<td><code>JetspeedDeploy</code> prepares portlet applications prior to being deployed in Jetspeed-2. More information can be found in the
+ <a href="../multiproject/jetspeed-deploy-tools/deploy-tools.html"><code>JetspeedDeploy</code> documentation</a>.</td>
+</tr>
+<tr class="b"><td><a href="../multiproject/jetspeed-deploy-tools/index.html"><code>DeploymentManager</code></a></td>
+<td>The <code>DeploymentManager</code> listens for new portal assets (portlets, decorators) to be deployed. An overview of how deployment
+ works in Jetspeed-2 can be found <a href="../multiproject/jetspeed-deploy-tools/index.html">here</a>.</td>
+</tr>
+</table>
+<br />
+<table class="bodyTable"><tr class="a"><th>Jetspeed-2 Portal - Artifact Id: jetspeed-portal</th>
+</tr>
+<tr class="b"><th>Component Name</th>
+<th>Description</th>
+</tr>
+<tr class="a"><td><a href="../multiproject/jetspeed-portal/pipeline.html"><code>Pipeline</code></a></td>
+<td>The <code>Pipeline</code> orchestrates the <code>Valve</code> that are performing atomic operation on a
+ Jetspeed-2 request.</td>
+</tr>
+</table>
+<br />
+<table class="bodyTable"><tr class="b"><th>Jetspeed-2 Preferences - Artifact Id: jetspeed-prefs</th>
+</tr>
+<tr class="a"><th>Component Name</th>
+<th>Description</th>
+</tr>
+<tr class="b"><td><a href="../multiproject/jetspeed-prefs/index.html"><code>PreferencesProvider</code></a></td>
+<td>The <code>PreferencesProvider</code> exposes Jetspeed-2 implementation of the <code>java.util.Preferences</code> API.</td>
+</tr>
+</table>
+<br />
+<table class="bodyTable"><tr class="a"><th>Jetspeed-2 RDBMS - Artifact Id: jetspeed-rdbms</th>
+</tr>
+<tr class="b"><th>Component Name</th>
+<th>Description</th>
+</tr>
+<tr class="a"><td><a href="../multiproject/jetspeed-rdbms/index.html"><code>ConnectionRepositoryEntry</code></a></td>
+<td>The <code>ConnectionRepositoryEntry</code> exposes Jetspeed-2 implementation of the <code>java.util.Preferences</code> API.</td>
+</tr>
+<tr class="b"><td><a href="../multiproject/jetspeed-rdbms/dao.html"><code>InitablePersistenceBrokerDaoSupport</code></a></td>
+<td><code>InitablePersistenceBrokerDaoSupport</code> provides data access and persistence support for Jetspeed-2.</td>
+</tr>
+</table>
+<br />
+<table class="bodyTable"><tr class="a"><th>Jetspeed-2 Security - Artifact Id: jetspeed-security</th>
+</tr>
+<tr class="b"><th>Component Name</th>
+<th>Description</th>
+</tr>
+<tr class="a"><td><a href="../multiproject/jetspeed-security/arch.html"><code>DefaultLoginModule</code></a><br />
+<a href="../multiproject/jetspeed-security/arch.html"><code>RdbmsPolicy</code></a><br />
+</td>
+<td>Jetspeed-2 default implementation for <a href="http://java.sun.com/products/jaas/" class="externalLink">JAAS services</a>. Jetspeed-2 leverages JAAS as
+ a generic security standard framework to expose security functionality to the portal engine. The JAAS services
+ leverage Jetspeed-2 coarsed grained services for which specific implementations are provided through Jetspeed-2 security SPI.</td>
+</tr>
+<tr class="b"><td><a href="../multiproject/jetspeed-security/arch.html"><code>UserManager</code></a><br />
+<a href="../multiproject/jetspeed-security/arch.html"><code>RoleManager</code></a><br />
+<a href="../multiproject/jetspeed-security/arch.html"><code>GroupManager</code></a><br />
+<a href="../multiproject/jetspeed-security/arch.html"><code>PermissionManager</code></a></td>
+<td>Coarsed grained security components exposing Jetspeed-2 security management APIs.</td>
+</tr>
+<tr class="a"><td><a href="../multiproject/jetspeed-security/arch.html"><code>UserSecurityHandler</code></a><br />
+<a href="../multiproject/jetspeed-security/arch.html"><code>CredentialHandler</code></a><br />
+<a href="../multiproject/jetspeed-security/arch.html"><code>GroupSecurityHandler</code></a><br />
+<a href="../multiproject/jetspeed-security/arch.html"><code>RoleSecurityHandler</code></a><br />
+<a href="../multiproject/jetspeed-security/arch.html"><code>SecurityMappingHandler</code></a></td>
+<td>Fined grained Jetspeed-2 security SPI components exposing a specific implementation to the Jetspeed-2
+ security engine. This mechanism provides a flexible framework for supporting multiple security implementation
+ without having to impact the higher level security services.</td>
+</tr>
+</table>
+<br />
+<table class="bodyTable"><tr class="b"><th>Jetspeed-2 Search - Artifact Id: jetspeed-search</th>
+</tr>
+<tr class="a"><th>Component Name</th>
+<th>Description</th>
+</tr>
+<tr class="b"><td><a href="../multiproject/jetspeed-search/index.html"><code>SearchEngine</code></a></td>
+<td><code>SearchEngine</code> provides the integration with the <a href="http://lucene.apache.org/" class="externalLink">Apache Lucene</a> search
+ engine.</td>
+</tr>
+<tr class="a"><td><a href="../multiproject/jetspeed-search/index.html"><code>HandlerFactory</code></a></td>
+<td>The <code>HandlerFactory</code> exposes the documents handlers to the <code>SearchEngine</code>.</td>
+</tr>
+</table>
+<br />
+<table class="bodyTable"><tr class="b"><th>Jetspeed-2 Statistics - Artifact Id: jetspeed-statistics</th>
+</tr>
+<tr class="a"><th>Component Name</th>
+<th>Description</th>
+</tr>
+<tr class="b"><td><a href="../multiproject/jetspeed-statistics/index.html"><code>PortalStatistics</code></a></td>
+<td><code>PortalStatistics</code> exposes the Jetspeed-2 data collection API for data collection and data
+ retrieval.</td>
+</tr>
+<tr class="a"><td><a href="../multiproject/jetspeed-statistics/index.html"><code>BatchedStatistics</code></a></td>
+<td><code>BatchedStatistics</code> is responsible for the batch collection of statistics data given
+ a time to flush period.</td>
+</tr>
+<tr class="b"><td><a href="../multiproject/jetspeed-statistics/aggregation.html"><code>AggregateStatistics</code></a><br />
+<a href="../multiproject/jetspeed-statistics/aggregation.html"><code>StatisticsQueryCriteria</code></a></td>
+<td><code>AggregateStatistics</code> interacts with the <code>PortalStatistics</code> component to provide
+ aggregate portal data for a specific event and search criteria provided by <code>StatisticsQueryCriteria</code>.</td>
+</tr>
+</table>
+</div>
+</div>
+
+ </div>
+ </div>
+ <div class="clear">
+ <hr/>
+ </div>
+ <div id="footer">
+ <div class="xright">©
+ 2004-2010
+
+ Apache Software Foundation
+
+
+
+
+
+
+
+
+ </div>
+ <div class="clear">
+ <hr/>
+ </div>
+ </div>
+ </body>
+</html>
Propchange: portals/site-live/jetspeed-2.1.3/deployguide/guide-components.html
------------------------------------------------------------------------------
svn:executable = *
Added: portals/site-live/jetspeed-2.1.3/deployguide/guide-device-capabilities.html
URL: http://svn.apache.org/viewvc/portals/site-live/jetspeed-2.1.3/deployguide/guide-device-capabilities.html?rev=1422709&view=auto
==============================================================================
--- portals/site-live/jetspeed-2.1.3/deployguide/guide-device-capabilities.html (added)
+++ portals/site-live/jetspeed-2.1.3/deployguide/guide-device-capabilities.html Sun Dec 16 22:54:22 2012
@@ -0,0 +1,322 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+
+
+
+
+
+
+
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+ <title>Jetspeed 2 - Jetspeed 2 Device Capabilities</title>
+ <style type="text/css" media="all">
+ @import url("./css/maven-base.css");
+ @import url("./css/maven-theme.css");
+ @import url("./css/site.css");
+ </style>
+ <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
+ </head>
+ <body class="composite">
+ <div id="banner">
+ <a href="http://portals.apache.org/jetspeed-2/" id="bannerLeft">
+
+ <img src="images/jetspeed-logo.gif" alt="" />
+
+ </a>
+ <div class="clear">
+ <hr/>
+ </div>
+ </div>
+ <div id="breadcrumbs">
+
+
+
+
+
+
+
+
+ <div class="xleft">
+ Last Published: 14 July 2010
+ </div>
+ <div class="xright"> <a href="http://portals.apache.org/applications/" class="externalLink">Applications</a>
+ |
+ <a href="http://portals.apache.org/" class="externalLink">Portals</a>
+ |
+ <a href="http://portals.apache.org/jetspeed-2/" class="externalLink">Jetspeed-2.2</a>
+
+
+
+
+
+
+
+
+ </div>
+ <div class="clear">
+ <hr/>
+ </div>
+ </div>
+ <div id="leftColumn">
+ <div id="navcolumn">
+
+
+
+
+
+
+
+
+ <h5>Essentials</h5>
+ <ul>
+
+ <li class="none">
+ <a href="index.html">Welcome</a>
+ </li>
+
+ <li class="none">
+ <a href="features.html">Features</a>
+ </li>
+
+ <li class="none">
+ <a href="getting-started.html">Getting Started</a>
+ </li>
+
+ <li class="none">
+ <a href="demo.html">Jetspeed Online Demos</a>
+ </li>
+ </ul>
+ <h5>Get Jetspeed</h5>
+ <ul>
+
+ <li class="none">
+ <a href="download.html">Download</a>
+ </li>
+
+ <li class="none">
+ <a href="getting-started-installer.html">Installer Instructions</a>
+ </li>
+
+ <li class="none">
+ <a href="release-notes.html">Release Notes</a>
+ </li>
+ </ul>
+ <h5>Documentation Guides</h5>
+ <ul>
+
+ <li class="none">
+ <a href="usersguide/index.html">Users Guide</a>
+ </li>
+
+ <li class="none">
+ <a href="adminguide/index.html">Administrators Guide</a>
+ </li>
+
+ <li class="none">
+ <a href="deployguide/index.html">Deployment Guide</a>
+ </li>
+
+ <li class="none">
+ <a href="devguide/index.html">Developers Guide</a>
+ </li>
+ </ul>
+ <h5>Migration</h5>
+ <ul>
+
+ <li class="none">
+ <a href="guide-migration.html">Migration Guide</a>
+ </li>
+
+ <li class="none">
+ <a href="j1-migration.html">Jetspeed-1 Migration Guideline</a>
+ </li>
+
+ <li class="none">
+ <a href="j1-users.html">For Jetspeed-1 Users</a>
+ </li>
+ </ul>
+ <h5>APIs</h5>
+ <ul>
+
+ <li class="none">
+ <a href="apidocs/jetspeed-api/index.html">Jetspeed-2 Java API</a>
+ </li>
+
+ <li class="none">
+ <a href="devguide/guide-ajax-api.html">Jetspeed-2 AJAX API</a>
+ </li>
+ </ul>
+ <h5>Tutorials</h5>
+ <h5>Community</h5>
+ <ul>
+
+ <li class="none">
+ <a href="supporting-projects.html">Supporting Projects</a>
+ </li>
+
+ <li class="none">
+ <a href="who-uses-j2.html">Who Uses J2?</a>
+ </li>
+
+ <li class="none">
+ <a href="portlets-community.html">Portlets Community</a>
+ </li>
+
+ <li class="none">
+ <a href="how-to-help.html">How to Help?</a>
+ </li>
+ </ul>
+ <h5>Support</h5>
+ <ul>
+
+ <li class="none">
+ <a href="mail-lists.html">Mailing List</a>
+ </li>
+
+ <li class="none">
+ <a href="issue-tracking.html">Bug Database</a>
+ </li>
+
+ <li class="none">
+ <a href="http://wiki.apache.org/portals/Jetspeed2" class="externalLink">Wiki</a>
+ </li>
+
+ <li class="none">
+ <a href="faq.html">FAQ</a>
+ </li>
+ </ul>
+ <h5>Translation</h5>
+ <ul>
+
+ <li class="none">
+ <a href="http://jetspeed-japan.sourceforge.jp/jetspeed-2-trans/ja/index.html" class="externalLink">Japanese</a>
+ </li>
+ </ul>
+ <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
+ <img alt="Built by Maven" src="./images/logos/maven-feather.png"></img>
+ </a>
+
+
+
+
+
+
+
+
+ </div>
+ </div>
+ <div id="bodyColumn">
+ <div id="contentBox">
+ <subtitle></subtitle><authors><person name="David Sean Taylor" email="taylor@apache.org"></authors><div class="section"><h2><a name="Device_Capabilities"></a>Device Capabilities</h2>
+<p>
+ Jetspeed capabilities provides a mechanism for mapping the client
+ (browser) used to access the portal to media types for page rendering.
+ </p>
+<p>
+ A device is associated with a list of capabilities, allowing the portal
+ to know what kind of content the device can handle (such as
+ Javascript, DHTML..)
+ </p>
+<p>
+ The rules for mapping devices to media types and capabilities are
+ stored in the database. The original values for these are first populated with
+ XML data.
+ </p>
+<p>
+ Your custom build should be setup with the default XML data for
+ devices and media types. Currently there is no administrative portlets for editing device information.
+ </p>
+<p>
+ A full set of capabilities, devices, media types and mime types are
+ supplied with the XML test data.
+ </p>
+<p>
+ The Jetspeed-2 capability engine maps clients to media types to
+ mime types. Here are some more detailed definitions:
+ <ul><li>Clients: The application that initiates a request to the Jetspeed-2
+ portal engine. Jetspeed-2 uses the User-Agent to determine the
+ client that initiates a request.</li>
+<li>Media Type: The type of media requesting the content (HTML,
+ WML, etc.). Content in Jetspeed-2 can be requested by different
+ type of devices through different media.</li>
+<li>Mime Type: The type of content being requested.</li>
+<li>Supported Media Types: HTML, XHTML-BASIC, XML, WML, VXML</li>
+</ul>
+</p>
+<p>
+Define the default mime types
+<div class="source"><pre>
+<MimeTypes>
+ <MimeType>application/xhtml+xml</MimeType>
+ <MimeType>text/html</MimeType>
+ <MimeType>text/vnd.wap.wml</MimeType>
+ <MimeType>text/vxml</MimeType>
+ <MimeType>text/xhtml</MimeType>
+ <MimeType>text/xml</MimeType>
+</MimeTypes>
+</pre>
+</div>
+</p>
+<p>
+Define media types (used in special _control folder processing) and preferred mime type:
+<div class="source"><pre>
+<MediaType name="html">
+ <charcterSet value="UTF-8"/>
+ <title value="HTML"/>
+ <description value="Rich HTML for HTML 4.0 compliants browsers"/>
+ <capabilities></capabilities>
+ <mimeTypes>text/html</mimeTypes>
+</MediaType>
+</pre>
+</div>
+</p>
+<p>
+Defines supported Clients (browsers) by the portal and their device
+capabilities. Clients are mapped to media types via the preferred
+mime type
+<div class="source"><pre>
+<Client name="ie5mac" evalOrder="1" preferredMimeTypeID="text/html">
+ <userAgentPattern value=".*MSIE 5.*Mac.*"/>
+ <version value="5.*"/>
+ <model value="None"/>
+ <manufacturer value="Microsoft"/>
+ <capabilities>
+ HTML_3_2,HTML_JAVA,HTML_JAVASCRIPT, HTML_TABLE,HTML_FORM,HTML_FRAME,HTML_IMAGE,HTML_PLUGIN,HTML_CSS1,HTML_DOM_NS4, HTTP_COOKIE
+ </capabilities>
+ <mimeTypes>text/html</mimeTypes>
+</Client>
+</pre>
+</div>
+</p>
+</div>
+
+ </div>
+ </div>
+ <div class="clear">
+ <hr/>
+ </div>
+ <div id="footer">
+ <div class="xright">©
+ 2004-2010
+
+ Apache Software Foundation
+
+
+
+
+
+
+
+
+ </div>
+ <div class="clear">
+ <hr/>
+ </div>
+ </div>
+ </body>
+</html>
Propchange: portals/site-live/jetspeed-2.1.3/deployguide/guide-device-capabilities.html
------------------------------------------------------------------------------
svn:executable = *