You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@portals.apache.org by as...@apache.org on 2018/06/22 19:17:24 UTC
svn commit: r1834153 - in /portals/site: pluto/src/site/ pluto/src/site/fml/
pluto/src/site/xdoc/ pluto/src/site/xdoc/v301/ src/site/xdoc/
Author: asfgriff
Date: Fri Jun 22 19:17:23 2018
New Revision: 1834153
URL: http://svn.apache.org/viewvc?rev=1834153&view=rev
Log:
PLUTO-716 Committing site updates
Added:
portals/site/pluto/src/site/xdoc/security.xml (with props)
portals/site/pluto/src/site/xdoc/v301/
portals/site/pluto/src/site/xdoc/v301/deploying.xml (with props)
portals/site/pluto/src/site/xdoc/v301/getting-started.xml (with props)
portals/site/pluto/src/site/xdoc/v301/portlet-api.xml (with props)
portals/site/pluto/src/site/xdoc/v301/release-notes.xml
portals/site/pluto/src/site/xdoc/v301/tck.xml (with props)
portals/site/pluto/src/site/xdoc/v301/v3Features.xml (with props)
Modified:
portals/site/pluto/src/site/fml/faq.fml
portals/site/pluto/src/site/site.xml
portals/site/pluto/src/site/xdoc/download.xml
portals/site/pluto/src/site/xdoc/index.xml
portals/site/pluto/src/site/xdoc/news.xml
portals/site/src/site/xdoc/news.xml
Modified: portals/site/pluto/src/site/fml/faq.fml
URL: http://svn.apache.org/viewvc/portals/site/pluto/src/site/fml/faq.fml?rev=1834153&r1=1834152&r2=1834153&view=diff
==============================================================================
--- portals/site/pluto/src/site/fml/faq.fml (original)
+++ portals/site/pluto/src/site/fml/faq.fml Fri Jun 22 19:17:23 2018
@@ -24,9 +24,9 @@ limitations under the License.
<question>Which version of Pluto 3.0 should I use?</question>
<answer>
<p>
- Version 3.0.0 is the latest stable release available from the download site.
+ Version 3.0.1 is the latest stable release available from the download site.
If you want to build the current development version, please see the Pluto 3.0
- <a href="./v30/getting-started.html">Getting Started</a> section for information on cloning
+ <a href="./v301/getting-started.html">Getting Started</a> section for information on cloning
the Pluto repository, building the portal, and learning from the version 3.0 sample portlets.
</p>
<p>
Modified: portals/site/pluto/src/site/site.xml
URL: http://svn.apache.org/viewvc/portals/site/pluto/src/site/site.xml?rev=1834153&r1=1834152&r2=1834153&view=diff
==============================================================================
--- portals/site/pluto/src/site/site.xml (original)
+++ portals/site/pluto/src/site/site.xml Fri Jun 22 19:17:23 2018
@@ -55,6 +55,7 @@ limitations under the License.
<item name="Mission" href="/mission.html"/>
<item name="Download" href="/download.html"/>
<item name="News" href="/news.html"/>
+ <item name="Security" href="/security.html"/>
<item name="Status" href="/status.html"/>
<item name="Architecture" href="/architecture.html"/>
@@ -68,12 +69,12 @@ limitations under the License.
</menu>
<menu name="Pluto 3.0">
- <item name="Getting Started" href="/v30/getting-started.html"/>
- <item name="Deploying Portlets" href="/v30/deploying.html"/>
- <item name="Portlet Concepts" href="/v30/portlet-api.html"/>
- <item name="Version 3 Features" href="/v30/v3Features.html"/>
- <item name="Using the TCK" href="/v30/tck.html"/>
- <item name="Release Notes" href="/v30/release-notes.html"/>
+ <item name="Getting Started" href="/v301/getting-started.html"/>
+ <item name="Deploying Portlets" href="/v301/deploying.html"/>
+ <item name="Portlet Concepts" href="/v301/portlet-api.html"/>
+ <item name="Version 3 Features" href="/v301/v3Features.html"/>
+ <item name="Using the TCK" href="/v301/tck.html"/>
+ <item name="Release Notes" href="/v301/release-notes.html"/>
</menu>
<menu name="Pluto 2.0">
Modified: portals/site/pluto/src/site/xdoc/download.xml
URL: http://svn.apache.org/viewvc/portals/site/pluto/src/site/xdoc/download.xml?rev=1834153&r1=1834152&r2=1834153&view=diff
==============================================================================
--- portals/site/pluto/src/site/xdoc/download.xml (original)
+++ portals/site/pluto/src/site/xdoc/download.xml Fri Jun 22 19:17:23 2018
@@ -42,7 +42,7 @@ limitations under the License.
</p>
</div>
<p>
- The latest 3.0.0 version of Apache Pluto source and binary distributions can be downloaded from
+ The latest 3.0.1 version of Apache Pluto source and binary distributions can be downloaded from
<a href="http://www.apache.org/dyn/closer.cgi/portals/pluto/">a Pluto
distribution mirror</a>.
</p>
Modified: portals/site/pluto/src/site/xdoc/index.xml
URL: http://svn.apache.org/viewvc/portals/site/pluto/src/site/xdoc/index.xml?rev=1834153&r1=1834152&r2=1834153&view=diff
==============================================================================
--- portals/site/pluto/src/site/xdoc/index.xml (original)
+++ portals/site/pluto/src/site/xdoc/index.xml Fri Jun 22 19:17:23 2018
@@ -29,16 +29,16 @@ limitations under the License.
<section name="Welcome to Pluto">
<div class="highlightBox">
- <h5>Get Pluto 3.0.0</h5>
+ <h5>Get Pluto 3.0.1</h5>
<p>
<a href="http://www.apache.org/dyn/closer.cgi/portals/pluto/">
<img valign="top" src="images/download.gif" border="0" title="download"/>
Download
</a>
- Pluto 3.0.0
+ Pluto 3.0.1
</p>
<ul>
- <li><a href="v30/getting-started.html">Installation Guide</a></li>
+ <li><a href="v301/getting-started.html">Installation Guide</a></li>
</ul>
</div>
@@ -101,7 +101,7 @@ limitations under the License.
</p>
<p>If you want to get started with rapid portlet development with Pluto,
see the documentation on
- <a href='v30/getting-started.html'>Developing with Pluto</a>
+ <a href='v301/getting-started.html'>Developing with Pluto</a>
</p>
</section>
<section name='How Portlets Differ from Servlets'>
Modified: portals/site/pluto/src/site/xdoc/news.xml
URL: http://svn.apache.org/viewvc/portals/site/pluto/src/site/xdoc/news.xml?rev=1834153&r1=1834152&r2=1834153&view=diff
==============================================================================
--- portals/site/pluto/src/site/xdoc/news.xml (original)
+++ portals/site/pluto/src/site/xdoc/news.xml Fri Jun 22 19:17:23 2018
@@ -27,6 +27,15 @@ limitations under the License.
<body>
<section name="News and Status">
+ <h4>21 June 2018 - Portals Pluto 3.0.1</h4>
+ <p>
+ The Apache Pluto project is proud to announce the General Availability release of Pluto 3.0.1.
+ This is the second GA release of Pluto conformant to the
+ <a href="http://www.jcp.org/en/jsr/detail?id=362">Java Portlet 3.0 Standard</a>.
+ </p>
+ <p>
+ In addition, version 3.0.1 of generic-portlet-archetype and bean-portlet-archetype have been released.
+ </p>
<h4>27 April 2017 - Apache Pluto Archetype 3.0.0</h4>
<p>
The Apache Portals team is pleased to announce the General Availability of the Apache Pluto Archetypes for Pluto 3.0.0.
Added: portals/site/pluto/src/site/xdoc/security.xml
URL: http://svn.apache.org/viewvc/portals/site/pluto/src/site/xdoc/security.xml?rev=1834153&view=auto
==============================================================================
--- portals/site/pluto/src/site/xdoc/security.xml (added)
+++ portals/site/pluto/src/site/xdoc/security.xml Fri Jun 22 19:17:23 2018
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements. See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License. You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+implied.
+
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+<document>
+
+ <properties>
+ <title>Pluto Security</title>
+ </properties>
+
+ <body>
+
+<section name="Project Security">
+ <p>
+ The following security issues have been identified and addressed:
+ </p>
+
+ <subsection name="Issue1">
+ <p>
+ Security issue 1.
+ </p>
+ </subsection>
+
+ <subsection name="Issue2">
+ <p>
+ Security issue 2.
+ </p>
+ </subsection>
+
+</section>
+</body>
+</document>
\ No newline at end of file
Propchange: portals/site/pluto/src/site/xdoc/security.xml
------------------------------------------------------------------------------
svn:eol-style = native
Added: portals/site/pluto/src/site/xdoc/v301/deploying.xml
URL: http://svn.apache.org/viewvc/portals/site/pluto/src/site/xdoc/v301/deploying.xml?rev=1834153&view=auto
==============================================================================
--- portals/site/pluto/src/site/xdoc/v301/deploying.xml (added)
+++ portals/site/pluto/src/site/xdoc/v301/deploying.xml Fri Jun 22 19:17:23 2018
@@ -0,0 +1,124 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements. See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License. You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+implied.
+
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+<document>
+
+ <properties>
+ <title>Deploying a Portlet to Pluto Portal Version 3.0.1</title>
+ </properties>
+
+ <body>
+
+ <section name="Deploying a Portlet to Pluto Portal Version 3.0.1">
+
+ <p>
+ The portlet war file is built just like any other web application war
+ file. No special processing steps are necessary. Note in particular that
+ the assembly processing step required by Pluto version 2.0 is no longer needed.
+ </p>
+
+ <subsection name="Portlet Deployment">
+ <p>
+ To deploy a portlet application, simply deploy the application war
+ using any standard mechanism for your application server. There are many
+ maven plugins and ant tasks that can assist with this, or you can use
+ an administrative web console. This console is the Tomcat manager webapp in the
+ Pluto bundled distribution and is accessed via the 'Upload and deploy portlet war' link
+ on the page administration portlet. See the Help link on that portlet for more details.
+ </p>
+ <p>
+ In the bundled distribution that uses Tomcat, deployment of an assembled war can simply
+ be done by dropping the war into the webapps directory. You can automatically achive this
+ by adding the following code within the plugins section of your maven pom.xml:
+ </p>
+ <source><![CDATA[
+ <plugin>
+ <artifactId>maven-antrun-plugin</artifactId>
+ <executions>
+ <execution>
+ <phase>integration-test</phase>
+ <configuration>
+ <tasks>
+ <property environment="env"/>
+ <!-- This assumes that you have set a CATALINA_HOME environmental variable -->
+ <property name="pluto.home" value="${env.CATALINA_HOME}"/>
+ <copy file="target/${pom.name}.war" todir="${pluto.home}/webapps"/>
+ </tasks>
+ </configuration>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ ]]></source>
+ <p>
+ Once the pom.xml file has been updated with this plugin, you can run the full build
+ and deployment using the command: mvn integration-test. The code assumes that you have set
+ the environmental variable CATALINA_HOME to the Pluto home directory. If that has not been
+ done, just set pluto.home from the command line with the -D flag. The command line would
+ then be: mvn -Dpluto.home=C:/pluto integration-test.
+ </p>
+
+ </subsection>
+
+ <subsection name="Portlet Publishing">
+ <p>
+ As soon as the portlet application (war) is deployed to the servlet container
+ the portlet application will be available to the portal and can be added to
+ pages using the page administration portlet. See the help mode in this portlet
+ for details on its use.
+ </p>
+
+ <p><b>Portal Page Configuration</b></p>
+ <p>
+ If you'd like for your page configuration to be consistent throughout
+ restarts of the application server (currently placements made through
+ the page administration portlet is not persistent), you should then configure the page
+ layout in the portal-driver configuration file (pluto-portal-driver-config.xml).
+ </p>
+ <p>
+ The page can then be configured by adding a <code>page</code> child element of the <code>render-config</code>
+ element, like this:
+ <source><![CDATA[
+<render-config default="Test Page">
+ ... ...
+ <page name="Your Portal Page Name" uri="/WEB-INF/themes/pluto-default-theme.jsp">
+ <portlet context="/your_portlet_app_context_path" name="your_portlet_1"/>
+ <portlet context="/your_portlet_app_context_path" name="your_portlet_2"/>
+ </page>
+</render-config>
+ ]]></source>
+ </p>
+ <p>
+ The <code>uri</code> attribute defines the theme of your portal page.
+ If you use <code>/WEB-INF/themes/pluto-default-theme.jsp</code> (which is the
+ default theme of Pluto Testsuite portlet app), your portlets will be
+ displayed in two columns. You can clone this file to customize your layout.
+ If you do so, make sure the <code>uri</code> attribute points to the new file.
+ </p>
+ </subsection>
+
+ </section>
+
+ </body>
+
+</document>
+
Propchange: portals/site/pluto/src/site/xdoc/v301/deploying.xml
------------------------------------------------------------------------------
svn:eol-style = native
Added: portals/site/pluto/src/site/xdoc/v301/getting-started.xml
URL: http://svn.apache.org/viewvc/portals/site/pluto/src/site/xdoc/v301/getting-started.xml?rev=1834153&view=auto
==============================================================================
--- portals/site/pluto/src/site/xdoc/v301/getting-started.xml (added)
+++ portals/site/pluto/src/site/xdoc/v301/getting-started.xml Fri Jun 22 19:17:23 2018
@@ -0,0 +1,247 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements. See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License. You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+implied.
+
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+<document>
+
+ <properties>
+ <title>Getting Started With Pluto 3.0.1</title>
+ </properties>
+
+ <body>
+
+ <section name="Installing the Pluto 3.0.1 Binary Build">
+
+ <div class="highlightBox">
+ <h4>About Pluto Distributions</h4>
+ <p>
+ You can download a pre-built Pluto bundle, or you can build Pluto from
+ the source code.
+ <ul>
+ <li>
+ <strong>pluto-bundle</strong> - Provides Pluto and Tomcat bundled together.
+ </li>
+ <li><strong>pluto-source-release</strong> - Provides the Pluto source code; requires
+ that you build and deploy Pluto on your own.</li>
+ </ul>
+ </p>
+ </div>
+
+ <ol>
+ <li>
+
+ Download the Pluto 3.0.1 binary distribution named <strong>pluto-bundle-3.0.1.zip</strong> from
+ a <a href="http://www.apache.org/dyn/closer.cgi/portals/pluto/">distribution site</a>.</li>
+ <li>Unzip the binary distribution into a directory.</li>
+ <ol>
+ <li>pluto-<version> (pluto-3.0.1) will be the top level directory.</li>
+ </ol>
+ <li>
+ Execute startup.bat (Windows) or startup.sh (Unix)
+ in pluto-<version>/bin.</li>
+ <li>
+ Use shutdown.bat/shutdown.sh to stop the portal
+ </li>
+ <li>
+ Browse to <a 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>
+
+ </section>
+
+ <section name="Building Pluto 3.0.1 from Source">
+
+ <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 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>
+
+ <h4>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.
+ <ul>
+ <li>
+ A Java runtime environment, version 1.7.0 or later. See
+ <a href="https://java.com/en/download/">the Java download site</a>
+ </li>
+ <li>
+ Apache Ant, version 1.9.3 or later. See
+ <a 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 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 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.
+ </p>
+
+ <h4>Obtaining Pluto 3.0.1 Source Code</h4>
+
+ <p>
+ To browse the Pluto source code online, access
+ <a href="https://github.com/apache/portals-pluto">the Apache Pluto Github mirror.</a>
+ This is current at all times.
+ </p>
+
+ <h4>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>
+ <code>git clone https://github.com/apache/portals-pluto.git pluto</code>
+ </p>
+ <p>
+ You now have the complete Pluto source code in the <code>./pluto</code> subdirectory.
+ </p>
+ <p>
+ The source code versions are tagged in the respository. If you want to build
+ version 3.0.1 rather than the current development version, checkout the 'pluto-3.0.1' tag:
+ </p>
+ <p>
+ <code>git checkout pluto-3.0.1</code>
+ </p>
+
+ <h4>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 <code>dist-build.xml</code> 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>
+ <code>ant -f dist-build.xml -DincludeDemos=true -DnoClean=true</code>
+ </p>
+ <p>
+ You now have Pluto built and deployed in the <code>./pluto/target/dist</code> subdirectory.
+ You can now switch to the <code>./pluto/target/dist/<tomcat>/bin</code>
+ subdirectory and start Tomcat and Pluto as described in the next section.
+ </p>
+
+ <subsection name="Starting the Portal">
+ <p>
+ Now you are ready to use the Pluto Portal built from source. Start up tomcat by running
+ <code>startup.bat</code> (for windows) or <code>startup.sh</code> (for
+ *nix) in <code><TOMCAT_HOME>/bin</code>, and browse to
+ <code>http://localhost:8080/pluto/portal</code>. Login to Pluto using
+ the user ID 'pluto' and password 'pluto'.
+ </p>
+ </subsection>
+ </section>
+
+ <section name="Using the Demo Portlets">
+ <p>
+ The Pluto distribution contains four version 3.0.1 portlet applications that
+ illustrate the use of all aspects of JSR 362 portlet programming.
+ </p>
+ <ul>
+ <li>
+ PortletHubDemo - Contains portlets that show how you can use the
+ Portlet Hub JavaScript API to create portal-based single-page applications.
+ </li>
+ <li>
+ PortletV3AnnotatedDemo - Contains portlets that illustrate the use of
+ the version 3.0.1 Extended Method Annotations feature.
+ </li>
+ <li>
+ PortletV3Demo - Contains portlets that illustrate miscellaneous aspects
+ of the API.
+ </li>
+ <li>
+ chatRoomDemo - 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>
+ </section>
+
+<section name="Using the Pluto Maven Archetypes">
+ <p>
+ There are two Maven archetypes available to quickly get you started developing a portlet application.
+ <ul>
+ <li>generic-portlet-archetype
+ </li>
+ <li>
+ bean-portlet-archetype
+ </li>
+ </ul>
+ </p>
+ <p>
+ The generic-portlet-archetype can be used to create an old-fashioned portlet project which has a class that extends GenericPortlet.
+ <source><![CDATA[
+mvn archetype:generate \
+ -DarchetypeGroupId=org.apache.portals.pluto.archetype \
+ -DarchetypeArtifactId=generic-portlet-archetype \
+ -DarchetypeVersion=3.0.1 \
+ -DgroupId=com.mycompany \
+ -DartifactId=com.mycompany.my.generic.portlet
+ ]]></source>
+ </p>
+ <p>
+ The bean-portlet-archetype can be used to create a modern "bean portlet" that utilizes the Portlet 3.0.1 CDI features.
+ <source><![CDATA[
+mvn archetype:generate \
+ -DarchetypeGroupId=org.apache.portals.pluto.archetype \
+ -DarchetypeArtifactId=bean-portlet-archetype \
+ -DarchetypeVersion=3.0.1 \
+ -DgroupId=com.mycompany \
+ -DartifactId=com.mycompany.my.bean.portlet
+ ]]></source>
+ </p>
+ <p>
+ Archetypes are available in Maven Central <a href="http://search.maven.org/#search%7Cga%7C1%7Cpluto%20archetype">here.</a>
+ </p>
+ </section>
+</body>
+
+</document>
+
Propchange: portals/site/pluto/src/site/xdoc/v301/getting-started.xml
------------------------------------------------------------------------------
svn:eol-style = native
Added: portals/site/pluto/src/site/xdoc/v301/portlet-api.xml
URL: http://svn.apache.org/viewvc/portals/site/pluto/src/site/xdoc/v301/portlet-api.xml?rev=1834153&view=auto
==============================================================================
--- portals/site/pluto/src/site/xdoc/v301/portlet-api.xml (added)
+++ portals/site/pluto/src/site/xdoc/v301/portlet-api.xml Fri Jun 22 19:17:23 2018
@@ -0,0 +1,142 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements. See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License. You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+implied.
+
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+<document>
+
+ <properties>
+ <title>Portlet Concepts</title>
+ </properties>
+
+ <body>
+
+ <section name="Portlet Concepts">
+ <subsection name="The Portlet Phase Model">
+ <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>
+ </subsection>
+
+ <subsection name="The Portlet Lifecyce Methods">
+ <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>
+ </subsection>
+
+ </section>
+
+ </body>
+
+</document>
+
Propchange: portals/site/pluto/src/site/xdoc/v301/portlet-api.xml
------------------------------------------------------------------------------
svn:eol-style = native
Added: portals/site/pluto/src/site/xdoc/v301/release-notes.xml
URL: http://svn.apache.org/viewvc/portals/site/pluto/src/site/xdoc/v301/release-notes.xml?rev=1834153&view=auto
==============================================================================
--- portals/site/pluto/src/site/xdoc/v301/release-notes.xml (added)
+++ portals/site/pluto/src/site/xdoc/v301/release-notes.xml Fri Jun 22 19:17:23 2018
@@ -0,0 +1,148 @@
+<?xml version="1.0"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<document>
+ <properties>
+ <title>Pluto Release Notes</title>
+ <subtitle>Pluto Release Notes</subtitle>
+ </properties>
+ <body>
+ <section name="Release Notes - Pluto 3.0.1">
+ <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>
+ <subsection name="Bug">
+<ul>
+<li>[<a 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 href='https://issues.apache.org/jira/browse/PLUTO-656'>PLUTO-656</a>] - various portlet.xml files are not valid
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/PLUTO-657'>PLUTO-657</a>] - pluto fails to add head scripts with CDATA
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/PLUTO-658'>PLUTO-658</a>] - TCK: Contesting V2ADDLENVIRONMENTTESTS_SPEC2_10_CONTEXT_GETREALPATH
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/PLUTO-659'>PLUTO-659</a>] - TCK: Contesting V2AddlFilterTests_SPEC2_20_Action_filter1
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/PLUTO-660'>PLUTO-660</a>] - servlet-api should be scope "provided"
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/PLUTO-664'>PLUTO-664</a>] - TCK: Contesting V2RequestTests_ClientDataRequest_ApiAction_getReader2 and _getPortletInputStream2
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/PLUTO-665'>PLUTO-665</a>] - TCK: V3ResourceParametersTests copy+paste error leaves tests unimplemented
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/PLUTO-666'>PLUTO-666</a>] - TCK: Contesting AddlResponseTests_SPEC2_12_Render
+</li>
+<li>[<a 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 href='https://issues.apache.org/jira/browse/PLUTO-668'>PLUTO-668</a>] - TCK: Contesting V3URLTests_BaseURL_append and V3URLTests_BaseURL_append2
+</li>
+<li>[<a 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 href='https://issues.apache.org/jira/browse/PLUTO-670'>PLUTO-670</a>] - TCK: Contesting getParameterMap tests that verify an "unmodifiable" Map object
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/PLUTO-671'>PLUTO-671</a>] - TCK: Contesting V2AddlEnvironmentTests_SPEC2_17_EventPreferences_setValues4
+</li>
+<li>[<a 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 href='https://issues.apache.org/jira/browse/PLUTO-673'>PLUTO-673</a>] - TCK: Contesting V2EnvironmentTests_PortalContext_ApiRender_getPortalInfo1
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/PLUTO-674'>PLUTO-674</a>] - TCK: Contesting V2EnvironmentTests_PortletContext_ApiRender_getServerInfo1
+</li>
+<li>[<a 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 href='https://issues.apache.org/jira/browse/PLUTO-676'>PLUTO-676</a>] - TCK: Contesting V2EnvironmentTests_PortletContext_ApiRender_getRealPath1
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/PLUTO-677'>PLUTO-677</a>] - TCK: Contesting DispatcherTests3S_SPEC2_19_ForwardServletRender_dispatch4
+</li>
+<li>[<a 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 href='https://issues.apache.org/jira/browse/PLUTO-679'>PLUTO-679</a>] - TCK: Contesting V2RequestTests_PortletRequest_ApiAction_getContextPath1
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/PLUTO-680'>PLUTO-680</a>] - TCK: Contesting tests that reference Pluto-specific security roles
+</li>
+<li>[<a 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 href='https://issues.apache.org/jira/browse/PLUTO-686'>PLUTO-686</a>] - TCK: Contesting tests that invoke portletConfig.getContainerRuntimeOptions
+</li>
+<li>[<a 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 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 href='https://issues.apache.org/jira/browse/PLUTO-689'>PLUTO-689</a>] - Typo in javadoc for ActionResponse.createRedirectURL(MimeResponse.Copy)
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/PLUTO-691'>PLUTO-691</a>] - PortletURL.setBeanParameter(PortletSerializable) missing "@since 3.0" in Javadoc
+</li>
+<li>[<a 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 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 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 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 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 href='https://issues.apache.org/jira/browse/PLUTO-701'>PLUTO-701</a>] - Typo in javadoc for RenderStateScoped
+</li>
+<li>[<a 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 href='https://issues.apache.org/jira/browse/PLUTO-706'>PLUTO-706</a>] - Make TestResult serializable
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/PLUTO-707'>PLUTO-707</a>] - Make V2EnvironmentTests_PortletSession_ApiRender_Binding serializable
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/PLUTO-711'>PLUTO-711</a>] - AbstractPortletConfigImpl.getSupportedLocales() does not parse language an country codes
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/PLUTO-712'>PLUTO-712</a>] - TCK: Contesting V3AnnotationPortletConfigTests_SPEC2_28_SupportedLocales_declaringSupportedLocales1
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/PLUTO-713'>PLUTO-713</a>] - TCK: Contesting AnnotationPortletApplicationConfigTests_SPEC1_28_DefaultNamespaceURI
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/PLUTO-714'>PLUTO-714</a>] - AnnotationPortletArtifactValidityTests redundantly specify the @PortletApplication annotation 4 times
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/PLUTO-715'>PLUTO-715</a>] - TCK: Contesting AnnotationPortletApplicationConfigTests_SPEC1_28_PortletContainerRuntimeOptions
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/PLUTO-716'>PLUTO-716</a>] - Release Preparation 3.0.1
+</li>
+</ul>
+ </subsection>
+
+ <subsection name="Improvement">
+<ul>
+<li>[<a 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 href='https://issues.apache.org/jira/browse/PLUTO-662'>PLUTO-662</a>] - Introduce a liferay profile for the tck
+</li>
+<li>[<a 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 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 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 href='https://issues.apache.org/jira/browse/PLUTO-705'>PLUTO-705</a>] - Upgrade to Selenium 3
+</li>
+<li>[<a 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 href='https://issues.apache.org/jira/browse/PLUTO-709'>PLUTO-709</a>] - Making TCKSimpleTestDriver extendable
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/PLUTO-710'>PLUTO-710</a>] - Adding a TCKLiferayTestDriver extension
+</li>
+</ul>
+ </subsection>
+ </section>
+ </body>
+</document>
\ No newline at end of file
Added: portals/site/pluto/src/site/xdoc/v301/tck.xml
URL: http://svn.apache.org/viewvc/portals/site/pluto/src/site/xdoc/v301/tck.xml?rev=1834153&view=auto
==============================================================================
--- portals/site/pluto/src/site/xdoc/v301/tck.xml (added)
+++ portals/site/pluto/src/site/xdoc/v301/tck.xml Fri Jun 22 19:17:23 2018
@@ -0,0 +1,350 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements. See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License. You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+implied.
+
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+<document>
+
+ <properties>
+ <title>Using the JSR 362 TCK</title>
+ </properties>
+
+ <body>
+
+ <section name="Using the JSR 362 TCK">
+ <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>
+
+ <subsection name="Overview">
+ <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 (>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>
+ "<testcasename>-setup" - Test setup link
+ </li><li>
+ "<testcasename>-clickme" - Test execution link
+ </li><li>
+ "<testcasename>-results" - Test results field; "Succeeded" or "Failed"
+ </li><li>
+ "<testcasename>-details" - 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>
+ </subsection>
+
+ <subsection name="Project Structure">
+ <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 "_SIG_" 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>
+ </subsection>
+
+ <subsection name="The Page File">
+ <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>
+ </subsection>
+
+ <subsection name="Accessing the version 3.0.1 TCK Source Code">
+ <p>
+ The source code is located in the
+ <a 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>
+ </subsection>
+
+ <subsection name="Building the TCK">
+ <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>
+ </subsection>
+
+ <subsection name="Deploying the TCK">
+ <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>
+ </subsection>
+
+ <subsection name="Running the TCK">
+ <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 "firefox" or "HTMLUnit" 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 "-Dtest.module=" 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>
+ </subsection>
+
+ <subsection name="Passing the TCK">
+ <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>
+ </subsection>
+
+ <subsection name="Contesting a Test Case">
+ <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>
+ </subsection>
+ </section>
+
+ </body>
+
+</document>
+
Propchange: portals/site/pluto/src/site/xdoc/v301/tck.xml
------------------------------------------------------------------------------
svn:eol-style = native
Added: portals/site/pluto/src/site/xdoc/v301/v3Features.xml
URL: http://svn.apache.org/viewvc/portals/site/pluto/src/site/xdoc/v301/v3Features.xml?rev=1834153&view=auto
==============================================================================
--- portals/site/pluto/src/site/xdoc/v301/v3Features.xml (added)
+++ portals/site/pluto/src/site/xdoc/v301/v3Features.xml Fri Jun 22 19:17:23 2018
@@ -0,0 +1,264 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements. See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License. You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+implied.
+
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+<document>
+
+ <properties>
+ <title>Portlet API version 3.0 Overview</title>
+ </properties>
+
+ <body>
+
+ <section name="Portlet API version 3.0 Overview">
+ <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 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 href="https://static.rainfocus.com/oracle/oow16/sess/1462801563632001pOv8/ppt/JSR362-JavaOne-2016a.pdf">"Portlet Specification 3.0 Is Here!"</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>
+
+ <subsection name="Configuration by Annotation">
+ <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="https://www.java.net/",
+ events = {
+ @EventDefinition(qname=@PortletQName(namespaceURI="http://www.apache.org/",
+ localPart="event1") , payloadType = String.class),
+ @EventDefinition(qname=@PortletQName(namespaceURI="",
+ localPart="event4"))
+ }
+)
+
+
+@PortletConfiguration(portletName="Portlet1",
+ initParams = {
+ @InitParameter(name="color", value="#cafeba"),
+ },
+ title={
+ @LocaleString(locale = "EN", value="Annotated Portlet"),
+ }
+)
+ </pre>
+ </subsection>
+
+ <subsection name="Extended Method Annotations">
+ <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 "BeanPortletDemo".
+ </p>
+ <pre>
+@RenderMethod(portletNames = "BeanPortletDemo")
+public String simpleRender() {
+ return "Hello, World!";
+}
+ </pre>
+ </subsection>
+
+ <subsection name="CDI Support">
+ <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>
+ </subsection>
+
+ <subsection name="Asynchronous support">
+ <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"/>
+ </subsection>
+
+ <subsection name="The Portlet Hub JavaScript API">
+ <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(<Portlet ID>)
+ </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(<listener type>, <listener method>)
+ </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(<resource parameters>, <cacheability>, <resource ID>)
+ </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(<new portlet state>)
+ </code></dt><dd>
+ Allows portlet client to set private and public parameters, portlet mode, window state
+ </dd><dt><code>
+ action(<action parameters>, <form element>)
+ </code></dt><dd>
+ Carries out a portlet action in Ajax mode (Ajax action)
+ </dd></dl>
+ <pre>
+ </pre>
+ </subsection>
+
+<!--
+ <subsection name="The Portlet Phase Model">
+ <p>
+ </p>
+ <pre>
+ </pre>
+ </subsection>
+-->
+
+ </section>
+ </body>
+
+</document>
+
Propchange: portals/site/pluto/src/site/xdoc/v301/v3Features.xml
------------------------------------------------------------------------------
svn:eol-style = native
Modified: portals/site/src/site/xdoc/news.xml
URL: http://svn.apache.org/viewvc/portals/site/src/site/xdoc/news.xml?rev=1834153&r1=1834152&r2=1834153&view=diff
==============================================================================
--- portals/site/src/site/xdoc/news.xml (original)
+++ portals/site/src/site/xdoc/news.xml Fri Jun 22 19:17:23 2018
@@ -9,6 +9,15 @@
<body>
<section name="News">
+ <h4>21 June 2018 - Portals Pluto 3.0.1</h4>
+ <p>
+ The Apache Pluto project is proud to announce the General Availability release of Pluto 3.0.1.
+ This is the second GA release of Pluto conformant to the
+ <a href="http://www.jcp.org/en/jsr/detail?id=362">Java Portlet 3.0 Standard</a>.
+ </p>
+ <p>
+ In addition, version 3.0.1 of generic-portlet-archetype and bean-portlet-archetype have been released.
+ </p>
<h4>27 April 2017 - Apache Pluto Archetype 3.0.0</h4>
<p>
The Apache Portals team is pleased to announce the General Availability of the Apache Pluto Archetypes for Pluto 3.0.0.