Modified: portals/site-live/pluto/v20/release-notes.html URL: http://svn.apache.org/viewvc/portals/site-live/pluto/v20/release-notes.html?rev=1834161&r1=1834160&r2=1834161&view=diff ============================================================================== --- portals/site-live/pluto/v20/release-notes.html (original) +++ portals/site-live/pluto/v20/release-notes.html Fri Jun 22 19:35:14 2018 @@ -47,7 +47,7 @@ <div class="xleft"> - Last Published: 2017-01-13 + Last Published: 2018-06-22 | <a href="http://portals.apache.org/pluto" class="externalLink">Home</a> </div> @@ -105,6 +105,10 @@ </li> <li class="none"> + <a href="../security.html">Security</a> + </li> + + <li class="none"> <a href="../status.html">Status</a> </li> @@ -136,27 +140,27 @@ <ul> <li class="none"> - <a href="../v30/getting-started.html">Getting Started</a> + <a href="../v301/getting-started.html">Getting Started</a> </li> <li class="none"> - <a href="../v30/deploying.html">Deploying Portlets</a> + <a href="../v301/deploying.html">Deploying Portlets</a> </li> <li class="none"> - <a href="../v30/portlet-api.html">Portlet Concepts</a> + <a href="../v301/portlet-api.html">Portlet Concepts</a> </li> <li class="none"> - <a href="../v30/v3Features.html">Version 3 Features</a> + <a href="../v301/v3Features.html">Version 3 Features</a> </li> <li class="none"> - <a href="../v30/tck.html">Using the TCK</a> + <a href="../v301/tck.html">Using the TCK</a> </li> <li class="none"> - <a href="../v30/release-notes.html">Release Notes</a> + <a href="../v301/release-notes.html">Release Notes</a> </li> </ul> <h5>Pluto 2.0</h5> @@ -250,32 +254,32 @@ </div> <div id="bodyColumn"> <div id="contentBox"> - <subtitle></subtitle><authors><person name="Ate Douma" email="[email protected]"></authors><div class="section"><h2><a name="Release_Notes_-_Pluto_2.0.3"></a>Release Notes - Pluto 2.0.3</h2> + <subtitle></subtitle><authors><person name="Ate Douma" email="[email protected]"></authors><div class="section"><h2><a name="Release_Notes_-_Pluto_2.0.3"></a>Release Notes - Pluto 2.0.3</h2> <p> The list below outlines the issues that are addressed with release 2.0.3 . - </p> + </p> <p> The release notes of the previous release 2.0.2 are available here: <a href="release-notes-2.0.2.html">release notes 2.0.2</a>. - </p> -<div class="section"><h3><a name="Bug"></a>Bug</h3> -<ul><li>[<a href="https://issues.apache.org/jira/browse/PLUTO-598" class="externalLink">PLUTO-598</a>] - Retrieving Portlet invoked servlet request attributes should first check PortletRequest attributes before using fallback to the web container -</li> -<li>[<a href="https://issues.apache.org/jira/browse/PLUTO-599" class="externalLink">PLUTO-599</a>] - ResourceURLTag286 ignores javax.portlet.escapeXml -</li> -<li>[<a href="https://issues.apache.org/jira/browse/PLUTO-609" class="externalLink">PLUTO-609</a>] - PortletPreferencesImpl doesn't handle null preferences correctly -</li> -<li>[<a href="https://issues.apache.org/jira/browse/PLUTO-610" class="externalLink">PLUTO-610</a>] - RenderURLTag168 incorrectly extends PortletURLTag286 -</li> -</ul> -</div> -<div class="section"><h3><a name="Improvement"></a>Improvement</h3> -<ul><li>[<a href="https://issues.apache.org/jira/browse/PLUTO-601" class="externalLink">PLUTO-601</a>] - Remove expensive object creation in PortletAppDescriptorServiceImpl -</li> -<li>[<a href="https://issues.apache.org/jira/browse/PLUTO-611" class="externalLink">PLUTO-611</a>] - Upgrade binary distribution to use latest Tomcat 7.0.21 -</li> -</ul> -</div> -</div> + </p> +<div class="section"><h3><a name="Bug"></a>Bug</h3> +<ul><li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/PLUTO-598">PLUTO-598</a>] - Retrieving Portlet invoked servlet request attributes should first check PortletRequest attributes before using fallback to the web container +</li> +<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/PLUTO-599">PLUTO-599</a>] - ResourceURLTag286 ignores javax.portlet.escapeXml +</li> +<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/PLUTO-609">PLUTO-609</a>] - PortletPreferencesImpl doesn't handle null preferences correctly +</li> +<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/PLUTO-610">PLUTO-610</a>] - RenderURLTag168 incorrectly extends PortletURLTag286 +</li> +</ul> +</div> +<div class="section"><h3><a name="Improvement"></a>Improvement</h3> +<ul><li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/PLUTO-601">PLUTO-601</a>] - Remove expensive object creation in PortletAppDescriptorServiceImpl +</li> +<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/PLUTO-611">PLUTO-611</a>] - Upgrade binary distribution to use latest Tomcat 7.0.21 +</li> +</ul> +</div> +</div> </div> </div> @@ -284,7 +288,7 @@ </div> <div id="footer"> <div class="xright">© - 2004-2017 + 2004-2018 Apache Software Foundation
Modified: portals/site-live/pluto/v30/deploying.html URL: http://svn.apache.org/viewvc/portals/site-live/pluto/v30/deploying.html?rev=1834161&r1=1834160&r2=1834161&view=diff ============================================================================== --- portals/site-live/pluto/v30/deploying.html (original) +++ portals/site-live/pluto/v30/deploying.html Fri Jun 22 19:35:14 2018 @@ -47,7 +47,7 @@ <div class="xleft"> - Last Published: 2017-01-13 + Last Published: 2018-06-22 | <a href="http://portals.apache.org/pluto" class="externalLink">Home</a> </div> @@ -105,6 +105,10 @@ </li> <li class="none"> + <a href="../security.html">Security</a> + </li> + + <li class="none"> <a href="../status.html">Status</a> </li> @@ -136,27 +140,27 @@ <ul> <li class="none"> - <a href="../v30/getting-started.html">Getting Started</a> + <a href="../v301/getting-started.html">Getting Started</a> </li> <li class="none"> - <strong>Deploying Portlets</strong> - </li> + <a href="../v301/deploying.html">Deploying Portlets</a> + </li> <li class="none"> - <a href="../v30/portlet-api.html">Portlet Concepts</a> + <a href="../v301/portlet-api.html">Portlet Concepts</a> </li> <li class="none"> - <a href="../v30/v3Features.html">Version 3 Features</a> + <a href="../v301/v3Features.html">Version 3 Features</a> </li> <li class="none"> - <a href="../v30/tck.html">Using the TCK</a> + <a href="../v301/tck.html">Using the TCK</a> </li> <li class="none"> - <a href="../v30/release-notes.html">Release Notes</a> + <a href="../v301/release-notes.html">Release Notes</a> </li> </ul> <h5>Pluto 2.0</h5> @@ -250,13 +254,13 @@ </div> <div id="bodyColumn"> <div id="contentBox"> - <div class="section"><h2><a name="Deploying_a_Portlet_to_Pluto_Portal_Version_3.0"></a>Deploying a Portlet to Pluto Portal Version 3.0</h2> + <div class="section"><h2><a name="Deploying_a_Portlet_to_Pluto_Portal_Version_3.0"></a>Deploying a Portlet to Pluto Portal Version 3.0</h2> <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> -<div class="section"><h3><a name="Portlet_Deployment"></a>Portlet Deployment</h3> + </p> +<div class="section"><h3><a name="Portlet_Deployment"></a>Portlet Deployment</h3> <p> To deploy a portlet application, simply deploy the application war using any standard mechanism for your application server. There are many @@ -264,12 +268,12 @@ 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> <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> + </p> <div class="source"><pre> <plugin> <artifactId>maven-antrun-plugin</artifactId> @@ -290,30 +294,30 @@ </execution> </executions> </plugin> - </pre> -</div> + </pre> +</div> <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> -</div> -<div class="section"><h3><a name="Portlet_Publishing"></a>Portlet Publishing</h3> + </p> +</div> +<div class="section"><h3><a name="Portlet_Publishing"></a>Portlet Publishing</h3> <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> +<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> <p> The page can then be configured by adding a <code>page</code> child element of the <code>render-config</code> element, like this: @@ -325,18 +329,18 @@ <portlet context="/your_portlet_app_context_path" name="your_portlet_2"/> </page> </render-config> - </pre> -</div> -</p> + </pre> +</div> +</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> -</div> -</div> + </p> +</div> +</div> </div> </div> @@ -345,7 +349,7 @@ </div> <div id="footer"> <div class="xright">© - 2004-2017 + 2004-2018 Apache Software Foundation Modified: portals/site-live/pluto/v30/getting-started.html URL: http://svn.apache.org/viewvc/portals/site-live/pluto/v30/getting-started.html?rev=1834161&r1=1834160&r2=1834161&view=diff ============================================================================== --- portals/site-live/pluto/v30/getting-started.html (original) +++ portals/site-live/pluto/v30/getting-started.html Fri Jun 22 19:35:14 2018 @@ -47,7 +47,7 @@ <div class="xleft"> - Last Published: 2017-06-16 + Last Published: 2018-06-22 | <a href="http://portals.apache.org/pluto" class="externalLink">Home</a> </div> @@ -105,6 +105,10 @@ </li> <li class="none"> + <a href="../security.html">Security</a> + </li> + + <li class="none"> <a href="../status.html">Status</a> </li> @@ -136,27 +140,27 @@ <ul> <li class="none"> - <strong>Getting Started</strong> - </li> + <a href="../v301/getting-started.html">Getting Started</a> + </li> <li class="none"> - <a href="../v30/deploying.html">Deploying Portlets</a> + <a href="../v301/deploying.html">Deploying Portlets</a> </li> <li class="none"> - <a href="../v30/portlet-api.html">Portlet Concepts</a> + <a href="../v301/portlet-api.html">Portlet Concepts</a> </li> <li class="none"> - <a href="../v30/v3Features.html">Version 3 Features</a> + <a href="../v301/v3Features.html">Version 3 Features</a> </li> <li class="none"> - <a href="../v30/tck.html">Using the TCK</a> + <a href="../v301/tck.html">Using the TCK</a> </li> <li class="none"> - <a href="../v30/release-notes.html">Release Notes</a> + <a href="../v301/release-notes.html">Release Notes</a> </li> </ul> <h5>Pluto 2.0</h5> @@ -440,7 +444,7 @@ mvn archetype:generate \ </div> <div id="footer"> <div class="xright">© - 2004-2017 + 2004-2018 Apache Software Foundation Modified: portals/site-live/pluto/v30/portlet-api.html URL: http://svn.apache.org/viewvc/portals/site-live/pluto/v30/portlet-api.html?rev=1834161&r1=1834160&r2=1834161&view=diff ============================================================================== --- portals/site-live/pluto/v30/portlet-api.html (original) +++ portals/site-live/pluto/v30/portlet-api.html Fri Jun 22 19:35:14 2018 @@ -47,7 +47,7 @@ <div class="xleft"> - Last Published: 2017-01-13 + Last Published: 2018-06-22 | <a href="http://portals.apache.org/pluto" class="externalLink">Home</a> </div> @@ -105,6 +105,10 @@ </li> <li class="none"> + <a href="../security.html">Security</a> + </li> + + <li class="none"> <a href="../status.html">Status</a> </li> @@ -136,27 +140,27 @@ <ul> <li class="none"> - <a href="../v30/getting-started.html">Getting Started</a> + <a href="../v301/getting-started.html">Getting Started</a> </li> <li class="none"> - <a href="../v30/deploying.html">Deploying Portlets</a> + <a href="../v301/deploying.html">Deploying Portlets</a> </li> <li class="none"> - <strong>Portlet Concepts</strong> - </li> + <a href="../v301/portlet-api.html">Portlet Concepts</a> + </li> <li class="none"> - <a href="../v30/v3Features.html">Version 3 Features</a> + <a href="../v301/v3Features.html">Version 3 Features</a> </li> <li class="none"> - <a href="../v30/tck.html">Using the TCK</a> + <a href="../v301/tck.html">Using the TCK</a> </li> <li class="none"> - <a href="../v30/release-notes.html">Release Notes</a> + <a href="../v301/release-notes.html">Release Notes</a> </li> </ul> <h5>Pluto 2.0</h5> @@ -250,87 +254,87 @@ </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> + <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> + </p> <img src="../images/phaseModel.png" /><p> There are three processing stages containing five processing phases, defined as follows: - </p> + </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> + </p> <ul><li> The Action URL, or Partial Action URL triggers preparation stage processing. - </li> + </li> <li> The Render URL triggers aggregation stage processing. - </li> + </li> <li> The Resource URL triggers resourec stage processing. - </li> -</ul> + </li> +</ul> <p> When a stage is triggered, the processing phases within that stage are executed. - </p> + </p> <dl><dt> Action Phase - </dt> + </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> + </dd> <dt> Event Phase - </dt> + </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> + </dd> <dt> Header Phase (new with V3): - </dt> + </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> + </dd> <dt> Render Phase: - </dt> + </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> + </dd> <dt> Resource Stage - </dt> + </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> + </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> <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> + </p> +</div> +<div class="section"><h3><a name="The_Portlet_Lifecyce_Methods"></a>The Portlet Lifecyce Methods</h3> <img src="../images/lifecycleMethods.png" /><p> Each portlet phase has a corresponding lifecycle method. The portlet container executes the prrocessing phase by calling the portlet lifecycle method. @@ -338,11 +342,11 @@ 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> <p> Portlets can implement the lifecycle methods by extending the GenericPortlet class or by using the extended method annotations. - </p> + </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 @@ -350,22 +354,22 @@ 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> + </p> <ul><li> Set up / tear down: @InitMethod, @DestroyMethod - </li> + </li> <li> Preparation stage: @ActionMethod, @EventMethod, - </li> + </li> <li> Aggregation stage: @HeaderMethod, @RenderMethod, - </li> + </li> <li> Resource stage: @ServeResourceMethod - </li> -</ul> -</div> -</div> + </li> +</ul> +</div> +</div> </div> </div> @@ -374,7 +378,7 @@ </div> <div id="footer"> <div class="xright">© - 2004-2017 + 2004-2018 Apache Software Foundation Modified: portals/site-live/pluto/v30/release-notes.html URL: http://svn.apache.org/viewvc/portals/site-live/pluto/v30/release-notes.html?rev=1834161&r1=1834160&r2=1834161&view=diff ============================================================================== --- portals/site-live/pluto/v30/release-notes.html (original) +++ portals/site-live/pluto/v30/release-notes.html Fri Jun 22 19:35:14 2018 @@ -47,7 +47,7 @@ <div class="xleft"> - Last Published: 2017-01-13 + Last Published: 2018-06-22 | <a href="http://portals.apache.org/pluto" class="externalLink">Home</a> </div> @@ -105,6 +105,10 @@ </li> <li class="none"> + <a href="../security.html">Security</a> + </li> + + <li class="none"> <a href="../status.html">Status</a> </li> @@ -136,28 +140,28 @@ <ul> <li class="none"> - <a href="../v30/getting-started.html">Getting Started</a> + <a href="../v301/getting-started.html">Getting Started</a> </li> <li class="none"> - <a href="../v30/deploying.html">Deploying Portlets</a> + <a href="../v301/deploying.html">Deploying Portlets</a> </li> <li class="none"> - <a href="../v30/portlet-api.html">Portlet Concepts</a> + <a href="../v301/portlet-api.html">Portlet Concepts</a> </li> <li class="none"> - <a href="../v30/v3Features.html">Version 3 Features</a> + <a href="../v301/v3Features.html">Version 3 Features</a> </li> <li class="none"> - <a href="../v30/tck.html">Using the TCK</a> + <a href="../v301/tck.html">Using the TCK</a> </li> <li class="none"> - <strong>Release Notes</strong> - </li> + <a href="../v301/release-notes.html">Release Notes</a> + </li> </ul> <h5>Pluto 2.0</h5> <ul> @@ -250,13 +254,13 @@ </div> <div id="bodyColumn"> <div id="contentBox"> - <subtitle></subtitle><div class="section"><h2><a name="Release_Notes_-_Pluto_3.0.0"></a>Release Notes - Pluto 3.0.0</h2> + <subtitle></subtitle><div class="section"><h2><a name="Release_Notes_-_Pluto_3.0.0"></a>Release Notes - Pluto 3.0.0</h2> <p> Pluto version 3.0.0 is a completely new release dedicated to the implementation of JSR 362 Portlet Specification 3.0.0. - </p> -<p></p> -</div> + </p> +<p></p> +</div> </div> </div> @@ -265,7 +269,7 @@ </div> <div id="footer"> <div class="xright">© - 2004-2017 + 2004-2018 Apache Software Foundation Modified: portals/site-live/pluto/v30/tck.html URL: http://svn.apache.org/viewvc/portals/site-live/pluto/v30/tck.html?rev=1834161&r1=1834160&r2=1834161&view=diff ============================================================================== --- portals/site-live/pluto/v30/tck.html (original) +++ portals/site-live/pluto/v30/tck.html Fri Jun 22 19:35:14 2018 @@ -47,7 +47,7 @@ <div class="xleft"> - Last Published: 2017-01-13 + Last Published: 2018-06-22 | <a href="http://portals.apache.org/pluto" class="externalLink">Home</a> </div> @@ -105,6 +105,10 @@ </li> <li class="none"> + <a href="../security.html">Security</a> + </li> + + <li class="none"> <a href="../status.html">Status</a> </li> @@ -136,27 +140,27 @@ <ul> <li class="none"> - <a href="../v30/getting-started.html">Getting Started</a> + <a href="../v301/getting-started.html">Getting Started</a> </li> <li class="none"> - <a href="../v30/deploying.html">Deploying Portlets</a> + <a href="../v301/deploying.html">Deploying Portlets</a> </li> <li class="none"> - <a href="../v30/portlet-api.html">Portlet Concepts</a> + <a href="../v301/portlet-api.html">Portlet Concepts</a> </li> <li class="none"> - <a href="../v30/v3Features.html">Version 3 Features</a> + <a href="../v301/v3Features.html">Version 3 Features</a> </li> <li class="none"> - <strong>Using the TCK</strong> - </li> + <a href="../v301/tck.html">Using the TCK</a> + </li> <li class="none"> - <a href="../v30/release-notes.html">Release Notes</a> + <a href="../v301/release-notes.html">Release Notes</a> </li> </ul> <h5>Pluto 2.0</h5> @@ -250,52 +254,52 @@ </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> + <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> +<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> <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> <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> <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> <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> <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> <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> <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 @@ -303,101 +307,101 @@ 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> <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> + </p> <ul><li> "<testcasename>-setup" - Test setup link - </li> + </li> <li> "<testcasename>-clickme" - Test execution link - </li> + </li> <li> "<testcasename>-results" - Test results field; "Succeeded" or "Failed" - </li> + </li> <li> "<testcasename>-details" - Test details field; provides failure reason - </li> -</ul> + </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> <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> <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> +</div> +<div class="section"><h3><a name="Project_Structure"></a>Project Structure</h3> <p> The TCK source code is located in the subdirectory <code>./pluto/portlet-tck_3.0</code>. The project consists of the following modules: - </p> + </p> <dl><dt> common - </dt> + </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> + </dd> <dt> deploy - </dt> + </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> + </dd> <dt> driver - </dt> + </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> + </dd> <dt> TestModule1 - </dt> + </dt> <dd> Intended to be a sample for writing TCK portlets. Defines several portlets, each of which is placed on its own page. - </dd> + </dd> <dt> TestModule2 - </dt> + </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> + </dd> <dt> TestModule3 - </dt> + </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> + </dd> <dt> V2*Tests - </dt> + </dt> <dd> Modules with this naming scheme contain test cases to demostrate backward compatibilty with the Portlet Specification version 2.0. @@ -405,92 +409,92 @@ generated code for verifying the method signatures. These portlets should not be changed by hand. The remaining portlets contain additional V2 verification code. - </dd> + </dd> <dt> V3*Tests - </dt> + </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> + </dd> +</dl> +</div> +<div class="section"><h3><a name="The_Page_File"></a>The Page File</h3> <p> The page file defines the page names for the TCK and the portlets expected to be on each page. This is an XML file in the form of a Pluto driver configuration file. The schema for this file is located in the Pluto project at the following location: - </p> -<p><code>./pluto/pluto-portal-driver/src/main/resources/pluto-portal-driver-config.xsd</code></p> + </p> +<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> +<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> <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.0_TCK_Source_Code"></a>Accessing the version 3.0.0 TCK Source Code</h3> + </p> +</div> +<div class="section"><h3><a name="Accessing_the_version_3.0.0_TCK_Source_Code"></a>Accessing the version 3.0.0 TCK Source Code</h3> <p> The source code is located in the - <a href="https://github.com/apache/portals-pluto" class="externalLink">Apache Pluto repository</a>. - </p> + <a class="externalLink" href="https://github.com/apache/portals-pluto">Apache Pluto repository</a>. + </p> <p> First, use git to clone the repository: - <code>git clone https://github.com/apache/portals-pluto.git pluto</code></p> + <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.0: - </p> -<p><code>git checkout pluto-3.0.0</code></p> + </p> +<p><code>git checkout pluto-3.0.0</code></p> <p> The version 3.0.0 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> +</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> <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> +<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> +<p><code>mvn clean install -Ppluto</code></p> <p> These commands can be executed either from the Pluto project base directory or from the <code>./pluto/portlet-tck_3.0</code> directory. - </p> -</div> -<div class="section"><h3><a name="Deploying_the_TCK"></a>Deploying the TCK</h3> + </p> +</div> +<div class="section"><h3><a name="Deploying_the_TCK"></a>Deploying the TCK</h3> <p> Use the page file which has the default name of <code>deploy/target/deploy-files/pluto-portal-driver-config.xml</code> to create pages for your system. The WAR files in the <code>deploy/target/deploy-files</code> contain the test portlet code. Deploy these files on your system. - </p> + </p> <p> If you are testing with Apache Pluto, you can simply copy the page file into the Pluto <code>webapps/pluto/WEB-INF</code> directory in order to set up the pages. To deploy the WAR files on Pluto, copy them into the Pluto webapps directory. - </p> -</div> -<div class="section"><h3><a name="Running_the_TCK"></a>Running the TCK</h3> + </p> +</div> +<div class="section"><h3><a name="Running_the_TCK"></a>Running the TCK</h3> <p> Configure the parent POM file <code>./pluto/portlet-tck_3.0/pom.xml</code> to address your system under test. See the properties section in the pom.xml file. @@ -500,100 +504,100 @@ 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> <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> <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> <p> Run the TCK by switching to the driver subdirectory and execute the command: - </p> -<p><code>mvn test -Prun-tck</code></p> + </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> +<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> +<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> +<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> +<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> +<p><code>portlet-tck_3.0/driver/src/main/resources/xml-resources/ignoredTestCases.xml</code></p> <p> By default, the test driver will ignore and will not execute all test cases in the ignore list. If you wish to execute all test cases including those in the ignore list, set the command line flag 'test.ignore' to false: - </p> -<p><code>mvn test -Prun-tck -Dtest.ignore=false</code></p> -</div> -<div class="section"><h3><a name="Passing_the_TCK"></a>Passing the TCK</h3> + </p> +<p><code>mvn test -Prun-tck -Dtest.ignore=false</code></p> +</div> +<div class="section"><h3><a name="Passing_the_TCK"></a>Passing the TCK</h3> <p> TCK execution is self-policing. If you are a portal vendor and wish to claim JSR 362 compatibility for your product, you should be able to demonstrate that this TCK can be executed against your product with no errors. - </p> -</div> -<div class="section"><h3><a name="Contesting_a_Test_Case"></a>Contesting a Test Case</h3> + </p> +</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> <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> <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> +<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> <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> +<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> <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> + </p> +</div> +</div> </div> </div> @@ -602,7 +606,7 @@ </div> <div id="footer"> <div class="xright">© - 2004-2017 + 2004-2018 Apache Software Foundation Modified: portals/site-live/pluto/v30/v3Features.html URL: http://svn.apache.org/viewvc/portals/site-live/pluto/v30/v3Features.html?rev=1834161&r1=1834160&r2=1834161&view=diff ============================================================================== --- portals/site-live/pluto/v30/v3Features.html (original) +++ portals/site-live/pluto/v30/v3Features.html Fri Jun 22 19:35:14 2018 @@ -47,7 +47,7 @@ <div class="xleft"> - Last Published: 2017-01-13 + Last Published: 2018-06-22 | <a href="http://portals.apache.org/pluto" class="externalLink">Home</a> </div> @@ -105,6 +105,10 @@ </li> <li class="none"> + <a href="../security.html">Security</a> + </li> + + <li class="none"> <a href="../status.html">Status</a> </li> @@ -136,27 +140,27 @@ <ul> <li class="none"> - <a href="../v30/getting-started.html">Getting Started</a> + <a href="../v301/getting-started.html">Getting Started</a> </li> <li class="none"> - <a href="../v30/deploying.html">Deploying Portlets</a> + <a href="../v301/deploying.html">Deploying Portlets</a> </li> <li class="none"> - <a href="../v30/portlet-api.html">Portlet Concepts</a> + <a href="../v301/portlet-api.html">Portlet Concepts</a> </li> <li class="none"> - <strong>Version 3 Features</strong> - </li> + <a href="../v301/v3Features.html">Version 3 Features</a> + </li> <li class="none"> - <a href="../v30/tck.html">Using the TCK</a> + <a href="../v301/tck.html">Using the TCK</a> </li> <li class="none"> - <a href="../v30/release-notes.html">Release Notes</a> + <a href="../v301/release-notes.html">Release Notes</a> </li> </ul> <h5>Pluto 2.0</h5> @@ -250,7 +254,7 @@ </div> <div id="bodyColumn"> <div id="contentBox"> - <div class="section"><h2><a name="Portlet_API_version_3.0_Overview"></a>Portlet API version 3.0 Overview</h2> + <div class="section"><h2><a name="Portlet_API_version_3.0_Overview"></a>Portlet API version 3.0 Overview</h2> <p> This section presents some of the main new features introduced by JSR 362. JSR 362 Portlet Specification 3.0 introduces many improvements to the @@ -263,26 +267,26 @@ 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> <p> Additional Resources: - </p> + </p> <ul><li> The - <a href="http://jcp.org/en/jsr/detail?id=362" class="externalLink">Java Community Process JSR 362 page</a> + <a class="externalLink" href="http://jcp.org/en/jsr/detail?id=362">Java Community Process JSR 362 page</a> will allow you to access the complete specification for full details. - </li> + </li> <li> The JavaOne 2016 presentation - <a href="https://static.rainfocus.com/oracle/oow16/sess/1462801563632001pOv8/ppt/JSR362-JavaOne-2016a.pdf" class="externalLink">"Portlet Specification 3.0 Is Here!"</a> + <a class="externalLink" 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> <li> The <a href="../portlet-3.0-apidocs/index.html">Portlet API Version 3.0</a> page documents the portlet programming interface. - </li> -</ul> -<div class="section"><h3><a name="Configuration_by_Annotation"></a>Configuration by Annotation</h3> + </li> +</ul> +<div class="section"><h3><a name="Configuration_by_Annotation"></a>Configuration by Annotation</h3> <p> The version 3.0 portlet API introduces the <code>@PortletApplication</code> and <code>@PortletConfiguration</code> annotations to allow portlets to @@ -291,7 +295,7 @@ configuration annotations and a portlet deployment descriptor are present, values from the deployment descriptor override those provided by annotation. - </p> + </p> <pre> @PortletApplication( defaultNamespaceURI="https://www.java.net/", @@ -312,21 +316,21 @@ @LocaleString(locale = "EN", value="Annotated Portlet"), } ) - </pre></div> -<div class="section"><h3><a name="Extended_Method_Annotations"></a>Extended Method Annotations</h3> + </pre></div> +<div class="section"><h3><a name="Extended_Method_Annotations"></a>Extended Method Annotations</h3> <p> Version 3 extends the idea of method annotations introduced with version 2. Portlet methods may now be located in classes that do not implement portlet interfaces. Also, lifecycle methods belonging to a single portlet need not be in the same class. - </p> + </p> <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> <p> Use of the extended method annotation <code>@RenderMethod</code> implicitly configures a portlet. No additional configuration is required. @@ -334,14 +338,14 @@ 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> + </p> <pre> @RenderMethod(portletNames = "BeanPortletDemo") public String simpleRender() { return "Hello, World!"; } - </pre></div> -<div class="section"><h3><a name="CDI_Support"></a>CDI Support</h3> + </pre></div> +<div class="section"><h3><a name="CDI_Support"></a>CDI Support</h3> <p> Version 3 provides support for CDI in several ways. Portlet classes are instantiated through the CDI container @@ -353,29 +357,29 @@ public String simpleRender() { Many portlet artifacts have been made injectable - the request and response objects, parameter objects, the portlet configuration object, etc. - </p> + </p> <p> Custom CDI scopes for portlets have also been introduced. <ul><li> The portlet session scope - @PortletSessionScoped - </li> + </li> <li> The portlet request scope - @PortletRequestScoped - </li> + </li> <li> The render state scope - @RenderStateScoped - </li> -</ul> -</p> -</div> -<div class="section"><h3><a name="Asynchronous_support"></a>Asynchronous support</h3> + </li> +</ul> +</p> +</div> +<div class="section"><h3><a name="Asynchronous_support"></a>Asynchronous support</h3> <p> The portlet programming model provides asynchronous support similar to that provided by servlets. Using asynchronous support, long-running requests can run in separate thread in order to free up application server resources. Asynchronous support is provided for resource requests only. - </p> + </p> <p> Asynchronous processing must be started within original resource request. The asynchronous thread runs in context of original resource request, @@ -384,11 +388,11 @@ public String simpleRender() { 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> <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> <p> The following diagram illustrates a sample asynchronous processing sequence. Note that this shows only one of many possible scenarios. @@ -401,9 +405,9 @@ public String simpleRender() { original resource method. The resource method then includes a JSP to produce output and completes asynchronous processing. - </p> -<img src="../images/async.png" /></div> -<div class="section"><h3><a name="The_Portlet_Hub_JavaScript_API"></a>The Portlet Hub JavaScript API</h3> + </p> +<img src="../images/async.png" /></div> +<div class="section"><h3><a name="The_Portlet_Hub_JavaScript_API"></a>The Portlet Hub JavaScript API</h3> <p> The portlet specification defines a JavaScript API that can be used by portlet code running on the browser to read and set render parameters, carry out portlet @@ -418,7 +422,7 @@ public String simpleRender() { markup required to update the page. The portal implementation is responsible for making the portlet hub module available on the portal page. - </p> + </p> <p> The following diagram illustrates portlet action processing initiated through the portlet hub. @@ -435,44 +439,44 @@ public String simpleRender() { 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> + </p> <img src="../images/hubaction.png" /><p> The main JavaScript functions provided by the portlet hub are listed below. - </p> + </p> <dl><dt><code> Promise(PortletInit) register(<Portlet ID>) - </code></dt> + </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> + </dd> <dt><code> ListenerID addEventListener(<listener type>, <listener method>) - </code></dt> + </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> + </dd> <dt><code> Promise(url) createResourceUrl(<resource parameters>, <cacheability>, <resource ID>) - </code></dt> + </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> + </dd> <dt><code> setPortletState(<new portlet state>) - </code></dt> + </code></dt> <dd> Allows portlet client to set private and public parameters, portlet mode, window state - </dd> + </dd> <dt><code> action(<action parameters>, <form element>) - </code></dt> + </code></dt> <dd> Carries out a portlet action in Ajax mode (Ajax action) - </dd> -</dl> -<pre></pre></div> -</div> + </dd> +</dl> +<pre></pre></div> +</div> </div> </div> @@ -481,7 +485,7 @@ public String simpleRender() { </div> <div id="footer"> <div class="xright">© - 2004-2017 + 2004-2018 Apache Software Foundation Added: portals/site-live/pluto/v301/deploying.html URL: http://svn.apache.org/viewvc/portals/site-live/pluto/v301/deploying.html?rev=1834161&view=auto ============================================================================== --- portals/site-live/pluto/v301/deploying.html (added) +++ portals/site-live/pluto/v301/deploying.html Fri Jun 22 19:35:14 2018 @@ -0,0 +1,369 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + + + + + + + + + + + +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + <title>Pluto - Deploying a Portlet to Pluto Portal Version 3.0.1</title> + <style type="text/css" media="all"> + @import url("../css/maven-base.css"); + @import url("../css/maven-theme.css"); + @import url("../css/site.css"); + </style> + <link rel="stylesheet" href="../css/print.css" type="text/css" media="print" /> + </head> + <body class="composite"> + <div id="banner"> + <a href="http://portals.apache.org/pluto/" id="bannerLeft"> + + <img src="http://portals.apache.org/pluto/images/apache-portals.gif" alt="" /> + + </a> + <span id="bannerRight"> + + <img src="http://portals.apache.org/pluto/images/banner.png" alt="" /> + + </span> + <div class="clear"> + <hr/> + </div> + </div> + <div id="breadcrumbs"> + + + + + + + + + <div class="xleft"> + Last Published: 2018-06-22 + | + <a href="http://portals.apache.org/pluto" class="externalLink">Home</a> + </div> + <div class="xright"> <a href="../portlet-3.0-apidocs/index.html">Portlet 3.0 API</a> + | + <a href="../portlet-2.0-apidocs/index.html">Portlet 2.0 API</a> + | + <a href="../portlet-1.0-apidocs/index.html">Portlet 1.0 API</a> + | + <a href="http://jcp.org/en/jsr/detail?id=362" class="externalLink">JSR 362 JCP Page</a> + | + <a href="http://jcp.org/en/jsr/detail?id=286" class="externalLink">JSR 286 JCP Page</a> + | + <a href="http://jcp.org/en/jsr/detail?id=168" class="externalLink">JSR 168 JCP Page</a> + + + + + + + + + </div> + <div class="clear"> + <hr/> + </div> + </div> + <div id="leftColumn"> + <div id="navcolumn"> + + + + + + + + + <h5>The Pluto Project</h5> + <ul> + + <li class="none"> + <a href="../index.html">About Pluto</a> + </li> + + <li class="none"> + <a href="../mission.html">Mission</a> + </li> + + <li class="none"> + <a href="../download.html">Download</a> + </li> + + <li class="none"> + <a href="../news.html">News</a> + </li> + + <li class="none"> + <a href="../security.html">Security</a> + </li> + + <li class="none"> + <a href="../status.html">Status</a> + </li> + + <li class="none"> + <a href="../architecture.html">Architecture</a> + </li> + + <li class="none"> + <a href="../resources.html">Resources</a> + </li> + + <li class="none"> + <a href="../faq.html">FAQ</a> + </li> + + <li class="none"> + <a href="http://wiki.apache.org/portals/Pluto" class="externalLink">Wiki</a> + </li> + + <li class="none"> + <a href="https://issues.apache.org/jira/browse/PLUTO" class="externalLink">Issue Tracker (JIRA)</a> + </li> + + <li class="none"> + <a href="../helping.html">Get Involved</a> + </li> + </ul> + <h5>Pluto 3.0</h5> + <ul> + + <li class="none"> + <a href="../v301/getting-started.html">Getting Started</a> + </li> + + <li class="none"> + <strong>Deploying Portlets</strong> + </li> + + <li class="none"> + <a href="../v301/portlet-api.html">Portlet Concepts</a> + </li> + + <li class="none"> + <a href="../v301/v3Features.html">Version 3 Features</a> + </li> + + <li class="none"> + <a href="../v301/tck.html">Using the TCK</a> + </li> + + <li class="none"> + <a href="../v301/release-notes.html">Release Notes</a> + </li> + </ul> + <h5>Pluto 2.0</h5> + <ul> + + <li class="none"> + <a href="../v20/getting-started.html">Getting Started</a> + </li> + + <li class="none"> + <a href="../v20/deploying.html">Deploying</a> + </li> + + <li class="none"> + <a href="../v20/embedding.html">Embedding</a> + </li> + + <li class="none"> + <a href="../v20/release-notes.html">Release Notes</a> + </li> + + <li class="none"> + <a href="../v20/app-servers.html">App Servers</a> + </li> + + <li class="none"> + <a href="../v20/powered.html">Powered By Pluto</a> + </li> + </ul> + <h5>Pluto 1.1</h5> + <ul> + + <li class="none"> + <a href="../v11/getting-started.html">Getting Started</a> + </li> + + <li class="none"> + <a href="../v11/deploying.html">Deploying</a> + </li> + + <li class="none"> + <a href="../v11/release-notes.html">Release Notes</a> + </li> + </ul> + <h5>Subprojects</h5> + <ul> + + <li class="none"> + <a href="../subprojects/subprojects.html">Overview</a> + </li> + </ul> + <h5>Project Info</h5> + <ul> + + <li class="none"> + <a href="../project-summary.html">Project Summary</a> + </li> + + <li class="none"> + <a href="../team-list.html">Project Team</a> + </li> + + <li class="none"> + <a href="../license.html">Project License</a> + </li> + + <li class="none"> + <a href="../mail-lists.html">Mailing Lists</a> + </li> + + <li class="none"> + <a href="../source-repository.html">Source Repository</a> + </li> + + <li class="none"> + <a href="../issue-tracking.html">Issue Tracking</a> + </li> + </ul> + <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"> + <img alt="Built by Maven" src="../images/logos/maven-feather.png"></img> + </a> + + + + + + + + + </div> + </div> + <div id="bodyColumn"> + <div id="contentBox"> + <div class="section"><h2><a name="Deploying_a_Portlet_to_Pluto_Portal_Version_3.0.1"></a>Deploying a Portlet to Pluto Portal Version 3.0.1</h2> +<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> +<div class="section"><h3><a name="Portlet_Deployment"></a>Portlet Deployment</h3> +<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> +<div class="source"><pre> + <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> + </pre> +</div> +<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> +</div> +<div class="section"><h3><a name="Portlet_Publishing"></a>Portlet Publishing</h3> +<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: + <div class="source"><pre> +<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> + </pre> +</div> +</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> +</div> +</div> + + </div> + </div> + <div class="clear"> + <hr/> + </div> + <div id="footer"> + <div class="xright">© + 2004-2018 + + Apache Software Foundation + + + + + + + + + </div> + <div class="clear"> + <hr/> + </div> + </div> + </body> +</html> Added: portals/site-live/pluto/v301/getting-started.html URL: http://svn.apache.org/viewvc/portals/site-live/pluto/v301/getting-started.html?rev=1834161&view=auto ============================================================================== --- portals/site-live/pluto/v301/getting-started.html (added) +++ portals/site-live/pluto/v301/getting-started.html Fri Jun 22 19:35:14 2018 @@ -0,0 +1,464 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + + + + + + + + + + + +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + <title>Pluto - Getting Started With Pluto 3.0.1</title> + <style type="text/css" media="all"> + @import url("../css/maven-base.css"); + @import url("../css/maven-theme.css"); + @import url("../css/site.css"); + </style> + <link rel="stylesheet" href="../css/print.css" type="text/css" media="print" /> + </head> + <body class="composite"> + <div id="banner"> + <a href="http://portals.apache.org/pluto/" id="bannerLeft"> + + <img src="http://portals.apache.org/pluto/images/apache-portals.gif" alt="" /> + + </a> + <span id="bannerRight"> + + <img src="http://portals.apache.org/pluto/images/banner.png" alt="" /> + + </span> + <div class="clear"> + <hr/> + </div> + </div> + <div id="breadcrumbs"> + + + + + + + + + <div class="xleft"> + Last Published: 2018-06-22 + | + <a href="http://portals.apache.org/pluto" class="externalLink">Home</a> + </div> + <div class="xright"> <a href="../portlet-3.0-apidocs/index.html">Portlet 3.0 API</a> + | + <a href="../portlet-2.0-apidocs/index.html">Portlet 2.0 API</a> + | + <a href="../portlet-1.0-apidocs/index.html">Portlet 1.0 API</a> + | + <a href="http://jcp.org/en/jsr/detail?id=362" class="externalLink">JSR 362 JCP Page</a> + | + <a href="http://jcp.org/en/jsr/detail?id=286" class="externalLink">JSR 286 JCP Page</a> + | + <a href="http://jcp.org/en/jsr/detail?id=168" class="externalLink">JSR 168 JCP Page</a> + + + + + + + + + </div> + <div class="clear"> + <hr/> + </div> + </div> + <div id="leftColumn"> + <div id="navcolumn"> + + + + + + + + + <h5>The Pluto Project</h5> + <ul> + + <li class="none"> + <a href="../index.html">About Pluto</a> + </li> + + <li class="none"> + <a href="../mission.html">Mission</a> + </li> + + <li class="none"> + <a href="../download.html">Download</a> + </li> + + <li class="none"> + <a href="../news.html">News</a> + </li> + + <li class="none"> + <a href="../security.html">Security</a> + </li> + + <li class="none"> + <a href="../status.html">Status</a> + </li> + + <li class="none"> + <a href="../architecture.html">Architecture</a> + </li> + + <li class="none"> + <a href="../resources.html">Resources</a> + </li> + + <li class="none"> + <a href="../faq.html">FAQ</a> + </li> + + <li class="none"> + <a href="http://wiki.apache.org/portals/Pluto" class="externalLink">Wiki</a> + </li> + + <li class="none"> + <a href="https://issues.apache.org/jira/browse/PLUTO" class="externalLink">Issue Tracker (JIRA)</a> + </li> + + <li class="none"> + <a href="../helping.html">Get Involved</a> + </li> + </ul> + <h5>Pluto 3.0</h5> + <ul> + + <li class="none"> + <strong>Getting Started</strong> + </li> + + <li class="none"> + <a href="../v301/deploying.html">Deploying Portlets</a> + </li> + + <li class="none"> + <a href="../v301/portlet-api.html">Portlet Concepts</a> + </li> + + <li class="none"> + <a href="../v301/v3Features.html">Version 3 Features</a> + </li> + + <li class="none"> + <a href="../v301/tck.html">Using the TCK</a> + </li> + + <li class="none"> + <a href="../v301/release-notes.html">Release Notes</a> + </li> + </ul> + <h5>Pluto 2.0</h5> + <ul> + + <li class="none"> + <a href="../v20/getting-started.html">Getting Started</a> + </li> + + <li class="none"> + <a href="../v20/deploying.html">Deploying</a> + </li> + + <li class="none"> + <a href="../v20/embedding.html">Embedding</a> + </li> + + <li class="none"> + <a href="../v20/release-notes.html">Release Notes</a> + </li> + + <li class="none"> + <a href="../v20/app-servers.html">App Servers</a> + </li> + + <li class="none"> + <a href="../v20/powered.html">Powered By Pluto</a> + </li> + </ul> + <h5>Pluto 1.1</h5> + <ul> + + <li class="none"> + <a href="../v11/getting-started.html">Getting Started</a> + </li> + + <li class="none"> + <a href="../v11/deploying.html">Deploying</a> + </li> + + <li class="none"> + <a href="../v11/release-notes.html">Release Notes</a> + </li> + </ul> + <h5>Subprojects</h5> + <ul> + + <li class="none"> + <a href="../subprojects/subprojects.html">Overview</a> + </li> + </ul> + <h5>Project Info</h5> + <ul> + + <li class="none"> + <a href="../project-summary.html">Project Summary</a> + </li> + + <li class="none"> + <a href="../team-list.html">Project Team</a> + </li> + + <li class="none"> + <a href="../license.html">Project License</a> + </li> + + <li class="none"> + <a href="../mail-lists.html">Mailing Lists</a> + </li> + + <li class="none"> + <a href="../source-repository.html">Source Repository</a> + </li> + + <li class="none"> + <a href="../issue-tracking.html">Issue Tracking</a> + </li> + </ul> + <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"> + <img alt="Built by Maven" src="../images/logos/maven-feather.png"></img> + </a> + + + + + + + + + </div> + </div> + <div id="bodyColumn"> + <div id="contentBox"> + <div class="section"><h2><a name="Installing_the_Pluto_3.0.1_Binary_Build"></a>Installing the Pluto 3.0.1 Binary Build</h2> +<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 type="1"><li> + + Download the Pluto 3.0.1 binary distribution named <strong>pluto-bundle-3.0.1.zip</strong> 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 type="1"><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 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 class="section"><h2><a name="Building_Pluto_3.0.1_from_Source"></a>Building Pluto 3.0.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> +<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 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. + </p> +<h4>Obtaining Pluto 3.0.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> +<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> +<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 + <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> +</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.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> +</div> +<div class="section"><h2><a name="Using_the_Pluto_Maven_Archetypes"></a>Using the Pluto Maven Archetypes</h2> +<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. + <div class="source"><pre> +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 + </pre> +</div> +</p> +<p> + The bean-portlet-archetype can be used to create a modern "bean portlet" that utilizes the Portlet 3.0.1 CDI features. + <div class="source"><pre> +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 + </pre> +</div> +</p> +<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">© + 2004-2018 + + Apache Software Foundation + + + + + + + + + </div> + <div class="clear"> + <hr/> + </div> + </div> + </body> +</html>
