Herramientas de portal y portlet - Notas del release

© Copyright International Business Machines Corporation 2006. Reservados todos los derechos. US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.

Notas del release

1.0 Limitaciones
   1.1 Los mensajes de aviso de enlace roto se muestran en la vista Problemas
   1.2 Soporte de código en Portal Designer
   1.3 La paleta de colores predeterminada no se utiliza correctamente
2.0 Problemas conocidos y soluciones
   2.1 Necesidad de sincronizar manualmente el tiempo de ejecución destino y la versión del servidor de portal para el asistente Proyecto de portal nuevo
   2.2 Editar los archivos JSP de tipo de contenido CSS en el diálogo Estilos
   2.3 El código cliente de servicios generados para JSF no funciona en los portlets de Faces JSR 168
   2.4 Mensaje 'Archivos incompatibles' cuando se importa un proyecto de portal
   2.5 No es posible ejecutar un portlet JSR 168 sin ID de aplicación o no es posible ejecutar un proyecto de portlet que contenga dicho portlet.
   2.6 El estado del servidor de WebSphere Portal 6.0 ha sido detectado como Detenido incluso cuando el servidor se está ejecutando
   2.7 Los portlets no aparecen en las páginas después de ejecutar o desplegar el proyecto Mi portal en Portal 6.0
   2.8 Cuando se crea un mensaje de proceso comercial con un WSDL de estilo Document-Literal, los nombres de los mensajes no aparecen en el asistente
   2.9 Es posible que el parámetro de acción predeterminada del asistente Cooperativo no sea correcto si el proyecto de portlet JSR 168 contiene portlets de distintos tipos.
   2.10 El contenedor de página de tareas no funciona cuando se modifica el valor predeterminado del nombre exclusivo
   2.11 Ciertos proyectos de portal migrados desde Rational Developer 6.x pueden provocar una excepción NoModuleFileException durante el despliegue
   2.12 Establecimiento de la modalidad de cargador de clases PARENT_LAST para portlets Faces
   2.13 "Ejecutar en WebSphere Portal v5.1 Test Environment" puede fallar con proyectos de portal creados utilizando Rational Developer 6.x
   2.14 Los ejemplos de portal y portlet en la Galería de ejemplos y en el asistente Importar portal están filtrados por Posibilidades

1.0 Limitaciones

1.1 Los mensajes de aviso de enlace roto se muestran en la vista Problemas

Al importar un proyecto de portal de ejemplo o crear un proyecto de portal utilizando el asistente "Proyecto de portal nuevo" de la Galería de ejemplos, aparecerá un mensaje de aviso de enlace roto en la vista Problemas.

1.2 Soporte de código en Portal Designer

En esta versión de Rational® Developer, Portal Designer sólo soporta visualizaciones en HTML, cHTML y WML.  Si ha especificado otros lenguajes de códigos soportados para una página o etiqueta en un proyecto importado, dichos lenguajes de códigos estarán soportados para la visualización en Rational Developer pero no será posible editarlos. Estos lenguajes de códigos no aparecerán en la vista Propiedades.

1.3 La paleta de colores predeterminada no se utiliza correctamente

A no se que asigne una paleta de colores a una página, se utilizará la paleta de colores predeterminada en WebSphere® Portal 6. Sin embargo, en Portal Designer, cuando no se especifica ninguna paleta de colores, se utilizará la paleta de colores de la página ancestro en lugar de la paleta predeterminada.

2.0 Problemas conocidos y soluciones

2.1 Necesidad de sincronizar manualmente el tiempo de ejecución destino y la versión del servidor de portal para el asistente Proyecto de portal nuevo

En el asistente Proyecto de portal nuevo, la selección de una versión del servidor de portal no actualiza automáticamente el tiempo de ejecución de destino.  La versión del servidor de portal y la configuración del tiempo de ejecución de destino deben sincronizarse manualmente.  Por ejemplo, debe seleccionar Tiempo de ejecución de WebSphere Portal v6.0  para una versión 6.0.0.x del servidor de portal y  seleccionar Tiempo de ejecución de WebSphere Portal v5.1  para una versión 5.1.0.x del servidor de portal. Si la versión del tiempo de ejecución de destino no está sincronizada con la versión del portal, es posible que el servidor de portal se corrompa cuando se despliegue el proyecto del portal.

2.2 Editar los archivos JSP de tipo de contenido CSS en el diálogo Estilos

En WebSphere Portal v6.0, al editar archivos JSP de tipo de contenido CSS, como por ejemplo styles.jsp o styles_theme.jspf,  con un diálogo Estilos, es posible que se visualicen expresiones JSP en el diálogo.  Estas expresiones JSP no se  pueden modificar en el diálogo; debe modificarlas en el panel fuente del Diseñador CSS.

2.3 El código cliente de servicios generados para JSF no funciona en los portlets de Faces JSR 168

En un portlet Faces JSR 168, si utiliza alguna de las siguientes herramientas para generar un cliente de servicio en un JSP Faces, el código de la página generada no funcionará correctamente en WebSphere Portal 6.0 ó 5.1. Las herramientas afectadas incluyen:

Este problema lo causa la nueva implementación del tiempo de ejecución de portlet Faces JSR168 contenido en el archivo jsf-portletbridge.jar, que es diferente de la anterior.

En la nueva implementación, los beans de código de página para los JSP de Faces, cuando se declaran como beans gestionados de ámbito de petición, no persisten entre la fase Acción del portlet y la fase Representador. En el código del cliente de servicios Web generado, el bean de código de página se utiliza para almacenar en la memoria caché el resultado del servicio Web durante la fase Acción. Pero, al estar en el ámbito de la petición, se crea una nueva instancia durante la fase Representador. Por lo tanto, el resultado que se almacena en la memoria caché se pierde.

Hay dos posibles soluciones:

  1. Colocar en el bean en el ámbito de sesión (esto se configura en el archivo faces-config.xml). Simplemente debe modificar una línea en el archivo de configuración.
  2. Esta opción no es tan simple como la primera pero es la manera preferida de implementar clientes de servicios Web en portlets JSR168. Cumple los procedimientos recomendados de la programación de portlets JSR168 y permite un soporte mucho más eficiente del botón Atrás y de la creación de favoritos.
PortletResponse response = (PortletResponse)getFacesContext().getExternalContext().getResponse();
((ActionResponse)response).setRenderParameter("resultValue", resultValue);
PortletRequest request = (PortletRequest)getFacesContext().getExternalContext().getRequest();
request.getPortletSession().put("resultValue", resultValue);
PortletResponse response = (PortletResponse)getFacesContext().getExternalContext().getResponse();
((ActionResponse)response).setRenderParameter("inputValue", inputValue);
PortletRequest request = (PortletRequest)getFacesContext().getExternalContext().getRequest();
String inputValue = request.getParameter("inputValue");

2.4 Mensaje 'Archivos incompatibles' cuando se importa un proyecto de portal

Cuando se importa un proyecto de portal es posible que aparezca un recuadro de mensaje de pregunta: "Los siguientes archivos del espacio de trabajo son incompatibles con el editor. ¿Desea actualizar el editor con el contenido del espacio de trabajo?". Pulse Sí.  

2.5 No es posible ejecutar un portlet JSR 168 sin ID de aplicación o no es posible ejecutar un proyecto de portlet que contenga dicho portlet.

El ID de aplicación del portal es opcional de acuerdo con la especificación de JSR 168 pero Rational® Developer no publica correctamente portlets sin ID. Rational Developer no genera portlets sin dichos ID. Es posible que se cree un portlet si importa un portlet de otro origen. Para solucionar este problema, abra el descriptor de despliegue del portlet del proyecto y añada un ID de aplicación de portlet en la pestaña Origen. Por ejemplo:
<portlet-app xmlns=... version=... xmlns:xsi=... xsi:schemaLocation=... id="ESCRIBA_EL_ID_AQUÍ">
...
</portlet-app>

2.6 El estado del servidor de WebSphere Portal 6.0 ha sido detectado como Detenido incluso cuando el servidor se está ejecutando

Si se detecta el estado del servidor como Detenido cuando el servidor se está ejecutando, compruebe primero que los puertos del conector SOAP/RMI son los correctos y que las credenciales de seguridad de WebSphere que está utilizando son las correctas en el editor de servidores. Si los valores no son correctos el estado del servidor nunca será detectado como Iniciado. Si son correctos y el estado del servidor permanece como Detenido, existen un problema en la coexistencia de WebSphere Application Server v6.1 y WebSphere Portal v6.0.

La situación más común es tener el servidor de WebSphere Application Server 6.1 instalado en el sistema local e iniciar un nuevo espacio de trabajo. En este nuevo espacio de trabajo una instancia de servidor de WebSphere Application Server 6.1 se creará de forma automática y esto impedirá que la detección del estado de Portal 6.0 funcione correctamente. También puede producirse si crea un servidor de WebSphere Application Server v6.1 y, a continuación, crea un servidor de Portal 6.0.

La solución es reiniciar el producto de Rational con el mismo espacio de trabajo. La instancia de servidor de Portal 6.0 debería funcionar correctamente siempre que el servidor de WebSphere Application Server 6.1 no esté inicializado, es decir, que su estado esté en blanco en lugar de Detenido o Iniciado.

2.7 Los portlets no aparecen en las páginas después de ejecutar o desplegar el proyecto Mi portal en Portal 6.0

Los portlets no aparecen en las páginas después de ejecutar o desplegar el proyecto Mi portal en Portal 6.0. Para minimizar el efecto de este problema, despliegue sólo la configuración siempre que no sea necesario realizar un despliegue completo.

Si experimenta el problema, intente ejecutar un despliegue de sólo configuración del proyecto de portal sin desplegar ningún portlet. Esto generalmente permite que el portal vuelva a representar los portlets correctamente.

2.8 Cuando se crea un mensaje de proceso comercial con un WSDL de estilo Document-Literal, los nombres de los mensajes no aparecen en el asistente.

Si está creando un nuevo mensaje de proceso comercial y el archivo WDSL es de estilo Document-Literal, los nombres de mensajes de entrada y salida pueden no mostrarse en la segunda página del asistente. Todavía podrá seleccionarlos y ver los mensajes en la parte derecha del asistente. El código generado será correcto independientemente del hecho de que los nombres de mensajes no aparezcan en el asistente. 

2.9 Es posible que el parámetro de acción predeterminada del asistente Cooperativo no sea correcto si el proyecto de portlet JSR 168 contiene portlets de distintos tipos.

Si está utilizando el asistente cooperativo para crear portlets de origen o de destino y el proyecto de portlet JSR 168 contiene varios tipos de portlets, como un portlet básico y un portlet struts, es posible que el parámetro de acción predeterminado en el asistente no sea correcto.

En los portlets básicos y Faces, el parámetro de acción predeterminado debe ser ACTION_NAME_PARAM, pero es posible que el usuario seleccione un valor distinto.
En struts, el parámetro de acción debe ser spf_strutsAction.

2.10 El contenedor de página de tareas no funciona cuando se modifica el valor predeterminado del nombre exclusivo

Estos los son los valores predeterminados del nombre exclusivo en los contenedores de página de tarea: 
 WebSphere Portal v6.0:   ibm.portal.MyTasks
 WebSphere Portal v5.1:   wps.MyTasks

En Portal Designer, cuando se utiliza otra página con un nombre exclusivo diferente de los listados anteriormente,  la página no se reconocerá como una página de contenedor de página de tareas en WebSphere Portal después del despliegue. 

Método alternativo:  Después del despliegue,  cambie el valor del parámetro TaskPageContainerUniqueName en el portlet Mis tareas utilizando estos pasos:
 1.  Abra Administración > Gestión de portlets > Portlets
 2.  Para el portlet Mis tareas,  pulse el botón Configurar portlet
 3.  En el parámetro TaskPageContainerUniqueName, pulse Editar.
 4.  Cambie el valor al nuevo nombre exclusivo en Portal Designer utilizando estos valores:

  WebSphere Portal v6.0:   ibm.portal.MyTasks
  WebSphere Portal v5.1:   wps.MyTasks
 5. Pulse Aceptar. 

2.11 Ciertos proyectos de portal migrados desde Rational Developer 6.x pueden provocar una excepción NoModuleFileException durante el despliegue

Si un proyecto de portal se ha migrado desde Rational Developer 6.x  a un espacio de trabajo de Rational Developer 7.0, es posible que se produzca un error de despliegue con una excepción NoModuleFileException.  Cuando suceda esto, lleve a cabo el siguiente procedimiento para corregir el problema.

      <module id="WebModule_1163447032109">
          <web>
              <web-uri>wps.war</web-uri>
              <context-root>wps</context-root>
          </web>
      </module>
      <module id="WebModule_WSRP">
         <web>
            <web-uri>wps_facade.war</web-uri>
            <context-root>/wsrp</context-root>
         </web>
      </module>
      <module id="EjbModule_1">
          <ejb>wp.scheduler.ejb.jar</ejb>
      </module>
      <security-role id="SecurityRole_1">
         <description>Everyone in the enterprise.</description>
         <role-name>Everyone Role</role-name>
      </security-role>
      <security-role id="SecurityRole_2">
         <description>Todos los usuarios autenticados en la empresa.</description>
         <role-name>All Role</role-name>
      </security-role>
      <security-role id="SecurityRole_3">
         <description>No hay usuarios en la empresa.</description>
         <role-name>No Role</role-name>
      </security-role>

2.12 Establecimiento de la modalidad de cargador de clases PARENT_LAST para portlets Face

Debido a una versión antigua de jsf-ibm.jar incluida con WebSphere Portal 6.0, algunos componentes JSF no se representan correctamente en portlets si la modalidad de cargador de clase está establecida en PARENT_FIRST en el módulo Web del portlet.  Esto se debe a que cuando la modalidad del cargador de clase está establecida en PARENT_FIRST, se utilizará el archivo jsf-ibm.jar en WebSphere Portal 6.0 en lugar de la copia contenida en el módulo Web del portlet.

Sólo los componentes en jsf-ibm.jar, que corresponden con el URI http://www.ibm.com/jsf/html_extended, se ven afectados.  Los portlets de IBM Faces y Faces JSR168 se ven afectados.

La modalidad de cargador de clase del módulo Web del portlet se establecerá en PARENT_FIRST en las siguientes situaciones y, por lo tanto, debe modificarse:

Para solucionar este problema, abra el archivo application.xml en el proyecto EAR que contiene el proyecto de portlet y abra la pestaña "Despliegue".  En la sección "Aplicación", busque el árbol que muestra el EAR y el proyecto de portlet .  Seleccione el proyecto de portlet y cambie la "Modalidad de cargador de clases" de "PARENT_FIRST" a "PARENT_LAST".  Es posible que necesite volver a publicar la aplicación para que el cambio surta efecto en el servidor de destino.
Si el portlet se instala directamente en WebSphere Portal utilizando el WAR, en la página de administración de WebSphere Portal o utilizando el mandato xmlAccess, la modalidad de cargador de clase ya estará establecida en PARENT_LAST.  En este caso el portlet funcionará correctamente sin ningún método temporal.

2.13 "Ejecutar en WebSphere Portal v5.1 Test Environment" puede fallar con proyectos de portal creados utilizando Rational Developer 6.x

Cuando un proyecto de portal 5.1.0.1 creado utilizando Rational Developer 6.x se importa utilizando Intercambio de proyectos en un espacio de trabajo de Rational Developer 7.0, es posible que "Ejecutar en WebSphere Portal v5.1 Test Environment" falle.

Método alternativo: modifique el archivo .portalsettings utilizando estos pasos:
 1. Abra Ventana > Abrir perspectiva > Otras... .
 2. Seleccione Recurso y pulse Aceptar en el diálogo Abrir perspectiva.
 3. Expanda el proyecto de portal en la vista Navegador.
 4. Seleccione el archivo .portalsettings y ábralo con el Editor de texto.
 5. Inserte lo siguiente.
    <?xml version="1.0" encoding="UTF-8"?>
    <portalSettings>
         <portal-version version="5.1.0.1"/>
         <portlets-ear-project portlets-ear-project-name=""/>
         <process-integration mytaskspage-uniquename="wps.MyTasks"/>
     </portalSettings>

2.14 Los ejemplos de portal y portlet en la Galería de ejemplos y en el asistente Importar portal están filtrados por Posibilidades

La posibilidad "Desarrollador de Web (avanzado) necesita activarse para ver el asistente Importar portal y los ejemplos de portlet (de la Galería de ejemplos).  Para habilitar la posibilidad vaya a Ayuda> Bienvenida, y pulse el botóin "Habilitar roles" que se encuentra en la esquina de la pantalla.  A continuación seleccione el rol "Desarrollador de Web (avanzado)" para activarlo.  Vuelva a iniciar el asistente o la Galería de ejemplos para que los cambios surtan efecto.