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.
Alternatives
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
Prerequisites
These items must be installed and working on your system before you get started:
- J2SE JDK 1.5 or later
- Maven 2
- Subversion
Setup
Modify your ~/.m2/settings.xml to add the following plugin group:
<settings> ... <pluginGroups> <pluginGroup>org.apache.pluto</pluginGroup> </pluginGroups> ... </settings>Download Tomcat 6.0.20 or greater (http://tomcat.apache.org/download-60.cgi). Extract it into a directory.
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.
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:
<tomcat-users> <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"/> </tomcat-users>
- 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.
- Create a directory for your Pluto 1.1.7 source tree and cd into it from a command line.
Type: svn checkout https://svn.apache.org/repos/asf/portals/pluto/tags/pluto-1.1.7
Type: mvn pluto:install -DinstallDir="<TOMCAT_DIR>" Note: in Windows you may need to append the Drive Letter as well as the path
In Tomcat's bin directory, execute startup.sh (linux) or startup.bat (windows)
Browse to http://localhost:8080/pluto/portal
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.