Added: portals/site-live/pluto/v301/portlet-api.html
URL: 
http://svn.apache.org/viewvc/portals/site-live/pluto/v301/portlet-api.html?rev=1834161&view=auto
==============================================================================
--- portals/site-live/pluto/v301/portlet-api.html (added)
+++ portals/site-live/pluto/v301/portlet-api.html Fri Jun 22 19:35:14 2018
@@ -0,0 +1,398 @@
+<!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>Pluto - Portlet Concepts</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/pluto/"; id="bannerLeft">
+    
+                                    <img 
src="http://portals.apache.org/pluto/images/apache-portals.gif"; alt="" />
+    
+            </a>
+                          <span id="bannerRight">
+    
+                                    <img 
src="http://portals.apache.org/pluto/images/banner.png"; alt="" />
+    
+            </span>
+            <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="breadcrumbs">
+          
+  
+
+  
+    
+            
+  
+    
+            <div class="xleft">
+        Last Published: 2018-06-22
+                          |   
+                <a href="http://portals.apache.org/pluto"; 
class="externalLink">Home</a>
+                          </div>
+            <div class="xright">            <a 
href="../portlet-3.0-apidocs/index.html">Portlet 3.0 API</a>
+            |
+                <a href="../portlet-2.0-apidocs/index.html">Portlet 2.0 API</a>
+            |
+                <a href="../portlet-1.0-apidocs/index.html">Portlet 1.0 API</a>
+            |
+                <a href="http://jcp.org/en/jsr/detail?id=362"; 
class="externalLink">JSR 362 JCP Page</a>
+            |
+                <a href="http://jcp.org/en/jsr/detail?id=286"; 
class="externalLink">JSR 286 JCP Page</a>
+            |
+                <a href="http://jcp.org/en/jsr/detail?id=168"; 
class="externalLink">JSR 168 JCP Page</a>
+            
+  
+
+  
+    
+            
+  
+    
+  </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="leftColumn">
+      <div id="navcolumn">
+           
+  
+
+  
+    
+            
+  
+    
+                   <h5>The Pluto Project</h5>
+            <ul>
+              
+    <li class="none">
+                    <a href="../index.html">About Pluto</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../mission.html">Mission</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../download.html">Download</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../news.html">News</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../security.html">Security</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../status.html">Status</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../architecture.html">Architecture</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../resources.html">Resources</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../faq.html">FAQ</a>
+          </li>
+              
+    <li class="none">
+                    <a href="http://wiki.apache.org/portals/Pluto"; 
class="externalLink">Wiki</a>
+          </li>
+              
+    <li class="none">
+                    <a href="https://issues.apache.org/jira/browse/PLUTO"; 
class="externalLink">Issue Tracker (JIRA)</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../helping.html">Get Involved</a>
+          </li>
+          </ul>
+              <h5>Pluto 3.0</h5>
+            <ul>
+              
+    <li class="none">
+                    <a href="../v301/getting-started.html">Getting Started</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../v301/deploying.html">Deploying Portlets</a>
+          </li>
+              
+    <li class="none">
+              <strong>Portlet Concepts</strong>
+        </li>
+              
+    <li class="none">
+                    <a href="../v301/v3Features.html">Version 3 Features</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../v301/tck.html">Using the TCK</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../v301/release-notes.html">Release Notes</a>
+          </li>
+          </ul>
+              <h5>Pluto 2.0</h5>
+            <ul>
+              
+    <li class="none">
+                    <a href="../v20/getting-started.html">Getting Started</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../v20/deploying.html">Deploying</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../v20/embedding.html">Embedding</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../v20/release-notes.html">Release Notes</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../v20/app-servers.html">App Servers</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../v20/powered.html">Powered By Pluto</a>
+          </li>
+          </ul>
+              <h5>Pluto 1.1</h5>
+            <ul>
+              
+    <li class="none">
+                    <a href="../v11/getting-started.html">Getting Started</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../v11/deploying.html">Deploying</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../v11/release-notes.html">Release Notes</a>
+          </li>
+          </ul>
+              <h5>Subprojects</h5>
+            <ul>
+              
+    <li class="none">
+                    <a href="../subprojects/subprojects.html">Overview</a>
+          </li>
+          </ul>
+              <h5>Project Info</h5>
+            <ul>
+              
+    <li class="none">
+                    <a href="../project-summary.html">Project Summary</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../team-list.html">Project Team</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../license.html">Project License</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../mail-lists.html">Mailing Lists</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../source-repository.html">Source Repository</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../issue-tracking.html">Issue Tracking</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">
+        <div class="section"><h2><a name="Portlet_Concepts"></a>Portlet 
Concepts</h2>
+<div class="section"><h3><a name="The_Portlet_Phase_Model"></a>The Portlet 
Phase Model</h3>
+<p>
+      When a request arrives at a portal targeted to a portlet, the portlet 
container
+      executes portlet code according to a phase model.
+      </p>
+<img src="../images/phaseModel.png" /><p>
+      There are three processing stages containing five processing phases, 
defined as follows:
+      </p>
+<p>
+      The portlet API allows creation of URLs that can be included into portlet
+      markup in order to activate the portlet processing stages.
+      </p>
+<ul><li>
+          The Action URL, or Partial Action URL triggers preparation stage 
processing. 
+        </li>
+<li>
+          The Render URL triggers aggregation stage processing.
+        </li>
+<li>
+          The Resource URL triggers resourec stage processing.
+        </li>
+</ul>
+<p>
+      When a stage is triggered, the processing phases within that stage are 
executed.
+      </p>
+<dl><dt>
+        Action Phase
+        </dt>
+<dd>
+        The portlet can perform updates and set up render state for the 
Aggregation Stage.
+        The action phase is initiated thru form post targeting the portlet.
+        During action phase processing, the portlet can fire events, resulting 
in event phase processing.
+        </dd>
+<dt>
+        Event Phase
+        </dt>
+<dd>
+        During event phase processing, the portlet container routes any fired 
events to 
+        the portlets subscribed to the events.
+        Portlets define the events they can fire and receive through 
configuration.
+        </dd>
+<dt>
+        Header Phase (new with V3): 
+        </dt>
+<dd>
+        Called for all portlets before the overall portal response is 
committed.
+        Portlets can contribute header values, cookies, and markup for the 
HEAD section
+        and can declare page resource dependencies.
+        </dd>
+<dt>
+        Render Phase:
+        </dt>
+<dd>
+        Called after the header phase for all portlets has been executed.
+        The portlet generates its markup for aggregation into the portal page.
+        During the render phase, the portlet may only generate markup that the 
portal
+        is able to integrate into the portal page.
+        </dd>
+<dt>
+        Resource Stage
+        </dt>
+<dd>
+        Initiated by an Ajax request from portlet JavaScript code using a 
resource URL.
+        During the resource phase, the portlet has nearly complete control 
over 
+        the response returned to the client. 
+        It may produce markup, JSON data, or binary data, for example.
+        </dd>
+</dl>
+<p>
+      The portlet container drives portlet phase execution 
+      by setting up the execution environment for each portlet and phase and
+      calling the corresponding portlet lifecycle methods.
+      </p>
+<p>
+      The portlet participates in the phase model 
+      by implementing the corresponding lifecycle methods
+      and by using the portlet API to carry out the appropriate tasks.
+      </p>
+</div>
+<div class="section"><h3><a name="The_Portlet_Lifecyce_Methods"></a>The 
Portlet Lifecyce Methods</h3>
+<img src="../images/lifecycleMethods.png" /><p>
+        Each portlet phase has a corresponding lifecycle method.
+        The portlet container executes the prrocessing phase by calling the 
portlet lifecycle method.
+        Each phase is provided with specific request and response objects.
+        Methods can implemented using the interfaces
+        <code>Portlet, ResourceServingPortlet, EventPortlet</code> and 
<code>HeaderPortlet</code>.
+        Portlets can be configured through annotation or using the portlet 
deployment descriptor.
+      </p>
+<p>
+        Portlets can implement the lifecycle methods by extending the 
GenericPortlet class
+        or by using the extended method annotations.
+      </p>
+<p>
+        When the extended method annotations are used, portlet lifecycle 
methods can be arbitrary methods in java classes.
+        The methods are identified by the portlet lifecycle method annotations 
and have
+        relaxed method signature requirements as compared to interface methods.
+        When the method annotations are used, portlets are implicitly 
configured if no 
+        data beyond that provided in the annotation is required.
+        Additional configuration is possible through annotation or portlet 
deployment descriptor.
+      </p>
+<ul><li>
+        Set up / tear down: @InitMethod, @DestroyMethod
+        </li>
+<li>
+        Preparation stage: @ActionMethod, @EventMethod, 
+        </li>
+<li>
+        Aggregation stage: @HeaderMethod, @RenderMethod, 
+        </li>
+<li>
+        Resource stage: @ServeResourceMethod
+        </li>
+</ul>
+</div>
+</div>
+
+      </div>
+    </div>
+    <div class="clear">
+      <hr/>
+    </div>
+    <div id="footer">
+      <div class="xright">&#169;  
+          2004-2018
+    
+          Apache Software Foundation
+          
+  
+
+  
+    
+            
+  
+    
+  </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+  </body>
+</html>

Added: portals/site-live/pluto/v301/release-notes.html
URL: 
http://svn.apache.org/viewvc/portals/site-live/pluto/v301/release-notes.html?rev=1834161&view=auto
==============================================================================
--- portals/site-live/pluto/v301/release-notes.html (added)
+++ portals/site-live/pluto/v301/release-notes.html Fri Jun 22 19:35:14 2018
@@ -0,0 +1,401 @@
+<!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>Pluto - Pluto Release Notes</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/pluto/"; id="bannerLeft">
+    
+                                    <img 
src="http://portals.apache.org/pluto/images/apache-portals.gif"; alt="" />
+    
+            </a>
+                          <span id="bannerRight">
+    
+                                    <img 
src="http://portals.apache.org/pluto/images/banner.png"; alt="" />
+    
+            </span>
+            <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="breadcrumbs">
+          
+  
+
+  
+    
+            
+  
+    
+            <div class="xleft">
+        Last Published: 2018-06-22
+                          |   
+                <a href="http://portals.apache.org/pluto"; 
class="externalLink">Home</a>
+                          </div>
+            <div class="xright">            <a 
href="../portlet-3.0-apidocs/index.html">Portlet 3.0 API</a>
+            |
+                <a href="../portlet-2.0-apidocs/index.html">Portlet 2.0 API</a>
+            |
+                <a href="../portlet-1.0-apidocs/index.html">Portlet 1.0 API</a>
+            |
+                <a href="http://jcp.org/en/jsr/detail?id=362"; 
class="externalLink">JSR 362 JCP Page</a>
+            |
+                <a href="http://jcp.org/en/jsr/detail?id=286"; 
class="externalLink">JSR 286 JCP Page</a>
+            |
+                <a href="http://jcp.org/en/jsr/detail?id=168"; 
class="externalLink">JSR 168 JCP Page</a>
+            
+  
+
+  
+    
+            
+  
+    
+  </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="leftColumn">
+      <div id="navcolumn">
+           
+  
+
+  
+    
+            
+  
+    
+                   <h5>The Pluto Project</h5>
+            <ul>
+              
+    <li class="none">
+                    <a href="../index.html">About Pluto</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../mission.html">Mission</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../download.html">Download</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../news.html">News</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../security.html">Security</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../status.html">Status</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../architecture.html">Architecture</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../resources.html">Resources</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../faq.html">FAQ</a>
+          </li>
+              
+    <li class="none">
+                    <a href="http://wiki.apache.org/portals/Pluto"; 
class="externalLink">Wiki</a>
+          </li>
+              
+    <li class="none">
+                    <a href="https://issues.apache.org/jira/browse/PLUTO"; 
class="externalLink">Issue Tracker (JIRA)</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../helping.html">Get Involved</a>
+          </li>
+          </ul>
+              <h5>Pluto 3.0</h5>
+            <ul>
+              
+    <li class="none">
+                    <a href="../v301/getting-started.html">Getting Started</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../v301/deploying.html">Deploying Portlets</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../v301/portlet-api.html">Portlet Concepts</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../v301/v3Features.html">Version 3 Features</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../v301/tck.html">Using the TCK</a>
+          </li>
+              
+    <li class="none">
+              <strong>Release Notes</strong>
+        </li>
+          </ul>
+              <h5>Pluto 2.0</h5>
+            <ul>
+              
+    <li class="none">
+                    <a href="../v20/getting-started.html">Getting Started</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../v20/deploying.html">Deploying</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../v20/embedding.html">Embedding</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../v20/release-notes.html">Release Notes</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../v20/app-servers.html">App Servers</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../v20/powered.html">Powered By Pluto</a>
+          </li>
+          </ul>
+              <h5>Pluto 1.1</h5>
+            <ul>
+              
+    <li class="none">
+                    <a href="../v11/getting-started.html">Getting Started</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../v11/deploying.html">Deploying</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../v11/release-notes.html">Release Notes</a>
+          </li>
+          </ul>
+              <h5>Subprojects</h5>
+            <ul>
+              
+    <li class="none">
+                    <a href="../subprojects/subprojects.html">Overview</a>
+          </li>
+          </ul>
+              <h5>Project Info</h5>
+            <ul>
+              
+    <li class="none">
+                    <a href="../project-summary.html">Project Summary</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../team-list.html">Project Team</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../license.html">Project License</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../mail-lists.html">Mailing Lists</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../source-repository.html">Source Repository</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../issue-tracking.html">Issue Tracking</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><div class="section"><h2><a 
name="Release_Notes_-_Pluto_3.0.1"></a>Release Notes - Pluto 3.0.1</h2>
+<p>
+              Pluto version 3.0.1 is a completely new release dedicated to the
+              implementation of JSR 362 (Portlet Specification), version 3.0.
+            </p>
+<p></p>
+<div class="section"><h3><a name="Bug"></a>Bug</h3>
+<ul><li>[<a class="externalLink" 
href="https://issues.apache.org/jira/browse/PLUTO-629";>PLUTO-629</a>] -         
TCK: A forward after an include in the Action or Event phase results in a 
status=500 error
+</li>
+<li>[<a class="externalLink" 
href="https://issues.apache.org/jira/browse/PLUTO-656";>PLUTO-656</a>] -         
various portlet.xml files are not valid
+</li>
+<li>[<a class="externalLink" 
href="https://issues.apache.org/jira/browse/PLUTO-657";>PLUTO-657</a>] -         
pluto fails to add head scripts with CDATA
+</li>
+<li>[<a class="externalLink" 
href="https://issues.apache.org/jira/browse/PLUTO-658";>PLUTO-658</a>] -         
TCK: Contesting V2ADDLENVIRONMENTTESTS_SPEC2_10_CONTEXT_GETREALPATH
+</li>
+<li>[<a class="externalLink" 
href="https://issues.apache.org/jira/browse/PLUTO-659";>PLUTO-659</a>] -         
TCK: Contesting V2AddlFilterTests_SPEC2_20_Action_filter1
+</li>
+<li>[<a class="externalLink" 
href="https://issues.apache.org/jira/browse/PLUTO-660";>PLUTO-660</a>] -         
servlet-api should be scope &quot;provided&quot;
+</li>
+<li>[<a class="externalLink" 
href="https://issues.apache.org/jira/browse/PLUTO-664";>PLUTO-664</a>] -         
TCK: Contesting V2RequestTests_ClientDataRequest_ApiAction_getReader2 and 
_getPortletInputStream2
+</li>
+<li>[<a class="externalLink" 
href="https://issues.apache.org/jira/browse/PLUTO-665";>PLUTO-665</a>] -         
TCK: V3ResourceParametersTests copy+paste error leaves tests unimplemented
+</li>
+<li>[<a class="externalLink" 
href="https://issues.apache.org/jira/browse/PLUTO-666";>PLUTO-666</a>] -         
TCK: Contesting AddlResponseTests_SPEC2_12_Render
+</li>
+<li>[<a class="externalLink" 
href="https://issues.apache.org/jira/browse/PLUTO-667";>PLUTO-667</a>] -         
TCK: Contesting V2ResponseTests_MimeResponse_ApiRender_setContentType4 and 
V2ResponseTests_RenderResponse_ApiRender_setContentType2
+</li>
+<li>[<a class="externalLink" 
href="https://issues.apache.org/jira/browse/PLUTO-668";>PLUTO-668</a>] -         
TCK: Contesting V3URLTests_BaseURL_append and V3URLTests_BaseURL_append2
+</li>
+<li>[<a class="externalLink" 
href="https://issues.apache.org/jira/browse/PLUTO-669";>PLUTO-669</a>] -         
V3URLTests_BaseURL_append incorrectly calls BaseURL.append(Appendable, boolean) 
instead of BaseURL.append(Appendable)
+</li>
+<li>[<a class="externalLink" 
href="https://issues.apache.org/jira/browse/PLUTO-670";>PLUTO-670</a>] -         
TCK: Contesting getParameterMap tests that verify an &quot;unmodifiable&quot; 
Map object
+</li>
+<li>[<a class="externalLink" 
href="https://issues.apache.org/jira/browse/PLUTO-671";>PLUTO-671</a>] -         
TCK: Contesting V2AddlEnvironmentTests_SPEC2_17_EventPreferences_setValues4
+</li>
+<li>[<a class="externalLink" 
href="https://issues.apache.org/jira/browse/PLUTO-672";>PLUTO-672</a>] -         
TCK: Contesting tests that expect JspException to be thrown when the 
copyCurrentRenderParameters attribute contains a non-boolean value
+</li>
+<li>[<a class="externalLink" 
href="https://issues.apache.org/jira/browse/PLUTO-673";>PLUTO-673</a>] -         
TCK: Contesting V2EnvironmentTests_PortalContext_ApiRender_getPortalInfo1
+</li>
+<li>[<a class="externalLink" 
href="https://issues.apache.org/jira/browse/PLUTO-674";>PLUTO-674</a>] -         
TCK: Contesting V2EnvironmentTests_PortletContext_ApiRender_getServerInfo1
+</li>
+<li>[<a class="externalLink" 
href="https://issues.apache.org/jira/browse/PLUTO-675";>PLUTO-675</a>] -         
TCK: Improve V2EnvironmentTests_PortletContext_ApiRender_getPortletContextName1 
and V2EnvironmentTests_PortletContext_ApiRender_getPortletContextName2
+</li>
+<li>[<a class="externalLink" 
href="https://issues.apache.org/jira/browse/PLUTO-676";>PLUTO-676</a>] -         
TCK: Contesting V2EnvironmentTests_PortletContext_ApiRender_getRealPath1
+</li>
+<li>[<a class="externalLink" 
href="https://issues.apache.org/jira/browse/PLUTO-677";>PLUTO-677</a>] -         
TCK: Contesting DispatcherTests3S_SPEC2_19_ForwardServletRender_dispatch4
+</li>
+<li>[<a class="externalLink" 
href="https://issues.apache.org/jira/browse/PLUTO-678";>PLUTO-678</a>] -         
TCK: Contesting V2AddlRequestTests_SPEC2_11_Render_parameters13 and 
V3HeaderPortletTests_SPEC15_Header_parameters13
+</li>
+<li>[<a class="externalLink" 
href="https://issues.apache.org/jira/browse/PLUTO-679";>PLUTO-679</a>] -         
TCK: Contesting V2RequestTests_PortletRequest_ApiAction_getContextPath1
+</li>
+<li>[<a class="externalLink" 
href="https://issues.apache.org/jira/browse/PLUTO-680";>PLUTO-680</a>] -         
TCK: Contesting tests that reference Pluto-specific security roles
+</li>
+<li>[<a class="externalLink" 
href="https://issues.apache.org/jira/browse/PLUTO-683";>PLUTO-683</a>] -         
TCK: Contesting tests that invoke a ResourceURL that was written to the 
response with BaseURL.write(Writer writer, boolean escapeXML) when passing 
escapeXML=true
+</li>
+<li>[<a class="externalLink" 
href="https://issues.apache.org/jira/browse/PLUTO-686";>PLUTO-686</a>] -         
TCK: Contesting tests that invoke portletConfig.getContainerRuntimeOptions
+</li>
+<li>[<a class="externalLink" 
href="https://issues.apache.org/jira/browse/PLUTO-687";>PLUTO-687</a>] -         
TCK: Contesting tests for the javax.portlet.actionScopedRequestAttributes 
runtime option
+</li>
+<li>[<a class="externalLink" 
href="https://issues.apache.org/jira/browse/PLUTO-688";>PLUTO-688</a>] -         
V3.0 Portlet Hub Demo tries to call nonexistent setValue function on 
PortletParameters object
+</li>
+<li>[<a class="externalLink" 
href="https://issues.apache.org/jira/browse/PLUTO-689";>PLUTO-689</a>] -         
Typo in javadoc for ActionResponse.createRedirectURL(MimeResponse.Copy)
+</li>
+<li>[<a class="externalLink" 
href="https://issues.apache.org/jira/browse/PLUTO-691";>PLUTO-691</a>] -         
PortletURL.setBeanParameter(PortletSerializable) missing &quot;@since 3.0&quot; 
in Javadoc
+</li>
+<li>[<a class="externalLink" 
href="https://issues.apache.org/jira/browse/PLUTO-693";>PLUTO-693</a>] -         
PortletURLImpl.setBeanParameter(PortletSerializable bean) does not attempt to 
determine the name of the specified bean
+</li>
+<li>[<a class="externalLink" 
href="https://issues.apache.org/jira/browse/PLUTO-694";>PLUTO-694</a>] -         
XML validation error in WEB-INF/portlet.xml descriptor in the 
generic-portlet-archetype
+</li>
+<li>[<a class="externalLink" 
href="https://issues.apache.org/jira/browse/PLUTO-695";>PLUTO-695</a>] -         
Missing class-level @since 3.0 in Javadoc for various new 
classes/interfaces/annotations introduced in Portlet 3.0
+</li>
+<li>[<a class="externalLink" 
href="https://issues.apache.org/jira/browse/PLUTO-696";>PLUTO-696</a>] -         
TCK: Contesting V2 tests that expect PortletURL.setParameter(String,String...) 
to remove the value when null is passed in a V2.0 portlet
+</li>
+<li>[<a class="externalLink" 
href="https://issues.apache.org/jira/browse/PLUTO-698";>PLUTO-698</a>] -         
TCK: Contesting V2AddlFilterTests which assume getInitParameterNames returns 
parameters in a particular order
+</li>
+<li>[<a class="externalLink" 
href="https://issues.apache.org/jira/browse/PLUTO-701";>PLUTO-701</a>] -         
Typo in javadoc for RenderStateScoped
+</li>
+<li>[<a class="externalLink" 
href="https://issues.apache.org/jira/browse/PLUTO-702";>PLUTO-702</a>] -         
Do not include beans.xml in PortletHubDemo since Pluto doesn't require CDI for 
portlet registration
+</li>
+<li>[<a class="externalLink" 
href="https://issues.apache.org/jira/browse/PLUTO-706";>PLUTO-706</a>] -         
Make TestResult serializable
+</li>
+<li>[<a class="externalLink" 
href="https://issues.apache.org/jira/browse/PLUTO-707";>PLUTO-707</a>] -         
Make V2EnvironmentTests_PortletSession_ApiRender_Binding serializable
+</li>
+<li>[<a class="externalLink" 
href="https://issues.apache.org/jira/browse/PLUTO-711";>PLUTO-711</a>] -         
AbstractPortletConfigImpl.getSupportedLocales() does not parse language an 
country codes
+</li>
+<li>[<a class="externalLink" 
href="https://issues.apache.org/jira/browse/PLUTO-712";>PLUTO-712</a>] -         
TCK: Contesting 
V3AnnotationPortletConfigTests_SPEC2_28_SupportedLocales_declaringSupportedLocales1
+</li>
+<li>[<a class="externalLink" 
href="https://issues.apache.org/jira/browse/PLUTO-713";>PLUTO-713</a>] -         
TCK: Contesting 
AnnotationPortletApplicationConfigTests_SPEC1_28_DefaultNamespaceURI
+</li>
+<li>[<a class="externalLink" 
href="https://issues.apache.org/jira/browse/PLUTO-714";>PLUTO-714</a>] -         
AnnotationPortletArtifactValidityTests redundantly specify the 
@PortletApplication annotation 4 times
+</li>
+<li>[<a class="externalLink" 
href="https://issues.apache.org/jira/browse/PLUTO-715";>PLUTO-715</a>] -         
TCK: Contesting 
AnnotationPortletApplicationConfigTests_SPEC1_28_PortletContainerRuntimeOptions
+</li>
+<li>[<a class="externalLink" 
href="https://issues.apache.org/jira/browse/PLUTO-716";>PLUTO-716</a>] -         
Release Preparation 3.0.1
+</li>
+</ul>
+</div>
+<div class="section"><h3><a name="Improvement"></a>Improvement</h3>
+<ul><li>[<a class="externalLink" 
href="https://issues.apache.org/jira/browse/PLUTO-661";>PLUTO-661</a>] -         
Enable the Portlet 3.0 TCK to use an alternate Firefox/Chrome browser binary 
and assume Chrome can be run headless
+</li>
+<li>[<a class="externalLink" 
href="https://issues.apache.org/jira/browse/PLUTO-662";>PLUTO-662</a>] -         
Introduce a liferay profile for the tck
+</li>
+<li>[<a class="externalLink" 
href="https://issues.apache.org/jira/browse/PLUTO-663";>PLUTO-663</a>] -         
Migrate Portlet 3.0 TCK and demos from java.util.logging to SLF4J
+</li>
+<li>[<a class="externalLink" 
href="https://issues.apache.org/jira/browse/PLUTO-703";>PLUTO-703</a>] -         
Extract PortletV3Demo TagLibPortlet.ActEvtProxyServlet inner-class into a 
separate ActEvtProxyServlet.java source file
+</li>
+<li>[<a class="externalLink" 
href="https://issues.apache.org/jira/browse/PLUTO-704";>PLUTO-704</a>] -         
PortletV3Demo RedirectPortlet has incomplete/non-validating definition in 
portlet.xml
+</li>
+<li>[<a class="externalLink" 
href="https://issues.apache.org/jira/browse/PLUTO-705";>PLUTO-705</a>] -         
Upgrade to Selenium 3
+</li>
+<li>[<a class="externalLink" 
href="https://issues.apache.org/jira/browse/PLUTO-708";>PLUTO-708</a>] -         
Selenium should clear the TCK login username and password fields prior to 
entering text
+</li>
+<li>[<a class="externalLink" 
href="https://issues.apache.org/jira/browse/PLUTO-709";>PLUTO-709</a>] -         
Making TCKSimpleTestDriver extendable
+</li>
+<li>[<a class="externalLink" 
href="https://issues.apache.org/jira/browse/PLUTO-710";>PLUTO-710</a>] -         
Adding a TCKLiferayTestDriver extension
+</li>
+</ul>
+</div>
+</div>
+
+      </div>
+    </div>
+    <div class="clear">
+      <hr/>
+    </div>
+    <div id="footer">
+      <div class="xright">&#169;  
+          2004-2018
+    
+          Apache Software Foundation
+          
+  
+
+  
+    
+            
+  
+    
+  </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+  </body>
+</html>

Added: portals/site-live/pluto/v301/tck.html
URL: 
http://svn.apache.org/viewvc/portals/site-live/pluto/v301/tck.html?rev=1834161&view=auto
==============================================================================
--- portals/site-live/pluto/v301/tck.html (added)
+++ portals/site-live/pluto/v301/tck.html Fri Jun 22 19:35:14 2018
@@ -0,0 +1,626 @@
+<!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>Pluto - Using the JSR 362 TCK</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/pluto/"; id="bannerLeft">
+    
+                                    <img 
src="http://portals.apache.org/pluto/images/apache-portals.gif"; alt="" />
+    
+            </a>
+                          <span id="bannerRight">
+    
+                                    <img 
src="http://portals.apache.org/pluto/images/banner.png"; alt="" />
+    
+            </span>
+            <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="breadcrumbs">
+          
+  
+
+  
+    
+            
+  
+    
+            <div class="xleft">
+        Last Published: 2018-06-22
+                          |   
+                <a href="http://portals.apache.org/pluto"; 
class="externalLink">Home</a>
+                          </div>
+            <div class="xright">            <a 
href="../portlet-3.0-apidocs/index.html">Portlet 3.0 API</a>
+            |
+                <a href="../portlet-2.0-apidocs/index.html">Portlet 2.0 API</a>
+            |
+                <a href="../portlet-1.0-apidocs/index.html">Portlet 1.0 API</a>
+            |
+                <a href="http://jcp.org/en/jsr/detail?id=362"; 
class="externalLink">JSR 362 JCP Page</a>
+            |
+                <a href="http://jcp.org/en/jsr/detail?id=286"; 
class="externalLink">JSR 286 JCP Page</a>
+            |
+                <a href="http://jcp.org/en/jsr/detail?id=168"; 
class="externalLink">JSR 168 JCP Page</a>
+            
+  
+
+  
+    
+            
+  
+    
+  </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="leftColumn">
+      <div id="navcolumn">
+           
+  
+
+  
+    
+            
+  
+    
+                   <h5>The Pluto Project</h5>
+            <ul>
+              
+    <li class="none">
+                    <a href="../index.html">About Pluto</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../mission.html">Mission</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../download.html">Download</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../news.html">News</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../security.html">Security</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../status.html">Status</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../architecture.html">Architecture</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../resources.html">Resources</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../faq.html">FAQ</a>
+          </li>
+              
+    <li class="none">
+                    <a href="http://wiki.apache.org/portals/Pluto"; 
class="externalLink">Wiki</a>
+          </li>
+              
+    <li class="none">
+                    <a href="https://issues.apache.org/jira/browse/PLUTO"; 
class="externalLink">Issue Tracker (JIRA)</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../helping.html">Get Involved</a>
+          </li>
+          </ul>
+              <h5>Pluto 3.0</h5>
+            <ul>
+              
+    <li class="none">
+                    <a href="../v301/getting-started.html">Getting Started</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../v301/deploying.html">Deploying Portlets</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../v301/portlet-api.html">Portlet Concepts</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../v301/v3Features.html">Version 3 Features</a>
+          </li>
+              
+    <li class="none">
+              <strong>Using the TCK</strong>
+        </li>
+              
+    <li class="none">
+                    <a href="../v301/release-notes.html">Release Notes</a>
+          </li>
+          </ul>
+              <h5>Pluto 2.0</h5>
+            <ul>
+              
+    <li class="none">
+                    <a href="../v20/getting-started.html">Getting Started</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../v20/deploying.html">Deploying</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../v20/embedding.html">Embedding</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../v20/release-notes.html">Release Notes</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../v20/app-servers.html">App Servers</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../v20/powered.html">Powered By Pluto</a>
+          </li>
+          </ul>
+              <h5>Pluto 1.1</h5>
+            <ul>
+              
+    <li class="none">
+                    <a href="../v11/getting-started.html">Getting Started</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../v11/deploying.html">Deploying</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../v11/release-notes.html">Release Notes</a>
+          </li>
+          </ul>
+              <h5>Subprojects</h5>
+            <ul>
+              
+    <li class="none">
+                    <a href="../subprojects/subprojects.html">Overview</a>
+          </li>
+          </ul>
+              <h5>Project Info</h5>
+            <ul>
+              
+    <li class="none">
+                    <a href="../project-summary.html">Project Summary</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../team-list.html">Project Team</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../license.html">Project License</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../mail-lists.html">Mailing Lists</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../source-repository.html">Source Repository</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../issue-tracking.html">Issue Tracking</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">
+        <div class="section"><h2><a name="Using_the_JSR_362_TCK"></a>Using the 
JSR 362 TCK</h2>
+<p>
+      The JSR 362 Technology Compliance Kit (TCK) is intended to be used by 
portal
+      vendors wishing to achieve JSR 362 compatibility for their product.
+      If you do not meet this description, you do not need to read this 
section.
+    </p>
+<div class="section"><h3><a name="Overview"></a>Overview</h3>
+<p>
+      The TCK contains portlets and a test driver that are used to perform the
+      compatibility test. The portlets contain the code that actually 
exercises the
+      portlet API. The driver uses Selenium 2 driven by Junit to access the 
system
+      under test through a selenium webdriver browser.
+      </p>
+<p>
+      You can click through the tests on the portal pages displayed by the 
system under
+      test, or you can use the test driver to automatically click through the 
tests
+      and collect the results. Since there are many test cases (&gt;6000), you 
will 
+      generally use the test driver.
+      </p>
+<p>
+      A test portlet may define multiple test cases. The test case names must 
be 
+      unique in the system, and must be of a form that can be used as portlet 
names 
+      and as Java Properties file keys.
+      </p>
+<p>
+      Each portlet test module defines its own test case list and page file 
containing
+      the page definitions expected by the tests contained in the module.  
+      </p>
+<p>
+      The build process generates a consolidated test case list and 
consolidated page 
+      file containing all test cases and page definitions for all test 
modules. The 
+      consolidated test case list maps the test case to the name of the page 
on which 
+      the test case is located.
+      </p>
+<p>
+      The test driver works by reading the consolidated test case list. For 
each test
+      case, the driver accesses the specified page. It logs in if necessary, 
clicks
+      any available test case link, and collects the test case results from the
+      browser window.
+      </p>
+<p>
+      The test driver accesses a TCK page by looking for and clicking a link 
whose
+      link text is equal to the page name. If the test driver cannot find the 
link on 
+      current page, it will access the test server login URL configured in the
+      portlet-tck_3.0/POM.xml file.
+      </p>
+<p>
+      The test driver checks whether a login is necessary by checking for the
+      existence of an entry field that has the HTML element ID for the user 
name
+      field. If the user name field is available, the driver enters the user 
name and
+      password into the corresponding entry fields and submits the form. The 
username
+      HTML element ID, password element ID, username and password are 
configurable
+      in the portlet-tck_3.0/POM.xml file.
+      </p>
+<p>
+      The driver checks for links to be clicked and results to be collected by
+      checking for specific HTML element IDs on the page. The HTML element IDs 
are
+      based on the test case name. From the point of view of the test driver 
there can
+      be several relevant element IDs on the page for each test case:
+      </p>
+<ul><li>
+      &quot;&lt;testcasename&gt;-setup&quot;        - Test setup link      
+      </li>
+<li>
+      &quot;&lt;testcasename&gt;-clickme&quot;      - Test execution link
+      </li>
+<li>
+      &quot;&lt;testcasename&gt;-results&quot;      - Test results field; 
&quot;Succeeded&quot; or &quot;Failed&quot;
+      </li>
+<li>
+      &quot;&lt;testcasename&gt;-details&quot;      - Test details field; 
provides failure reason
+      </li>
+</ul>
+<p>
+      After accessing the page on which the test case is to be found, the test 
driver
+      first looks for a setup link. If found, it clicks the link and waits for 
the
+      page to load.
+      </p>
+<p>
+      The driver then looks for a test execution link. If found, 
+      it clicks the link, waits for the new page to load, and then checks for 
the
+      result elements.
+      </p>
+<p>
+      The driver reads the contents of the HTML elements that have the results 
and
+      details element IDs and analyzes the results string to determine test 
case
+      success or failure.
+      </p>
+</div>
+<div class="section"><h3><a name="Project_Structure"></a>Project Structure</h3>
+<p>
+      The TCK source code is located in the subdirectory 
<code>./pluto/portlet-tck_3.0</code>.
+      The project consists of the following modules:
+      </p>
+<dl><dt>
+      common
+      </dt>
+<dd>
+      Common code used by the test portlets and the test driver. This
+      module also contains the XSL stylesheets used during the test
+      portlet module build to generate the test case list and page
+      configuration for the module.   
+      </dd>
+<dt>
+      deploy
+      </dt>
+<dd>
+      The directory <code>deploy/target/deploy-files</code> contains the 
portlet war
+      files and the page file to be deployed on the system under test.
+      </dd>
+<dt>
+      driver
+      </dt>
+<dd>
+      The maven-based test driver. When this module is built, it
+      generates a consolidated test case list and page file for the test
+      cases and pages defined by all test case portlet modules.
+      </dd>
+<dt>
+      TestModule1
+      </dt>
+<dd>
+      Intended to be a sample for writing TCK portlets.
+      Defines several portlets, each of which is placed on its own page.
+      </dd>
+<dt>
+      TestModule2
+      </dt>
+<dd>
+      Intended to be a sample for writing TCK portlets.
+      Defines several portlets, all of which are placed on the same
+      portal page. Some tests produce links that are clicked by the test
+      driver when the test is run. Some tests set public render
+      parameters that are used by another test portlet.
+      </dd>
+<dt>
+      TestModule3
+      </dt>
+<dd>
+      Intended to be a sample for writing TCK portlets.
+      Defines two portlets in separate portlet applications for public 
+      render parameter testing. Both portlets are placed on the same
+      page. When the test driver clicks a test link in one portlet, the
+      test results are displayed in the second portlet.
+      </dd>
+<dt>
+      V2*Tests
+      </dt>
+<dd>
+      Modules with this naming scheme contain test cases to demostrate 
+      backward compatibilty with the Portlet Specification version 2.0.
+      Portlets whose class names contain the string &quot;_SIG_&quot; contain 
+      generated code for verifying the method signatures. These portlets
+      should not be changed by hand. The remaining portlets contain
+      additional V2 verification code.
+      </dd>
+<dt>
+      V3*Tests
+      </dt>
+<dd>
+      Modules with this naming scheme test v3.0 specific funtionality.
+      </dd>
+</dl>
+</div>
+<div class="section"><h3><a name="The_Page_File"></a>The Page File</h3>
+<p>
+      The page file defines the page names for the TCK and the portlets 
expected to
+      be on each page. This is an XML file in the form of a Pluto driver 
configuration
+      file. The schema for this file is located in the Pluto project at the 
following
+      location:
+      </p>
+<p><code>./pluto/pluto-portal-driver/src/main/resources/pluto-portal-driver-config.xsd</code></p>
+<p>
+      After the TCK has been built, complete page file for the TCK pages is 
contained
+      in the following file:
+      </p>
+<p><code>./pluto/portlet-tck_3.0/deploy/target/deploy-files/pluto-portal-driver-config.xml</code></p>
+<p>
+      It is expected that vendors will extract the portlet-to-page mapping 
information
+      from the page file in order to create the necessary configuration files 
for
+      the portal under test.
+      </p>
+<p>
+      When creating pages for your system, note that the test driver expects 
links 
+      to all test case pages to be available.
+      The test driver searches for the page links by link text, so it is 
important that
+      the links have the names defined in the page file.
+      </p>
+</div>
+<div class="section"><h3><a 
name="Accessing_the_version_3.0.1_TCK_Source_Code"></a>Accessing the version 
3.0.1 TCK Source Code</h3>
+<p>
+      The source code is located in the 
+      <a class="externalLink" 
href="https://github.com/apache/portals-pluto";>Apache Pluto repository</a>.
+      </p>
+<p>      
+      First, use git to clone the repository:
+      <code>git clone https://github.com/apache/portals-pluto.git 
pluto</code></p>
+<p>      
+      Then switch into the 'pluto' directory and checkout the source for Pluto 
3.0.1:
+      </p>
+<p><code>git checkout pluto-3.0.1</code></p>
+<p>      
+      The version 3.0.1 TCK source code is now located in the 
'portlet-tck_3.0' directory.
+      </p>
+</div>
+<div class="section"><h3><a name="Building_the_TCK"></a>Building the TCK</h3>
+<p>
+      Building the TCK produces the test portlets, a list of test cases in XML 
format,
+      an XML-based page file containing the page configuration expected by the 
test
+      cases, and the test driver itself.
+      </p>
+<p>      
+      To build portlet war files that do not contain any special 
configuration, use
+      the command:
+      </p>
+<p><code>mvn clean install</code></p>
+<p>      
+      To build portlet war files that are configured for deployment on Pluto, 
use the 
+      command:
+      </p>
+<p><code>mvn clean install -Ppluto</code></p>
+<p>      
+      These commands can be executed either from the Pluto project base 
directory or
+      from the <code>./pluto/portlet-tck_3.0</code> directory.
+      </p>
+</div>
+<div class="section"><h3><a name="Deploying_the_TCK"></a>Deploying the TCK</h3>
+<p>
+      Use the page file which has the default
+      name of 
<code>deploy/target/deploy-files/pluto-portal-driver-config.xml</code> to create
+      pages for your system. 
+      The WAR files in the <code>deploy/target/deploy-files</code>
+      contain the test portlet code. Deploy these files on your system. 
+      </p>
+<p>      
+      If you are testing with Apache Pluto, you can simply copy
+      the page file into the Pluto <code>webapps/pluto/WEB-INF</code> 
directory in order to set up the
+      pages. To deploy the WAR files on Pluto, copy them into the Pluto 
webapps directory.
+      </p>
+</div>
+<div class="section"><h3><a name="Running_the_TCK"></a>Running the TCK</h3>
+<p>
+      Configure the parent POM file 
<code>./pluto/portlet-tck_3.0/pom.xml</code> to 
+      address your system under test. See the properties section in the 
pom.xml file. 
+      You can set the host name and port for the system under test, and can
+      also select the browser to be used by the Selenium WebDriver code. Note,
+      however, that if you use a browser other than &quot;firefox&quot; or 
&quot;HTMLUnit&quot; you will
+      have to download and install additional WebDriver software manually, and 
you may
+      need to add additional configuration properties (See the 
test.browser.webDriver
+      property in the parent POM).
+      </p>
+<p>
+      At the time of this writing, the HTMLUnit driver does not support 
JavaScript 
+      adequately for JSR 362 TCK purposes. You may need to try different 
drivers to
+      find the appropriate WebDriver driver for your environment.
+      </p>
+<p>
+      All TCK tests were successfully executed through the test driver against 
Pluto
+      using the ChromeDriver web driver. See the portlet-tck_3.0/POM.xml file 
for
+      a configuration example.
+      </p>
+<p>
+      Run the TCK by switching to the driver subdirectory and execute the 
command:
+      </p>
+<p><code>mvn test -Prun-tck</code></p>
+<p>
+      If you want to run a subset of the tests, use the 
&quot;-Dtest.module=&quot; option. The
+      driver will then only execute those tests whose test case name contains 
the 
+      specified string. For example, if you want to run the signature 
verification
+      tests, use the command:
+      </p>
+<p><code>mvn test -Prun-tck -Dtest.module=SIG</code></p>
+<p>
+      You can also exclude specific tests by placing an exclamation point 
before the
+      text to be matched. For example, if you want to exclude the signature 
verification
+      tests, use the command:
+      </p>
+<p><code>mvn test -Prun-tck -Dtest.module=!SIG</code></p>
+<p>
+      The 'test.dryrun' flag will cause the test cases to be listed without 
executing them.
+      For example, the following command will list all of the test cases whose 
test
+      case name contains 'ResourceResponse', but will not execute them:
+      </p>
+<p><code>mvn test -Prun-tck -Dtest.module=ResourceResponse 
-Dtest.dryrun=true</code></p>
+<p>
+      The test driver will wait for a response for a default time of 3 
seconds. If this
+      value proves to be too short, you can change it in the 
portlet-tck_3.0/POM.xml
+      file, or you can specify a timeout value using the 'test-timeout' 
command line
+      option. The timeout value is specified in seconds, as follows:
+      </p>
+<p><code>mvn test -Prun-tck -Dtest.module=ResourceResponse 
-Dtest.timeout=5</code></p>
+<p>
+      The test driver has an ignore list containing test case names that are 
not
+      required to pass in order for a portal product to be JSR 362 compliant. 
The 
+      ignore list is an XML file in properties file format located at:
+      </p>
+<p><code>portlet-tck_3.0/driver/src/main/resources/xml-resources/ignoredTestCases.xml</code></p>
+<p>
+      By default, the test driver will ignore and will not execute all test 
cases 
+      in the ignore list. If you wish to execute all test cases including 
those in
+      the ignore list, set the command line flag 'test.ignore' to false:
+      </p>
+<p><code>mvn test -Prun-tck -Dtest.ignore=false</code></p>
+</div>
+<div class="section"><h3><a name="Passing_the_TCK"></a>Passing the TCK</h3>
+<p>
+      TCK execution is self-policing. If you are a portal vendor and wish to 
claim
+      JSR 362 compatibility for your product, you should be able to 
demonstrate that 
+      this TCK can be executed against your product with no errors.
+      </p>
+</div>
+<div class="section"><h3><a name="Contesting_a_Test_Case"></a>Contesting a 
Test Case</h3>
+<p>
+      When defining and implementing the TCK test cases, care was taken to 
assure 
+      proper implementation and to test only required functionality.
+      </p>
+<p>
+      However, mistakes may have occurred. If you feel that a test case is 
incorrectly
+      implemented or is invalid as defined, please proceed as follows.
+      </p>
+<p>
+      In either case, please open an issue at the Pluto Jira:
+      </p>
+<p><code>https://issues.apache.org/jira/browse/PLUTO/</code></p>
+<p>
+      Prefix the summary with 'TCK:' in order to allow TCK issues to be readily
+      identified. Please be sure to specify the exact name(s) of the test 
case(s) in
+      question.
+      </p>
+<p>
+      If you feel that the test case was implemented incorrectly, you may 
correct the
+      implementation and issue a pull request through github here:
+      </p>
+<p><code>https://github.com/apache/portals-pluto/pulls</code></p>
+<p>
+      If you feel that the test case is invalid as defined, you may update the 
ignore
+      list and issue a pull request.
+      </p>
+<p>
+      If we agree that the test case is invalid or incorrectly implemented, we 
will 
+      fix it or integrate your fix into the Pluto master and version 3.0 
branches.
+      </p>
+</div>
+</div>
+
+      </div>
+    </div>
+    <div class="clear">
+      <hr/>
+    </div>
+    <div id="footer">
+      <div class="xright">&#169;  
+          2004-2018
+    
+          Apache Software Foundation
+          
+  
+
+  
+    
+            
+  
+    
+  </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+  </body>
+</html>

Added: portals/site-live/pluto/v301/v3Features.html
URL: 
http://svn.apache.org/viewvc/portals/site-live/pluto/v301/v3Features.html?rev=1834161&view=auto
==============================================================================
--- portals/site-live/pluto/v301/v3Features.html (added)
+++ portals/site-live/pluto/v301/v3Features.html Fri Jun 22 19:35:14 2018
@@ -0,0 +1,505 @@
+<!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>Pluto - Portlet API version 3.0 Overview</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/pluto/"; id="bannerLeft">
+    
+                                    <img 
src="http://portals.apache.org/pluto/images/apache-portals.gif"; alt="" />
+    
+            </a>
+                          <span id="bannerRight">
+    
+                                    <img 
src="http://portals.apache.org/pluto/images/banner.png"; alt="" />
+    
+            </span>
+            <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="breadcrumbs">
+          
+  
+
+  
+    
+            
+  
+    
+            <div class="xleft">
+        Last Published: 2018-06-22
+                          |   
+                <a href="http://portals.apache.org/pluto"; 
class="externalLink">Home</a>
+                          </div>
+            <div class="xright">            <a 
href="../portlet-3.0-apidocs/index.html">Portlet 3.0 API</a>
+            |
+                <a href="../portlet-2.0-apidocs/index.html">Portlet 2.0 API</a>
+            |
+                <a href="../portlet-1.0-apidocs/index.html">Portlet 1.0 API</a>
+            |
+                <a href="http://jcp.org/en/jsr/detail?id=362"; 
class="externalLink">JSR 362 JCP Page</a>
+            |
+                <a href="http://jcp.org/en/jsr/detail?id=286"; 
class="externalLink">JSR 286 JCP Page</a>
+            |
+                <a href="http://jcp.org/en/jsr/detail?id=168"; 
class="externalLink">JSR 168 JCP Page</a>
+            
+  
+
+  
+    
+            
+  
+    
+  </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="leftColumn">
+      <div id="navcolumn">
+           
+  
+
+  
+    
+            
+  
+    
+                   <h5>The Pluto Project</h5>
+            <ul>
+              
+    <li class="none">
+                    <a href="../index.html">About Pluto</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../mission.html">Mission</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../download.html">Download</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../news.html">News</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../security.html">Security</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../status.html">Status</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../architecture.html">Architecture</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../resources.html">Resources</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../faq.html">FAQ</a>
+          </li>
+              
+    <li class="none">
+                    <a href="http://wiki.apache.org/portals/Pluto"; 
class="externalLink">Wiki</a>
+          </li>
+              
+    <li class="none">
+                    <a href="https://issues.apache.org/jira/browse/PLUTO"; 
class="externalLink">Issue Tracker (JIRA)</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../helping.html">Get Involved</a>
+          </li>
+          </ul>
+              <h5>Pluto 3.0</h5>
+            <ul>
+              
+    <li class="none">
+                    <a href="../v301/getting-started.html">Getting Started</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../v301/deploying.html">Deploying Portlets</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../v301/portlet-api.html">Portlet Concepts</a>
+          </li>
+              
+    <li class="none">
+              <strong>Version 3 Features</strong>
+        </li>
+              
+    <li class="none">
+                    <a href="../v301/tck.html">Using the TCK</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../v301/release-notes.html">Release Notes</a>
+          </li>
+          </ul>
+              <h5>Pluto 2.0</h5>
+            <ul>
+              
+    <li class="none">
+                    <a href="../v20/getting-started.html">Getting Started</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../v20/deploying.html">Deploying</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../v20/embedding.html">Embedding</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../v20/release-notes.html">Release Notes</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../v20/app-servers.html">App Servers</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../v20/powered.html">Powered By Pluto</a>
+          </li>
+          </ul>
+              <h5>Pluto 1.1</h5>
+            <ul>
+              
+    <li class="none">
+                    <a href="../v11/getting-started.html">Getting Started</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../v11/deploying.html">Deploying</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../v11/release-notes.html">Release Notes</a>
+          </li>
+          </ul>
+              <h5>Subprojects</h5>
+            <ul>
+              
+    <li class="none">
+                    <a href="../subprojects/subprojects.html">Overview</a>
+          </li>
+          </ul>
+              <h5>Project Info</h5>
+            <ul>
+              
+    <li class="none">
+                    <a href="../project-summary.html">Project Summary</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../team-list.html">Project Team</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../license.html">Project License</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../mail-lists.html">Mailing Lists</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../source-repository.html">Source Repository</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../issue-tracking.html">Issue Tracking</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">
+        <div class="section"><h2><a 
name="Portlet_API_version_3.0_Overview"></a>Portlet API version 3.0 
Overview</h2>
+<p>
+      This section presents some of the main new features introduced by JSR 
362.
+      JSR 362 Portlet Specification 3.0 introduces many improvements to the
+      portlet programming model. It adds configuration through annotation,
+      asynchronous support similar to the servlet asynchronous support,
+      multipart form support, support for CDI beans, method annotation support
+      allowing portlet methods to reside in different classes, and a JavaScript
+      API that allows portal pages to function as single-page applications. The
+      Pluto 3.0 portlet container implements all JSR 362 features and passes 
the
+      TCK. While doing so, Pluto 3.0 remains fully compliant to the 2.0 Portlet
+      Specification, meaning that version 2.0 portlets can run on the version
+      3.0 portlet container.
+    </p>
+<p>
+      Additional Resources:
+    </p>
+<ul><li>
+        The 
+        <a class="externalLink" 
href="http://jcp.org/en/jsr/detail?id=362";>Java Community Process JSR 362 
page</a>
+        will allow you to access the complete specification for full details.
+      </li>
+<li>
+        The JavaOne 2016 presentation
+        <a class="externalLink" 
href="https://static.rainfocus.com/oracle/oow16/sess/1462801563632001pOv8/ppt/JSR362-JavaOne-2016a.pdf";>&quot;Portlet
 Specification 3.0 Is Here!&quot;</a>
+        provides a version 3.0 overview.
+      </li>
+<li>
+        The <a href="../portlet-3.0-apidocs/index.html">Portlet API Version 
3.0</a> 
+        page documents the portlet programming interface. 
+      </li>
+</ul>
+<div class="section"><h3><a 
name="Configuration_by_Annotation"></a>Configuration by Annotation</h3>
+<p>
+      The version 3.0 portlet API introduces the 
<code>@PortletApplication</code>
+      and <code>@PortletConfiguration</code> annotations to allow portlets to
+      be configured without using the deployment descriptor.
+      Note that the deployment descriptor can still be used. When both
+      configuration annotations and a portlet deployment descriptor are 
present,
+      values from the deployment descriptor override those provided
+      by annotation.
+      </p>
+<pre>
+@PortletApplication(
+      defaultNamespaceURI=&quot;https://www.java.net/&quot;,
+      events = {
+          
@EventDefinition(qname=@PortletQName(namespaceURI=&quot;http://www.apache.org/&quot;,
+                           localPart=&quot;event1&quot;) ,   payloadType = 
String.class),
+          @EventDefinition(qname=@PortletQName(namespaceURI=&quot;&quot;, 
+                           localPart=&quot;event4&quot;))
+      }
+)
+
+
+@PortletConfiguration(portletName=&quot;Portlet1&quot;, 
+   initParams = {
+      @InitParameter(name=&quot;color&quot;, value=&quot;#cafeba&quot;),
+   },
+   title={
+      @LocaleString(locale = &quot;EN&quot;, value=&quot;Annotated 
Portlet&quot;),
+   }
+)
+      </pre></div>
+<div class="section"><h3><a name="Extended_Method_Annotations"></a>Extended 
Method Annotations</h3>
+<p>
+      Version 3 extends the idea of method annotations introduced with version 
2.
+      Portlet methods may now be located in classes that do not implement 
portlet 
+      interfaces. 
+      Also, lifecycle methods belonging to a single portlet need not be in the 
same
+      class.
+      </p>
+<p>
+      The extended method annotations <code>@HeaderMethod</code>, 
<code>@RenderMethod</code>, 
+      and <code>@ServeResourceMethod</code> have relaxed method signature 
requirements
+      as compared to the methods defined by the portlet interfaces.
+      See the portlet API documentation for details.
+      </p>
+<p>
+      Use of the extended method annotation <code>@RenderMethod</code> 
implicitly 
+      configures a portlet. No additional configuration is required.
+      The following example defines a simple portlet render method.
+      If this method were located in a class with a default constructor within
+      a web application deployed on a version 3 portal, it would define and 
automatically
+      configure a portlet by the name of &quot;BeanPortletDemo&quot;.
+      </p>
+<pre>
+@RenderMethod(portletNames = &quot;BeanPortletDemo&quot;)
+public String simpleRender() {
+   return &quot;Hello, World!&quot;;
+}
+      </pre></div>
+<div class="section"><h3><a name="CDI_Support"></a>CDI Support</h3>
+<p>
+      Version 3 provides support for CDI in several ways.
+      Portlet classes are instantiated through the CDI container
+      to enable dependency injection while respecting
+      scope annotations on the portlet classes.
+      Dependency injection supported in portlet filters and listeners as well 
as
+      in asynchronous threads started through the 
<code>PortletAsyncContext</code>
+      object.
+      Many portlet artifacts have been made injectable - the
+      request and response objects, parameter objects, the portlet 
configuration 
+      object, etc.
+      </p>
+<p>
+      Custom CDI scopes for portlets have also been introduced.
+      <ul><li>
+        The  portlet session scope - @PortletSessionScoped
+        </li>
+<li>
+        The portlet request scope - @PortletRequestScoped
+        </li>
+<li>
+        The  render state scope - @RenderStateScoped
+        </li>
+</ul>
+</p>
+</div>
+<div class="section"><h3><a name="Asynchronous_support"></a>Asynchronous 
support</h3>
+<p>
+      The portlet programming model provides asynchronous support similar to
+      that provided by servlets.
+      Using asynchronous support, long-running requests can run in separate 
thread
+      in order to free up application server resources.
+      Asynchronous support is provided for resource requests only.
+      </p>
+<p>
+      Asynchronous processing must be started within original resource request.
+      The asynchronous thread runs in context of original resource request,
+      providing that it is started through the 
<code>PortletAsyncContext#start(Runnable)</code>
+      method.
+      This means that CDI injection can be used within async thread
+      in the same manner as for the original request.
+      The asynchronous listener and any portlet filters also run in context of 
original request.
+      </p>
+<p>
+      The asynchronous thread can dispatch directly to JSP or servlet for 
producing output
+      and can also dispatch back to the resource method, if desired.
+      </p>
+<p>
+      The following diagram illustrates a sample asynchronous processing 
sequence.
+      Note that this shows only one of many possible scenarios.
+      When the portal receives a resource request targeted to the asnychronous 
+      portlet, the portlet container invokes the portlet resource method.
+      The portlet starts asynchronous processing, adds an asynchronous 
listener,
+      uses the portlet asynchronous context object to start a thread, and
+      returns to the container. 
+      The asynchronous thread does its long-running work and dispatches back 
to the 
+      original resource method. 
+      The resource method then includes a JSP to produce output and completes 
+      asynchronous processing.
+      </p>
+<img src="../images/async.png" /></div>
+<div class="section"><h3><a name="The_Portlet_Hub_JavaScript_API"></a>The 
Portlet Hub JavaScript API</h3>
+<p>
+      The portlet specification defines a JavaScript API that can be used by 
portlet
+      code running on the browser to read and set render parameters, carry out 
portlet
+      actions, and generate resource URLs while remaining in an Ajax paradigm.
+      Updating parameters and executing actions through the portlet hub does 
not 
+      cause a page refresh.
+      Instead, the portlet hub communicates with the portal, causing the portal
+      to carry out any required portlet processing. 
+      The portlet hub then informs the portlet client code running on the 
browser about
+      any new parameters.
+      The portlet client can then create a resource URL to obtain any data or 
+      markup required to update the page.
+      The portal implementation is responsible for making the portlet hub 
+      module available on the portal page.
+      </p>
+<p>
+      The following diagram illustrates portlet action processing initiated 
through 
+      the portlet hub.
+      In this scenario, the portal page contains three portlets that make use 
of
+      the portlet hub. 
+      Portlet B initiates an Ajax action through the portlet hub.
+      The portlet hub transmits the action request along with any form data 
and action 
+      parameters to the portal server.
+      On the server, action processing is executed for portlet B. 
+      During action processing, portlet B fires an event that portlet A can 
process.
+      The server executes the event phase for the event and transmits the new 
render
+      state information to the portlet hub running on the browser.
+      The portlet hub fires onStateChange events to portlets A and B to inform 
them
+      of the updated render state information.
+      The portlets can now use the portlet hub API to create resource URLs in 
order
+      to retrieve information corresponding to the new render state.
+      </p>
+<img src="../images/hubaction.png" /><p>
+      The main JavaScript functions provided by the portlet hub are listed 
below.      
+      </p>
+<dl><dt><code>
+      Promise(PortletInit) register(&lt;Portlet ID&gt;)
+      </code></dt>
+<dd>
+      Registers a portlet client designated by portlet ID with the Portlet Hub 
and returns object that provides access to remaining Portlet Hub functions.
+      </dd>
+<dt><code>
+      ListenerID addEventListener(&lt;listener type&gt;, &lt;listener 
method&gt;)
+      </code></dt>
+<dd>
+      The Portlet Hub informs Portlet Client of state changes by calling the 
event listener function and passing the updated portlet state.
+      </dd>
+<dt><code>
+      Promise(url) createResourceUrl(&lt;resource parameters&gt;, 
&lt;cacheability&gt;, &lt;resource ID&gt;)
+      </code></dt>
+<dd>
+      Creates a resource URL containing the current page / portlet state.
+      The URL can be used with the framework of choice to retrieve the 
resource.
+      </dd>
+<dt><code>
+      setPortletState(&lt;new portlet state&gt;) 
+      </code></dt>
+<dd>
+      Allows portlet client to set private and public parameters, portlet 
mode, window state
+      </dd>
+<dt><code>
+      action(&lt;action parameters&gt;, &lt;form element&gt;)
+      </code></dt>
+<dd>
+      Carries out a portlet action in Ajax mode (Ajax action) 
+      </dd>
+</dl>
+<pre></pre></div>
+</div>
+
+      </div>
+    </div>
+    <div class="clear">
+      <hr/>
+    </div>
+    <div id="footer">
+      <div class="xright">&#169;  
+          2004-2018
+    
+          Apache Software Foundation
+          
+  
+
+  
+    
+            
+  
+    
+  </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+  </body>
+</html>


Reply via email to