Modified: portals/site-live/pluto/v101/developer/integrate.html
URL: 
http://svn.apache.org/viewvc/portals/site-live/pluto/v101/developer/integrate.html?rev=1772018&r1=1772017&r2=1772018&view=diff
==============================================================================
--- portals/site-live/pluto/v101/developer/integrate.html (original)
+++ portals/site-live/pluto/v101/developer/integrate.html Wed Nov 30 12:21:20 
2016
@@ -47,21 +47,11 @@
   
     
             <div class="xleft">
-        Last Published: 2011-09-26
+        Last Published: 2016-11-30
                           |   
                 <a href="http://portals.apache.org/pluto"; 
class="externalLink">Home</a>
                           </div>
-            <div class="xright">            <a 
href="../../jetspeed-2/">Jetspeed-2</a>
-            |
-                <a href="../../bridges/">Bridges</a>
-            |
-                <a href="../../pluto/">Pluto</a>
-            |
-                <a href="../../applications/">Applications</a>
-            |
-                <a href="../../jetspeed-1/">Jetspeed-1</a>
-            |
-                <a href="http://jcp.org/en/jsr/detail?id=168"; 
class="externalLink">JSR 168 (Portlet 1.0)</a>
+            <div class="xright">            <a 
href="http://jcp.org/en/jsr/detail?id=168"; class="externalLink">JSR 168 
(Portlet 1.0)</a>
             |
                 <a href="http://portals.apache.org/pluto/portlet-1.0-apidocs"; 
class="externalLink">Portlet 1.0 API (Javadoc)</a>
             |
@@ -269,232 +259,232 @@
     </div>
     <div id="bodyColumn">
       <div id="contentBox">
-        <div class="section"><h2><a 
name="Integrating_Pluto_Into_Your_Container"></a>Integrating Pluto Into Your 
Container</h2>
-<div class="section"><h3><a name="a1_Introduction"></a>1 Introduction</h3>
-<p><a href="http://portals.apache.org/pluto/"; class="externalLink">Pluto</a> 
is a project at
-          Apache Portals (http://portals.apache.org/pluto) that provides the
-          reference implementation of the Java Portlet Specification. The first
-          version of this specification is available as
-          <a href="http://jcp.org/en/jsr/detail?id=168"; 
class="externalLink">JSR 168</a>.
-          The pluto project contains two parts: the portlet container and
-          a simple test portal driver. This document is about how to use the
-          pluto portlet container and replace the sample portal driver with 
your
-          own portal.
-        </p>
-<div align="center"><p><a 
href="../../images/v101/jw-0801-portal_arch.jpg"><img 
src="../../images/v101/jw-0801-portal_arch.jpg" alt="Portal Architecture" 
/></a></p>
-<p><b><i>Figure 1. Basic portal architecture. Click on the picture to
-            enlarge it</i></b></p>
-</div><p>
-          Figure 1 depicts a portal's basic architecture. The portal's web
-          application processes the client request, retrieves the portlets on
-          the user's current page, and then calls the portlet container to
-          retrieve each portlet's content. The portal accesses the Portlet
-          Container by using the Portlet Container Invoker API. This interface
-          represents the main interface of the portlet container supporting
-          request-base methods to call portlets from a portal's point of view.
-          The Container Provider SPI (Service Provider Interface) is a callback
-          interface of the Portlet Container which needs to be implemented by
-          the portal to get portal related information, the container cannot
-          know about, like URL creation. Finally, the portlet container calls
-          all portlets via the Portlet API.
-        </p>
-</div>
-<div class="section"><h3><a name="a2_Portlet_container_pluto"></a>2 Portlet 
container pluto</h3>
-<p>
-          The portlet container provides the runtime environment for the
-          portlets. It is a core component of each portal, requires knowledge
-          about the portal itself and has a need to reuse common code of the
-          portal. Due to these requirements the pluto portlet container is 
built
-          in a manner that completely separates the container from every other
-          portal component. Said that, the portlet container is a standalone
-          component that can be embedded in any portal by complying with the
-          requirements of the portlet container, such as implementing all SPIs.
-          The interfaces of the portlet container and its internal components
-          are described in more detail in the next paragraphs.
-        </p>
-<div align="center"><p><a href="../../images/v101/jw-0801-pluto_arch.jpg"><img 
src="../../images/v101/jw-0801-pluto_arch.jpg" alt="Pluto Architecture" 
/></a></p>
-<p><b><i>Figure 2. The portlet container's architecture. Click on the
-            picture to enlarge it</i></b></p>
-</div><p>
-          The Portlet Container Invoker API, also called entrance point, is the
-          main calling interface of a portlet container. It combines the
-          lifecycle (init, destroy) of a portlet container as well as the
-          request based calling methods (processAction, render). Due to its
-          nature of calling a portlet in the end, the method signature looks
-          similar to the main portlet interface of the Portlet API except that
-          a portlet identifier needs to be passed additionally. With this
-          additional parameter the container is able to determine the portlet
-          and call it accordingly.
-        </p>
-<p>
-          Besides of the application programming interfaces the portlet
-          container can be instrumented by providing different implementations
-          through service provider interfaces. Therefore, the reference
-          implementation introduces a concept called Container Services.
-          This concept will be described in more detail in a later chapter.
-        </p>
-</div>
-<div class="section"><h3><a 
name="a3_How_to_integrate_pluto_with_a_portal_framework"></a>3 How to integrate 
pluto with a portal framework</h3>
-<p>
-          This section covers in detail how the portal can call the container
-          and which SPIs needs to be implemented by the portal in order to
-          re-use pluto. The portal calls the pluto container via the portlet
-          container entrance point and needs to provide implementations for the
-          SPIs container services and the portlet object model.
-        </p>
-<div class="section"><h3><a 
name="a3.1_Portlet_Container_Entrance_Point"></a>3.1 Portlet Container Entrance 
Point</h3>
-<p>
-            The portlet container entrance point
-            <code>org.apache.pluto.PortletContainer</code>, is the main
-            interface between the portal's framework / aggregation and the
-            portlet environment. This interface is used to call the portlet
-            environment and execute portlets. It doesn't match exactly to the
-            Portlet API methods (init, processAction, render, destroy) but
-            generalizes the interface wherever possible.
-          </p>
-<p>
-            The entrance point has methods with different scopes:
-            <ul><li>Lifecycle methods are called only <b>once</b> 
(init/shutdown).<p>These methods are normally called directly from the service 
interfaces.</p>
-</li>
-<li>Request-based methods are called for each request, but only
-                once for all portlets (portletLoad).<p>These methods must be 
called before the page aggregation
-                actually starts and after aggregating the page, affecting all
-                portlets being rendered on the page. Currently the only method
-                in this category is portletLoad that ensures that the portlet 
is
-                loaded and initialized before the request processing 
starts.</p>
-</li>
-<li>Request-based methods are called for each request and for
-                each portlet (processPortletAction, renderPortlet).<p>These 
methods are normally called during the page aggregation
-                as each portlet is being rendered.</p>
-</li>
-</ul>
-</p>
-<p>
-            The contract defined by this interface must be fulfilled by the
-            calling party to guarantee that the portlet environment will work
-            correctly.
-          </p>
-</div>
-<div class="section"><h3><a name="a3.2_Container_Services"></a>3.2 Container 
Services</h3>
-<p>
-            ContainerServices are a generic plug-in concept for extending the
-            core portlet container with additional functionality.
-            A ContainerService is defined by an interface, accessed by the
-            portlet container and provided by the calling party (mostly
-            portal/framework). In some cases the flow goes in the other
-            direction, from container to portal. The nature of a service can be
-            viewed as a service made available for the portlet container:
-            The container needs it to run, but cannot implement the service
-            itself.
-          </p>
-<p>
-            The Container Service concept makes the portlet container
-            independent of portal functions so that it can be used by different
-            portals and furthermore new services can be plugged in to get a
-            richer portlet container experience. A ContainerServiceEnvironment
-            describing all services must be created and passed to the portlet
-            environment during initialization.
-          </p>
-<p>
-            Container Services can be split into two different categories:
-            <ul><li><b>Mandatory Base Services</b><p>ContainerServices that 
must be provided by the calling party
-                so that the portlet container is able to run.</p>
-<ul><li><b>Information Provider Service:</b> described in the next
-                  sub section</li>
-<li><b>Factory Manager Service:</b> Factory Service enables
-                  the portlet container to get implementation objects through a
-                  factory concept.</li>
-<li><b>Log Service:</b> This interface defines a logging
-                  facility.</li>
-</ul>
-</li>
-<li><b>Optional Base Services</b><p>ContainerServices that can be provided by 
the calling party,
-                but the container can run without it.</p>
-<ul><li><b>Property Manager Service:</b> The implementation of the
-                  Property Service interface enables a portal to deal with
-                  properties as defined in the JSR 168 specification.</li>
-<li><b>Dynamic Title Service:</b> Allows to support dynamic
-                  titles.</li>
-</ul>
-</li>
-</ul>
-</p>
-<div class="section"><h3><a 
name="a3.2.1_Information_Provider_Service"></a>3.2.1 Information Provider 
Service</h3>
-<p>
-              The Information Provider is a callback mechanism for the portlet
-              environment into the calling party (mostly framework), to get 
hold
-              of necessary information that can only be known by the portal,
-              like hostname and URL generation. To differentiate between the
-              scopes of the requested information, the portlet environment
-              defines two interfaces: the DynamicInformationProvider and the
-              StaticInformationProvider.
-            </p>
-<p>
-              The DynamicInformationProvider provides request-based 
information,
-              which changes for each request. Consequently a new
-              DynamicInformationProvider needs to be passed to the portlet
-              environment for each request. Typical information provided by 
this
-              Information Provider is a URL to a portlet. Additional provider
-              interfaces retrieved via getter methods of the
-              DynamicInformationProvider are PortletURLProvider and
-              PortletActionProvider.
-            </p>
-<p>
-              The StaticInformationProvider on the other hand provides
-              non-request-based information, which is constant across all
-              requests. Therefore only one StaticInformationProvider needs to 
be
-              provided to the portlet environment (singleton). Typical
-              information provided by this Information Provider is the root
-              context of the portal. An additional provider interface retrieved
-              via a getter method of the StaticInformationProvider is the
-              PortalContextProvider that contains further information about the
-              portal, which need to be provided to the portlet.
-            </p>
-<p>
-              Both Information Providers are not actively passed by the calling
-              party to the environment. Instead they are made available to the
-              portlet environment through the Container Service mechanism
-              described in the next section. Basically, the portlet environment
-              asks the calling party for an instance of one of the Information
-              Providers and the calling party returns the correct Information
-              Provider.
-            </p>
-</div>
-<div class="section"><h3><a name="a3.3_Portlet_Object_Model"></a>3.3 Portlet 
Object Model</h3>
-<p>The Portlet Object Model interfaces are defined in the package 
org.apache.pluto.om. These interfaces should be seen as an internal interface 
that can be used by other components of the portal. The portlet environment 
only defines the interfaces that are necessary to execute the object model the 
portal that uses the portlet environment must implement the object model. </p>
-<p>The object model represents the information available on different levels 
about portlets and the portlet application, like the deployment descriptors and 
customization data. </p>
-<p>The following definitions are used to represent the different levels of 
information:</p>
-<ul><li><strong>WebApplicationDefinition</strong> represents the context for 
the Portlet Application defined in the web.xml deployment descriptor.</li>
-<li><strong>PortletApplicationDefinition</strong> describes a set (either all 
or a subset) of portlets that participate all in the same 
WebApplicationDefinition.</li>
-<li><strong>PortletApplicationEntity</strong> is an instantiation of a 
PortletApplicationDefinition that is bound to a portal resource. It contains a 
set (either all or a subset) of portlets that participate all in the same 
PortletApplicationDefinition.</li>
-<li><strong>ServletDefinition</strong> describes the portlet and its initial 
read-only properties that is not bound to any portal resource.</li>
-<li><strong>Portlet Definition</strong> basic settings defined in the 
portlet.xml or set by administrators (read-only for users).</li>
-<li><strong>Portlet Entity</strong> is a parameterized portlet definition, 
belonging to a user. </li>
-<li><strong>Portlet Window</strong> is part of an aggregation tree that 
contains the portlet markup. The portlet window has navigational state attached 
to it.
-                                                               </li>
-</ul>
-<p>Figure 3 depicts the relation between the different definitions and their 
hierarchical structure. The servlet definitions are embedded in the web 
application definition. From a web application definition several portlet 
application definitions can be created that may consist of portlet definitions 
based on the servlet definitions defined in the web application definition. 
Using the portlet application definition several portlet application entities 
can be created that include portlet entities that are based on the 
corresponding portlet definitions. Finally the portlet windows of a portlet 
entity are linked to their corresponding portlet entity.</p>
-<div align="center"><p><a href="../../images/v101/Relations.jpg"><img 
src="../../images/v101/Relations.jpg" alt="Portal Architecture" /></a></p>
-<p><b><i>Figure 3. Relations between the different application and portlet 
representations
-                                                                       
</i></b></p>
-</div><p>The portlet object model represents these different layers allowing 
the portlet container to access the information layer-based.</p>
-<p>The object model is split into four different sub-packages:</p>
-<ul><li>common<p>contains generic interfaces that can be reused</p>
-</li>
-<li>window<p>contains all interfaces handling with portlet windows</p>
-</li>
-<li>entity<p>contains all interfaces handling with portlet application 
entities and portlet entities</p>
-</li>
-<li>portlet<p>contains all interfaces handling with portlet application 
definitions and portlet definitions</p>
-</li>
-<li>servlet<p>contains all interfaces representing the web application 
definitions and servlet definitions</p>
-</li>
-</ul>
-<p>For the implementation of the different artifacts in the object model the 
model-view-controller pattern is used and for each artifact a read-only 
interface exists, and if required an interface with the setter methods and the 
ending Ctrl is provided.</p>
-</div>
-</div>
-</div>
-</div>
+        <div class="section"><h2><a 
name="Integrating_Pluto_Into_Your_Container"></a>Integrating Pluto Into Your 
Container</h2>
+<div class="section"><h3><a name="a1_Introduction"></a>1 Introduction</h3>
+<p><a class="externalLink" href="http://portals.apache.org/pluto/";>Pluto</a> 
is a project at
+          Apache Portals (http://portals.apache.org/pluto) that provides the
+          reference implementation of the Java Portlet Specification. The first
+          version of this specification is available as
+          <a class="externalLink" 
href="http://jcp.org/en/jsr/detail?id=168";>JSR 168</a>.
+          The pluto project contains two parts: the portlet container and
+          a simple test portal driver. This document is about how to use the
+          pluto portlet container and replace the sample portal driver with 
your
+          own portal.
+        </p>
+<div align="center"><p><a 
href="../../images/v101/jw-0801-portal_arch.jpg"><img 
src="../../images/v101/jw-0801-portal_arch.jpg" alt="Portal Architecture" 
/></a></p>
+<p><b><i>Figure 1. Basic portal architecture. Click on the picture to
+            enlarge it</i></b></p>
+</div><p>
+          Figure 1 depicts a portal's basic architecture. The portal's web
+          application processes the client request, retrieves the portlets on
+          the user's current page, and then calls the portlet container to
+          retrieve each portlet's content. The portal accesses the Portlet
+          Container by using the Portlet Container Invoker API. This interface
+          represents the main interface of the portlet container supporting
+          request-base methods to call portlets from a portal's point of view.
+          The Container Provider SPI (Service Provider Interface) is a callback
+          interface of the Portlet Container which needs to be implemented by
+          the portal to get portal related information, the container cannot
+          know about, like URL creation. Finally, the portlet container calls
+          all portlets via the Portlet API.
+        </p>
+</div>
+<div class="section"><h3><a name="a2_Portlet_container_pluto"></a>2 Portlet 
container pluto</h3>
+<p>
+          The portlet container provides the runtime environment for the
+          portlets. It is a core component of each portal, requires knowledge
+          about the portal itself and has a need to reuse common code of the
+          portal. Due to these requirements the pluto portlet container is 
built
+          in a manner that completely separates the container from every other
+          portal component. Said that, the portlet container is a standalone
+          component that can be embedded in any portal by complying with the
+          requirements of the portlet container, such as implementing all SPIs.
+          The interfaces of the portlet container and its internal components
+          are described in more detail in the next paragraphs.
+        </p>
+<div align="center"><p><a href="../../images/v101/jw-0801-pluto_arch.jpg"><img 
src="../../images/v101/jw-0801-pluto_arch.jpg" alt="Pluto Architecture" 
/></a></p>
+<p><b><i>Figure 2. The portlet container's architecture. Click on the
+            picture to enlarge it</i></b></p>
+</div><p>
+          The Portlet Container Invoker API, also called entrance point, is the
+          main calling interface of a portlet container. It combines the
+          lifecycle (init, destroy) of a portlet container as well as the
+          request based calling methods (processAction, render). Due to its
+          nature of calling a portlet in the end, the method signature looks
+          similar to the main portlet interface of the Portlet API except that
+          a portlet identifier needs to be passed additionally. With this
+          additional parameter the container is able to determine the portlet
+          and call it accordingly.
+        </p>
+<p>
+          Besides of the application programming interfaces the portlet
+          container can be instrumented by providing different implementations
+          through service provider interfaces. Therefore, the reference
+          implementation introduces a concept called Container Services.
+          This concept will be described in more detail in a later chapter.
+        </p>
+</div>
+<div class="section"><h3><a 
name="a3_How_to_integrate_pluto_with_a_portal_framework"></a>3 How to integrate 
pluto with a portal framework</h3>
+<p>
+          This section covers in detail how the portal can call the container
+          and which SPIs needs to be implemented by the portal in order to
+          re-use pluto. The portal calls the pluto container via the portlet
+          container entrance point and needs to provide implementations for the
+          SPIs container services and the portlet object model.
+        </p>
+<div class="section"><h3><a 
name="a3.1_Portlet_Container_Entrance_Point"></a>3.1 Portlet Container Entrance 
Point</h3>
+<p>
+            The portlet container entrance point
+            <code>org.apache.pluto.PortletContainer</code>, is the main
+            interface between the portal's framework / aggregation and the
+            portlet environment. This interface is used to call the portlet
+            environment and execute portlets. It doesn't match exactly to the
+            Portlet API methods (init, processAction, render, destroy) but
+            generalizes the interface wherever possible.
+          </p>
+<p>
+            The entrance point has methods with different scopes:
+            <ul><li>Lifecycle methods are called only <b>once</b> 
(init/shutdown).<p>These methods are normally called directly from the service 
interfaces.</p>
+</li>
+<li>Request-based methods are called for each request, but only
+                once for all portlets (portletLoad).<p>These methods must be 
called before the page aggregation
+                actually starts and after aggregating the page, affecting all
+                portlets being rendered on the page. Currently the only method
+                in this category is portletLoad that ensures that the portlet 
is
+                loaded and initialized before the request processing 
starts.</p>
+</li>
+<li>Request-based methods are called for each request and for
+                each portlet (processPortletAction, renderPortlet).<p>These 
methods are normally called during the page aggregation
+                as each portlet is being rendered.</p>
+</li>
+</ul>
+</p>
+<p>
+            The contract defined by this interface must be fulfilled by the
+            calling party to guarantee that the portlet environment will work
+            correctly.
+          </p>
+</div>
+<div class="section"><h3><a name="a3.2_Container_Services"></a>3.2 Container 
Services</h3>
+<p>
+            ContainerServices are a generic plug-in concept for extending the
+            core portlet container with additional functionality.
+            A ContainerService is defined by an interface, accessed by the
+            portlet container and provided by the calling party (mostly
+            portal/framework). In some cases the flow goes in the other
+            direction, from container to portal. The nature of a service can be
+            viewed as a service made available for the portlet container:
+            The container needs it to run, but cannot implement the service
+            itself.
+          </p>
+<p>
+            The Container Service concept makes the portlet container
+            independent of portal functions so that it can be used by different
+            portals and furthermore new services can be plugged in to get a
+            richer portlet container experience. A ContainerServiceEnvironment
+            describing all services must be created and passed to the portlet
+            environment during initialization.
+          </p>
+<p>
+            Container Services can be split into two different categories:
+            <ul><li><b>Mandatory Base Services</b><p>ContainerServices that 
must be provided by the calling party
+                so that the portlet container is able to run.</p>
+<ul><li><b>Information Provider Service:</b> described in the next
+                  sub section</li>
+<li><b>Factory Manager Service:</b> Factory Service enables
+                  the portlet container to get implementation objects through a
+                  factory concept.</li>
+<li><b>Log Service:</b> This interface defines a logging
+                  facility.</li>
+</ul>
+</li>
+<li><b>Optional Base Services</b><p>ContainerServices that can be provided by 
the calling party,
+                but the container can run without it.</p>
+<ul><li><b>Property Manager Service:</b> The implementation of the
+                  Property Service interface enables a portal to deal with
+                  properties as defined in the JSR 168 specification.</li>
+<li><b>Dynamic Title Service:</b> Allows to support dynamic
+                  titles.</li>
+</ul>
+</li>
+</ul>
+</p>
+<div class="section"><h3><a 
name="a3.2.1_Information_Provider_Service"></a>3.2.1 Information Provider 
Service</h3>
+<p>
+              The Information Provider is a callback mechanism for the portlet
+              environment into the calling party (mostly framework), to get 
hold
+              of necessary information that can only be known by the portal,
+              like hostname and URL generation. To differentiate between the
+              scopes of the requested information, the portlet environment
+              defines two interfaces: the DynamicInformationProvider and the
+              StaticInformationProvider.
+            </p>
+<p>
+              The DynamicInformationProvider provides request-based 
information,
+              which changes for each request. Consequently a new
+              DynamicInformationProvider needs to be passed to the portlet
+              environment for each request. Typical information provided by 
this
+              Information Provider is a URL to a portlet. Additional provider
+              interfaces retrieved via getter methods of the
+              DynamicInformationProvider are PortletURLProvider and
+              PortletActionProvider.
+            </p>
+<p>
+              The StaticInformationProvider on the other hand provides
+              non-request-based information, which is constant across all
+              requests. Therefore only one StaticInformationProvider needs to 
be
+              provided to the portlet environment (singleton). Typical
+              information provided by this Information Provider is the root
+              context of the portal. An additional provider interface retrieved
+              via a getter method of the StaticInformationProvider is the
+              PortalContextProvider that contains further information about the
+              portal, which need to be provided to the portlet.
+            </p>
+<p>
+              Both Information Providers are not actively passed by the calling
+              party to the environment. Instead they are made available to the
+              portlet environment through the Container Service mechanism
+              described in the next section. Basically, the portlet environment
+              asks the calling party for an instance of one of the Information
+              Providers and the calling party returns the correct Information
+              Provider.
+            </p>
+</div>
+<div class="section"><h3><a name="a3.3_Portlet_Object_Model"></a>3.3 Portlet 
Object Model</h3>
+<p>The Portlet Object Model interfaces are defined in the package 
org.apache.pluto.om. These interfaces should be seen as an internal interface 
that can be used by other components of the portal. The portlet environment 
only defines the interfaces that are necessary to execute the object model the 
portal that uses the portlet environment must implement the object model. </p>
+<p>The object model represents the information available on different levels 
about portlets and the portlet application, like the deployment descriptors and 
customization data. </p>
+<p>The following definitions are used to represent the different levels of 
information:</p>
+<ul><li><strong>WebApplicationDefinition</strong> represents the context for 
the Portlet Application defined in the web.xml deployment descriptor.</li>
+<li><strong>PortletApplicationDefinition</strong> describes a set (either all 
or a subset) of portlets that participate all in the same 
WebApplicationDefinition.</li>
+<li><strong>PortletApplicationEntity</strong> is an instantiation of a 
PortletApplicationDefinition that is bound to a portal resource. It contains a 
set (either all or a subset) of portlets that participate all in the same 
PortletApplicationDefinition.</li>
+<li><strong>ServletDefinition</strong> describes the portlet and its initial 
read-only properties that is not bound to any portal resource.</li>
+<li><strong>Portlet Definition</strong> basic settings defined in the 
portlet.xml or set by administrators (read-only for users).</li>
+<li><strong>Portlet Entity</strong> is a parameterized portlet definition, 
belonging to a user. </li>
+<li><strong>Portlet Window</strong> is part of an aggregation tree that 
contains the portlet markup. The portlet window has navigational state attached 
to it.
+                                                               </li>
+</ul>
+<p>Figure 3 depicts the relation between the different definitions and their 
hierarchical structure. The servlet definitions are embedded in the web 
application definition. From a web application definition several portlet 
application definitions can be created that may consist of portlet definitions 
based on the servlet definitions defined in the web application definition. 
Using the portlet application definition several portlet application entities 
can be created that include portlet entities that are based on the 
corresponding portlet definitions. Finally the portlet windows of a portlet 
entity are linked to their corresponding portlet entity.</p>
+<div align="center"><p><a href="../../images/v101/Relations.jpg"><img 
src="../../images/v101/Relations.jpg" alt="Portal Architecture" /></a></p>
+<p><b><i>Figure 3. Relations between the different application and portlet 
representations
+                                                                       
</i></b></p>
+</div><p>The portlet object model represents these different layers allowing 
the portlet container to access the information layer-based.</p>
+<p>The object model is split into four different sub-packages:</p>
+<ul><li>common<p>contains generic interfaces that can be reused</p>
+</li>
+<li>window<p>contains all interfaces handling with portlet windows</p>
+</li>
+<li>entity<p>contains all interfaces handling with portlet application 
entities and portlet entities</p>
+</li>
+<li>portlet<p>contains all interfaces handling with portlet application 
definitions and portlet definitions</p>
+</li>
+<li>servlet<p>contains all interfaces representing the web application 
definitions and servlet definitions</p>
+</li>
+</ul>
+<p>For the implementation of the different artifacts in the object model the 
model-view-controller pattern is used and for each artifact a read-only 
interface exists, and if required an interface with the setter methods and the 
ending Ctrl is provided.</p>
+</div>
+</div>
+</div>
+</div>
 
       </div>
     </div>
@@ -503,7 +493,7 @@
     </div>
     <div id="footer">
       <div class="xright">&#169;  
-          2004-2011
+          2004-2016
     
           Apache Software Foundation
           

Modified: portals/site-live/pluto/v101/developer/subversion.html
URL: 
http://svn.apache.org/viewvc/portals/site-live/pluto/v101/developer/subversion.html?rev=1772018&r1=1772017&r2=1772018&view=diff
==============================================================================
--- portals/site-live/pluto/v101/developer/subversion.html (original)
+++ portals/site-live/pluto/v101/developer/subversion.html Wed Nov 30 12:21:20 
2016
@@ -47,21 +47,11 @@
   
     
             <div class="xleft">
-        Last Published: 2011-09-26
+        Last Published: 2016-11-30
                           |   
                 <a href="http://portals.apache.org/pluto"; 
class="externalLink">Home</a>
                           </div>
-            <div class="xright">            <a 
href="../../jetspeed-2/">Jetspeed-2</a>
-            |
-                <a href="../../bridges/">Bridges</a>
-            |
-                <a href="../../pluto/">Pluto</a>
-            |
-                <a href="../../applications/">Applications</a>
-            |
-                <a href="../../jetspeed-1/">Jetspeed-1</a>
-            |
-                <a href="http://jcp.org/en/jsr/detail?id=168"; 
class="externalLink">JSR 168 (Portlet 1.0)</a>
+            <div class="xright">            <a 
href="http://jcp.org/en/jsr/detail?id=168"; class="externalLink">JSR 168 
(Portlet 1.0)</a>
             |
                 <a href="http://portals.apache.org/pluto/portlet-1.0-apidocs"; 
class="externalLink">Portlet 1.0 API (Javadoc)</a>
             |
@@ -269,60 +259,60 @@
     </div>
     <div id="bodyColumn">
       <div id="contentBox">
-        <div class="section"><h2><a 
name="Developer_Guide:_Obtaining_the_Pluto_1.0.1_Source_Code"></a>Developer 
Guide: Obtaining the Pluto 1.0.1 Source Code</h2>
-<p>
-    There are several reasons why you may want to have access to
-    the Pluto source code.  Some may want to participate in
-    the development of Pluto by submiting patches.  Others may want
-    to utilize Pluto as a reference implementation to clarify
-    the Portlet Specification.  Whatever the reason, there are two
-    ways to access the source code:
-  </p>
-<p><ol type="1"><li><a href="#Downloading_the_Source_Distribution">Downloading 
the
-    most recent Source Distribution</a> is the easiest
-    way to access the source.  Of course, because this method is
-    reliant on releases, you may not have the most recent source.
-    That said, you do have a better chance at recieving a more
-    stable codebase if you are using a distribution.
-       </li>
-<li><A href="#Using_Subversion">Using Subversion</A> to checkout the
-    absolute up-to-date version of the code is the best way to
-    retrieve the source code.  If you plan to submit patches,
-    we ask that you use the Subversion Trunk to create your
-    diffs.
-       </li>
-</ol>
-</p>
-<div class="section"><h3><a 
name="Downloading_the_Source_Distribution"></a>Downloading the Source 
Distribution</h3>
-<p>See the <a href="../../mirrors.cgi">download instructions</a></p>
-</div>
-<div class="section"><h3><a name="Using_Subversion"></a>Using Subversion</h3>
-<p>The Pluto project uses the
-               <a href="http://subversion.tigris.org/"; 
class="externalLink">Subversion</a> version control
-               system.  If you're new to Subversion, you can check out the
-               <a href="http://svnbook.red-bean.com/"; 
class="externalLink">online book</a> about Subversion.
-               Note that we are currently using Subversion 1.1.x (there are 
separate
-               versions of the book covering 1.0 and 1.1).
-               </p>
-<h2>Web Access to Subversion</h2><p>
-               If you just want to browse the Pluto 1.0.1 source code, you can 
use the
-               <a 
href="http://svn.apache.org/viewcvs.cgi/portals/pluto/tags/release-1.0.1?root=Apache-SVN";
 class="externalLink">ViewCVS
-               web interface</a> to Subversion.  This is current at all times.
-               </p>
-<h2>Normal Subversion Access</h2><p>Anyone can check code out of Subversion 
anonymously.  However, you need to specify a
-               username and password in order to update the Subversion 
repository, and only
-               Pluto committers have the permissions to do that.  We run 
Subversion
-               over standard HTTPS, so hopefully you won't have problems with 
intervening
-               firewalls.</p>
-<h3>Check out from Subversion</h3><p>Again, anyone can do this.  To check out 
Pluto 1.0.1 (general release) to a directory 
-               called 'pluto' use this command:
-               </p>
-<pre>svn checkout 
https://svn.apache.org/repos/asf/portals/pluto/tags/release-1.0.1/ 
pluto</pre><p>To check out Pluto 1.0.1 (bug fix version) use this command:
-               </p>
-<pre>svn checkout 
https://svn.apache.org/repos/asf/portals/pluto/branches/pluto-1.0.2/ 
pluto</pre><p>This code base will become Pluto 1.0.2 if we feel necessary to 
release a new version.
-               </p>
-</div>
-</div>
+        <div class="section"><h2><a 
name="Developer_Guide:_Obtaining_the_Pluto_1.0.1_Source_Code"></a>Developer 
Guide: Obtaining the Pluto 1.0.1 Source Code</h2>
+<p>
+    There are several reasons why you may want to have access to
+    the Pluto source code.  Some may want to participate in
+    the development of Pluto by submiting patches.  Others may want
+    to utilize Pluto as a reference implementation to clarify
+    the Portlet Specification.  Whatever the reason, there are two
+    ways to access the source code:
+  </p>
+<p><ol type="1"><li><a href="#Downloading_the_Source_Distribution">Downloading 
the
+    most recent Source Distribution</a> is the easiest
+    way to access the source.  Of course, because this method is
+    reliant on releases, you may not have the most recent source.
+    That said, you do have a better chance at recieving a more
+    stable codebase if you are using a distribution.
+       </li>
+<li><A href="#Using_Subversion">Using Subversion</A> to checkout the
+    absolute up-to-date version of the code is the best way to
+    retrieve the source code.  If you plan to submit patches,
+    we ask that you use the Subversion Trunk to create your
+    diffs.
+       </li>
+</ol>
+</p>
+<div class="section"><h3><a 
name="Downloading_the_Source_Distribution"></a>Downloading the Source 
Distribution</h3>
+<p>See the <a href="../../mirrors.cgi">download instructions</a></p>
+</div>
+<div class="section"><h3><a name="Using_Subversion"></a>Using Subversion</h3>
+<p>The Pluto project uses the
+               <a class="externalLink" 
href="http://subversion.tigris.org/";>Subversion</a> version control
+               system.  If you're new to Subversion, you can check out the
+               <a class="externalLink" 
href="http://svnbook.red-bean.com/";>online book</a> about Subversion.
+               Note that we are currently using Subversion 1.1.x (there are 
separate
+               versions of the book covering 1.0 and 1.1).
+               </p>
+<h2>Web Access to Subversion</h2><p>
+               If you just want to browse the Pluto 1.0.1 source code, you can 
use the
+               <a class="externalLink" 
href="http://svn.apache.org/viewcvs.cgi/portals/pluto/tags/release-1.0.1?root=Apache-SVN";>ViewCVS
+               web interface</a> to Subversion.  This is current at all times.
+               </p>
+<h2>Normal Subversion Access</h2><p>Anyone can check code out of Subversion 
anonymously.  However, you need to specify a
+               username and password in order to update the Subversion 
repository, and only
+               Pluto committers have the permissions to do that.  We run 
Subversion
+               over standard HTTPS, so hopefully you won't have problems with 
intervening
+               firewalls.</p>
+<h3>Check out from Subversion</h3><p>Again, anyone can do this.  To check out 
Pluto 1.0.1 (general release) to a directory 
+               called 'pluto' use this command:
+               </p>
+<pre>svn checkout 
https://svn.apache.org/repos/asf/portals/pluto/tags/release-1.0.1/ 
pluto</pre><p>To check out Pluto 1.0.1 (bug fix version) use this command:
+               </p>
+<pre>svn checkout 
https://svn.apache.org/repos/asf/portals/pluto/branches/pluto-1.0.2/ 
pluto</pre><p>This code base will become Pluto 1.0.2 if we feel necessary to 
release a new version.
+               </p>
+</div>
+</div>
 
       </div>
     </div>
@@ -331,7 +321,7 @@
     </div>
     <div id="footer">
       <div class="xright">&#169;  
-          2004-2011
+          2004-2016
     
           Apache Software Foundation
           

Modified: portals/site-live/pluto/v101/install.html
URL: 
http://svn.apache.org/viewvc/portals/site-live/pluto/v101/install.html?rev=1772018&r1=1772017&r2=1772018&view=diff
==============================================================================
--- portals/site-live/pluto/v101/install.html (original)
+++ portals/site-live/pluto/v101/install.html Wed Nov 30 12:21:20 2016
@@ -47,21 +47,11 @@
   
     
             <div class="xleft">
-        Last Published: 2011-09-26
+        Last Published: 2016-11-30
                           |   
                 <a href="http://portals.apache.org/pluto"; 
class="externalLink">Home</a>
                           </div>
-            <div class="xright">            <a 
href="../jetspeed-2/">Jetspeed-2</a>
-            |
-                <a href="../bridges/">Bridges</a>
-            |
-                <a href="../pluto/">Pluto</a>
-            |
-                <a href="../applications/">Applications</a>
-            |
-                <a href="../jetspeed-1/">Jetspeed-1</a>
-            |
-                <a href="http://jcp.org/en/jsr/detail?id=168"; 
class="externalLink">JSR 168 (Portlet 1.0)</a>
+            <div class="xright">            <a 
href="http://jcp.org/en/jsr/detail?id=168"; class="externalLink">JSR 168 
(Portlet 1.0)</a>
             |
                 <a href="http://portals.apache.org/pluto/portlet-1.0-apidocs"; 
class="externalLink">Portlet 1.0 API (Javadoc)</a>
             |
@@ -269,228 +259,228 @@
     </div>
     <div id="bodyColumn">
       <div id="contentBox">
-        <div class="section"><h2><a name="Installation_Guide"></a>Installation 
Guide</h2>
-<p>
-        This install guide covers the following types of installations:
-        <ul><li><a href="#Installing_Pluto_Distributions">Installing Pluto 
Distributions</a></li>
-<li><a href="#Installing_Portlets">Installing Portlets</a></li>
-<ul><li><a href="#Installing_With_Maven">Installing with Maven</a></li>
-<li><a href="#Using_the_Admin_Portlet_Application">Using the Admin Portlet 
Application</a></li>
-</ul>
-</ul>
-</p>
-</div>
-<div class="section"><h2><a 
name="Installing_Pluto_Distributions"></a>Installing Pluto Distributions</h2>
-<div class="section"><h3><a name="Binary_Distribution"></a>Binary 
Distribution</h3>
-<p>
-          The binary distribution of Pluto is packaged with Tomcat (currently
-          version 5.5.9).  Pluto leverages Tomcat to provide the web container
-          in which the Pluto portlet container executes. The binary 
distribution
-          includes the Pluto Portlet Container, The Portal Driver, the Pluto
-          Testsuite and the Admin Portlet application.
-        </p>
-<p>
-          To install the binary distribution:
-          <ul><li><a href="#mirrors.cgi">Download</a> the current binary
-            distribution of Pluto</li>
-<li>Extract the binary distribution to a directory from here forward
-            refered to as <code>&quot;&lt;PLUTO_HOME&gt;&quot;</code>.</li>
-<li>Startup the server by using the appropriate tomcat startup
-            script located at <code>&lt;PLUTO_HOME&gt;/bin</code>.
-            For *nix use <code>startup.sh</code>; for windows use
-            <code>startup.bat</code>.</li>
-<li>By default Tomcat 5.5 uses JDK 1.5 (J2SE 5.0). In order to run
-            it with JDK 1.4, a compatibility package needs to be downloaded and
-            installed. See the Running.txt file in the root directory for
-            details.</li>
-<li>Point your browser to <code>http://localhost:8080/pluto/portal</code>,
-            the Pluto Driver, and your ready to go!</li>
-</ul>
-</p>
-</div>
-<div class="section"><h3><a name="Library_Distributions"></a>Library 
Distributions</h3>
-<p>
-          The pluto library distributions are packaged to allow integration 
with
-          an external portal server.
-        </p>
-<p>
-          To install the library distributions to your portal server, ensure
-          that the pluto-x.x.x.jar is loaded by a classloader to which both the
-          portal and portlet application web apps have access.
-        </p>
-</div>
-<div class="section"><h3><a name="Source_Distribution"></a>Source 
Distribution</h3>
-<p>
-          Installing the source distribution requires the most effort, and is
-          recomended only for those individuals who are interested in modifying
-          the container.  The source distribution is basically a snapshot of 
the
-          source code repository at a given time. Because of this, please see
-          the build instructions, which will provide information about how to
-          build Pluto from scratch.
-        </p>
-<p>
-          To install the source distribution into Tomcat:
-          <ul><li>Install Java 1.4 or greater</li>
-<li>Install Maven 1.0 or greater</li>
-<li>Install Tomcat 4.x or Tomcat 5.x to a directory from here
-            forward refered to as <code>&lt;TOMCAT_HOME&gt;</code></li>
-<li>Edit your <code>&lt;PLUTO_HOME&gt;/build.properties</code> to
-            include the following properties:
-              <table class="bodyTable"><tr class="a"><th>Property</th>
-<th>Value</th>
-<th>Example(s)</th>
-</tr>
-<tr class="b"><td>maven.tomcat.home</td>
-<td>Tomcat Installation Directory</td>
-<td><code>/usr/local/apache-tomcat.5.0.27</code>,
-                      <code>c:\\apache-tomcat.5.0.27</code></td>
-</tr>
-<tr class="a"><td>maven.tomcat.version.major</td>
-<td>Tomcat Major Version Number</td>
-<td>5</td>
-</tr>
-</table>
-</li>
-<li>From <code>&lt;PLUTO_HOME&gt;</code> issue the command:
-            <code>maven fullDeployment</code></li>
-<li>Startup the server by using the appropriate Tomcat startup
-            script located at <code>&lt;PLUTO_HOME&gt;/bin</code>.
-            For *nix use <code>startup.sh</code>; for windows use
-            <code>startup.bat</code>.</li>
-<li>Point your browser to
-            <code>http://localhost:8080/pluto/portal</code>, the Pluto Driver,
-            and your ready to go!</li>
-</ul>
-</p>
-</div>
-</div>
-<div class="section"><h2><a name="Installing_Portlets"></a>Installing 
Portlets</h2>
-<div class="section"><h3><a name="Installing_with_Maven"></a>Installing with 
Maven</h3>
-<p><span style="color: #FF0000;">Currently, to automate the
-          deployment/installation of portlets you must utilize the source
-          distribution of pluto. Alternatively, you could use the
-          <a href="#Using_the_Admin_Portlet_Application">Admin Portlet
-          Application</a> to install custom portlets.</span></p>
-<p>
-          In order to deploy a portlet application to pluto, you must follow 
the
-          steps below:
-        </p>
-<p><b>Step 1:</b> Assemble your portlet application into a valid war.
-        </p>
-<p><b>Step 2:</b> Run the maven deploy goal on your war. This can be done
-          by running this command line in the deploy subdirectory:
-          <div class="source"><pre>
-maven deploy -Ddeploy=/MyPathToMyPortlet/target/MyPortlet.war
-          </pre>
-</div>
-
-          See the <a href="developer/build_source.html">Building From 
Source</a>
-          document for detailed instructions.
-        </p>
-<p>
-          Alternatively, there is an interactive ant script in the
-          <code>portlet-deploy</code> directory that will perform the same task
-          as the Maven deployment goal.
-        </p>
-<p><b>Step 3:</b> Modify the Portlet Entity Registry and the Page
-          Registry and Portlet Contexts files. These configuration files are
-          located at:
-          
<ul><li><code>[portal-home]/WEB-INF/data/portletentityregistry.xml</code></li>
-<li><code>[portal-home]/WEB-INF/data/pageregistry.xml</code></li>
-<li><code>[portal-home]/WEB-INF/data/portletcontexts.txt</code></li>
-</ul>
-</p>
-<p>
-          The Portlet Entity Registry file requires that you specify an
-          application and a Portlet ID for your new Portlet. The Application ID
-          must be unique. It also needs to know the name of the Portlet so that
-          it can go out and find it in the webapps path. Furthermore, this
-          information is used to map the Portlet name to the appropriate class
-          path for loading the class. The following is an example of some
-          additions you can make to the entity registry file:
-        </p>
-<p><div class="source"><pre>
-&lt;application id=&quot;6&quot;&gt;
-  &lt;definition-id&gt;MyPortlet&lt;/definition-id&gt;
-  &lt;portlet id=&quot;1&quot;&gt;
-    &lt;definition-id&gt;MyPortlet.MyPortlet&lt;/definition-id&gt;
-  &lt;/portlet&gt;
-&lt;/application&gt;
-          </pre>
-</div>
-</p>
-<p>
-          The Page Registry provides Pluto with the layout information for your
-          Portlet. The names used in the fragments must be unique as done in
-          the following example:
-        </p>
-<p><div class="source"><pre>
-&lt;fragment name=&quot;MyPortlet&quot; type=&quot;page&quot;&gt;
-  &lt;navigation&gt;
-    &lt;title&gt;My First Portlet&lt;/title&gt;
-    &lt;description&gt;...&lt;/description&gt;
-  &lt;/navigation&gt;
-  
-  &lt;fragment name=&quot;row3&quot; type=&quot;row&quot;&gt;
-    &lt;fragment name=&quot;col3&quot; type=&quot;column&quot;&gt;
-      &lt;fragment name=&quot;p4&quot; type=&quot;portlet&quot;&gt;
-        &lt;property name=&quot;portlet&quot; value=&quot;6.1&quot;/&gt;
-      &lt;/fragment&gt;
-    &lt;/fragment&gt;
-  &lt;/fragment&gt;
-  
-  ... ...
-
-&lt;/fragment&gt;
-          </pre>
-</div>
-</p>
-<p>
-          The Portlet Contexts file (<code>portletcontexts.txt</code>) lists
-          the webapp contexts for each portlet application that runs in Pluto.
-          Each portlet app has a line in this file corresponding to a path and
-          starting with a slash ('/'). In Tomcat, this path is the value of the
-          'path' attribute of the 'Context' element in a context XML descriptor
-          in <code>&lt;TOMCAT_HOME&gt;/conf/Catalina/localhost</code>
-          (or another 'conf' subdirectory).
-        </p>
-</div>
-<div class="section"><h3><a 
name="Using_the_Admin_Portlet_Application"></a>Using the Admin Portlet 
Application</h3>
-<p>
-          The Admin Portlet Application allows you to deploy custom portlets
-          using an interface in Pluto's portal. This application automatically
-          places the custom portlets to their proper place and updates the
-          registries.
-        </p>
-<p>
-          Deploying a custom portlet application to Pluto using the Admin
-          Portlet Application requires the following steps:
-          <ul><li>Assemble your portlet application into a valid war.</li>
-<li>Start Pluto and navigate to
-            <code>http://localhost:8080/pluto/portal</code>, the local Pluto
-            home page.</li>
-<li>Click on the Admin navigation link. The Admin Portlet App should
-            appear.</li>
-<li>In the Deploy War Portlet, click on the Browse button and select
-            your war file</li>
-<li>Click on the Submit button of the Deploy War Portlet</li>
-<li>In the resulting page, fill in the Title, Description (optional),
-            and the number of rows and columns you desire for laying out the
-            portlets. Click on Submit</li>
-<li>In the resulting page, select from the drop downs which portlet
-            will be deployed in a particular row and column. Click on 
Submit.</li>
-<li>After returning to the Deploy War Portlet 'home page', click on
-            the blue 'Hot deploy ...' link to hot deploy the new portlet app 
and
-            get redirected to its page.</li>
-</ul>
-</p>
-<p>
-          Check out the Deploy War Portlet's help mode (help link) for
-          information on redeploying and undeploying portlets and
-          troubleshooting problems.
-        </p>
-</div>
-</div>
+        <div class="section"><h2><a name="Installation_Guide"></a>Installation 
Guide</h2>
+<p>
+        This install guide covers the following types of installations:
+        <ul><li><a href="#Installing_Pluto_Distributions">Installing Pluto 
Distributions</a></li>
+<li><a href="#Installing_Portlets">Installing Portlets</a></li>
+<ul><li><a href="#Installing_With_Maven">Installing with Maven</a></li>
+<li><a href="#Using_the_Admin_Portlet_Application">Using the Admin Portlet 
Application</a></li>
+</ul>
+</ul>
+</p>
+</div>
+<div class="section"><h2><a 
name="Installing_Pluto_Distributions"></a>Installing Pluto Distributions</h2>
+<div class="section"><h3><a name="Binary_Distribution"></a>Binary 
Distribution</h3>
+<p>
+          The binary distribution of Pluto is packaged with Tomcat (currently
+          version 5.5.9).  Pluto leverages Tomcat to provide the web container
+          in which the Pluto portlet container executes. The binary 
distribution
+          includes the Pluto Portlet Container, The Portal Driver, the Pluto
+          Testsuite and the Admin Portlet application.
+        </p>
+<p>
+          To install the binary distribution:
+          <ul><li><a href="#mirrors.cgi">Download</a> the current binary
+            distribution of Pluto</li>
+<li>Extract the binary distribution to a directory from here forward
+            refered to as <code>&quot;&lt;PLUTO_HOME&gt;&quot;</code>.</li>
+<li>Startup the server by using the appropriate tomcat startup
+            script located at <code>&lt;PLUTO_HOME&gt;/bin</code>.
+            For *nix use <code>startup.sh</code>; for windows use
+            <code>startup.bat</code>.</li>
+<li>By default Tomcat 5.5 uses JDK 1.5 (J2SE 5.0). In order to run
+            it with JDK 1.4, a compatibility package needs to be downloaded and
+            installed. See the Running.txt file in the root directory for
+            details.</li>
+<li>Point your browser to <code>http://localhost:8080/pluto/portal</code>,
+            the Pluto Driver, and your ready to go!</li>
+</ul>
+</p>
+</div>
+<div class="section"><h3><a name="Library_Distributions"></a>Library 
Distributions</h3>
+<p>
+          The pluto library distributions are packaged to allow integration 
with
+          an external portal server.
+        </p>
+<p>
+          To install the library distributions to your portal server, ensure
+          that the pluto-x.x.x.jar is loaded by a classloader to which both the
+          portal and portlet application web apps have access.
+        </p>
+</div>
+<div class="section"><h3><a name="Source_Distribution"></a>Source 
Distribution</h3>
+<p>
+          Installing the source distribution requires the most effort, and is
+          recomended only for those individuals who are interested in modifying
+          the container.  The source distribution is basically a snapshot of 
the
+          source code repository at a given time. Because of this, please see
+          the build instructions, which will provide information about how to
+          build Pluto from scratch.
+        </p>
+<p>
+          To install the source distribution into Tomcat:
+          <ul><li>Install Java 1.4 or greater</li>
+<li>Install Maven 1.0 or greater</li>
+<li>Install Tomcat 4.x or Tomcat 5.x to a directory from here
+            forward refered to as <code>&lt;TOMCAT_HOME&gt;</code></li>
+<li>Edit your <code>&lt;PLUTO_HOME&gt;/build.properties</code> to
+            include the following properties:
+              <table class="bodyTable"><tr class="a"><th>Property</th>
+<th>Value</th>
+<th>Example(s)</th>
+</tr>
+<tr class="b"><td>maven.tomcat.home</td>
+<td>Tomcat Installation Directory</td>
+<td><code>/usr/local/apache-tomcat.5.0.27</code>,
+                      <code>c:\\apache-tomcat.5.0.27</code></td>
+</tr>
+<tr class="a"><td>maven.tomcat.version.major</td>
+<td>Tomcat Major Version Number</td>
+<td>5</td>
+</tr>
+</table>
+</li>
+<li>From <code>&lt;PLUTO_HOME&gt;</code> issue the command:
+            <code>maven fullDeployment</code></li>
+<li>Startup the server by using the appropriate Tomcat startup
+            script located at <code>&lt;PLUTO_HOME&gt;/bin</code>.
+            For *nix use <code>startup.sh</code>; for windows use
+            <code>startup.bat</code>.</li>
+<li>Point your browser to
+            <code>http://localhost:8080/pluto/portal</code>, the Pluto Driver,
+            and your ready to go!</li>
+</ul>
+</p>
+</div>
+</div>
+<div class="section"><h2><a name="Installing_Portlets"></a>Installing 
Portlets</h2>
+<div class="section"><h3><a name="Installing_with_Maven"></a>Installing with 
Maven</h3>
+<p><span style="color: #FF0000;">Currently, to automate the
+          deployment/installation of portlets you must utilize the source
+          distribution of pluto. Alternatively, you could use the
+          <a href="#Using_the_Admin_Portlet_Application">Admin Portlet
+          Application</a> to install custom portlets.</span></p>
+<p>
+          In order to deploy a portlet application to pluto, you must follow 
the
+          steps below:
+        </p>
+<p><b>Step 1:</b> Assemble your portlet application into a valid war.
+        </p>
+<p><b>Step 2:</b> Run the maven deploy goal on your war. This can be done
+          by running this command line in the deploy subdirectory:
+          <div class="source"><pre>
+maven deploy -Ddeploy=/MyPathToMyPortlet/target/MyPortlet.war
+          </pre>
+</div>
+
+          See the <a href="developer/build_source.html">Building From 
Source</a>
+          document for detailed instructions.
+        </p>
+<p>
+          Alternatively, there is an interactive ant script in the
+          <code>portlet-deploy</code> directory that will perform the same task
+          as the Maven deployment goal.
+        </p>
+<p><b>Step 3:</b> Modify the Portlet Entity Registry and the Page
+          Registry and Portlet Contexts files. These configuration files are
+          located at:
+          
<ul><li><code>[portal-home]/WEB-INF/data/portletentityregistry.xml</code></li>
+<li><code>[portal-home]/WEB-INF/data/pageregistry.xml</code></li>
+<li><code>[portal-home]/WEB-INF/data/portletcontexts.txt</code></li>
+</ul>
+</p>
+<p>
+          The Portlet Entity Registry file requires that you specify an
+          application and a Portlet ID for your new Portlet. The Application ID
+          must be unique. It also needs to know the name of the Portlet so that
+          it can go out and find it in the webapps path. Furthermore, this
+          information is used to map the Portlet name to the appropriate class
+          path for loading the class. The following is an example of some
+          additions you can make to the entity registry file:
+        </p>
+<p><div class="source"><pre>
+&lt;application id=&quot;6&quot;&gt;
+  &lt;definition-id&gt;MyPortlet&lt;/definition-id&gt;
+  &lt;portlet id=&quot;1&quot;&gt;
+    &lt;definition-id&gt;MyPortlet.MyPortlet&lt;/definition-id&gt;
+  &lt;/portlet&gt;
+&lt;/application&gt;
+          </pre>
+</div>
+</p>
+<p>
+          The Page Registry provides Pluto with the layout information for your
+          Portlet. The names used in the fragments must be unique as done in
+          the following example:
+        </p>
+<p><div class="source"><pre>
+&lt;fragment name=&quot;MyPortlet&quot; type=&quot;page&quot;&gt;
+  &lt;navigation&gt;
+    &lt;title&gt;My First Portlet&lt;/title&gt;
+    &lt;description&gt;...&lt;/description&gt;
+  &lt;/navigation&gt;
+  
+  &lt;fragment name=&quot;row3&quot; type=&quot;row&quot;&gt;
+    &lt;fragment name=&quot;col3&quot; type=&quot;column&quot;&gt;
+      &lt;fragment name=&quot;p4&quot; type=&quot;portlet&quot;&gt;
+        &lt;property name=&quot;portlet&quot; value=&quot;6.1&quot;/&gt;
+      &lt;/fragment&gt;
+    &lt;/fragment&gt;
+  &lt;/fragment&gt;
+  
+  ... ...
+
+&lt;/fragment&gt;
+          </pre>
+</div>
+</p>
+<p>
+          The Portlet Contexts file (<code>portletcontexts.txt</code>) lists
+          the webapp contexts for each portlet application that runs in Pluto.
+          Each portlet app has a line in this file corresponding to a path and
+          starting with a slash ('/'). In Tomcat, this path is the value of the
+          'path' attribute of the 'Context' element in a context XML descriptor
+          in <code>&lt;TOMCAT_HOME&gt;/conf/Catalina/localhost</code>
+          (or another 'conf' subdirectory).
+        </p>
+</div>
+<div class="section"><h3><a 
name="Using_the_Admin_Portlet_Application"></a>Using the Admin Portlet 
Application</h3>
+<p>
+          The Admin Portlet Application allows you to deploy custom portlets
+          using an interface in Pluto's portal. This application automatically
+          places the custom portlets to their proper place and updates the
+          registries.
+        </p>
+<p>
+          Deploying a custom portlet application to Pluto using the Admin
+          Portlet Application requires the following steps:
+          <ul><li>Assemble your portlet application into a valid war.</li>
+<li>Start Pluto and navigate to
+            <code>http://localhost:8080/pluto/portal</code>, the local Pluto
+            home page.</li>
+<li>Click on the Admin navigation link. The Admin Portlet App should
+            appear.</li>
+<li>In the Deploy War Portlet, click on the Browse button and select
+            your war file</li>
+<li>Click on the Submit button of the Deploy War Portlet</li>
+<li>In the resulting page, fill in the Title, Description (optional),
+            and the number of rows and columns you desire for laying out the
+            portlets. Click on Submit</li>
+<li>In the resulting page, select from the drop downs which portlet
+            will be deployed in a particular row and column. Click on 
Submit.</li>
+<li>After returning to the Deploy War Portlet 'home page', click on
+            the blue 'Hot deploy ...' link to hot deploy the new portlet app 
and
+            get redirected to its page.</li>
+</ul>
+</p>
+<p>
+          Check out the Deploy War Portlet's help mode (help link) for
+          information on redeploying and undeploying portlets and
+          troubleshooting problems.
+        </p>
+</div>
+</div>
 
       </div>
     </div>
@@ -499,7 +489,7 @@ maven deploy -Ddeploy=/MyPathToMyPortlet
     </div>
     <div id="footer">
       <div class="xright">&#169;  
-          2004-2011
+          2004-2016
     
           Apache Software Foundation
           

Modified: portals/site-live/pluto/v101/resources.html
URL: 
http://svn.apache.org/viewvc/portals/site-live/pluto/v101/resources.html?rev=1772018&r1=1772017&r2=1772018&view=diff
==============================================================================
--- portals/site-live/pluto/v101/resources.html (original)
+++ portals/site-live/pluto/v101/resources.html Wed Nov 30 12:21:20 2016
@@ -47,21 +47,11 @@
   
     
             <div class="xleft">
-        Last Published: 2011-09-26
+        Last Published: 2016-11-30
                           |   
                 <a href="http://portals.apache.org/pluto"; 
class="externalLink">Home</a>
                           </div>
-            <div class="xright">            <a 
href="../jetspeed-2/">Jetspeed-2</a>
-            |
-                <a href="../bridges/">Bridges</a>
-            |
-                <a href="../pluto/">Pluto</a>
-            |
-                <a href="../applications/">Applications</a>
-            |
-                <a href="../jetspeed-1/">Jetspeed-1</a>
-            |
-                <a href="http://jcp.org/en/jsr/detail?id=168"; 
class="externalLink">JSR 168 (Portlet 1.0)</a>
+            <div class="xright">            <a 
href="http://jcp.org/en/jsr/detail?id=168"; class="externalLink">JSR 168 
(Portlet 1.0)</a>
             |
                 <a href="http://portals.apache.org/pluto/portlet-1.0-apidocs"; 
class="externalLink">Portlet 1.0 API (Javadoc)</a>
             |
@@ -269,31 +259,31 @@
     </div>
     <div id="bodyColumn">
       <div id="contentBox">
-        <div class="section"><h2><a name="Resources"></a>Resources</h2>
-<p><table class="bodyTable"><tr class="a"><th>Resource</th>
-<th>Type</th>
-</tr>
-<tr class="b"><td><a href="http://jcp.org/en/jsr/detail?id=168"; 
class="externalLink">JSR 168</a></td>
-<td>JCP Request Info</td>
-</tr>
-<tr class="a"><td><a href="http://jcp.org/en/jsr/detail?id=286"; 
class="externalLink">JSR 286</a></td>
-<td>JCP Request Info</td>
-</tr>
-<tr class="b"><td><a 
href="http://jcp.org/aboutJava/communityprocess/final/jsr168/index.html"; 
class="externalLink">Portlet Specification 1.0</a></td>
-<td>Specification</td>
-</tr>
-<tr class="a"><td><a href="http://people.apache.org/~zheng/pluto/chinese/"; 
class="externalLink">Chinese translation of Pluto website</a></td>
-<td>Documentation</td>
-</tr>
-<tr class="b"><td><a 
href="http://today.java.net/pub/a/today/2005/02/18/josso.html"; 
class="externalLink">Integrating Java Open Single Sign-On in Pluto</a></td>
-<td>Documentation</td>
-</tr>
-<tr class="a"><td><a 
href="http://www.theserverside.com/articles/article.tss?l=ClusteringTomcat"; 
class="externalLink">Clustering JSR-168 Portlet Applications in Tomcat</a></td>
-<td>Documentation</td>
-</tr>
-</table>
-</p>
-</div>
+        <div class="section"><h2><a name="Resources"></a>Resources</h2>
+<p><table class="bodyTable"><tr class="a"><th>Resource</th>
+<th>Type</th>
+</tr>
+<tr class="b"><td><a class="externalLink" 
href="http://jcp.org/en/jsr/detail?id=168";>JSR 168</a></td>
+<td>JCP Request Info</td>
+</tr>
+<tr class="a"><td><a class="externalLink" 
href="http://jcp.org/en/jsr/detail?id=286";>JSR 286</a></td>
+<td>JCP Request Info</td>
+</tr>
+<tr class="b"><td><a class="externalLink" 
href="http://jcp.org/aboutJava/communityprocess/final/jsr168/index.html";>Portlet
 Specification 1.0</a></td>
+<td>Specification</td>
+</tr>
+<tr class="a"><td><a class="externalLink" 
href="http://people.apache.org/~zheng/pluto/chinese/";>Chinese translation of 
Pluto website</a></td>
+<td>Documentation</td>
+</tr>
+<tr class="b"><td><a class="externalLink" 
href="http://today.java.net/pub/a/today/2005/02/18/josso.html";>Integrating Java 
Open Single Sign-On in Pluto</a></td>
+<td>Documentation</td>
+</tr>
+<tr class="a"><td><a class="externalLink" 
href="http://www.theserverside.com/articles/article.tss?l=ClusteringTomcat";>Clustering
 JSR-168 Portlet Applications in Tomcat</a></td>
+<td>Documentation</td>
+</tr>
+</table>
+</p>
+</div>
 
       </div>
     </div>
@@ -302,7 +292,7 @@
     </div>
     <div id="footer">
       <div class="xright">&#169;  
-          2004-2011
+          2004-2016
     
           Apache Software Foundation
           

Modified: portals/site-live/pluto/v101/userguide/index.html
URL: 
http://svn.apache.org/viewvc/portals/site-live/pluto/v101/userguide/index.html?rev=1772018&r1=1772017&r2=1772018&view=diff
==============================================================================
--- portals/site-live/pluto/v101/userguide/index.html (original)
+++ portals/site-live/pluto/v101/userguide/index.html Wed Nov 30 12:21:20 2016
@@ -47,21 +47,11 @@
   
     
             <div class="xleft">
-        Last Published: 2011-09-26
+        Last Published: 2016-11-30
                           |   
                 <a href="http://portals.apache.org/pluto"; 
class="externalLink">Home</a>
                           </div>
-            <div class="xright">            <a 
href="../../jetspeed-2/">Jetspeed-2</a>
-            |
-                <a href="../../bridges/">Bridges</a>
-            |
-                <a href="../../pluto/">Pluto</a>
-            |
-                <a href="../../applications/">Applications</a>
-            |
-                <a href="../../jetspeed-1/">Jetspeed-1</a>
-            |
-                <a href="http://jcp.org/en/jsr/detail?id=168"; 
class="externalLink">JSR 168 (Portlet 1.0)</a>
+            <div class="xright">            <a 
href="http://jcp.org/en/jsr/detail?id=168"; class="externalLink">JSR 168 
(Portlet 1.0)</a>
             |
                 <a href="http://portals.apache.org/pluto/portlet-1.0-apidocs"; 
class="externalLink">Portlet 1.0 API (Javadoc)</a>
             |
@@ -269,54 +259,54 @@
     </div>
     <div id="bodyColumn">
       <div id="contentBox">
-        <div class="section"><h2><a name="User_Guide"></a>User Guide</h2>
-<div class="section"><h3><a name="Prerequisites"></a>Prerequisites</h3>
-<p>It is expected that the reader of the user guide documentation
-     should has an understanding of Java Web Application development, and 
-     Java Portlet Development.</p>
-</div>
-<div class="section"><h3><a name="Pluto_-_The_Pluto_Container"></a>Pluto - The 
Pluto Container</h3>
-<p>
-   Pluto is the reference implementation of the Portlet Specification.
-   It is a portlet container which manages the lifecycle and request
-   processing of portlets which adhere to the specification.
-</p>
-<p>
-   In an of itself, Pluto is not very usefull to the end user.
-   As a container, it does not have any understanding of portlet
-   invocation, portlet aggregation or other portal specific features. 
-</p>
-<p>
-  For more information on how to integrate Pluto into your portal, 
-  please see the <A href="../developer/integration.html">developer guides</A>.
-</p>
-</div>
-<div class="section"><h3><a 
name="Pluto_Portal_Driver_-_The_Test_Portal"></a>Pluto Portal Driver - The Test 
Portal</h3>
-<p>
-  The Pluto Portal Driver is a simple portal implementation that
-  is provided for convenience sake. It's purpose is to provide
-  aggregation support so that Pluto may be easily tested, and
-  portlets may be easily developed.
-</p>
-<p>
-  For information on how to use, configure, and customize the 
-  Portal Driver, please see the 
-  <A href="portal.html">Portal Driver User Guide</A>.
-</p>
-</div>
-<div class="section"><h3><a 
name="Pluto_TestSuite_-_The_Test_Portlet_Application"></a>Pluto TestSuite - The 
Test Portlet Application</h3>
-<p>
-  The Pluto TestSuite is a Portlet Application which can be used to test
-  Portlet Implementations.  The TestSuite tests several basic portlet
-  functions and is a quick and dirty way to test for Portlet Specification
-  compliance.  While a quick test of a portal using the testsuite won't 
-  garuntee compliance, it will help flag any notable incompliance.
-</p>
-<p>
-  For information on how to use and configure the TestSuite, please see
-  the <A href="testsuite.html">TestSuite User Guide</A></p>
-</div>
-</div>
+        <div class="section"><h2><a name="User_Guide"></a>User Guide</h2>
+<div class="section"><h3><a name="Prerequisites"></a>Prerequisites</h3>
+<p>It is expected that the reader of the user guide documentation
+     should has an understanding of Java Web Application development, and 
+     Java Portlet Development.</p>
+</div>
+<div class="section"><h3><a name="Pluto_-_The_Pluto_Container"></a>Pluto - The 
Pluto Container</h3>
+<p>
+   Pluto is the reference implementation of the Portlet Specification.
+   It is a portlet container which manages the lifecycle and request
+   processing of portlets which adhere to the specification.
+</p>
+<p>
+   In an of itself, Pluto is not very usefull to the end user.
+   As a container, it does not have any understanding of portlet
+   invocation, portlet aggregation or other portal specific features. 
+</p>
+<p>
+  For more information on how to integrate Pluto into your portal, 
+  please see the <A href="../developer/integration.html">developer guides</A>.
+</p>
+</div>
+<div class="section"><h3><a 
name="Pluto_Portal_Driver_-_The_Test_Portal"></a>Pluto Portal Driver - The Test 
Portal</h3>
+<p>
+  The Pluto Portal Driver is a simple portal implementation that
+  is provided for convenience sake. It's purpose is to provide
+  aggregation support so that Pluto may be easily tested, and
+  portlets may be easily developed.
+</p>
+<p>
+  For information on how to use, configure, and customize the 
+  Portal Driver, please see the 
+  <A href="portal.html">Portal Driver User Guide</A>.
+</p>
+</div>
+<div class="section"><h3><a 
name="Pluto_TestSuite_-_The_Test_Portlet_Application"></a>Pluto TestSuite - The 
Test Portlet Application</h3>
+<p>
+  The Pluto TestSuite is a Portlet Application which can be used to test
+  Portlet Implementations.  The TestSuite tests several basic portlet
+  functions and is a quick and dirty way to test for Portlet Specification
+  compliance.  While a quick test of a portal using the testsuite won't 
+  garuntee compliance, it will help flag any notable incompliance.
+</p>
+<p>
+  For information on how to use and configure the TestSuite, please see
+  the <A href="testsuite.html">TestSuite User Guide</A></p>
+</div>
+</div>
 
       </div>
     </div>
@@ -325,7 +315,7 @@
     </div>
     <div id="footer">
       <div class="xright">&#169;  
-          2004-2011
+          2004-2016
     
           Apache Software Foundation
           


Reply via email to