Building Pluto from Source
Maven 2 is utilized as the project management and build system for Pluto 1.1. Pluto currently provides Maven plugins which can be used to install the Pluto Portal, assemble portlet applications, deploy applications, and publish portlet applications to the Pluto Portal.
Obtaining Pluto 1.1 Source Code
The Pluto project uses the
Subversion version control system. If you're new to Subversion, you can check out the
online book about Subversion. Note that we are currently using Subversion 1.3.x (there are separate versions of the book covering the different versions of Subversion).
Web Access to Subversion To browse the Pluto 1.1 source code, you can use the
ViewCVS web interface to Subversion. This is current at all times.
Normal Subversion Access Anyone can check code out of Subversion anonymously. However, you need to specify a username and password in order to update the Subversion repository, and only Pluto committers have the permissions to do that. We run Subversion over standard HTTPS, so hopefully you won't have problems with intervening firewalls.
Check out from Subversion
Again, anyone can do this. To check out the latest distribution of Pluto 1.1 (trunk) to a directory called 'pluto' use this command:
svn checkout https://svn.apache.org/repos/asf/portals/pluto/trunk/ pluto
To check out Pluto 1.1.1 source to the 'pluto' directory use this command:
svn checkout https://svn.apache.org/repos/asf/portals/pluto/tags/pluto-1.1.1 pluto
Zipped up Pluto source distributions can also be downloaded from a
distribution mirror.
Building Pluto with Maven 2
If this is your first time building Pluto with Maven 2, edit
~/.m2/settings.xml
and add the <pluginGroups> element:
<settings>
...
<pluginGroups>
<pluginGroup>org.apache.pluto</pluginGroup>
</pluginGroups>
...
</settings>
If you don't have
org.apache.pluto
specified as a
<pluginGroup>
, then the
pluto:install
will fail.
<PLUTO-1.1-SRCHOME>
is the local directory where the Pluto 1.1 source distribution has been checked out or unzipped into.
$> cd <PLUTO-1.1-SRCHOME>
$> mvn install
$> mvn pluto:install -DinstallDir=path/to/appserver
The install
goal is a built in Maven 2 lifecycle which builds the project artifacts and installs them into the Maven repository.
The pluto:install
goal will take the resulting artifacts and properly deploy them within the configured Tomcat installation. Currently, the Pluto 1.1 install has been tested on Tomcat 5.5.9, 5.5.17 and 5.5.20. The Tomcat 5 archive can be found here.
If installing to a directory that contains spaces, installDir
needs to be enclosed within quotes:
C:\pluto> mvn pluto:install -DinstallDir="C:\Program Files\Apache Software Foundation\Tomcat 5.5"
Installing Pluto Manually
This section documents the manual installation of Pluto into Tomcat. It replaces the pluto:install goal, but requires that the built-in Maven 2 install goal (mvn install
) be run from <PLUTO-1.1-SRCHOME>
.
Step 1:
$> cd <PLUTO-1.1-SRCHOME>
$> mvn install
Step 2: Copy the following to <TOMCAT_HOME>/shared/lib
:
- castor-1.0.jar
- portlet-api-1.0.jar
- pluto-container-1.1.1.jar
- pluto-descriptor-api-1.1.1.jar
- pluto-descriptor-impl-1.1.1.jar
- pluto-taglib-1.1.1.jar
Step 3: Copy the following to
<TOMCAT_HOME>/common/endorsed
:
- xercesImpl-2.6.2.jar
- xmlParserAPIs-2.6.2.jar
Step 4: Copy the following to
<TOMCAT_HOME>/conf/Catalina/localhost
:
- <PLUTO_SRCHOME>/pluto-portal/src/main/resources/pluto.xml
- <PLUTO_SRCHOME>/pluto-testsuite/src/main/resources/testsuite.xml
Step 5: Copy the following to
<TOMCAT_HOME>/webapps
:
- <PLUTO_SRCHOME>/pluto-portal/target/pluto-portal.war
- <PLUTO_SRCHOME>/pluto-testsuite/target/pluto-testsuite.war
Installing Pluto with a Windows EXE
The NSIS Installer is not yet complete, but we hope to have a fully functional one soon. Anyone is more than welcome to assist us in this process. Configuring Source-Built Pluto for Application Scope PortletSession Attributes
To be able to use application-scoped PortletSession
attributes in Pluto, modify the Connector element for port 8080 in <TOMCAT_HOME>/conf/server.xml
by adding the following attribute and value: emptySessionPath="true". Configuring User and Role in the Pluto Source Build
The Pluto Testsuite portlet application needs the role '
pluto
' to run the Security Mapping Test. So before starting tomcat, you should edit
<TOMCAT_HOME>/conf/tomcat-users.xml
, add the role '
pluto
', and add a user in that role. The simplest way to do this is to edit add the '
pluto
' role to the '
tomcat
' user's record. Here is a sample
tomcat-users.xml
file:
<?xml version="1.0" encoding="utf-8"?>
<tomcat-users>
<role rolename="pluto"/>
<role rolename="tomcat"/>
<role rolename="role1"/>
<user username="tomcat" password="tomcat" roles="tomcat,pluto"/>
<user username="role1" password="tomcat" roles="role1"/>
<user username="both" password="tomcat" roles="tomcat,role1"/>
</tomcat-users>
Starting the Portal
Now you are ready to use the Pluto Portal built from source. Start up tomcat by running startup.bat
(for windows) or startup.sh
(for *nix) in <TOMCAT_HOME>/bin
, and browse to http://localhost:8080/pluto/portal
. Login to Pluto using the user and password you just created in tomcat-users.xml
. If you added the 'pluto' role to the 'tomcat' user's record, you can login as 'tomcat/tomcat'.