Added: portals/site-live/pluto/v311/getting-started.html
URL: 
http://svn.apache.org/viewvc/portals/site-live/pluto/v311/getting-started.html?rev=1896732&view=auto
==============================================================================
--- portals/site-live/pluto/v311/getting-started.html (added)
+++ portals/site-live/pluto/v311/getting-started.html Wed Jan  5 21:51:14 2022
@@ -0,0 +1,386 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>
+<!-- Generated by Apache Maven Doxia Site Renderer 1.8.1 from 
src/site/xdoc/v311/getting-started.xml at 2022-01-04 -->
+<html xmlns="http://www.w3.org/1999/xhtml"; xml:lang="en" lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+    <title>Pluto &#x2013; Apache Pluto - Getting Started</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" />
+    <meta http-equiv="Content-Language" content="en" />
+    
+  </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="Pluto"/></a>
+<div id="bannerRight">
+<img src="http://portals.apache.org/pluto/images/banner.png";  alt=""/></div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="breadcrumbs">
+      <div class="xleft">
+        <span id="publishDate">Last Published: 2022-01-04</span>
+          | <a href="http://portals.apache.org/pluto"; class="externalLink" 
title="Home">Home</a> &gt;
+Apache Pluto - Getting Started
+      </div>
+      <div class="xright"><a href="../portlet-3.0-apidocs/index.html" 
title="Portlet 3.0 API">Portlet 3.0 API</a> |
+<a href="../portlet-2.0-apidocs/index.html" title="Portlet 2.0 API">Portlet 
2.0 API</a> |
+<a href="../portlet-1.0-apidocs/index.html" title="Portlet 1.0 API">Portlet 
1.0 API</a> |
+<a href="http://jcp.org/en/jsr/detail?id=362"; class="externalLink" title="JSR 
362 JCP Page">JSR 362 JCP Page</a> |
+<a href="http://jcp.org/en/jsr/detail?id=286"; class="externalLink" title="JSR 
286 JCP Page">JSR 286 JCP Page</a> |
+<a href="http://jcp.org/en/jsr/detail?id=168"; class="externalLink" title="JSR 
168 JCP Page">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" title="About Pluto">About 
Pluto</a></li>
+     <li class="none"><a href="../mission.html" 
title="Mission">Mission</a></li>
+     <li class="none"><a href="../download.html" 
title="Download">Download</a></li>
+     <li class="none"><a href="../news.html" title="News">News</a></li>
+     <li class="none"><a href="../security.html" 
title="Security">Security</a></li>
+     <li class="none"><a href="../status.html" title="Status">Status</a></li>
+     <li class="none"><a href="../architecture.html" 
title="Architecture">Architecture</a></li>
+     <li class="none"><a href="../resources.html" 
title="Resources">Resources</a></li>
+     <li class="none"><a href="../faq.html" title="FAQ">FAQ</a></li>
+     <li class="none"><a href="http://wiki.apache.org/portals/Pluto"; 
class="externalLink" title="Wiki">Wiki</a></li>
+     <li class="none"><a href="https://issues.apache.org/jira/browse/PLUTO"; 
class="externalLink" title="Issue Tracker (JIRA)">Issue Tracker (JIRA)</a></li>
+     <li class="none"><a href="../helping.html" title="Get Involved">Get 
Involved</a></li>
+    </ul>
+       <h5>Pluto 3.1</h5>
+    <ul>
+     <li class="none"><a href="../v311/mvcbean-portlets.html" title="MVCBean 
Portlets">MVCBean Portlets</a></li>
+     <li class="none"><strong>Getting Started</strong></li>
+     <li class="none"><a href="../v311/maven-archetypes.html" title="Maven 
Archetypes">Maven Archetypes</a></li>
+     <li class="none"><a href="../v311/deploying.html" title="Deploying 
Portlets">Deploying Portlets</a></li>
+     <li class="none"><a href="../v311/portlet-api.html" title="Portlet 
Concepts">Portlet Concepts</a></li>
+     <li class="none"><a href="../v311/v3Features.html" title="Version 3 
Features">Version 3 Features</a></li>
+     <li class="none"><a href="../v311/tck.html" title="Using the TCK">Using 
the TCK</a></li>
+     <li class="none"><a href="../v311/release-notes.html" title="Release 
Notes">Release Notes</a></li>
+    </ul>
+       <h5>Pluto 3.0</h5>
+    <ul>
+     <li class="none"><a href="../v301/getting-started.html" title="Getting 
Started">Getting Started</a></li>
+     <li class="none"><a href="../v301/deploying.html" title="Deploying 
Portlets">Deploying Portlets</a></li>
+     <li class="none"><a href="../v301/portlet-api.html" title="Portlet 
Concepts">Portlet Concepts</a></li>
+     <li class="none"><a href="../v301/v3Features.html" title="Version 3 
Features">Version 3 Features</a></li>
+     <li class="none"><a href="../v301/tck.html" title="Using the TCK">Using 
the TCK</a></li>
+     <li class="none"><a href="../v301/release-notes.html" title="Release 
Notes">Release Notes</a></li>
+    </ul>
+       <h5>Pluto 2.0</h5>
+    <ul>
+     <li class="none"><a href="../v20/getting-started.html" title="Getting 
Started">Getting Started</a></li>
+     <li class="none"><a href="../v20/deploying.html" 
title="Deploying">Deploying</a></li>
+     <li class="none"><a href="../v20/embedding.html" 
title="Embedding">Embedding</a></li>
+     <li class="none"><a href="../v20/release-notes.html" title="Release 
Notes">Release Notes</a></li>
+     <li class="none"><a href="../v20/app-servers.html" title="App 
Servers">App Servers</a></li>
+     <li class="none"><a href="../v20/powered.html" title="Powered By 
Pluto">Powered By Pluto</a></li>
+    </ul>
+       <h5>Pluto 1.1</h5>
+    <ul>
+     <li class="none"><a href="../v11/getting-started.html" title="Getting 
Started">Getting Started</a></li>
+     <li class="none"><a href="../v11/deploying.html" 
title="Deploying">Deploying</a></li>
+     <li class="none"><a href="../v11/release-notes.html" title="Release 
Notes">Release Notes</a></li>
+    </ul>
+       <h5>Subprojects</h5>
+    <ul>
+     <li class="none"><a href="../subprojects/subprojects.html" 
title="Overview">Overview</a></li>
+    </ul>
+       <h5>Project Info</h5>
+    <ul>
+     <li class="none"><a href="../project-summary.html" title="Project 
Summary">Project Summary</a></li>
+     <li class="none"><a href="../team-list.html" title="Project Team">Project 
Team</a></li>
+     <li class="none"><a href="../license.html" title="Project 
License">Project License</a></li>
+     <li class="none"><a href="../mail-lists.html" title="Mailing 
Lists">Mailing Lists</a></li>
+     <li class="none"><a href="../source-repository.html" title="Source 
Repository">Source Repository</a></li>
+     <li class="none"><a href="../issue-tracking.html" title="Issue 
Tracking">Issue Tracking</a></li>
+    </ul>
+      <a href="http://maven.apache.org/"; title="Built by Maven" 
class="poweredBy">
+        <img class="poweredBy" alt="Built by Maven" 
src="../images/logos/maven-feather.png" />
+      </a>
+      </div>
+    </div>
+    <div id="bodyColumn">
+      <div id="contentBox">
+
+  
+  
+
+    <div class="section">
+<h2><a name="Installing_the_Pluto_3.1.1_Binary_Build"></a>Installing the Pluto 
3.1.1 Binary Build</h2>
+      
+      
+<div class="highlightBox">
+        
+<div class="section">
+<div class="section">
+<h4><a name="About_Pluto_Distributions"></a>About Pluto Distributions</h4>
+        
+<p>
+          You can download a pre-built Pluto bundle, or you can build Pluto 
from
+          the source code.
+          </p>
+<ul>
+            
+<li>
+               <b>pluto-bundle</b> - Provides Pluto and Tomcat bundled 
together.
+            </li>
+            
+<li><b>pluto-source-release</b> - Provides the Pluto source code; requires
+                that you build and deploy Pluto on your own.</li>
+          </ul>
+        
+      </div>
+      
+      
+<ol style="list-style-type: decimal">
+        
+<li>
+          
+          Download the Pluto 3.1.1 binary distribution named 
<b>pluto-bundle-3.1.1.zip</b> from 
+          a <a class="externalLink" 
href="http://www.apache.org/dyn/closer.cgi/portals/pluto/";>distribution 
site</a>.</li>
+        
+<li>Unzip the binary distribution into a directory.</li>
+           
+<ol style="list-style-type: decimal">
+              
+<li>pluto-&lt;version&gt; (pluto-3.1.1) will be the top level directory.</li>
+           </ol>   
+        
+<li>
+          Execute startup.bat (Windows) or startup.sh (Unix)
+          in pluto-&lt;version&gt;/bin.</li>
+        
+<li>
+          Use shutdown.bat/shutdown.sh to stop the portal
+        </li>
+        
+<li>
+          Browse to <a class="externalLink" 
href="http://localhost:8080/pluto/portal";>http://localhost:8080/pluto/portal</a>
+        </li>
+        
+<li>
+          Login as user pluto (password=pluto) or tomcat (password=pluto).
+        </li>
+      </ol>
+
+    </div></div></div>
+       
+    
+<div class="section">
+<h2><a name="Building_Pluto_3.1.1_from_Source"></a>Building Pluto 3.1.1 from 
Source</h2>
+      
+      
+<p>
+        Pluto uses Maven 3 as its project management and build system. 
+        Pluto currently provides Maven plugins and ant scripts which can be 
used to
+        install the Pluto Portal.
+      </p>
+
+      
+<p>
+        The Pluto project uses the
+        <a class="externalLink" href="https://git-scm.com/";>Git</a> version 
control
+        system.  If you're new to Git, you can find many books and online
+        resources to help you.
+      </p>
+
+       
+<div class="section">
+<div class="section">
+<h4><a name="Software_Prerequisites"></a>Software Prerequisites</h4>
+       
+       
+<p>
+         In order to build Pluto, you will need to have the following software 
+         packages installed on your system. For help in obtaining and 
installing
+         the packages, please access the appropriate web resources.
+         </p>
+<ul>
+           
+<li>
+             A Java runtime environment, version 1.8.0 or later. See
+             <a class="externalLink" href="https://java.com/en/download/";>the 
Java download site</a>
+           </li>
+           
+<li>
+             Apache Ant, version 1.9.3 or later. See
+             <a class="externalLink" 
href="https://ant.apache.org/bindownload.cgi";>the Apache Ant download site</a>
+           </li>
+           
+<li>
+             Apache Maven, version 3.3.1 or later. See
+             <a class="externalLink" 
href="https://maven.apache.org/download.cgi";>the Apache Maven download site</a>
+           </li>
+           
+<li>
+             Git version control software, version 2.0.0 or later. See
+             <a class="externalLink" href="https://git-scm.com/downloads";>the 
Git download site</a>
+           </li>
+         </ul>
+         Note that your computer will also require access to the Internet 
during
+         the build process in order to access maven repositories and other 
information.
+       
+
+      </div>
+<div class="section">
+<h4><a name="Obtaining_Pluto_3.1.1_Source_Code"></a>Obtaining Pluto 3.1.1 
Source Code</h4>
+       
+      
+<p>
+        To browse the Pluto source code online, access 
+        <a class="externalLink" 
href="https://github.com/apache/portals-pluto";>the Apache Pluto Github 
mirror.</a>
+        This is current at all times.
+      </p>
+
+      </div>
+<div class="section">
+<h4><a name="Cloning_the_Pluto_Repository"></a>Cloning the Pluto 
Repository</h4>
+      
+<p>
+        Anyone can clone the Pluto repository from the Github mirror.  
However, 
+        in order to update the repository, you will need to be an Apache pluto 
committer.
+        To clone the repository, switch to the directory in which you would 
like the 
+        code to reside, and execute the following command:
+      </p>
+      
+<p>
+        <tt>git clone https://github.com/apache/portals-pluto.git pluto</tt>
+      </p>
+      
+<p>
+        You now have the complete Pluto source code in the <tt>./pluto</tt> 
subdirectory. 
+      </p>
+      
+<p>
+        The source code versions are tagged in the respository. If you want to 
build 
+        version 3.1.1 rather than the current development version, checkout 
the 'pluto-3.1.1' tag:
+      </p>
+      
+<p>
+        <tt>git checkout pluto-3.1.1</tt>
+      </p>
+
+      </div>
+<div class="section">
+<h4><a name="Building_Pluto_using_Apache_Ant"></a>Building Pluto using Apache 
Ant</h4>
+      
+<p>
+        This is the easiest way to build Pluto. The Ant build script will use 
first 
+        build the binaries from source, then download and unpack the 
appropriate 
+        Apache Tomcat web container for the code version being built. It will 
then 
+        install pluto on Tomcat, adjusting the Tomcat configuration as 
necessary.
+      </p>
+      
+<p>
+        The <tt>dist-build.xml</tt> build script allows a number
+        of options for building and packaging the code. View the file for 
details.
+        The options used in the following command causes the demo portlets to 
be deployed
+        and retains the tomcat directory created during the build process 
rather
+        than deleting it. Execute the following command:
+      </p>
+      
+<p>
+        <tt>ant -f dist-build.xml -DincludeDemos=true -DnoClean=true</tt>
+      </p>
+      
+<p>
+        You now have Pluto built and deployed in the 
<tt>./pluto/target/dist</tt> subdirectory.
+        You can now switch to the 
<tt>./pluto/target/dist/&lt;tomcat&gt;/bin</tt> 
+        subdirectory and start Tomcat and Pluto as described in the next 
section.
+      </p>
+
+     </div></div>
+<div class="section">
+<h3><a name="Starting_the_Portal"></a>Starting the Portal</h3>
+       
+<p>
+         Now you are ready to use the Pluto Portal built from source. Start up 
tomcat by running
+         <tt>startup.bat</tt> (for windows) or <tt>startup.sh</tt> (for
+         *nix) in <tt>&lt;TOMCAT_HOME&gt;/bin</tt>, and browse to
+         <tt>http://localhost:8080/pluto/portal</tt>. Login to Pluto using
+         the user ID 'pluto' and password 'pluto'.
+       </p>
+     </div>
+   </div>
+
+   
+<div class="section">
+<h2><a name="Using_the_Demo_Portlets"></a>Using the Demo Portlets</h2>
+     
+<p>
+       The Pluto distribution contains four version 3.1.1 portlet applications 
that
+       illustrate the use of all aspects of JSR 362 portlet programming.
+     </p>
+    
+<ul>
+      
+<li>
+               <b>applicant-mvcbean-cdi-jsp-portlet</b> - &quot;Job 
Applicant&quot; MVCBean portlet featuring JSPX views.
+      </li>
+      
+<li>
+               <b>applicant-mvcbean-cdi-thymeleaf-portlet</b> - &quot;Job 
Applicant&quot; MVCBean portlet featuring Thymeleaf views.
+      </li>
+      
+<li>
+               <b>hub-demo-portlet</b> - Contains portlets that show how you 
can use the 
+        Portlet Hub JavaScript API to create portal-based single-page 
applications.
+      </li>
+      
+<li>
+               <b>v3-annotated-demo-portlet</b> - Contains portlets that 
illustrate the use of 
+        the version 3.1.1 Extended Method Annotations feature.
+      </li>
+      
+<li>
+               <b>v3-demo-portlet</b> - Contains portlets that illustrate 
miscellaneous aspects
+        of the API.
+      </li>
+      
+<li>
+               <b>chat-room-demo-portlet</b> - Contains portlets that 
implement a simple chat room demo
+        based on the Portlet Hub JavaScript API and the portlet asynchronous
+        processing feature.
+      </li>
+    </ul>
+     
+<p>
+       The best way to view the source code would be to import the modules
+       mentioned above into your favorite IDE. 
+     </p>
+   </div>
+    
+   
+<div class="section">
+<h2><a name="Maven_Archetypes"></a>Maven Archetypes</h2>
+     
+<p>Refer to the <a href="maven-archetypes.html">Maven Archetypes</a> page in 
order to learn how to quickly generate a new portlet project from a starter 
template.</p>
+   </div>
+
+
+  
+
+      </div>
+    </div>
+    <div class="clear">
+      <hr/>
+    </div>
+    <div id="footer">
+      <div class="xright">
+        Copyright &#169;      2004&#x2013;2022 <a 
href="http://www.apache.org/";>Apache Software Foundation</a>.
+All rights reserved.      </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+  </body>
+</html>

Added: portals/site-live/pluto/v311/maven-archetypes.html
URL: 
http://svn.apache.org/viewvc/portals/site-live/pluto/v311/maven-archetypes.html?rev=1896732&view=auto
==============================================================================
--- portals/site-live/pluto/v311/maven-archetypes.html (added)
+++ portals/site-live/pluto/v311/maven-archetypes.html Wed Jan  5 21:51:14 2022
@@ -0,0 +1,208 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>
+<!-- Generated by Apache Maven Doxia Site Renderer 1.8.1 from 
src/site/xdoc/v311/maven-archetypes.xml at 2022-01-04 -->
+<html xmlns="http://www.w3.org/1999/xhtml"; xml:lang="en" lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+    <title>Pluto &#x2013; Apache Pluto - Maven Archetypes</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" />
+    <meta http-equiv="Content-Language" content="en" />
+    
+  </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="Pluto"/></a>
+<div id="bannerRight">
+<img src="http://portals.apache.org/pluto/images/banner.png";  alt=""/></div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="breadcrumbs">
+      <div class="xleft">
+        <span id="publishDate">Last Published: 2022-01-04</span>
+          | <a href="http://portals.apache.org/pluto"; class="externalLink" 
title="Home">Home</a> &gt;
+Apache Pluto - Maven Archetypes
+      </div>
+      <div class="xright"><a href="../portlet-3.0-apidocs/index.html" 
title="Portlet 3.0 API">Portlet 3.0 API</a> |
+<a href="../portlet-2.0-apidocs/index.html" title="Portlet 2.0 API">Portlet 
2.0 API</a> |
+<a href="../portlet-1.0-apidocs/index.html" title="Portlet 1.0 API">Portlet 
1.0 API</a> |
+<a href="http://jcp.org/en/jsr/detail?id=362"; class="externalLink" title="JSR 
362 JCP Page">JSR 362 JCP Page</a> |
+<a href="http://jcp.org/en/jsr/detail?id=286"; class="externalLink" title="JSR 
286 JCP Page">JSR 286 JCP Page</a> |
+<a href="http://jcp.org/en/jsr/detail?id=168"; class="externalLink" title="JSR 
168 JCP Page">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" title="About Pluto">About 
Pluto</a></li>
+     <li class="none"><a href="../mission.html" 
title="Mission">Mission</a></li>
+     <li class="none"><a href="../download.html" 
title="Download">Download</a></li>
+     <li class="none"><a href="../news.html" title="News">News</a></li>
+     <li class="none"><a href="../security.html" 
title="Security">Security</a></li>
+     <li class="none"><a href="../status.html" title="Status">Status</a></li>
+     <li class="none"><a href="../architecture.html" 
title="Architecture">Architecture</a></li>
+     <li class="none"><a href="../resources.html" 
title="Resources">Resources</a></li>
+     <li class="none"><a href="../faq.html" title="FAQ">FAQ</a></li>
+     <li class="none"><a href="http://wiki.apache.org/portals/Pluto"; 
class="externalLink" title="Wiki">Wiki</a></li>
+     <li class="none"><a href="https://issues.apache.org/jira/browse/PLUTO"; 
class="externalLink" title="Issue Tracker (JIRA)">Issue Tracker (JIRA)</a></li>
+     <li class="none"><a href="../helping.html" title="Get Involved">Get 
Involved</a></li>
+    </ul>
+       <h5>Pluto 3.1</h5>
+    <ul>
+     <li class="none"><a href="../v311/mvcbean-portlets.html" title="MVCBean 
Portlets">MVCBean Portlets</a></li>
+     <li class="none"><a href="../v311/getting-started.html" title="Getting 
Started">Getting Started</a></li>
+     <li class="none"><strong>Maven Archetypes</strong></li>
+     <li class="none"><a href="../v311/deploying.html" title="Deploying 
Portlets">Deploying Portlets</a></li>
+     <li class="none"><a href="../v311/portlet-api.html" title="Portlet 
Concepts">Portlet Concepts</a></li>
+     <li class="none"><a href="../v311/v3Features.html" title="Version 3 
Features">Version 3 Features</a></li>
+     <li class="none"><a href="../v311/tck.html" title="Using the TCK">Using 
the TCK</a></li>
+     <li class="none"><a href="../v311/release-notes.html" title="Release 
Notes">Release Notes</a></li>
+    </ul>
+       <h5>Pluto 3.0</h5>
+    <ul>
+     <li class="none"><a href="../v301/getting-started.html" title="Getting 
Started">Getting Started</a></li>
+     <li class="none"><a href="../v301/deploying.html" title="Deploying 
Portlets">Deploying Portlets</a></li>
+     <li class="none"><a href="../v301/portlet-api.html" title="Portlet 
Concepts">Portlet Concepts</a></li>
+     <li class="none"><a href="../v301/v3Features.html" title="Version 3 
Features">Version 3 Features</a></li>
+     <li class="none"><a href="../v301/tck.html" title="Using the TCK">Using 
the TCK</a></li>
+     <li class="none"><a href="../v301/release-notes.html" title="Release 
Notes">Release Notes</a></li>
+    </ul>
+       <h5>Pluto 2.0</h5>
+    <ul>
+     <li class="none"><a href="../v20/getting-started.html" title="Getting 
Started">Getting Started</a></li>
+     <li class="none"><a href="../v20/deploying.html" 
title="Deploying">Deploying</a></li>
+     <li class="none"><a href="../v20/embedding.html" 
title="Embedding">Embedding</a></li>
+     <li class="none"><a href="../v20/release-notes.html" title="Release 
Notes">Release Notes</a></li>
+     <li class="none"><a href="../v20/app-servers.html" title="App 
Servers">App Servers</a></li>
+     <li class="none"><a href="../v20/powered.html" title="Powered By 
Pluto">Powered By Pluto</a></li>
+    </ul>
+       <h5>Pluto 1.1</h5>
+    <ul>
+     <li class="none"><a href="../v11/getting-started.html" title="Getting 
Started">Getting Started</a></li>
+     <li class="none"><a href="../v11/deploying.html" 
title="Deploying">Deploying</a></li>
+     <li class="none"><a href="../v11/release-notes.html" title="Release 
Notes">Release Notes</a></li>
+    </ul>
+       <h5>Subprojects</h5>
+    <ul>
+     <li class="none"><a href="../subprojects/subprojects.html" 
title="Overview">Overview</a></li>
+    </ul>
+       <h5>Project Info</h5>
+    <ul>
+     <li class="none"><a href="../project-summary.html" title="Project 
Summary">Project Summary</a></li>
+     <li class="none"><a href="../team-list.html" title="Project Team">Project 
Team</a></li>
+     <li class="none"><a href="../license.html" title="Project 
License">Project License</a></li>
+     <li class="none"><a href="../mail-lists.html" title="Mailing 
Lists">Mailing Lists</a></li>
+     <li class="none"><a href="../source-repository.html" title="Source 
Repository">Source Repository</a></li>
+     <li class="none"><a href="../issue-tracking.html" title="Issue 
Tracking">Issue Tracking</a></li>
+    </ul>
+      <a href="http://maven.apache.org/"; title="Built by Maven" 
class="poweredBy">
+        <img class="poweredBy" alt="Built by Maven" 
src="../images/logos/maven-feather.png" />
+      </a>
+      </div>
+    </div>
+    <div id="bodyColumn">
+      <div id="contentBox">
+
+  
+  
+
+<div class="section">
+<h2><a name="Using_the_Pluto_Maven_Archetypes"></a>Using the Pluto Maven 
Archetypes</h2>
+    
+<p>
+      There are four Maven archetypes available to quickly get you started 
developing a portlet application.
+       </p>
+<ul>
+            
+<li>mvcbean-jsp-portlet-archetype</li>
+            
+<li>mvcbean-thymeleaf-portlet-archetype</li>
+            
+<li>bean-portlet-archetype</li>
+            
+<li>generic-portlet-archetype</li>
+        </ul>
+    
+       
+<p>The <b>mvcbean-jsp-portlet-archetype</b> can be used to create an MVCBean 
portlet project that utilizes features from MVC 1.0, Bean Validation 2.0, 
Portlet 3.0, and <tt>@Inject</tt> via CDI. HTML views are processed by Pluto's 
JavaServer&#x2122; Pages (JSP) view engine.
+        </p>
+<div class="source">
+<pre>
+mvn archetype:generate \
+    -DarchetypeGroupId=org.apache.portals.pluto.archetype \
+    -DarchetypeArtifactId=mvcbean-jsp-portlet-archetype \
+    -DarchetypeVersion=3.1.1 \
+    -DgroupId=com.mycompany \
+    -DartifactId=com.mycompany.my.mvcbean.jsp.portlet
+        </pre></div>
+       
+       
+<p>The <b>mvcbean-thymeleaf-portlet-archetype</b> can be used to create an 
MVCBean portlet project that utilizes features from MVC 1.0, Bean Validation 
2.0, Portlet 3.0, and <tt>@Inject</tt> CDI. HTML views are processed by Pluto's 
<a class="externalLink" href="https://www.thymeleaf.org";>Thymeleaf</a> view 
engine.
+        </p>
+<div class="source">
+<pre>
+mvn archetype:generate \
+    -DarchetypeGroupId=org.apache.portals.pluto.archetype \
+    -DarchetypeArtifactId=mvcbean-thymeleaf-portlet-archetype \
+    -DarchetypeVersion=3.1.1 \
+    -DgroupId=com.mycompany \
+    -DartifactId=com.mycompany.my.mvcbean.thymeleaf.portlet
+        </pre></div>
+       
+       
+<p>The <b>bean-portlet-archetype</b> can be used to create a &quot;bean 
portlet&quot; that utilizes Portlet 3.0 features such as dependency injection 
with @Inject via CDI.
+        </p>
+<div class="source">
+<pre>
+mvn archetype:generate \
+    -DarchetypeGroupId=org.apache.portals.pluto.archetype \
+    -DarchetypeArtifactId=bean-portlet-archetype \
+    -DarchetypeVersion=3.1.1 \
+    -DgroupId=com.mycompany \
+    -DartifactId=com.mycompany.my.bean.portlet
+        </pre></div>
+    
+       
+<p>The <b>generic-portlet-archetype</b> can be used to create a traditional 
portlet project which has a class that extends GenericPortlet. 
+        </p>
+<div class="source">
+<pre>
+mvn archetype:generate \
+    -DarchetypeGroupId=org.apache.portals.pluto.archetype \
+    -DarchetypeArtifactId=generic-portlet-archetype \
+    -DarchetypeVersion=3.1.1 \
+    -DgroupId=com.mycompany \
+    -DartifactId=com.mycompany.my.generic.portlet
+        </pre></div>
+    
+    
+<p>
+        Archetypes are available in Maven Central <a class="externalLink" 
href="http://search.maven.org/#search%7Cga%7C1%7Cpluto%20archetype";>here.</a>
+    </p>     
+   </div>    
+
+  
+
+      </div>
+    </div>
+    <div class="clear">
+      <hr/>
+    </div>
+    <div id="footer">
+      <div class="xright">
+        Copyright &#169;      2004&#x2013;2022 <a 
href="http://www.apache.org/";>Apache Software Foundation</a>.
+All rights reserved.      </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+  </body>
+</html>

Added: portals/site-live/pluto/v311/mvcbean-portlets.html
URL: 
http://svn.apache.org/viewvc/portals/site-live/pluto/v311/mvcbean-portlets.html?rev=1896732&view=auto
==============================================================================
--- portals/site-live/pluto/v311/mvcbean-portlets.html (added)
+++ portals/site-live/pluto/v311/mvcbean-portlets.html Wed Jan  5 21:51:14 2022
@@ -0,0 +1,258 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>
+<!-- Generated by Apache Maven Doxia Site Renderer 1.8.1 from 
src/site/xdoc/v311/mvcbean-portlets.xml at 2022-01-04 -->
+<html xmlns="http://www.w3.org/1999/xhtml"; xml:lang="en" lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+    <title>Pluto &#x2013; Apache Pluto - MVCBean Portlets</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" />
+    <meta http-equiv="Content-Language" content="en" />
+    
+  </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="Pluto"/></a>
+<div id="bannerRight">
+<img src="http://portals.apache.org/pluto/images/banner.png";  alt=""/></div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="breadcrumbs">
+      <div class="xleft">
+        <span id="publishDate">Last Published: 2022-01-04</span>
+          | <a href="http://portals.apache.org/pluto"; class="externalLink" 
title="Home">Home</a> &gt;
+Apache Pluto - MVCBean Portlets
+      </div>
+      <div class="xright"><a href="../portlet-3.0-apidocs/index.html" 
title="Portlet 3.0 API">Portlet 3.0 API</a> |
+<a href="../portlet-2.0-apidocs/index.html" title="Portlet 2.0 API">Portlet 
2.0 API</a> |
+<a href="../portlet-1.0-apidocs/index.html" title="Portlet 1.0 API">Portlet 
1.0 API</a> |
+<a href="http://jcp.org/en/jsr/detail?id=362"; class="externalLink" title="JSR 
362 JCP Page">JSR 362 JCP Page</a> |
+<a href="http://jcp.org/en/jsr/detail?id=286"; class="externalLink" title="JSR 
286 JCP Page">JSR 286 JCP Page</a> |
+<a href="http://jcp.org/en/jsr/detail?id=168"; class="externalLink" title="JSR 
168 JCP Page">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" title="About Pluto">About 
Pluto</a></li>
+     <li class="none"><a href="../mission.html" 
title="Mission">Mission</a></li>
+     <li class="none"><a href="../download.html" 
title="Download">Download</a></li>
+     <li class="none"><a href="../news.html" title="News">News</a></li>
+     <li class="none"><a href="../security.html" 
title="Security">Security</a></li>
+     <li class="none"><a href="../status.html" title="Status">Status</a></li>
+     <li class="none"><a href="../architecture.html" 
title="Architecture">Architecture</a></li>
+     <li class="none"><a href="../resources.html" 
title="Resources">Resources</a></li>
+     <li class="none"><a href="../faq.html" title="FAQ">FAQ</a></li>
+     <li class="none"><a href="http://wiki.apache.org/portals/Pluto"; 
class="externalLink" title="Wiki">Wiki</a></li>
+     <li class="none"><a href="https://issues.apache.org/jira/browse/PLUTO"; 
class="externalLink" title="Issue Tracker (JIRA)">Issue Tracker (JIRA)</a></li>
+     <li class="none"><a href="../helping.html" title="Get Involved">Get 
Involved</a></li>
+    </ul>
+       <h5>Pluto 3.1</h5>
+    <ul>
+     <li class="none"><strong>MVCBean Portlets</strong></li>
+     <li class="none"><a href="../v311/getting-started.html" title="Getting 
Started">Getting Started</a></li>
+     <li class="none"><a href="../v311/maven-archetypes.html" title="Maven 
Archetypes">Maven Archetypes</a></li>
+     <li class="none"><a href="../v311/deploying.html" title="Deploying 
Portlets">Deploying Portlets</a></li>
+     <li class="none"><a href="../v311/portlet-api.html" title="Portlet 
Concepts">Portlet Concepts</a></li>
+     <li class="none"><a href="../v311/v3Features.html" title="Version 3 
Features">Version 3 Features</a></li>
+     <li class="none"><a href="../v311/tck.html" title="Using the TCK">Using 
the TCK</a></li>
+     <li class="none"><a href="../v311/release-notes.html" title="Release 
Notes">Release Notes</a></li>
+    </ul>
+       <h5>Pluto 3.0</h5>
+    <ul>
+     <li class="none"><a href="../v301/getting-started.html" title="Getting 
Started">Getting Started</a></li>
+     <li class="none"><a href="../v301/deploying.html" title="Deploying 
Portlets">Deploying Portlets</a></li>
+     <li class="none"><a href="../v301/portlet-api.html" title="Portlet 
Concepts">Portlet Concepts</a></li>
+     <li class="none"><a href="../v301/v3Features.html" title="Version 3 
Features">Version 3 Features</a></li>
+     <li class="none"><a href="../v301/tck.html" title="Using the TCK">Using 
the TCK</a></li>
+     <li class="none"><a href="../v301/release-notes.html" title="Release 
Notes">Release Notes</a></li>
+    </ul>
+       <h5>Pluto 2.0</h5>
+    <ul>
+     <li class="none"><a href="../v20/getting-started.html" title="Getting 
Started">Getting Started</a></li>
+     <li class="none"><a href="../v20/deploying.html" 
title="Deploying">Deploying</a></li>
+     <li class="none"><a href="../v20/embedding.html" 
title="Embedding">Embedding</a></li>
+     <li class="none"><a href="../v20/release-notes.html" title="Release 
Notes">Release Notes</a></li>
+     <li class="none"><a href="../v20/app-servers.html" title="App 
Servers">App Servers</a></li>
+     <li class="none"><a href="../v20/powered.html" title="Powered By 
Pluto">Powered By Pluto</a></li>
+    </ul>
+       <h5>Pluto 1.1</h5>
+    <ul>
+     <li class="none"><a href="../v11/getting-started.html" title="Getting 
Started">Getting Started</a></li>
+     <li class="none"><a href="../v11/deploying.html" 
title="Deploying">Deploying</a></li>
+     <li class="none"><a href="../v11/release-notes.html" title="Release 
Notes">Release Notes</a></li>
+    </ul>
+       <h5>Subprojects</h5>
+    <ul>
+     <li class="none"><a href="../subprojects/subprojects.html" 
title="Overview">Overview</a></li>
+    </ul>
+       <h5>Project Info</h5>
+    <ul>
+     <li class="none"><a href="../project-summary.html" title="Project 
Summary">Project Summary</a></li>
+     <li class="none"><a href="../team-list.html" title="Project Team">Project 
Team</a></li>
+     <li class="none"><a href="../license.html" title="Project 
License">Project License</a></li>
+     <li class="none"><a href="../mail-lists.html" title="Mailing 
Lists">Mailing Lists</a></li>
+     <li class="none"><a href="../source-repository.html" title="Source 
Repository">Source Repository</a></li>
+     <li class="none"><a href="../issue-tracking.html" title="Issue 
Tracking">Issue Tracking</a></li>
+    </ul>
+      <a href="http://maven.apache.org/"; title="Built by Maven" 
class="poweredBy">
+        <img class="poweredBy" alt="Built by Maven" 
src="../images/logos/maven-feather.png" />
+      </a>
+      </div>
+    </div>
+    <div id="bodyColumn">
+      <div id="contentBox">
+
+
+       
+
+               <div class="section">
+<h2><a name="MVCBean_Portlets"></a>MVCBean Portlets</h2>
+                               
+<p><b>***NEW*** in Apache Pluto 3.1.0</b>: A large subset of the <a 
class="externalLink" href="https://jcp.org/en/jsr/detail?id=371";>JSR 371</a> 
(MVC 1.0) Specification has been implemented which enables &quot;MVCBean&quot; 
portlet development. This feature is an open source proof-of-concept that could 
possibly serve as the basis for the next version of the Portlet Specification 
(3.1).</p>
+               </div>
+
+               
+<div class="section">
+<h2><a name="MVC_1.0"></a>MVC 1.0</h2>
+                               
+<p>Portlet 3.0 introduced the concept of a CDI &quot;bean portlet&quot; 
featuring annotation-driven method dispatching with annotations such as 
<tt>@ActionMethod</tt>, <tt>@RenderMethod</tt>, and 
<tt>@ServeResourceMethod</tt>. This is effectively the &quot;C&quot; 
(Controller) concern of the Model/View/Controller (MVC) design pattern.</p>
+                               
+<p>However, Portlet 3.0 did not provide the &quot;M&quot; (Model) or 
&quot;V&quot; (View) concerns, nor did it provide a CDI scope that allows for 
model data to survive from the <tt>ACTION_PHASE</tt> to the 
<tt>RENDER_PHASE</tt> of the portlet lifecycle.</p>
+                               
+<p>In order to remedy this, Pluto implements MVC 1.0 in a way that makes sense 
for portlet development. Most of the requirements of MVC 1.0 are implemented; 
the main exception being those requirements that depend on JAX-RS for 
controller method dispatching. In other words, rather than using <tt>@GET</tt> 
and <tt>@POST</tt> from JAX-RS, MVCBean portlets rely on the aforementioned 
Portlet 3.0 annotations for controller method dispatching. Finally, Pluto 
implements MVC 1.0 <tt>@RedirectScoped</tt> so that model data can survive from 
the <tt>ACTION_PHASE</tt> to the <tt>RENDER_PHASE</tt> of the portlet lifecycle.
+                               </p>
+                               
+<p>Consider the following MVC servlet/webapp based example which uses the 
JAX-RS <tt>@Path</tt> and <tt>@GET</tt> annotations for method dispatching. 
<b><i>These JAX-RS annotations simply don't map well to the opaque nature of 
PortletURLs or the portlet lifecycle</i></b>:</p>
+          
+<div class="source">
+<pre>
+@Path(&quot;hello&quot;)
+public class HelloController {
+
+    @Inject
+    private Models models;
+
+    @GET
+    @Controller
+    public String hello() {
+          models.put(&quot;user&quot;, new User());
+          return &quot;hello.jspx&quot;;
+    }
+}</pre></div>
+
+<p>Instead, with Pluto's implementation of MVC 1.0, Portlet 3.0 annotations 
are used for controller method dispatching:</p>
+          
+<div class="source">
+<pre>
+@PortletRequestScoped
+public class HelloController {
+
+    @Inject
+    private Models models;
+
+    @RenderMethod(portletNames = {&quot;portlet1&quot;})
+    @Controller
+    public String hello(RenderRequest renderRequest, RenderResponse 
renderResponse) {
+          models.put(&quot;user&quot;, new User());
+          return &quot;hello.jspx&quot;;
+    }
+}</pre></div>
+               </div>
+
+               
+<div class="section">
+<h2><a 
name="Java.E2.84.A2_EE_.2F_Jakarta_EE_Programming_Model"></a>Java&#x2122; EE / 
Jakarta EE Programming Model</h2>
+                               
+<p>Since the MVCBean feature is built on <a class="externalLink" 
href="https://www.jcp.org";>JCP</a> standards like <a class="externalLink" 
href="https://www.mvc-spec.org";>MVC</a>, <a class="externalLink" 
href="http://www.cdi-spec.org";>CDI</a>, and <a class="externalLink" 
href="https://beanvalidation.org";>Bean Validation</a>, MVCBean portlet 
development relies on the familiar Java&#x2122; EE / Jakarta EE programming 
model.</p>
+               </div>
+
+               
+<div class="section">
+<h2><a name="Supported_MVC_View_Engines"></a>Supported MVC View Engines</h2>
+                               
+<p>Pluto supports the following file extensions for views:</p>
+                               
+<ul>
+                                       
+<li><b>.jsp/.jspx</b> via Pluto's JSP view engine</li>
+                                       
+<li><b>.html</b> via Pluto's <a class="externalLink" 
href="https://www.thymeleaf.org";>Thymeleaf</a> view engine (requires the 
Thymeleaf templating engine as a dependency)</li>
+                               </ul>
+               </div>
+
+               
+<div class="section">
+<h2><a name="Demo_Portlets"></a>Demo Portlets</h2>
+                       
+<p>The Pluto project contains real-world MVCBean demo portlets that 
demonstrate features that are typically found in web applications:</p>
+                       
+<ul>
+                               
+<li>HTML form-based submission</li>
+                               
+<li>XSS protection via MVC's <tt>Encoders</tt> API</li>
+                               
+<li>CSRF protection via MVC's <tt>@CsrfProtected</tt> annotation</li>
+                               
+<li>Injection of <tt>@RedirectScoped</tt> model data via MVC's <tt>Models</tt> 
API</li>
+                               
+<li>Navigation between views via methods annotated with MVC's 
<tt>@Controller</tt> annotation</li>
+                               
+<li>Input validation via Bean Validation and <a class="externalLink" 
href="https://hibernate.org/validator/";>Hibernate Validator</a></li>
+                               
+<li>Uploading attachments via Portlet 3.0 multipart file upload</li>
+                       </ul>
+                       
+<p><b>Demo #1</b>: &quot;Job Applicant&quot; portlet featuring <b>JSPX</b> 
views</p>
+                       
+<ul>
+                               
+<li><a class="externalLink" 
href="https://github.com/apache/portals-pluto/tree/master/demo/applicant-mvcbean-cdi-jsp-portlet";>Source
 Code</a></li>
+                               
+<li><a class="externalLink" 
href="https://search.maven.org/search?q=a:applicant-mvcbean-cdi-jsp-portlet";>Binary
 WAR</a></li>
+                       </ul>
+                       
+<p><b>Demo #2</b>: &quot;Job Applicant&quot; portlet featuring 
<b>Thymeleaf</b> views</p>
+                       
+<ul>
+                               
+<li><a class="externalLink" 
href="https://github.com/apache/portals-pluto/tree/master/demo/applicant-mvcbean-cdi-thymeleaf-portlet";>Source
 Code</a></li>
+                               
+<li><a class="externalLink" 
href="https://search.maven.org/search?q=a:applicant-mvcbean-cdi-thymeleaf-portlet";>Binary
 WAR</a></li>
+                       </ul>
+               </div>
+
+       
+<div class="section">
+<h2><a name="Maven_Archetypes"></a>Maven Archetypes</h2>
+               
+<p>Refer to the <a href="maven-archetypes.html">Maven Archetypes</a> page in 
order to learn how to quickly generate a new MVCBean portlet project from a 
starter template.</p>
+       </div>
+
+       
+  
+
+      </div>
+    </div>
+    <div class="clear">
+      <hr/>
+    </div>
+    <div id="footer">
+      <div class="xright">
+        Copyright &#169;      2004&#x2013;2022 <a 
href="http://www.apache.org/";>Apache Software Foundation</a>.
+All rights reserved.      </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+  </body>
+</html>

Added: portals/site-live/pluto/v311/portlet-api.html
URL: 
http://svn.apache.org/viewvc/portals/site-live/pluto/v311/portlet-api.html?rev=1896732&view=auto
==============================================================================
--- portals/site-live/pluto/v311/portlet-api.html (added)
+++ portals/site-live/pluto/v311/portlet-api.html Wed Jan  5 21:51:14 2022
@@ -0,0 +1,278 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>
+<!-- Generated by Apache Maven Doxia Site Renderer 1.8.1 from 
src/site/xdoc/v311/portlet-api.xml at 2022-01-04 -->
+<html xmlns="http://www.w3.org/1999/xhtml"; xml:lang="en" lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+    <title>Pluto &#x2013; Apache 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" />
+    <meta http-equiv="Content-Language" content="en" />
+    
+  </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="Pluto"/></a>
+<div id="bannerRight">
+<img src="http://portals.apache.org/pluto/images/banner.png";  alt=""/></div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="breadcrumbs">
+      <div class="xleft">
+        <span id="publishDate">Last Published: 2022-01-04</span>
+          | <a href="http://portals.apache.org/pluto"; class="externalLink" 
title="Home">Home</a> &gt;
+Apache Pluto - Portlet Concepts
+      </div>
+      <div class="xright"><a href="../portlet-3.0-apidocs/index.html" 
title="Portlet 3.0 API">Portlet 3.0 API</a> |
+<a href="../portlet-2.0-apidocs/index.html" title="Portlet 2.0 API">Portlet 
2.0 API</a> |
+<a href="../portlet-1.0-apidocs/index.html" title="Portlet 1.0 API">Portlet 
1.0 API</a> |
+<a href="http://jcp.org/en/jsr/detail?id=362"; class="externalLink" title="JSR 
362 JCP Page">JSR 362 JCP Page</a> |
+<a href="http://jcp.org/en/jsr/detail?id=286"; class="externalLink" title="JSR 
286 JCP Page">JSR 286 JCP Page</a> |
+<a href="http://jcp.org/en/jsr/detail?id=168"; class="externalLink" title="JSR 
168 JCP Page">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" title="About Pluto">About 
Pluto</a></li>
+     <li class="none"><a href="../mission.html" 
title="Mission">Mission</a></li>
+     <li class="none"><a href="../download.html" 
title="Download">Download</a></li>
+     <li class="none"><a href="../news.html" title="News">News</a></li>
+     <li class="none"><a href="../security.html" 
title="Security">Security</a></li>
+     <li class="none"><a href="../status.html" title="Status">Status</a></li>
+     <li class="none"><a href="../architecture.html" 
title="Architecture">Architecture</a></li>
+     <li class="none"><a href="../resources.html" 
title="Resources">Resources</a></li>
+     <li class="none"><a href="../faq.html" title="FAQ">FAQ</a></li>
+     <li class="none"><a href="http://wiki.apache.org/portals/Pluto"; 
class="externalLink" title="Wiki">Wiki</a></li>
+     <li class="none"><a href="https://issues.apache.org/jira/browse/PLUTO"; 
class="externalLink" title="Issue Tracker (JIRA)">Issue Tracker (JIRA)</a></li>
+     <li class="none"><a href="../helping.html" title="Get Involved">Get 
Involved</a></li>
+    </ul>
+       <h5>Pluto 3.1</h5>
+    <ul>
+     <li class="none"><a href="../v311/mvcbean-portlets.html" title="MVCBean 
Portlets">MVCBean Portlets</a></li>
+     <li class="none"><a href="../v311/getting-started.html" title="Getting 
Started">Getting Started</a></li>
+     <li class="none"><a href="../v311/maven-archetypes.html" title="Maven 
Archetypes">Maven Archetypes</a></li>
+     <li class="none"><a href="../v311/deploying.html" title="Deploying 
Portlets">Deploying Portlets</a></li>
+     <li class="none"><strong>Portlet Concepts</strong></li>
+     <li class="none"><a href="../v311/v3Features.html" title="Version 3 
Features">Version 3 Features</a></li>
+     <li class="none"><a href="../v311/tck.html" title="Using the TCK">Using 
the TCK</a></li>
+     <li class="none"><a href="../v311/release-notes.html" title="Release 
Notes">Release Notes</a></li>
+    </ul>
+       <h5>Pluto 3.0</h5>
+    <ul>
+     <li class="none"><a href="../v301/getting-started.html" title="Getting 
Started">Getting Started</a></li>
+     <li class="none"><a href="../v301/deploying.html" title="Deploying 
Portlets">Deploying Portlets</a></li>
+     <li class="none"><a href="../v301/portlet-api.html" title="Portlet 
Concepts">Portlet Concepts</a></li>
+     <li class="none"><a href="../v301/v3Features.html" title="Version 3 
Features">Version 3 Features</a></li>
+     <li class="none"><a href="../v301/tck.html" title="Using the TCK">Using 
the TCK</a></li>
+     <li class="none"><a href="../v301/release-notes.html" title="Release 
Notes">Release Notes</a></li>
+    </ul>
+       <h5>Pluto 2.0</h5>
+    <ul>
+     <li class="none"><a href="../v20/getting-started.html" title="Getting 
Started">Getting Started</a></li>
+     <li class="none"><a href="../v20/deploying.html" 
title="Deploying">Deploying</a></li>
+     <li class="none"><a href="../v20/embedding.html" 
title="Embedding">Embedding</a></li>
+     <li class="none"><a href="../v20/release-notes.html" title="Release 
Notes">Release Notes</a></li>
+     <li class="none"><a href="../v20/app-servers.html" title="App 
Servers">App Servers</a></li>
+     <li class="none"><a href="../v20/powered.html" title="Powered By 
Pluto">Powered By Pluto</a></li>
+    </ul>
+       <h5>Pluto 1.1</h5>
+    <ul>
+     <li class="none"><a href="../v11/getting-started.html" title="Getting 
Started">Getting Started</a></li>
+     <li class="none"><a href="../v11/deploying.html" 
title="Deploying">Deploying</a></li>
+     <li class="none"><a href="../v11/release-notes.html" title="Release 
Notes">Release Notes</a></li>
+    </ul>
+       <h5>Subprojects</h5>
+    <ul>
+     <li class="none"><a href="../subprojects/subprojects.html" 
title="Overview">Overview</a></li>
+    </ul>
+       <h5>Project Info</h5>
+    <ul>
+     <li class="none"><a href="../project-summary.html" title="Project 
Summary">Project Summary</a></li>
+     <li class="none"><a href="../team-list.html" title="Project Team">Project 
Team</a></li>
+     <li class="none"><a href="../license.html" title="Project 
License">Project License</a></li>
+     <li class="none"><a href="../mail-lists.html" title="Mailing 
Lists">Mailing Lists</a></li>
+     <li class="none"><a href="../source-repository.html" title="Source 
Repository">Source Repository</a></li>
+     <li class="none"><a href="../issue-tracking.html" title="Issue 
Tracking">Issue Tracking</a></li>
+    </ul>
+      <a href="http://maven.apache.org/"; title="Built by Maven" 
class="poweredBy">
+        <img class="poweredBy" alt="Built by Maven" 
src="../images/logos/maven-feather.png" />
+      </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" alt="" />
+      
+<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" alt="" />
+      
+<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
+        <tt>Portlet, ResourceServingPortlet, EventPortlet</tt> and 
<tt>HeaderPortlet</tt>.
+        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">
+        Copyright &#169;      2004&#x2013;2022 <a 
href="http://www.apache.org/";>Apache Software Foundation</a>.
+All rights reserved.      </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+  </body>
+</html>

Added: portals/site-live/pluto/v311/release-notes.html
URL: 
http://svn.apache.org/viewvc/portals/site-live/pluto/v311/release-notes.html?rev=1896732&view=auto
==============================================================================
--- portals/site-live/pluto/v311/release-notes.html (added)
+++ portals/site-live/pluto/v311/release-notes.html Wed Jan  5 21:51:14 2022
@@ -0,0 +1,204 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>
+<!-- Generated by Apache Maven Doxia Site Renderer 1.8.1 from 
src/site/xdoc/v311/release-notes.xml at 2022-01-04 -->
+<html xmlns="http://www.w3.org/1999/xhtml"; xml:lang="en" lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+    <title>Pluto &#x2013; Apache 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" />
+    <meta http-equiv="Content-Language" content="en" />
+    
+  </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="Pluto"/></a>
+<div id="bannerRight">
+<img src="http://portals.apache.org/pluto/images/banner.png";  alt=""/></div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="breadcrumbs">
+      <div class="xleft">
+        <span id="publishDate">Last Published: 2022-01-04</span>
+          | <a href="http://portals.apache.org/pluto"; class="externalLink" 
title="Home">Home</a> &gt;
+Apache Pluto - Release Notes
+      </div>
+      <div class="xright"><a href="../portlet-3.0-apidocs/index.html" 
title="Portlet 3.0 API">Portlet 3.0 API</a> |
+<a href="../portlet-2.0-apidocs/index.html" title="Portlet 2.0 API">Portlet 
2.0 API</a> |
+<a href="../portlet-1.0-apidocs/index.html" title="Portlet 1.0 API">Portlet 
1.0 API</a> |
+<a href="http://jcp.org/en/jsr/detail?id=362"; class="externalLink" title="JSR 
362 JCP Page">JSR 362 JCP Page</a> |
+<a href="http://jcp.org/en/jsr/detail?id=286"; class="externalLink" title="JSR 
286 JCP Page">JSR 286 JCP Page</a> |
+<a href="http://jcp.org/en/jsr/detail?id=168"; class="externalLink" title="JSR 
168 JCP Page">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" title="About Pluto">About 
Pluto</a></li>
+     <li class="none"><a href="../mission.html" 
title="Mission">Mission</a></li>
+     <li class="none"><a href="../download.html" 
title="Download">Download</a></li>
+     <li class="none"><a href="../news.html" title="News">News</a></li>
+     <li class="none"><a href="../security.html" 
title="Security">Security</a></li>
+     <li class="none"><a href="../status.html" title="Status">Status</a></li>
+     <li class="none"><a href="../architecture.html" 
title="Architecture">Architecture</a></li>
+     <li class="none"><a href="../resources.html" 
title="Resources">Resources</a></li>
+     <li class="none"><a href="../faq.html" title="FAQ">FAQ</a></li>
+     <li class="none"><a href="http://wiki.apache.org/portals/Pluto"; 
class="externalLink" title="Wiki">Wiki</a></li>
+     <li class="none"><a href="https://issues.apache.org/jira/browse/PLUTO"; 
class="externalLink" title="Issue Tracker (JIRA)">Issue Tracker (JIRA)</a></li>
+     <li class="none"><a href="../helping.html" title="Get Involved">Get 
Involved</a></li>
+    </ul>
+       <h5>Pluto 3.1</h5>
+    <ul>
+     <li class="none"><a href="../v311/mvcbean-portlets.html" title="MVCBean 
Portlets">MVCBean Portlets</a></li>
+     <li class="none"><a href="../v311/getting-started.html" title="Getting 
Started">Getting Started</a></li>
+     <li class="none"><a href="../v311/maven-archetypes.html" title="Maven 
Archetypes">Maven Archetypes</a></li>
+     <li class="none"><a href="../v311/deploying.html" title="Deploying 
Portlets">Deploying Portlets</a></li>
+     <li class="none"><a href="../v311/portlet-api.html" title="Portlet 
Concepts">Portlet Concepts</a></li>
+     <li class="none"><a href="../v311/v3Features.html" title="Version 3 
Features">Version 3 Features</a></li>
+     <li class="none"><a href="../v311/tck.html" title="Using the TCK">Using 
the TCK</a></li>
+     <li class="none"><strong>Release Notes</strong></li>
+    </ul>
+       <h5>Pluto 3.0</h5>
+    <ul>
+     <li class="none"><a href="../v301/getting-started.html" title="Getting 
Started">Getting Started</a></li>
+     <li class="none"><a href="../v301/deploying.html" title="Deploying 
Portlets">Deploying Portlets</a></li>
+     <li class="none"><a href="../v301/portlet-api.html" title="Portlet 
Concepts">Portlet Concepts</a></li>
+     <li class="none"><a href="../v301/v3Features.html" title="Version 3 
Features">Version 3 Features</a></li>
+     <li class="none"><a href="../v301/tck.html" title="Using the TCK">Using 
the TCK</a></li>
+     <li class="none"><a href="../v301/release-notes.html" title="Release 
Notes">Release Notes</a></li>
+    </ul>
+       <h5>Pluto 2.0</h5>
+    <ul>
+     <li class="none"><a href="../v20/getting-started.html" title="Getting 
Started">Getting Started</a></li>
+     <li class="none"><a href="../v20/deploying.html" 
title="Deploying">Deploying</a></li>
+     <li class="none"><a href="../v20/embedding.html" 
title="Embedding">Embedding</a></li>
+     <li class="none"><a href="../v20/release-notes.html" title="Release 
Notes">Release Notes</a></li>
+     <li class="none"><a href="../v20/app-servers.html" title="App 
Servers">App Servers</a></li>
+     <li class="none"><a href="../v20/powered.html" title="Powered By 
Pluto">Powered By Pluto</a></li>
+    </ul>
+       <h5>Pluto 1.1</h5>
+    <ul>
+     <li class="none"><a href="../v11/getting-started.html" title="Getting 
Started">Getting Started</a></li>
+     <li class="none"><a href="../v11/deploying.html" 
title="Deploying">Deploying</a></li>
+     <li class="none"><a href="../v11/release-notes.html" title="Release 
Notes">Release Notes</a></li>
+    </ul>
+       <h5>Subprojects</h5>
+    <ul>
+     <li class="none"><a href="../subprojects/subprojects.html" 
title="Overview">Overview</a></li>
+    </ul>
+       <h5>Project Info</h5>
+    <ul>
+     <li class="none"><a href="../project-summary.html" title="Project 
Summary">Project Summary</a></li>
+     <li class="none"><a href="../team-list.html" title="Project Team">Project 
Team</a></li>
+     <li class="none"><a href="../license.html" title="Project 
License">Project License</a></li>
+     <li class="none"><a href="../mail-lists.html" title="Mailing 
Lists">Mailing Lists</a></li>
+     <li class="none"><a href="../source-repository.html" title="Source 
Repository">Source Repository</a></li>
+     <li class="none"><a href="../issue-tracking.html" title="Issue 
Tracking">Issue Tracking</a></li>
+    </ul>
+      <a href="http://maven.apache.org/"; title="Built by Maven" 
class="poweredBy">
+        <img class="poweredBy" alt="Built by Maven" 
src="../images/logos/maven-feather.png" />
+      </a>
+      </div>
+    </div>
+    <div id="bodyColumn">
+      <div id="contentBox">
+
+    
+        <div class="section">
+<h2><a name="Release_Notes_-_Pluto_3.1.1"></a>Release Notes - Pluto 3.1.1</h2> 
 
+            
+<p>
+              Pluto version 3.1.1 is a release that mainly focuses on security 
related issues such as updating vulnerable third-party dependencies and fixing 
project CVEs.
+            </p>
+            
+<p>
+            </p>
+        
+<div class="section">
+<h3><a name="CVE"></a>CVE</h3>
+
+<ul>
+
+<li>[<a class="externalLink" 
href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-36737";>CVE-2021-36737</a>]
 -         XSS in V3 Demo Portlet
+</li>
+
+<li>[<a class="externalLink" 
href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-36738";>CVE-2021-36738</a>]
 -         XSS vulnerability in the JSP version of the Apache Pluto Applicant 
MVCBean CDI portlet
+</li>
+
+<li>[<a class="externalLink" 
href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-36739";>CVE-2021-36739</a>]
 -         XSS vulnerability in the MVCBean JSP portlet maven archetype
+</li>
+</ul>
+        </div>
+
+        
+<div class="section">
+<h3><a name="Bug"></a>Bug</h3>
+
+<ul>
+
+<li>[<a class="externalLink" 
href="https://issues.apache.org/jira/browse/PLUTO-781";>PLUTO-781</a>] -         
PortletRequestDispatcherImpl forwards to incorrect path
+</li>
+
+<li>[<a class="externalLink" 
href="https://issues.apache.org/jira/browse/PLUTO-782";>PLUTO-782</a>] -         
Default &quot;tomcat&quot; and &quot;pluto&quot; users are granted 
&quot;manager-gui&quot; role
+</li>
+</ul>
+        </div>
+
+        
+<div class="section">
+<h3><a name="Task"></a>Task</h3>
+
+<ul>
+
+<li>[<a class="externalLink" 
href="https://issues.apache.org/jira/browse/PLUTO-786";>PLUTO-786</a>] -         
Upgrade to version Spring Framework 5.3.7 and Spring Security 5.5.1 due to 
CVE-2021-22112 and CVE-2021-22119
+</li>
+
+<li>[<a class="externalLink" 
href="https://issues.apache.org/jira/browse/PLUTO-787";>PLUTO-787</a>] -         
Migrate to Log4j 2.16.0 due to CVE-2019-17571 and CVE-2021-44228
+</li>
+
+<li>[<a class="externalLink" 
href="https://issues.apache.org/jira/browse/PLUTO-788";>PLUTO-788</a>] -         
Upgrade to Tomcat 8.5.69 due to multiple CVE issues
+</li>
+
+<li>[<a class="externalLink" 
href="https://issues.apache.org/jira/browse/PLUTO-789";>PLUTO-789</a>] -         
Upgrade to commons-io-2.7 due to CVE-2021-29425
+</li>
+
+<li>[<a class="externalLink" 
href="https://issues.apache.org/jira/browse/PLUTO-790";>PLUTO-790</a>] -         
Upgrade to JUnit 4.13.1 due to CVE-2020-15250
+</li>
+
+<li>[<a class="externalLink" 
href="https://issues.apache.org/jira/browse/PLUTO-792";>PLUTO-792</a>] -         
Upgrade to taglibs-standard-impl-1.2.3 due to CVE-2015-0254
+</li>
+
+<li>[<a class="externalLink" 
href="https://issues.apache.org/jira/browse/PLUTO-794";>PLUTO-794</a>] -         
Downgrade to hibernate-validator-5.4.3.Final and validation-api-1.1.0.Final in 
order to conform to Java EE 7
+</li>
+
+<li>[<a class="externalLink" 
href="https://issues.apache.org/jira/browse/PLUTO-795";>PLUTO-795</a>] -         
Release Preparation 3.1.1
+</li>
+</ul>
+               </div>
+
+        </div>
+    
+
+      </div>
+    </div>
+    <div class="clear">
+      <hr/>
+    </div>
+    <div id="footer">
+      <div class="xright">
+        Copyright &#169;      2004&#x2013;2022 <a 
href="http://www.apache.org/";>Apache Software Foundation</a>.
+All rights reserved.      </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+  </body>
+</html>

Added: portals/site-live/pluto/v311/tck.html
URL: 
http://svn.apache.org/viewvc/portals/site-live/pluto/v311/tck.html?rev=1896732&view=auto
==============================================================================
--- portals/site-live/pluto/v311/tck.html (added)
+++ portals/site-live/pluto/v311/tck.html Wed Jan  5 21:51:14 2022
@@ -0,0 +1,553 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>
+<!-- Generated by Apache Maven Doxia Site Renderer 1.8.1 from 
src/site/xdoc/v311/tck.xml at 2022-01-04 -->
+<html xmlns="http://www.w3.org/1999/xhtml"; xml:lang="en" lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+    <title>Pluto &#x2013; Apache 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" />
+    <meta http-equiv="Content-Language" content="en" />
+    
+  </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="Pluto"/></a>
+<div id="bannerRight">
+<img src="http://portals.apache.org/pluto/images/banner.png";  alt=""/></div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="breadcrumbs">
+      <div class="xleft">
+        <span id="publishDate">Last Published: 2022-01-04</span>
+          | <a href="http://portals.apache.org/pluto"; class="externalLink" 
title="Home">Home</a> &gt;
+Apache Pluto - Using the JSR 362 TCK
+      </div>
+      <div class="xright"><a href="../portlet-3.0-apidocs/index.html" 
title="Portlet 3.0 API">Portlet 3.0 API</a> |
+<a href="../portlet-2.0-apidocs/index.html" title="Portlet 2.0 API">Portlet 
2.0 API</a> |
+<a href="../portlet-1.0-apidocs/index.html" title="Portlet 1.0 API">Portlet 
1.0 API</a> |
+<a href="http://jcp.org/en/jsr/detail?id=362"; class="externalLink" title="JSR 
362 JCP Page">JSR 362 JCP Page</a> |
+<a href="http://jcp.org/en/jsr/detail?id=286"; class="externalLink" title="JSR 
286 JCP Page">JSR 286 JCP Page</a> |
+<a href="http://jcp.org/en/jsr/detail?id=168"; class="externalLink" title="JSR 
168 JCP Page">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" title="About Pluto">About 
Pluto</a></li>
+     <li class="none"><a href="../mission.html" 
title="Mission">Mission</a></li>
+     <li class="none"><a href="../download.html" 
title="Download">Download</a></li>
+     <li class="none"><a href="../news.html" title="News">News</a></li>
+     <li class="none"><a href="../security.html" 
title="Security">Security</a></li>
+     <li class="none"><a href="../status.html" title="Status">Status</a></li>
+     <li class="none"><a href="../architecture.html" 
title="Architecture">Architecture</a></li>
+     <li class="none"><a href="../resources.html" 
title="Resources">Resources</a></li>
+     <li class="none"><a href="../faq.html" title="FAQ">FAQ</a></li>
+     <li class="none"><a href="http://wiki.apache.org/portals/Pluto"; 
class="externalLink" title="Wiki">Wiki</a></li>
+     <li class="none"><a href="https://issues.apache.org/jira/browse/PLUTO"; 
class="externalLink" title="Issue Tracker (JIRA)">Issue Tracker (JIRA)</a></li>
+     <li class="none"><a href="../helping.html" title="Get Involved">Get 
Involved</a></li>
+    </ul>
+       <h5>Pluto 3.1</h5>
+    <ul>
+     <li class="none"><a href="../v311/mvcbean-portlets.html" title="MVCBean 
Portlets">MVCBean Portlets</a></li>
+     <li class="none"><a href="../v311/getting-started.html" title="Getting 
Started">Getting Started</a></li>
+     <li class="none"><a href="../v311/maven-archetypes.html" title="Maven 
Archetypes">Maven Archetypes</a></li>
+     <li class="none"><a href="../v311/deploying.html" title="Deploying 
Portlets">Deploying Portlets</a></li>
+     <li class="none"><a href="../v311/portlet-api.html" title="Portlet 
Concepts">Portlet Concepts</a></li>
+     <li class="none"><a href="../v311/v3Features.html" title="Version 3 
Features">Version 3 Features</a></li>
+     <li class="none"><strong>Using the TCK</strong></li>
+     <li class="none"><a href="../v311/release-notes.html" title="Release 
Notes">Release Notes</a></li>
+    </ul>
+       <h5>Pluto 3.0</h5>
+    <ul>
+     <li class="none"><a href="../v301/getting-started.html" title="Getting 
Started">Getting Started</a></li>
+     <li class="none"><a href="../v301/deploying.html" title="Deploying 
Portlets">Deploying Portlets</a></li>
+     <li class="none"><a href="../v301/portlet-api.html" title="Portlet 
Concepts">Portlet Concepts</a></li>
+     <li class="none"><a href="../v301/v3Features.html" title="Version 3 
Features">Version 3 Features</a></li>
+     <li class="none"><a href="../v301/tck.html" title="Using the TCK">Using 
the TCK</a></li>
+     <li class="none"><a href="../v301/release-notes.html" title="Release 
Notes">Release Notes</a></li>
+    </ul>
+       <h5>Pluto 2.0</h5>
+    <ul>
+     <li class="none"><a href="../v20/getting-started.html" title="Getting 
Started">Getting Started</a></li>
+     <li class="none"><a href="../v20/deploying.html" 
title="Deploying">Deploying</a></li>
+     <li class="none"><a href="../v20/embedding.html" 
title="Embedding">Embedding</a></li>
+     <li class="none"><a href="../v20/release-notes.html" title="Release 
Notes">Release Notes</a></li>
+     <li class="none"><a href="../v20/app-servers.html" title="App 
Servers">App Servers</a></li>
+     <li class="none"><a href="../v20/powered.html" title="Powered By 
Pluto">Powered By Pluto</a></li>
+    </ul>
+       <h5>Pluto 1.1</h5>
+    <ul>
+     <li class="none"><a href="../v11/getting-started.html" title="Getting 
Started">Getting Started</a></li>
+     <li class="none"><a href="../v11/deploying.html" 
title="Deploying">Deploying</a></li>
+     <li class="none"><a href="../v11/release-notes.html" title="Release 
Notes">Release Notes</a></li>
+    </ul>
+       <h5>Subprojects</h5>
+    <ul>
+     <li class="none"><a href="../subprojects/subprojects.html" 
title="Overview">Overview</a></li>
+    </ul>
+       <h5>Project Info</h5>
+    <ul>
+     <li class="none"><a href="../project-summary.html" title="Project 
Summary">Project Summary</a></li>
+     <li class="none"><a href="../team-list.html" title="Project Team">Project 
Team</a></li>
+     <li class="none"><a href="../license.html" title="Project 
License">Project License</a></li>
+     <li class="none"><a href="../mail-lists.html" title="Mailing 
Lists">Mailing Lists</a></li>
+     <li class="none"><a href="../source-repository.html" title="Source 
Repository">Source Repository</a></li>
+     <li class="none"><a href="../issue-tracking.html" title="Issue 
Tracking">Issue Tracking</a></li>
+    </ul>
+      <a href="http://maven.apache.org/"; title="Built by Maven" 
class="poweredBy">
+        <img class="poweredBy" alt="Built by Maven" 
src="../images/logos/maven-feather.png" />
+      </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 
<tt>./pluto/portlet-tck_3.0</tt>.
+      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 <tt>deploy/target/deploy-files</tt> 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>
+      
<tt>./pluto/pluto-portal-driver/src/main/resources/pluto-portal-driver-config.xsd</tt>
+      </p>
+<p>
+      After the TCK has been built, complete page file for the TCK pages is 
contained
+      in the following file:
+      </p>
+<p>
+      
<tt>./pluto/portlet-tck_3.0/deploy/target/deploy-files/pluto-portal-driver-config.xml</tt>
+      </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.3_TCK_Source_Code"></a>Accessing the 
version 3.0.3 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:
+      <tt>git clone https://github.com/apache/portals-pluto.git pluto</tt>
+      </p>
+<p>      
+      Then switch into the 'pluto' directory and checkout the source for 
version 3.0.3 of the TCK:
+      </p>
+<p>      
+      <tt>git checkout portlet-tck-3.0.3</tt>
+      </p>
+<p>      
+      The version 3.0.3 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>      
+      <tt>mvn clean install</tt>
+      </p>
+<p>      
+      To build portlet war files that are configured for deployment on Pluto, 
use the 
+      command:
+      </p>
+<p>      
+      <tt>mvn clean install -Ppluto</tt>
+      </p>
+<p>      
+      These commands can be executed either from the Pluto project base 
directory or
+      from the <tt>./pluto/portlet-tck_3.0</tt> 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 
<tt>deploy/target/deploy-files/pluto-portal-driver-config.xml</tt> to create
+      pages for your system. 
+      The WAR files in the <tt>deploy/target/deploy-files</tt>
+      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 <tt>webapps/pluto/WEB-INF</tt> 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 <tt>./pluto/portlet-tck_3.0/pom.xml</tt> 
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>
+      <tt>mvn test -Prun-tck</tt>
+      </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>
+      <tt>mvn test -Prun-tck -Dtest.module=SIG</tt>
+      </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>
+      <tt>mvn test -Prun-tck -Dtest.module=!SIG</tt>
+      </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>
+      <tt>mvn test -Prun-tck -Dtest.module=ResourceResponse 
-Dtest.dryrun=true</tt>
+      </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>
+      <tt>mvn test -Prun-tck -Dtest.module=ResourceResponse 
-Dtest.timeout=5</tt>
+      </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>
+      
<tt>portlet-tck_3.0/driver/src/main/resources/xml-resources/ignoredTestCases.xml</tt>
+      </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>
+      <tt>mvn test -Prun-tck -Dtest.ignore=false</tt>
+      </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>
+      <tt>https://issues.apache.org/jira/browse/PLUTO/</tt>
+      </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>
+      <tt>https://github.com/apache/portals-pluto/pulls</tt>
+      </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">
+        Copyright &#169;      2004&#x2013;2022 <a 
href="http://www.apache.org/";>Apache Software Foundation</a>.
+All rights reserved.      </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+  </body>
+</html>


Reply via email to