09 febrero 2012

Administering IBM WebSphere Portal 7.0: A comprehensive workshop

Administering IBM WebSphere Portal 7.0: A comprehensive workshop: This plopped into my inbox this morning - kudos to Thomas Hurek and Falk Posch for creating this useful document: -

The goal of this white paper is to explain the various administration and configuration tools offered by IBM WebSphere Portal 7.0. Learn about which tool to use for which task and about the new capabilities of WebSphere Portal 7.0, and understand differences from previous versions of WebSphere Portal. We take you through exercises for each tool so you can learn hands-on how to use them.

ToC

• Introduction
• What is WebSphere Portal?
• WebSphere Portal installation
• WebSphere Portal file system structure
• Command line tools
• Administration user interface: Admin portlets
• WebSphere Application Server Admin user interface
• Conclusion
• Resources
• About the authors


IBM Content Template Catalog V3.0 (CTC) and WebSphere Portal 7.0.02

IBM Content Template Catalog V3.0 (CTC) and WebSphere Portal 7.0.02: This IBM Technote plopped into my In-Box earlier today, and I immediately shared it via Sametime with a number of my colleagues, most of whom are working with the IBM Content Template Catalog (CTC) right now.

IBM Content Template Catalog V3.0 (CTC) is broken after upgrade to WP/WCM V7.0.0.1 CF009 (or later) or 7.0.0.2 fix pack

Abstract

The IBM Content Template Catalog V3.0 (CTC3) can be installed on IBM Web Content Manager (WCM) V7.0.0.1 or 7.0.0.2. Installing the Combined Cumulative Fix 009 or 010, or upgrading to fix pack level 7.0.0.2 renders CTC3 unusable.

Content

A fix will be made available in the near future and this page will be updated when more information is available.

The IBM Content Template Catalog V3.0 (CTC3) is documented here: -

http://www-10.lotus.com/ldd/portalwiki.nsf/dx/IBM_Content_Templates_Catalog_V3.0

One of the files necessary for its successful operation is overwritten when installing either Combined CF009, CF010, or fix pack 7.0.0.2. The .jar file, "wp.wcm.templating.jar", is installed into the WCM shared apps directory during a CTC3 install.

To correct the issue, copy the original .jar file from CTC3 back into the shared apps directory (replacing the file present) and restart the server.

The .jar file is located in "/wp.ctc/components/wp.ctc/enablment/" in the CTC PAA. The non-CTC3 file will be 31KB after installing the CF or fix pack but the CTC3 version is 80KB.

After the restart, the templating functions should be working again.


06 diciembre 2011

AIX - Volume Groups, Filesystems y puntos de montaje


Para tenerlo claro, un volume group es una conglomeración (como tener una gran unidad virtual) de physical volumes (
discos físicos), y un filesystem (sistema de archivos) es una partición que se crea a partir de espacios en el volume group. A los filesystems se le asignan puntos de montajes mediante los cuales el usuario puede acceder a la información que en ellos se almacena.






El comando "df -g" nos permite ver la información de los filesystems existentes (con el argumento "-g" vemos a información en GB) en el sistema así como los puntos de montaje que tienen asignados. Existe un comando similar en Linux con más argumentos y de mejor lectura.

# df -g
Filesystem GB blocks   Free %Used Iused %Iused Mounted on
/dev/hd4        0.19   0.01   96% 10078 79%    /
/dev/hd2        2.25   0.20   92% 43429 46%    /usr
/dev/hd9var     0.44   0.12   74% 8201 23%    /var
/dev/hd3        0.12   0.12  5%     37 1%    /tmp
/dev/hd1        0.06   0.06  1%   5    1%    /home
/dev/hd11admin   0.12   0.12  1%      5    1%    /admin
/proc             -      -  -       -     -    /proc
/dev/hd10opt    0.44   0.19   57% 8930 17%    /opt
/dev/livedump   0.25   0.25  1%       4   1%    /var/adm/ras/livedump


El comando “lspv” nos brinda información sobre el physical volume especificado. Cuando no se ingresan argumentos este comando nos muestra el nombre, el identificador y el volume group de los physical volumes existentes en el sistema. Ejemplos:


Sin argumentos:
# lspv
hdisk0       000ec0ea0c6d251b                 rootvg       active


Con el nombre del physical volume a consultar:
# lspv hdisk0
PHYSICAL VOLUME: hdisk0                VOLUME GROUP: rootvg
PV IDENTIFIER:   000ec0ea0c6d251b VG IDENTIFIER 000ec0ea0000d400000001340                                                                                     c6d25c4
PV STATE:        active
STALE PARTITIONS:   0                     ALLOCATABLE:   yes
PP SIZE:         64 megabyte(s)        LOGICAL VOLUMES:  12
TOTAL PPs:       639 (40896 megabytes) VG DESCRIPTORS:   2
FREE PPs:        551 (35264 megabytes) HOT SPARE:     no
USED PPs:        88 (5632 megabytes)   MAX REQUEST:   256 kilobytes
FREE DISTRIBUTION:  127..100..68..128..128
USED DISTRIBUTION:  01..28..59..00..00
MIRROR POOL:     None

02 noviembre 2011

Android - Firmando una aplicación para subir al Android Market

Para firmar una aplicación es necesario exportar la aplicación con Eclipse, pero sin firmarla con el certificado de debug. Para esto, pulsamos con el botón derecho en el proyecto y seleccionamos AndroidTools > Expor Unsigned Application Package. Ahora, basta determinar la ubicación en la que nuestro archivo APK será copiado en la PC.

Para continuar, digamos que nuestro archivo se llama enjoyit.apk. De este modo, el siguiente paso es firmar la aplicación con la llave privada que hemos generado en el post anterior, esta operación se lleva a cabo con el comando jarsigner, también disponible en el JDK.

Antes de firmar la aplicación verificaremos que la misma aun no está firmada; esto se realiza con la siguiente sentencia:
jarsigner.exe -verify enjoyeat.apk
Nos deberá aparecer un mensaje como el que listo a continuación:
jar is unsigned (signatures missing or not parsable)
Habiéndonos asegurado que el apk no está firmado, ejecutaremos la siguiente sentencia para realizar el firmado.
jarsigner -verbose -keystore nombre_key_store.keystore enjoyit.apk alias_key_store
A continuación, nos pedirá ingresar la contraseña con la que creamos la llave privada. Una vez finalizado el proceso de firmado, volveremos a verificar si el APK efectivamente ha sido firmado mediante la sentencia:
jarsigner.exe -verify enjoyeat.apk
Deberá aparecernos el mensaje:
jar verified.

Android - Obtener un certificado digital para firmar nuestra aplicación

Para instalar una aplicación en un equipo real es necesario firmarla con un certificado digital. Para instalar la aplicación en un emulador, esto también es necesario, sin embargo, todo lo hace automáticamente el eclipse.

Una buena noticia es que nuestro certificado digital no necesitar estar firmado por una CA (Autoridad Certificadora), y un certificado digital creado por nosotros mismos (autofirmado) es suficiente.

Necesitamos obtener una llave privada para firmar nuestro certificado.

Para generar una llave privada podemos utilizar la herramienta keytool, que está disponible en el JDK. Para eso, vamos a emplear la siguiente sentencia:

keytool -genkey -v -keystore nombre_key_store.keystore -alias alias_del_key_store -keyalg RSA -validity 10000
Escriba la contraseña del almacén de claves:
Volver a escribir la contraseña nueva:
┐Cuáles son su nombre y su apellido?
  [Unknown]:  Armando Picon
┐Cuál es el nombre de su unidad de organización?
  [Unknown]:  android
┐Cuál es el nombre de su organización?
  [Unknown]:  limagtug
┐Cuál es el nombre de su ciudad o localidad?
  [Unknown]:  Lima
┐Cuál es el nombre de su estado o provincia?
  [Unknown]:  Lima
┐Cuál es el c¾digo de país de dos letras de la unidad?
  [Unknown]:  PE
┐Es correcto CN=Armando Picon, OU=android, O=limagtug, L=Lima, ST=Lima, C=PE?
  [no]:  si
Generando par de claves RSA de 1.024 bits para certificado autofirmado (SHA1 with RSA) con una validez de 10.000 días
        para: CN=Armando Picon, OU=android, O=limagtug, L=Lima, ST=Lima, C=PE
Escriba la contrase±a clave para
        (INTRO si es la misma contraseña que la del almacén de claves):
Volver a escribir la contraseña nueva:
[Almacenando nombre_key_store.keystore]

Esta sentencia creará el archivo nombre_key_store.keystore con el alias alias_key_store.

Android - Como generar API Key de Google Maps para desarrollo

Hace unos meses un amigo publicó un post sobre el Uso de Google Maps API en Android en el blog de Lima GTUG.

En el primer punto nos indica obtener el api key de desarrollo y quería agregar algo más de detalle respecto a cómo obtener este dato.

1. Necesitamos generar un certificate's MD5 fingerprint (o huella digital de certificado MD5), empleando la herramienta keytool que viene con el Java SDK y que no forma parte del Android SDK. Para ello ejecutamos la siguiente sentencia:

keytool.exe -list -alias androiddebugkey -keystore c:\Users\\.android\debug.keystore -storepass android -keypass android

La respuesta que recibiremos será similar a la que pongo a continuación:

androiddebugkey, 29-sep-2011, PrivateKeyEntry,
Huella digital de certificado (MD5): 8D:70:55:75:8A:F8:62:53:54:62:A2:74:75:64:32:77 

2. Ya habiendo generado el dato anterior, iremos a la página: http://code.google.com/android/maps-api-signup.html, he ingresamos el dato generado.

Agregamos el dato en el campo "My certificate's MD5 fingerprinter".

A continuación, aceptamos los términos y condiciones, y finalmente, pulsamos en Generate API Key. La pantalla que aparecerá nos mostrará el API Key generado, la huella digital del certificado y un ejemplo del uso de este key en nuestro layout.

En la siguiente pantalla no aparecerá un resumen con el API Key generado,
la huella digital del certificado y un ejemplo de su uso en un layout.

De ahora en adelante, para hacer uso de Google Maps en nuestros proyectos de Android ya sabemos lo que requerimos.

13 octubre 2011

IBM WebSphere Portal Mobile Experience V7.0 - Your Portal Needs a Mobile Theme NOW


Kudos to Jon Lidaka for getting this published: -

Mobile is exploding and no longer considered an add-on. It is quickly becoming a primary channel for customers and employees to be productive.  The Portal Mobile Experience provides you code to quickly extend WebSphere Portal sites to mobile devices that support Webkit (Apple, Android, Blackberry phones).  This new theme shows how to control the look and feel, page navigation and content navigation on a smartphone and provides examples of rich mobile web interaction patterns such as swipe, carousel, accordion, and swap using CSS3 and HTML5.

Available here on Greenhouse. Get downloading NOW

Two rather useful tools for IBM WebSphere Portal and IBM Web Content Manager

Both are available in the Greenhouse; definitely worth a download ….


The IBM Portal Log Analyzer is a tool designed to help users of IBM's WebSphere Portal product troubleshoot issues with ConfigEngine and JVM startup failures.

Loading a ConfigTrace.log into the Log Analyzer tool allows you to:

• View an interactive list of ConfigEngine scripts that have been executed in your environment
• Quickly identify failed ConfigEngine scripts
• Find the right errors to troubleshoot
• View the properties used at the time of a specific ConfigEngine script


The IBM Support Tools portlet for Lotus WCM provides an assortment of tools that are useful in troubleshooting content related issues.

This portlet includes tools to view the JCR repository for WCM content, run an xpath query and view results, and directly execute various support jsps. These tools are commonly provided by support on a case to case basis to gather information specific to customer environment and content. With this portlet installed on the WCM system, it will help expedite the troubleshooting process.
greenhouse

The portlet is available for v6.0.1.X , v6.1.X and v7.0 of WebSphere Portal and can only be used on Portals that have WCM installed on the them.

17 junio 2011

Creación de un portal virtual a través del Configuration Task (aka ConfigEngine)

Para crear un portal virtual haciendo uso del ConfigEngine, necesitamos editar el archivo /ConfigEngine/config/helpers/virtual_portal.properties y debemos completar los siguientes parámetros (resaltados):

# VirtualPortalTitle: Title of the Virtual Portal
VirtualPortalTitle=PortalPrueba1

# VirtualPortalRealm: Realm of the Virtual Portal
VirtualPortalRealm=defaultWIMFileBasedRealm

# VirtualPortalHost: Hostname of the Virtual Portal
VirtualPortalHostName=

# VirtualPortalContext: Context of the Virtual Portal
VirtualPortalContext=prueba1

# VirtualPortalNlsFile: File which contains language specific information for the Virtual Portal
VirtualPortalNlsFile=

# VirtualPortalObjectId: ObjectId of the Virtual Portal
# The ObjectId is needed to modify, delete Virtual Portals and
# can be obtained by running task list-all-virtual-portals
# Note: Do not delete the default Virtual Portal (ObjectId ends with _0)
VirtualPortalObjectId=

Para este ejemplo voy a crear un portal con el contexto "prueba1". 

Una vez que hemos ingresado los datos correspondientes ejecutamos la siguiente sentencia:

./ConfigEngine.sh -DparentProperties=/ConfigEngine/config/helpers/virtual_portal.properties create-virtual-portal

++++ Actualización ++++
En algunas situaciones podría aparecerles el siguiente mensaje de error:


  [wsadmin] WASX7209I: Connected to process "WebSphere_Portal" on node node01 using SOAP connector;  The type of process is: UnManagedProcess
  [wsadmin] WASX7303I: The following options are passed to the scripting environment and are available as arguments that are stored in the argv variable: "[/opt/IBM/WebSphere/wp_profile/ConfigEngine]"
  [wsadmin] false
  [wsadmin] VirtualPortalTitle:    PortalPrueba1
  [wsadmin] VirtualPortalRealm:    defaultWIMFileBasedRealm
  [wsadmin] VirtualPortalContext:  prueba1
  [wsadmin] VirtualPortalHostName:
  [wsadmin] VirtualPortalNlsFile:
  [wsadmin] logged in as "uid=wpsadminaux,o=defaultWIMFileBasedRealm"
  [wsadmin] [06/17/11 17:09:21.148 PET] EJPXD0001I
  [wsadmin] [06/17/11 17:09:21.169 PET] EJPCA3001I: "VirtualPortalRealm in wkplc.properties with defaultWIMFileBasedRealm" already there. No action taken
  [wsadmin] [06/17/11 17:09:24.581 PET] EJPXD0002E
  [wsadmin] [06/17/11 17:09:24.583 PET] EJPCA3002E: ERROR: "VirtualPortal with context prueba1" already there
  [wsadmin] It appears that a Virtual Portal already exist with context prueba1.
  [wsadmin] java.rmi.RemoteException: com.ibm.wps.command.CreateVPFailedBecauseDuplicateKeyException: EJPEB0806E: Creating a virutal portal failed because a unique key constraint in the data backend was violated. Likely a virutal portal with the same context was deleted but still exists in the database. It is recommended to run the cleanup task for deleting resources by running the XML script Task.xml using the XML configuration interface.


Cuando suceda esto, debemos correr la siguiente sentencia desde la ruta "/bin":

./xmlaccess.sh -in ../doc/xml-samples/Task.xml -out result-Task.xml -url http://:10039/wps/config -user -password

Eliminando un Portal Virtual con el Configuration Task (aka ConfigEngine)

Para eliminar un portal virtual, lo primero que debemos hacer es obtener el listado de portales virtuales existentes. Para realizar esto ejecutamos la siguiente sentencia:

./ConfigEngine.sh list-all-virtual-portals

Al ejecutarla, se mostrará un listado como aparece en la siguiente figura.


Finalmente, con el valor que figura en el atributo "Object ID" del portal que deseamos eliminar ejecutamos la siguiente sentencia:

./ConfigEngine.sh delete-virtual-portal -DVirtualPortalObjectId=Z18_DNG2OKG10GV880I1P7FOOQ3GU6


No está de más señalar que "Z18_DNG2OKG10GV880I1P7FOOQ3GU6" es el Object ID antes mencionado. 

25 mayo 2011

WP6 to WP7: Migración de Temas

En estos días vengo trabajando en un proyecto de migración de la versión 6.0 a la versión 7.0 de IBM WebSphere Portal.

Cuando llegué a la parte de migración de temas seguí las instrucciones que figuran en el siguiente enlace:


Sin embargo, para que esto funciones tuve primero que aplicar las instrucciones de este enlace:


¿Por qué? Porque por defecto el WP7 trae consigo el PageBuilder v2 y para que podamos migrar los temas de la versión anterior es necesario emplear el PageBuilder v1.

19 mayo 2011

Creando el atajo "Android Project" en mi Eclipse

Por defecto, y a pesar de que le instalé el plugin del SDK de Android, cada vez que quería crear un nuevo proyecto debía ir a "Menu File > New > Project... > Android > Android Project". Un poco largo verdad? Bueno con algunos simples pasos podemos crear un atajo para solo tener que pulsar "Menu File > New > Android Project".

Vamos a "Menu Window > Customize Perspective..."


Una vez alli iremos a la pestaña "Shortcuts" y seleccionaremos "Android Project" como aparece en la figura; y eso es todo.


...Ya podemos seleccionar "Android Project" desde la opción "New".


Android - Conexión a un socket

El viernes pasado tuve la oportunidad de asistir a la reunión del grupo de estudio de Android que organiza la gente de Lima GTUG.

Esta vez mostré un pequeño ejemplo sobre cómo hacer que una aplicación Android se conecte con un socket. Para este fin, armé dos proyectos. El primero, constaba de una aplicación web que a través de un socket estaba a la espera de una invocacón para realizar una operación de suma. Y el segundo, nuestra pequeña calculadora de una operación.

Acá les comparto la presentación que usé para este tema.

02 marzo 2011

¿Android? Sí, Android!

Y bueno, hace unas semanas adquirí un smartphone android, el Huawei IDEOS u8150. Android es un sistema operativo para celulares, tablets y dispositivos móviles, actualmente propiedad de Google. Para los que no sepan mucho de Android acá les dejo una reseña sobre el mismo tomada de Android Argentina.


Android es un SO (sistema operativo) basado en Linux, inicialmente desarrollado por Android Inc., y comprado por el gigante Google en el 2005. 
Android fue creado, inicialmente, para celulares (denominados smartphones), y hoy en día también podemos encontrarlo en tablets, netbooks y otros dispositivos. 
Desde que se anunció la salida oficial de Android, el 5 de noviembre de 2007, junto con la creación de la Open Handset Alliance, un consorcio de 78 compañías de hardware, software y telecomunicaciones dedicadas al desarrollo de estándares abiertos para dispositivos móviles, el sistema operativo de Google comenzó a crecer de manera continua. 
Actualmente, Android posee el 32,9% de la cuota del mercado de smartphones a nivel mundial, dejando atrás a otros sistemas operativos, como Symbian, iOS (Apple), Windows Phone, etc. 
Existe una gran comunidad de desarrolladores para Android. Actualmente, se encuentran disponibles en el Android Market alrededor 200.000 aplicaciones. Ademas, existen aplicaciones desarrolladas por aficionados que pueden descargarse externamente al Android Market. Estas aplicaciones, están desarrolladas en lenguaje de programación Java, y ya que la mayoría del código de Android es código abierto, cualquiera puede descargarlo, modificarlo, y crear sus propias aplicaciones, o incluso sus propias versiones de Android. 
Las versiones de Android conocidas estan representadas por nombres de postres en Inglés y son: 
Android 1.5 “Cupcake”, Android 1.6 “Donut”, Android 2.1 “Éclair”, Android 2.2 “Froyo”, Android 2.3 “GingerBread”, y el recientemente conocido Android 3.0 “HoneyComb”. 
Entre los celulares con Android más destacados podemos nombrar al Samsung Galaxy S, Samsung Galaxy S II, Motorola Atrix 4G, LG Optimus 3D y muchos más.

22 febrero 2011

IBM Support Assistan en Ubuntu 10.10

Hoy instalé el IBM Support Assistant Workbench en Ubuntu Maverick (10.10), debemos tomar en cuenta que Ubuntu no está incluido en la lista de sistemas operativos soportados por el ISA Workbench.

1. Instalé el paquete alien: $sudo apt-get install alien
2. Descargué el IBM Support Assistant (ISA) para Linux.
3. Descomprimí el archivo (Me bajé el 4.1 el cual además de una carpeta docs traía un archivo rpm que habitualmente sirve para Red Hat).
4. Abrí una ventana del terminal y me cambié al usuario "root" ($su -)
5. Instalé el ISA con el siguiente comando: # alien -civ support-assistant-4.1.2.00-20101123_1610.i386.rpm 
6. Si todo salió bien el ISA debió quedar instalado en la siguiente ruta: /opt/ibm/IBMSupportAssistant_41/
7. Para inicarlo ejecuté: # /opt/ibm/IBMSupportAssistant_41/rcp/rcplauncher

Y bueno, tras aceptar los términos de licencia y esas cosas, finalmente, apareció el workbench.

Listo, no hay nada más por ahora. Ya tenemos nuestro ISA Workbench corriendo.

Pantallazo-6.png

25 noviembre 2010

Spring Community Day 2010: Apoyemos a los niños del AAHH San Alvino

Spring Community Day 2010: Apoyemos a los niños del AAHH San Alvino: "

Con tu donación para el ingrso al Spring Community Day 2010 (S/10.00 o su equivalente en cualquiera de los siguientes productos: leche, azucar, chocolate, panetón) apoya a los niños del AAHH San Alvino en la Misión de Navidad 2010 organizada por la UPC.

Aquí está la carta formal de UPC a Spring Perú.

23 noviembre 2010

...se viene el Spring Community Day 2010 (27/11/2010)

La comunidad Spring Perú tiene el agrado de invitarlos al 3er Spring Community Day 2010. Este evento organizado y presentado por la comunidad tiene el objetivo de compartir conocimiento y experiencias sobre el uso de Spring Framework y proyectos de Spring Source.


Puedes ver fotos de las ediciones anteriores aquí.
Puedes participar y enterarte de la organización del evento siguiendo la lista de Spring Perú. 
Cuando
Fecha: Sábado 27 de noviembre de 2010
Hora: 09:00am - 07:00pm
Donde
Universidad Peruana de Ciencias Aplicadas
Prolongación Primavera 2390, Monterrico
Lima
Ingreso
Para el ingreso debes registrarte primero. Este año Spring Perú se une a la misión de Navidad de este año organizada por la UPC para tener la oportunidad de trascender llevando la alegría de la Navidad a 300 niños de extrema pobreza del A.A.H.H. San Alvino en el distrito de Independencia. 
Para hacer realidad  este sueño,  necesitamos contar con tu apoyo, invitándote a apadrinar a un niño(a) con la donación de  S/.10.00, que será recolectado por la UPC para entregarte las credenciales de ingreso para las conferencias. Gracias a tu colaboración, cada niño disfrutará de un día lleno de alegría porque llevaremos juguetes, juegos inflables, snacks para compartir y el espíritu de la Navidad hasta sus hogares.
Programa
El programa consta de 3 tracks en paralelo: track básico, track avanzado y el Open Space.
Track 1 (Aula Magna)
09:00 - 09:15 Ingreso
09:15 - 09:30 Bienvenida
09:30 - 10:30 Introducción a Spring Framework (Lennon Shimokawa)
10:30 - 11:00 Coffee break
11:00 - 12:00 Spring DAO (Jonathan Lara)
12:00 - 13:00 Spring Web MVC (Susan Inga)
13:00 - 14:30 Almuerzo
14:30 - 15:30 Spring ORM con Hibernate (José Luis Bugarin)
15:30 - 16:30 Spring AOP (Mayer Horna)
16:30 - 17:00 Coffee break
17:00 - 18:00 Spring ROO (José Diaz)
18:00 - 19:00 Panel de cierre y retrospectiva final 
Track 2 (Aula A24)
14:30 - 15:30 Spring Portlet MVC (José Luis Manrique)
15:30 - 16:30 Spring Security (Edson Chavez)
16:30 - 17:00 Coffee break
17:00 - 18:00 Spring Web Services (Carlos Gavidia)
Track 3 (Aula A25)
14:30 - 15:30 Spring Web Flow (Colin Fairless)
15:30 - 16:30 Spring BlazeDS con Flex (Ricárdo Ávila)
16:30 - 17:00 Coffee break
17:00 - 18:00 Spring.NET (Angel Nuñez)
Open Space (Aula A22, Aula A31)
14:30 - 18:00 Open Space

16 noviembre 2010

WebSphere Portal - Customizar mensaje "This portlet is unavailable"

Curioseando encontré que el jar "wp.ui.jar" contiene una serie de archivos de propiedades
que contienen casi todos los mensajes que encuentras en el portal.

Para encontrarlo debemos ir a la siguiente ruta:

/ui/wp.ui/shared/app/wp.ui.jar

09 noviembre 2010

WP615 - Configurar páginas de error (Customize error pages)

Esta fue la tarea de esta semana: ¿cómo personalizamos las páginas para errores 404?



Para tener una configuración decente debemos tomar en cuenta que ésta se debe realizar en tres ámbitos diferentes: la primera es a nivel de webserver, la segunda a nivel del contexto "wps" y la tercera a nivel del contexto "portal", cómo se muestra en la figura.

Para el webserver debemos contar con una carpeta en dicho servidor con las páginas e imágenes que se emplearán para mostrar el mensaje de error. Luego en el archivo httpd.conf, ubicamos la sección que configura estos mensajes de error y establecerlo de manera similar al ejemplo que pongo a continuación:


Luego, configuramos el portal, para ello seguimos las siguientes instrucciones
- Bajar el portal en cada nodo.
- Subir en cada nodo el servidor "server1"
./startServer.sh server1
- Ubicarse en el Deployment Manager y allí crear una carpeta temporal
mkdir /was/wps_expanded
- Acceder al directorio dmgr_profile_root/bin
- Exportar el ear wps
./wsadmin.sh -user wpsadmin -password -c '$AdminApp export wps /was/wps.ear'
- Expandir el ear
./EARExpander.sh -ear /was/wps.ear -operationDir /was/wps_expanded -operation expand
- Crear una carpeta llamada "error" dentro de la carpeta "wps.war"
mkdir /was/wps_expanded/wps.ear/wps.war/error/
- Copiar los archivos de páginas de error en dicha carpeta.

NOTA: Las urls de los enlaces en la página deben seguir el siguiente formato:
"/wps/portal/rimac/inicio"
y las imágenes "imagenes/logo_rimac_seg.gif"

- Asignar permisos 777 a la carpeta "error"
chmod 777 R /was/wps_expanded/wps.war/error/
- Agregar dentro del web.xml entre los tags y , este archivo se encuentra en la ruta /was/wps_expanded/wps.war/WEB-INF



NOTA: Las urls de los enlaces en la página deben seguir el siguiente formato:
"portal/rimac/inicio"
y las imágenes "error/imagenes/logo_rimac_seg.gif"

- Agregar dentro del web.xml antes de los demás filtros.

Se aplica los "filters" a los siguientes contextos:
/portal/*
/myportal/*
/contenthandler/*



- Eliminar el archivo ear previamente exportado a fin de que podamos generarlo nuevamente.
- Empaquetar el ear
./EARExpander.sh -ear /was/wps.ear -operationDir /was/wps_expanded -operation collapse
- Importar el ear
./wsadmin.sh -user wpsadmin -password  -c '$AdminApp install  /was/wps.ear {-update -appname wps}'
- Bajar "server1"
- Reiniciar cada nodo de "WebSphere_Portal"
- Copiar el jar "portal-apiconz-filter.jar" del filtro en la ruta PortalServer/shared/app en ambos nodos.

Para este jar seguí las instrucciones que encontré en: Web Content Management: Custom error pages. Esta guía también la pude aplicar al portal

08 septiembre 2010

Ágiles 2010: 3ras Jornadas Latinoamericanas sobre Metodologías Ágiles

Ágiles 2010 es una excelente oportunidad para encontrase con
profesionales de IT de la región, interesados en compartir sus
experiencias, debatir y capacitarse en temas relacionados con el
desarrollo de software a través del uso de metodologías ágiles.

Esta tercera edición, con sede en la ciudad de Lima, Perú, contará
con la presencia de especialistas locales e internacionales, quienes
compartirán su conocimiento durante los cuatro días que durará el
evento.

El programa incluye distintos tipos de actividades: presentaciones,
sesiones interactivas, talleres y espacios abiertos de debate.

Entre los invitados internacionales se encuentran los keynote
speakers Lee Devin y Joshua Kerievsky, que también estarán brindando
cursos durante el evento.

Agiles 2010

¡Inscríbete y se parte de Ágiles 2010!