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.
Publicar un comentario