JSF 1.2 and Portlet 1.0 Configurations

eXo Plaftorm: PC, WCM, etc

See eXo Platform.

Tomcat 6 and Pluto 1.1.x

The Portlet 1.0 Bridge for JSF 1.2 should run with existing Pluto 1.1.x implementations provided you meet the pre-requisites for JSF 1.2, namely JavaEE 5 support including servlet 2.5, jsp 2.1, and jstl 1.2. This means that when using Pluto in a Tomcat environment you must use Tomcat 6 and not Tomcat 5.x. Unfortunately, Pluto doesn't provide a prepackaged installable Tomcat 6/Pluto 1.1.x download. This means if you want to run in a Pluto 1.1.x environment you will need to manually install/configure the software. Below is some documentation on how to do this.


Use Pluto 2.x instead of Pluto 1.1.x: The Portlet 2.0 specification is backwards compatible with Portlet 1.0, therefore you can run the Portlet 1.0 Bridge for JSF 1.2 in a Pluto 2.x installation. Since Pluto 2.x does come in a download prebundled with Tomcat 6, installation is much simpler. Download pluto-2.0.x-bundle.zip(tar) from the Pluto (2.0) download page at http://portals.apache.org/pluto/download.html


These items must be installed and working on your system before you get started:


  1. Modify your ~/.m2/settings.xml to add the following plugin group:

  2. Download Tomcat 6.0.20 or greater (http://tomcat.apache.org/download-60.cgi). Extract it into a directory.

  3. Make sure the  <Connector>  element in Tomcat's conf/server.xml file has the attribute  emptySessionPath="true"  set. If more then one connection is identified, this will be the "HTTP/1.1" connector.

  4. Add some users to Tomcat's conf/tomcat-users.xml file. My understanding is that Pluto installer is supposed to do this for you, but it didn't in my case. The default users file has comments around the default users so be sure to remove them. Here is a good example:

       <role rolename="manager"/>
       <role rolename="pluto"/>
       <role rolename="tomcat"/>
       <role rolename="role1"/>
       <user username="tomcat" password="tomcat" roles="tomcat,pluto,manager"/>
       <user username="role1" password="tomcat" roles="role1"/>
       <user username="both" password="tomcat" roles="tomcat,role1"/>
       <user username="pluto" password="pluto" roles="pluto,manager"/>
  5. Determine the version of Pluto 1.1.x you want to install and use. The current latest version is 1.1.7 and is referenced in the rest of the example below.
  6. Create a directory for your Pluto 1.1.7 source tree and cd into it from a command line.
  7. Type:  svn checkout https://svn.apache.org/repos/asf/portals/pluto/tags/pluto-1.1.7 

  8. Type:  mvn pluto:install -DinstallDir="<TOMCAT_DIR>"  Note: in Windows you may need to append the Drive Letter as well as the path

  9. In Tomcat's bin directory, execute  startup.sh  (linux) or  startup.bat  (windows)

  10. Browse to  http://localhost:8080/pluto/portal 

  11. Login as user pluto (password=pluto) or tomcat (password=tomcat) if you are using the tomcat-users.xml above or else whatever user you have set up to be in the pluto and manager role.

Add Additional Libraries

The above provides you with an installation that has everything you need to run a packaged portlet bridge application (assuming that the package has an appropriate pluto modified web.xml and includes the portlet bridge jars and the JSF jars) except for the JSTL 1.2 jar (jstl-api-1.2.jar). Download this jar from a maven repository (e.g. try http://repo2.maven.org/maven2/javax/servlet/jstl/1.2/) and place it into your <TOMCAT_DIR>/lib directory.

Verify JSF Portlet (Bridge) execution

Before attempting to deploy and run your own JSF based portlet application, verify that the above installation is complete and runs the Portlet 1.0 Bridge for JSF 1.2 bridge successfully, by deploying one of the example applications included in the examples distribution that is part of the Portlet Bridge release. For more information on using these examples see the related topic in this wiki called Running the Bridge Examples.

Setting_up_Portal_Environments_for_Bridge (last edited 2010-06-17 23:02:52 by MichaelFreedman)