Inicio /
ANEXO I – Información sobre los archivos de configuración - Migración Struts a Porlet JSR168

Introducción

 Este artículo muestra los distintos archivos de configuración necesarios para la migración entre una aplicación Struts a una aplicación JSR168. En este caso se ha desplegado sobre JetSpeed 2 y bajo Tomcat.(aunque se ha probado con vignette, también)

Para leer este artículo se recomienda la lectura del artículo: Migración de una aplicación Struts a un Portlet JSR-168, en el contendor de portlets Jetspeed 2.

Archivo porlet.xml

Se explicarán las distintas etiquetas y atributos que nos podemos encontrar dentro del archivo de configuración porlet.xml, lo que nos permitirá conocer la funcionalidad de este.

Ejemplo del archivo porlet.xml:

<?xml version="1.0" encoding="UTF-8"?>
<portlet-app id="asistenciaTecnica2" xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd" version="1.0"
 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">
   <portlet id="AsistenciaTecnica2">
    <portlet-name>AsistenciaTecnica2</portlet-name>
    <portlet-class>org.apache.portals.bridges.struts.StrutsPortlet</portlet-class>
    <init-param>
      <name>ServletContextProvider</name>
      <value>org.apache.jetspeed.portlet.ServletContextProviderImpl </value>
    </init-param>
    <init-param>
      <name>ViewPage</name>
      <value>/Welcome.do</value>
    </init-param>
    <init-param>
      <name>HelpPage</name>
      <value>/help.shtml</value>
    </init-param>
   <!--  <expiration-cache>-1</expiration-cache> -->
    <supports>
      <mime-type>text/html</mime-type>
      <portlet-mode>VIEW</portlet-mode>
      <portlet-mode>HELP</portlet-mode>
    </supports>
    <portlet-info>
      <title>JPetstore</title>
      <keywords>Struts</keywords>
    </portlet-info>
  </portlet>


Atributo Encoding

El encoding del documento debe ser UTF-8, si se utiliza otro puede presentar problemas como sucede en Vignette.

Atributos de la etiqueta portlet-app

id - Es el identificador de la aplicación que contiene al portlet, por lo tanto se debe de llamar igual que la aplicación (En Jetspeed parece ser necesario, en Vignette no hace falta pero funciona con su presencia).
El resto de atributos parece que sin ellos funciona bien en Jetspeed, pero son necesarios para Vignette, por tanto siempre será mejor incluirlos.

Etiqueta portlet

Se explicará los atributos de esta etiqueta y todas las etiquetas que están contenidas dentro de esta y las funciones que desempeñan.
id - Es el identificador del portlet (se corresponderá con el portlet-name, parece ser necesario para Jetspeed, pero no para Vignette, pero funciona correctamente si está incluido).

Etiqueta portlet-name

El contenido de esta etiqueta será el nombre del portlet.

Etiqueta portlet-class

Hace referencia al paquete y clase del portlet, en este caso es el bridge (es distinto si se trata de un portlet que se desplegará en Jetspeed o Vignette, ya que utilizan puentes distintos).

1º etiqueta init-param

Esta etiqueta y su contenido son necesarios sólo para el caso de tratarse una aplicación Struts migrada a portlet. Esta contiene dos etiquetas :
name - Siempre tendrá el siguiente valor ServletContextProvider
value - Es la librería y clase que implementa (Se utilizan distintas clases si se trata de un portlet que se desplegará en Jetspeed o Vignette).

2 ª y 3ª etiquetas inti-param

Son también necesarios solo para el caso de utilizar el bridge Struts-Portlet.
Indica que actions de Struts son los responsables de los distintos tipos de visualización que tiene el portlet (View, Help, Edit, etc.).

Etiqueta supports

Esta etiqueta contiene varias etiquetas:
mime-type es el tipo de la salida que nos proporciona el portlet, normalmente text/html.
portlet-mode indicará los modos que utiliza el portlet en este caso VIEW y HELP (puede presentar algún problema si no están escritos en mayúscula).

Etiqueta portlet-info

Esta etiqueta contiene información sobre el portlet.
Title - El título del portlet
keyword - Palabras clave asociadas con el portlet, se separan entre comas “,”.

Archivo struts-portlet-config.xml

La función de este archivo es la de mapear los actions presentes en Struts con los tipos de url de los portlets.
Ejemplo del Archivo struts-portlet-config.xml
<?xml version="1.0" encoding="UTF-8"?>
<config>
<render-context>
<attribute name="errors"/>
<attribute name="message"/>
</render-context>
<portlet-url-type>
<action path="/Welcome.do"/>
</portlet-url-type>
</config>
Se deberá de introducir los actions de struts que serán la entrada de los modos del portlet. En el caso anterior (portlet.xml) tenemos el HELP y VIEW, en este caso en concreto sólo se ha mapeado el action correspondiente con el VIEW, faltaría incluir el del HELP.

asistenciaTecnica2.psml

Este es un archivo exclusivo para los portlet de Jetspeed y es el encargado de ubicar el portlet dentro de Jetspeed y de darle los permisos oportunos. El nombre de este se debe de corresponder con el nombre del portlet, en este caso asistenciaTecnica2.

La ubicación de este será en \Apache Jetspeed 2.0\webapps\jetspeed\WEB-INF\pages

Ejemplo archivo asistenciaTecnica2.psml
<page>
<defaults skin="orange" layout-decorator="tigris" portlet-decorator="tigris"/>
<title>Asistencia Tecnica version 2</title>
<metadata name="title" xml:lang="es">Asistencia Tecnica 2</metadata>
<fragment id="asisTec2" type="layout" name="jetspeed-layouts::VelocityOneColumn">
<fragment id="asisTec2-1" type="portlet" name="asistenciaTecnica2::AsistenciaTecnica2">
</fragment>
</fragment>
<security-constraints>
<security-constraints-ref>public-view</security-constraints-ref>
</security-constraints>
</page>

Etiqueta title

Se corresponde con el título del portlet.

Etiqueta metadata

Asistencia Tecnica 2
La etiqueta metadata contiene el nombre que aparecerá en el menú y en la barra de navegación.
El atributo xml:lang indica para que idioma se mostrará el título, en este caso para el español.

Etiqueta fragment


<fragment id="asisTec2" type="layout" name="jetspeed-layouts::VelocityOneColumn">
<fragment id="asisTec2-1" type="portlet" name="asistenciaTecnica2::AsistenciaTecnica2">
</fragment>
</fragment>
asisTec2 y asisTec2-1 son los identificadores de la ventana y columna que contiene al Portlet.

jetspeed-layouts::VelocityOneColumn indica el modo de visualización en este caso es una columna, podría ser VelocityTwoColumns para indicar que se visualizan dos.

En este caso la única columna contiene un Portlet llamado AsistenciaTecnica2 contenido en la aplicación asistenciaTecnica2 (estos deben coincidir con los introducidos en portlet.xml)

public-view ? Indica la seguridad del portlet, en este caso es público y puede ser utilizado por todos los usuarios.


Daniel P. @ 21:04 | comentarios (0) | Links Permanentes



<< November 2024 >>
Sun Mon Tue Wed Thu Fri Sat
  1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
 

archivos

November - 2013
October - 2013
July - 2013
June - 2013
May - 2013
April - 2013
March - 2013
February - 2013
November - 2010
October - 2010
September - 2010
August - 2010
June - 2010
November - 2009
October - 2009
September - 2009
March - 2009
February - 2009
January - 2009
September - 2008
May - 2008
April - 2008
November - 2007
October - 2007
May - 2007
April - 2007
March - 2007
February - 2007
January - 2007
December - 2006
September - 2006
August - 2006
June - 2006
May - 2006
April - 2006
February - 2006
January - 2006
December - 2005
November - 2005

powered by SimpleBlog 2.0

rss feed




Ir a Blog de Recetas de Cocina