Installing the Pluto 3.0.1 Binary Build

About Pluto Distributions

You can download a pre-built Pluto bundle, or you can build Pluto from the source code.

  • pluto-bundle - Provides Pluto and Tomcat bundled together.
  • pluto-source-release - Provides the Pluto source code; requires that you build and deploy Pluto on your own.
  1. Download the Pluto 3.0.1 binary distribution named pluto-bundle-3.0.1.zip from a distribution site.
  2. Unzip the binary distribution into a directory.
    1. pluto-<version> (pluto-3.0.1) will be the top level directory.
  3. Execute startup.bat (Windows) or startup.sh (Unix) in pluto-<version>/bin.
  4. Use shutdown.bat/shutdown.sh to stop the portal
  5. Browse to http://localhost:8080/pluto/portal
  6. Login as user pluto (password=pluto) or tomcat (password=pluto).

Building Pluto 3.0.1 from Source

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.

The Pluto project uses the Git version control system. If you're new to Git, you can find many books and online resources to help you.

Software Prerequisites

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.

Note that your computer will also require access to the Internet during the build process in order to access maven repositories and other information.

Obtaining Pluto 3.0.1 Source Code

To browse the Pluto source code online, access the Apache Pluto Github mirror. This is current at all times.

Cloning the Pluto Repository

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:

git clone https://github.com/apache/portals-pluto.git pluto

You now have the complete Pluto source code in the ./pluto subdirectory.

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:

git checkout pluto-3.0.1

Building Pluto using Apache Ant

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.

The dist-build.xml 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:

ant -f dist-build.xml -DincludeDemos=true -DnoClean=true

You now have Pluto built and deployed in the ./pluto/target/dist subdirectory. You can now switch to the ./pluto/target/dist/<tomcat>/bin subdirectory and start Tomcat and Pluto as described in the next section.

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 ID 'pluto' and password 'pluto'.

Using the Demo Portlets

The Pluto distribution contains four version 3.0.1 portlet applications that illustrate the use of all aspects of JSR 362 portlet programming.

  • PortletHubDemo - Contains portlets that show how you can use the Portlet Hub JavaScript API to create portal-based single-page applications.
  • PortletV3AnnotatedDemo - Contains portlets that illustrate the use of the version 3.0.1 Extended Method Annotations feature.
  • PortletV3Demo - Contains portlets that illustrate miscellaneous aspects of the API.
  • chatRoomDemo - Contains portlets that implement a simple chat room demo based on the Portlet Hub JavaScript API and the portlet asynchronous processing feature.

The best way to view the source code would be to import the modules mentioned above into your favorite IDE.

Using the Pluto Maven Archetypes

There are two Maven archetypes available to quickly get you started developing a portlet application.

  • generic-portlet-archetype
  • bean-portlet-archetype

The generic-portlet-archetype can be used to create an old-fashioned portlet project which has a class that extends GenericPortlet.

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
        

The bean-portlet-archetype can be used to create a modern "bean portlet" that utilizes the Portlet 3.0.1 CDI features.

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
        

Archetypes are available in Maven Central here.