Pluto Subprojects

Pluto 3.0 uses Maven 3 as project management and build automation tool. Pluto follows maven best practices and is organized into modules or subprojects.

Container Subprojects

  • portlet-api: Contains the code defining the portlet API.
  • pluto-container: The Pluto Container is the core compontent of the Apache Pluto project. The Pluto Container is the reference implementation of the Portlet Specification.
  • pluto-container-api: The Pluto container programming interface.
  • pluto-taglib: The Java Portlet Tag Library implementation which is provided with the container.

Portal/Testing Subprojects

  • pluto-portal-driver: The programming interface for the Pluto portal driver library.
  • pluto-portal-driver-impl: A driver library for the Pluto Portlet Container. Provides service implementations and utilities for implementing a portal which utilizes the container.
  • pluto-container-driver-api: Code that allows the Pluto portal driver to access the Pluto portlet container. Also contains code for container and driver initialization along with the portlet servlet code that is dynamically deployed for each configured portlet.
  • pluto-portal: The user interface components (web application) of the Pluto Portal. The pluto portal is a simple portal application which embeds the portal. The portal is not meant to be a full enterprise portal, but instead is meant to be an example of how to embed the container and a lightweight environment for developing and testing portlets.
  • pluto-testsuite: JSR 286 Test portlets that can be used to exercise and test any portlet container.
  • portlet-tck_3.0: Contains additional modules implementing the JSR 362 Technology Compliance Kit (TCK). See Using the JSR 362 TCK.

Utilities and Tools (for working with the Pluto Portal)

  • portlet-util: Utilities for working with the Pluto Portal. Includes libraries for installing pluto, assembling portlet applications for deployment in pluto, deploying to pluto, and publishing portlets to pluto.
  • maven-pluto-plugin: Provides Maven goals for utilizing the Pluto utilities. Install the portal within a servlet container, assemble portlets, deploy portlets, and publish portlets to th Pluto Portal.
  • pluto-ant-tasks: Ant tasks which allow developers to utilize the Pluto utilities within ant. Currently supports assembling wars for deployment within pluto.
  • pluto-common: An aggregator for Pluto code that must be placed in an application server or servlet container shared library. While not required for deployment on Apache Tomcat, the jar file produced by this module may be useful for deployment on other platforms.

Demo Portlets

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

  • applicant-mvcbean-jsp-portlet: "Job Applicant" MVCBean portlet featuring JSPX views.
  • applicant-mvcbean-thymeleaf-portlet: "Job Applicant" MVCBean portlet featuring Thymeleaf views.
  • v3-demo-portlet: Contains portlets that illustrate miscellaneous aspects of the API.
  • v3-annotated-demo-portlet: Contains portlets that illustrate the use of the version 3.0 Extended Method Annotations feature.
  • hub-demo-portlet: Contains portlets that show how you can use the Portlet Hub JavaScript API to create portal-based single-page applications.
  • chat-room-demo-portlet: Contains portlets that implement a simple chat room demo based on the Portlet Hub JavaScript API and the portlet asynchronous processing feature.