...
- Declare a dependency on the "pluto-portal"
Code Block |
---|
| XML |
---|
| XML |
---|
borderStyle | solidXML |
---|
|
<dependencies>
...
<dependency>
<groupId>org.apache.geronimo.plugins</groupId>
<artifactId>pluto-support</artifactId>
</dependency>
</dependencies>
|
- Define an AdminConsoleExtensionGBean
Code Block |
---|
| XML |
---|
| XML |
---|
borderStyle | solidXML |
---|
|
<gbean name="example" class="org.apache.geronimo.pluto.AdminConsoleExtensionGBean">
<attribute name="pageTitle">Testing</attribute>
<attribute name="portletContext">/HelloWorldPortlet</attribute>
<attribute name="portletList">[HelloWorldPortlet]</attribute>
</gbean>
|
where the attributes are defined as follows:
- pageTitle: The name of the page to add these portlets to (new or existing)
- portletContext: The context of where the portlets are installed.
- portletList: A comma-delimited list of the portlets to be added to this page.
Code Block |
---|
| XML |
---|
| XML |
---|
borderStyle | solid |
---|
title | Sample geronimo-web.xmlXML |
---|
|
<web-app xmlns="http://geronimo.apache.org/xml/ns/j2ee/web-1.2">
<environment>
<moduleId>
<groupId>org.apache.geronimo.portals</groupId>
<artifactId>pluto-example</artifactId>
<version>1.0-SNAPSHOT</version>
<type>war</type>
</moduleId>
<dependencies>
<dependency> <!-- Put a dependancy on the hosting portal (pluto) -->
<groupId>org.apache.geronimo.plugins</groupId>
<artifactId>pluto-support</artifactId>
</dependency>
</dependencies>
</environment>
<!-- This is where the files are accessed from. (aka - portletContext) -->
<context-root>/HelloWorldPortlet</context-root>
<!-- Start off a ACEGBean, this is the lifecycle for the portlet -->
<gbean name="PlutoTest" class="org.apache.geronimo.pluto.AdminConsoleExtensionGBean">
<attribute name="pageTitle">Hello</attribute>
<attribute name="portletContext">/HelloWorldPortlet</attribute>
<attribute name="portletList">[HelloWorldPortlet]</attribute>
<reference name="PortalContainerServices">
<name>PlutoPortalServices</name>
</reference>
</gbean>
</web-app>
|
...
This is a working simple example of an Administration Console Extension.
Download the example WAR
Code Block |
---|
| JAVA |
---|
| JAVA |
---|
borderStyle | solid |
---|
title | HelloWorldPortlet.javaJAVA |
---|
|
package org.apache.pluto.examples;
import java.io.IOException;
import java.io.PrintWriter;
import javax.portlet.GenericPortlet;
import javax.portlet.PortletException;
import javax.portlet.RenderRequest;
import javax.portlet.RenderResponse;
/**
* A very simple portlet example.
* This portlet displays 'Hello World' to the end user
*/
public class HelloWorldPortlet extends GenericPortlet {
// This function is called when a user requests to view this portlet (by
// navigating to the webpage in Pluto)
public void doView(RenderRequest request, RenderResponse response)
throws PortletException, IOException {
// Set the response to read HTML
response.setContentType("text/html;charset=UTF-8");
// Required call for use of getWriter() and getPortletOutputStream()
PrintWriter out = response.getWriter();
// Write content to the portlet
out.println("<h1>Hello World</h1>");
}
}
|