11 marzo 2009

[IBM] Celda y Nodo

Dos conceptos que, en ocasiones, solían confundirme cuando configuraba un datasource en WAS eran la Celda (Cell) y el Nodo (Node).
 
Una Celda es un concepto de configuración, una forma en la que el administrador puede agrupar una serie de Nodos.
 
Un Nodo es una agrupación lógica de Servidores Administrados.
 
 
Celda:
Nodo:
 

10 marzo 2009

Generar XML para instalación de portlets y páginas en WPS

Lo primero que se debe hacer es instalar y configurar bien los portlets en nuestro portal de desarrollo. Esto incluye aplicar temas, establecer unique-names, crear etiquetas, páginas, etc.

Luego, ubicar la plantilla correspondiente segun el tipo de XML de instalación que querramos generar dentro de la carpeta <portalserver-dir>\doc del portal. Para este caso emplearemos ExportPortletAndPage para que nuestro instalador se genere incluyendo la estructura de etiquetas y páginas que ha de crear.

Reemplazar con los uniquename de las etiquetas o páginas, segun el caso, y el uid del webmodule, este último tal como el que se encuentra en el archivo portlet.xml del proyecto correspondiente y agregar el atributo export-descendants="true" a los tags que corresponden a las paginas o etiquetas a fin de que se incluyan a las páginas que desciendan de ellas.

<request
xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="PortalConfig_1.4.xsd"
type="export">

<!-- sample for exporting a page with portlet -->
<portal action="locate">
<web-app action="export" uid="pe.apiconz.portlet.SampleProject_pkg1.webmod"/>
<content-node action="export" uniquename="pe.apiconz.page.samplepage1" export-descendants="true"/>

</portal>
</request>


Guardamos la plantilla modificada.

A continuación, ingresamos a la carpeta <portalserver-dir>\bin y ejecutamos el siguiente comando (tomar en cuenta que la plantilla la guardamos en esta misma carpeta):

<portalserver-dir>\bin> xmlaccess -in ExportPortletAndPage.xml -out installPortlets.xml -user wpsadmin -password wpsadmin -url http://localhost:10038/wps/config

Donde xmlaccess es el nombre del utilitario que posee el portal para la generación y ejecución de estos archivos XML, ExportPortletAndPage.xml es el nombre de nuestra plantilla modificado, installPortlets.xml es el nombre que le estamos poniendo a nuestro archivo de instalación que se va a generar; wpsadmin representa, tanto al nombre del usuario administrador y su correspondiente contraseña y en el último parámetro colocamos la ruta de configuración del portal.

A continuación modificamos la ubicación de nuestro WAR a instalar.


<url>file://localhost/$server_root$/installableApps/SampleProject_pkg1.war</url>

En este caso lo estamos configurando para que el WAR lo encuentro dentro del directorio installableApps que se ubica dentro de la carpeta del portal.

Nota: Tomar en consideración que según el ambiente los valores en los campos owner y subjectid podrían variar.
Ejecutar la siguiente linea de comando.
<portalserver-dir>\bin>xmlaccess -in installPortlets.xml -user wpsadmin_desa -password wpsadmin_desa -url http://localhost:10038/wps/config

TIP
Si el portlet application que vamos a instalar no posee múltiples instancias de un mismo portlets en diferentes páginas podemos hacer la siguiente modificación para eliminar y volver a subir el módulo:

Abrir el archivo generado, para este caso installPortlets.xml y agregar la siguiente línea antes de las líneas que corresponden a la instalación:
<web-app action="delete" uid="pe.apiconz.portlet.SampleProject_pkg1.webmod"/>

Con esto nos aseguramos de eliminar la aplicación y así evitar que se quede pegado o que aparezca algun bug en la instalación.

Es importante considerar que para la configuración efectiva para los grupos de usuarios estos deben alinearse con la jerarquía mostrada en http://publib.boulder.ibm.com/infocenter/wpdoc/v6r0/topic/com.ibm.wp.ent.doc/wpf/sec_resources.html y que el archivo de instalación debe corresponder a la versión del portal que se tenga instalado.