Jboss Portal for dummies Part #1: Simple HelloWorldPortlet (de mi blog en www.jugmza.com.ar – 20/11/07)

Conceptos generales:

Donde tenemos 3 modos de visualizacion para los portlets.. (Estos
modos puede ser extendidos por cada implementacion):

VIEW, EDIT y HELP.

Tambien tenemos un estado asociado para las Windows:
NORMAL, MINIMIZED y MAXIMIZED.

Segun la especificacion solo deberiamos tener un archivo llamado
portlet.xml en nuestra carpeta WEB-INF de nuestro .war.

El cual deberia ser similar a:

portlet.xml:

<?xml version=”1.0″ encoding=”UTF-8″?>
<portlet-app xmlns=”http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd
xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance
xsi:schemaLocation=”http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd

http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd
version=”1.0″>
<portlet>
<portlet-name>HelloWorldPortlet</portlet-name>
<portlet-class>org.jboss.portlet.hello.HelloWorldPortlet</portlet-class>
<supports>
<mime-type>text/html</mime-type>
<portlet-mode>VIEW</portlet-mode>
</supports>
<portlet-info>
<title>HelloWorld Portlet</title>
</portlet-info>
</portlet>
</portlet-app>

Pero para jboss portal podemos agregar un par de descriptores mas con
el fin de customizar la visualizacion de nuestros portlets..
ya que si deployamos el portlet siguiendo la especificion. El portal
no lo mostrara hasta que no creemos una instancia del mismo desde la
seccion de administracion del mismo.

entonces agregamos los siguientes descriptores a nuestro directorio
WEB-INF en nuestro .war:

portlet-instances.xml

<?xml version=”1.0″ standalone=”yes”?>
<!DOCTYPE deployments PUBLIC
“-//JBoss Portal//DTD Portlet Instances 2.6//EN”
http://www.jboss.org/portal/dtd/portlet-instances_2_6.dtd“>
<deployments>
<deployment>
<instance>
<instance-id>HelloWorldPortletInstance</instance-id>
<portlet-ref>HelloWorldPortlet</portlet-ref>
</instance>
</deployment>
</deployments>

*-object.xml

<?xml version=”1.0″ encoding=”UTF-8″?>
<!DOCTYPE deployments PUBLIC
“-//JBoss Portal//DTD Portal Object 2.6//EN”
http://www.jboss.org/portal/dtd/portal-object_2_6.dtd“>
<deployments>
<deployment>
<parent-ref>default.default</parent-ref>
<if-exists>overwrite</if-exists>
<window>
<window-name>HelloWorldPortletWindow</window-name>
<instance-ref>HelloWorldPortletInstance</instance-ref>
<region>center</region>
<height>1</height>
</window>
</deployment>
</deployments>

La relacion entre estos descriptores es la siguiente:

Ahora lo unico que resta es tener una clase java dentro de nuestro
proyecto que extienda de GenericPortlet:

package org.jboss.portlet.hello;

import javax.portlet.GenericPortlet;
import javax.portlet.PortletException;
import javax.portlet.RenderRequest;
import javax.portlet.RenderResponse;
import javax.portlet.UnavailableException;
import java.io.IOException;
import java.io.PrintWriter;

public class HelloWorldPortlet extends GenericPortlet
{
protected void doView(RenderRequest rRequest, RenderResponse rResponse)
throws PortletException, IOException, UnavailableException
{
rResponse.setContentType(“text/html”);
PrintWriter writer = rResponse.getWriter();
writer.write(“Hello World!”);
writer.close();
}
}

Espero que les sirva.. se vienen mas posts sobre portlets!

Advertisements

2 thoughts on “Jboss Portal for dummies Part #1: Simple HelloWorldPortlet (de mi blog en www.jugmza.com.ar – 20/11/07)”

  1. No entiendo a que exactamente te refieres, si puedes ampliar tu pregunta. Ya que las versiones de JBoss Portal van cambiando, las librerias dependen de la version de JBoss Portal que utilices, asi tambien el estandar de portlet que desees utilizar.

    Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s