25 septiembre 2012

Instalación de Apache Maven en Ubuntu 12.04LTS

En esta ocasión se me dio por instalar Maven en mi ubuntu, asi que aquí les dejo los pasos que seguí.

Versión de ubuntu 12.04LTS
Versión de apache maven 3.0.4
Versión de java sdk 6u35

Descargar el binario (Binary tar.gz) de Maven desde el siguiente enlace:

http://maven.apache.org/download.html

Desempaquetar el binario en un directorio con permisos de ejecución.

Ingresar via “Terminal” al directorio en el que desempaquetamos el binario y ejecutamos la sentencia “./mvn -version”, prestemos atención al resultado:

Warning: JAVA_HOME environment variable is not set.Apache Maven 3.0.4 (r1232337; 2012-01-17 03:44:56-0500)
Maven home: /home/armando/apache-maven-3.0.4
Java version: 1.6.0_24, vendor: Sun Microsystems Inc.
Java home: /usr/lib/jvm/java-6-openjdk-amd64/jre
Default locale: es_PE, platform encoding: UTF-8
OS name: "linux", version: "3.2.0-31-generic", arch: "amd64", family: "unix"

Si bien todo parece andar casi OK, debemos setear la variable “JAVA_HOME” para evitar cualquier problema de ejecución de tareas, adicionalmente, prefiero usar el JDK de 0racle, en lugar del OPENSDK (cuestión de gustos por ahora) para las labores de desarrollo, por ello será necesario descargar el binario correspondiente a java desde la página de 0racle.

Para iniciar la descarga del binario (jdk-6u35-linux-x64.bin) nos dirigimos al siguiente enlace:

http://www.oracle.com/technetwork/java/javase/downloads/

y seguimos las instrucciones para “Self Extracting Linux 64 bits” (porque uso la versión para 64 bits) que encontramos en este otro enlace:

http://www.oracle.com/technetwork/java/javase/index-137561.html#linux

Una vez que ya tengamos instalado al java, estableceremos la variable JAVA_HOME de la siguiente manera:

export JAVA_HOME=/home/armando/jdk6u35/jdk1.6.0_35/

Luego, volvemos a ejecutar la sentencia “./mvn -version” y obtendremos un resultado similar al que sigue:
Apache Maven 3.0.4 (r1232337; 2012-01-17 03:44:56-0500)
Maven home: /home/armando/apache-maven-3.0.4
Java version: 1.6.0_35, vendor: Sun Microsystems Inc.
Java home: /home/armando/jdk6u35/jdk1.6.0_35/jre
Default locale: es_PE, platform encoding: UTF-8
OS name: "linux", version: "3.2.0-31-generic", arch: "amd64", family: "unix"

Y con esto ya estaríamos listo para empezar a usar Maven.

*************** Actualización 15:22hrs ***************

Para facilitar las cosas agregaremos algunas variables al sistema:


Abrimos el archivo “/etc/environment” y agregamos las siguientes lineas:

M2_HOME=”/home/armando/apache-maven-3.0.4”
MAVEN_HOME=”/home/armando/apache-maven-3.0.4”
M2=”/home/armando/apache-maven-3.0.4/bin”

Luego, modificamos la linea superior correspondiente al PATH:

PATH=”/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/armando/apache-maven-3.0.4/bin

Guardamos y por si acaso ejecutamos la siguiente sentencia para asegurarnos que se refleja el cambio:

echo $PATH

Si por a o b no aparece la modificación que le hicimos al PATH ejecutamos la siguiente sentencia:

export PATH=$PATH:/home/armando/apache-maven-3.0.4/bin

Y con esto ya podemos ejecutar el comando “mvn” desde cualquier directorio.


24 julio 2012

Android - Configurando la AVD para aceleración gráfica


Se requiere Android SDK Tools rev 17 o superior, entonces al crear una nueva AVD con la aceleración gráfica habilitada, en la sección Hardware de la configuración de la AVD, pulse el botón New, y seleccione GPU emulation estableciendo su valor en Yes.



20 julio 2012

Google Plus - Crea un "badge" para tu +Page

Sí, a través de Google+ Badge puedes crear un simpático widget que puedes colocar en tu página y así referencia a tu +Page. Cuando ingresas los datos dicha herramienta te genera un código javascript similar al que aparece a continuación:


El resultado final, será como el que sigue:


16 julio 2012

AIX/Linux - Cambiar Zona Horaria y Fecha/Hora

Necesitaba una ayuda memoria porque se están convirtiendo en tareas casi frecuentes.

Cambiar la zona horaria (timezone) a "Peru Time".

chtz 'PET'

Luego, reiniciar el servidor.

A continuación, debemos ajustar la hora, a través del siguiente comando (date MMDDhhmm[YYYY.ss])

date 07161210

En este caso he ajustado la fecha y hora a las "12:10hrs del 16 de Julio".

27 junio 2012

Hoy es el Google IO 2012!!!


Hoy empieza el Google I/O 2012, el evento más esperado de los amantes de la tecnología. Estaremos a la expectativa de loa que suceda en el Moscone Center de San Francisco, en el que por 3 días (27 - 29 de Junio) tendremos la oportunidad de disfrutar de los anuncios, demostraciones y charlas sobre las novedades que nos traen los amigos de la gran "G" para este año y el próximo. En esta ocasión ya está confirmado el lanzamiento de Android 4.1, el cual será conocido como Jelly Bean, hay rumores de otras novedades que iremos despejando a medida que el evento transcurra. 



Asi que los invito a estar en línea con el evento pulsando en la página "Google I/O 2012" para ver el evento en vivo.

16 mayo 2012

Problema con el cambio de WASADMIN y PORTALADMIN en Portal 7.0.0.2

Hoy me encontré con este problema mientras intentaba cambiar los usuarios de administración del WAS y del Portal (7002):

[wplc-validate-user-exists]   Instance attributes (Set 1 of 1):
[wplc-validate-user-exists]     ignoreDuplicateIDs= *** NOT_SPECIFIED ***
[wplc-validate-user-exists]     attribute=[ *** NONE_SPECIFIED *** ]
[wplc-validate-user-exists]     customproperty=[ *** NONE_SPECIFIED *** ]
[wplc-validate-user-exists]     cn="CN=wasadmin,OU=usuarios,OU=portal,DC=pe,DC=ibm,DC=com"
[wplc-validate-user-exists]     trimSpaces= *** NOT_SPECIFIED ***
[wplc-validate-user-exists] com.ibm.websphere.management.cmdframework.InvalidParameterNameException: ADMF0004E: Invalid parameter name CN for command searchUsers.
[wplc-validate-user-exists]     at com.ibm.websphere.management.cmdframework.provider.AbstractAdminCommand.getParameterMetadata(AbstractAdminCommand.java:1096)
[wplc-validate-user-exists]     at com.ibm.websphere.management.cmdframework.provider.AbstractAdminCommand.isParamReadonly(AbstractAdminCommand.java:1162)
[wplc-validate-user-exists]     at com.ibm.websphere.management.cmdframework.provider

Gracias al post de Dave Hay pude encontrar la solución (bueno, un workaround), agregarle "-Dskip.ldap.validation=true" al final de la sentencia.

Sentencia para el cambio de usuario administrador del WAS:

./ConfigEngine.sh wp-change-was-admin-user -DWasPassword=wpadmin -DnewAdminId=CN=wasadmin,OU=usuarios,OU=portal,DC=pe,DC=ibm,DC=com -DnewAdminPw=wasadmin -Dskip.ldap.validation=true


Sentencia para el cambio de usuario administrador del Portal:


./ConfigEngine.sh wp-change-portal-admin-user -DWasPassword=wasadmin -DnewAdminId=CN=wpsadmin,OU=usuarios,OU=portal,DC=pe,DC=ibm,DC=com -DnewAdminPw=wpsadmin -DnewAdminGroupId=CN=wpadmins,OU=grupos,OU=portal,DC=pe,DC=ibm,DC=com -Dskip.ldap.validation=true

09 mayo 2012

Hangouts On Air para todo el mundo!! :D


Hace dos días se anunció oficialmente que Hangouts On Air se puso a disposición de los usuarios de Google+. Y ¿qué es un hangout? pues es un servicio que te ofrece Google mediante el que puedes hablar e interactuar con hasta 10 usuarios a la vez por video. Pues buen, esta limitación ahora se levanta gracias "Hangouts On Air", el cual te permite hacer el broadcast de tu hangout a todos aquellos que tengan acceso a la url que se genere para el encuentro.

Fuente:

Licenciamiento por PVUs


Quizá un tema un poco más comercial, nunca está de más conocer cómo se maneja el licenciamiento en los productos IBM los cuales se basan en PVUs tal como se menciona a continuación:
A Processor Value Unit (PVU) is a unit of measure used to differentiate licensing of software on distributed processor technologies (defined by Processor Vendor, Brand, Type and Model Number).
Para mayor información sobre cómo se emplean los PVUs en los diferentes hardwares deben echarle un vistazo al siguiente enlace:

http://www-01.ibm.com/software/lotus/passportadvantage/pvu_licensing_for_customers.html

07 mayo 2012

Instalando el nuevo tema modular 7.0.0.2

El más reciente fixpack (7.0.0.2) trae consigo un nuevo tema, en el que se introduce un nuevo concepto de modularización.
IBM® WebSphere Portal 7.0.0.2 includes a new theme. The new theme is a modularized theme that you can enable and disable features as needed. The ability to enable and disable the theme provides better performance. You can disable components that are not needed. This ability also eases development of a theme.

A continuación, les diré que hacer para instalarlo.
  1. Primero debemos actualizar nuestro portal 7 con el fixpack 2 (recuerden que para su actualización también requieren actualizar el WAS (en mi caso lo tengo actualizado con el fixpack 21).
  2. Por defecto, el nuevo tema no viene instalado, así que debemos desplegarlo mediante la siguiente sentencia: 

  3. ./ConfigEngine.sh deploy-7002-theme -DPortalAdminPwd=password -DWasPassword=password

    Tras el despliegue, que tarda unos minutos, podremos ver que aparece listado el nuevo tema, con sus respectivos skins.


  4. Creé una nueva página y le apliqué el nuevo tema, así es como luce:

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.