Notas de release de las herramientas de portal y de portlet

© 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 de 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 de cliente de servicios generados para JSF no funciona en los portlets Faces JSR 168
   2.4 Mensaje 'Archivos incoherentes' al importar un proyecto de portal
   2.5 No se puede ejecutar un portlet JSR 168 que no tenga ID de aplicación de portlet ni se puede ejecutar un proyecto de portal que contenga un portlet así.
   2.6 El estado del servidor WebSphere Portal 6.0 aparece como Detenido aunque el servidor esté ejecutándose
   2.7 Los portlets no se muestran en páginas después de ejecutar o desplegar mi proyecto de portal en Portal 6.0
   2.8 Al crear un mensaje de proceso empresarial con un WSDL de estilo de literal de documento, los nombres de mensaje no se muestran en el asistente.
   2.9 El parámetro de acción predeterminado del asistente cooperativo puede ser incorrecto si el proyecto de portlet JSR 168 contiene portlets de tipos distintos.
   2.10 El contenedor de página de tareas no funciona cuando se cambia el valor predeterminado del nombre exclusivo
   2.11 Determinados proyectos de portal migrados de Rational Developer 6.x pueden originar una excepción NoModuleFileException durante el despliegue
   2.12 Establecer la modalidad de cargador de clases PARENT_LAST para portlets Faces
   2.13 "Ejecutar en Entorno de prueba de WebSphere Portal v5.1" puede fallar con proyectos de portal creados mediante Rational Developer 6.x
   2.14 Los ejemplos de portal y portlet de la Galería de ejemplos y el asistente Importar portal se filtran por posibilidades

1.0 Limitaciones

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

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

1.2 Soporte de código en Portal Designer

En eta versión de Rational® Developer, Portal Designer solo soporta visualizaciones en HTML, cHTML y WML. Si ha especificado otros lenguajes de códigos soportados para una página o etiqueta de un proyecto importado, Rational Developer soporta estos códigos pero no puede editarlos. Estos lenguajes de códigos no se visualizarán en la vista Propiedades.

1.3 La paleta de colores predeterminada no se utiliza correctamente

A menos que asigne una paleta de colores a una página, la paleta de colores predeterminada se utiliza en WebSphere® Portal 6. Sin embargo en Portal Designer, cuando no se especifica la paleta de colores, se utiliza 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, al seleccionar una versión de servidor de portal no se actualiza automáticamente el tiempo de ejecución destino.  Los valores de tiempo de ejecución destino y la versión del servidor del portal deben sincronizarse manualmente.  Por ejemplo, debe seleccionar un tiempo de ejecución WebSphere Portal v6.0 para un servidor de portal, versión 6.0.0.x, y  debe seleccionar un tiempo de ejecución WebSphere Portal v5.1 para un servidor de portal, versión 5.1.0.x. Si la versión de tiempo de ejecución destino no está sincronizada con la versión de portal, el servidor de portal puede dañarse o inutilizarse cuando se despliega el proyecto de portal.

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

En WebSphere Portal v6.0, al editar los archivos JSP de tipo de contenido CSS, como por ejemplo styles.jsp o styles_theme.jspf con un diálogo Estilos, las expresiones JSP aparecerán en el diálogo. Estas expresiones JSP no pueden modificarse en el diálogo, debe modificarlas en el panel de código fuente de CSS Designer.

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

Para un portlet Faces JSR168, si utiliza cualquiera de las herramientas siguientes para generar un cliente de servicio en un JSP Faces, el código de página generado no funcionará correctamente en WebSphere Portal 6.0 ó 5.1. Las herramientas afectadas incluyen:

Esto está causado por la nueva implementación de tiempo de ejecución de portlet Faces JSR168 contenida en el archivo jsf-portletbridge.jar, que es diferente a lo que era antes.

En la implementación nueva, los beans pagecode de los JSP Faces, cuando se declaran como beans gestionados de ámbito de petición no persiste entre la fase de acción y la fase de representación del portlet. En el código de cliente de servicios Web, el bean pagecode se utiliza para poner en memoria caché el resultado del servicio web durante la fase de acción. Pero puesto que está en el ámbito de petición, se crea una instancia nueva durante la fase de representación. Por lo tanto, se pierde el resultado de la memoria caché.

Hay dos soluciones posibles:

  1. Ponga el bean en ámbito de sesión (esto está configurado en faces-config.xml). Esto es tan simple como cambiar una línea del archivo de configuración.
  2. Esto no es tan simple como el número 1, pero es la forma preferida de implementar el cliente de servicios en los portlets JSR168. Esto sigue los procedimientos recomendados de la programación de portlets JSR168 y permite un mejor soporte del botón de retroceder y 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 incoherentes' al importar un proyecto de portal

Al importar un proyecto de portal puede aparecer un recuadro de mensaje con esta solicitud: "Los archivos siguientes del espacio de trabajo no son coherentes con el editor. Actualice el editor con el contenido del espacio de trabajo". Pulse Sí.  

2.5 No se puede ejecutar un portlet JSR 168 que no tenga ID de aplicación de portlet ni se puede ejecutar un proyecto de portal que contenga un portlet así.

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

2.6 El estado del servidor WebSphere Portal 6.0 aparece como Detenido aunque el servidor esté ejecutándose

Si el estado del servidor aparece como Detenido cuando el servidor esté ejecutándose, asegúrese de que los puertos del conector SOAP/RMI sean correctos y de que las credenciales de seguridad de WebSphere que esté utilizando sean correctas en el editor del servidor. Si no son correctas, el estado del servidor nunca aparecerá como Iniciado. Si son correctas y el estado del servidor sigue siendo Detenido, es posible que haya un problema con la coexistencia de WebSphere Application Server v6.1 y WebSphere Portal v6.0.

El caso de ejemplo más común es que el servidor WebSphere Application Server 6.1 esté instalado en el sistema local y que empiece con un espacio de trabajo nuevo. En este espacio de trabajo nuevo, se creará y se inicializará automáticamente una instancia de servidor WebSphere Application Server 6.1 y esto impedirá que la detección de estado de Portal 6.0 funcione adecuadamente. También puede ocurrir si crea un servidor WebSphere Application Server v6.1 y después crea un servidor Portal 6.0.

La solución consiste en reiniciar el producto Rational con el mismo espacio de trabajo. La instancia del servidor Portal 6.0 debe funcionar correctamente mientras el servidor WebSphere Application Server 6.1 no se haya inicializado, es decir mientras su estado permanezca en blanco en lugar de Detenido o Iniciado.

2.7 Los portlets no se muestran en páginas después de ejecutar o desplegar mi proyecto de portal en Portal 6.0

Los portlets no se muestran en páginas después de ejecutar o desplegar mi proyecto de portal en Portal 6.0. Para minimizar el efecto sobre este aspecto, utilice el despliegue de solo configuración siempre que el despliegue completo no sea necesario.

Si encuentra el problema, intente ejecutar un despliegue solo de configuración en el proyecto de portal sin desplegar portlets. Esto normalmente habilita el portal para volver a representar correctamente los portlets.

2.8 Al crear un mensaje de proceso empresarial con un WSDL de estilo de literal de documento, los nombres de mensaje no se muestran en el asistente.

Si está creando un mensaje de proceso empresarial y el archivo WSDL está en estilo de literal de documento, los nombres de mensaje de entrada y salida no se visualizarán en la segunda página del asistente. Todavía puede seleccionarlos y ver los detalles de mensaje en el lado derecho del asistente. El código generado será correcto a pesar del hecho de que los nombres de mensaje no se muestren en el asistente. 

2.9 El parámetro de acción predeterminado del asistente cooperativo puede ser incorrecto si el proyecto de portlet JSR 168 contiene portlets de tipos distintos.

Si está utilizando el asistente cooperativo para crear portlets origen o destino y el proyecto de portlet JSR 168 contiene varios tipos de portlet como por ejemplo un portlet básico y un portlet struts, el parámetro de acción predeterminado del asistente puede ser incorrecto.

En los portlets básicos y faces, el parámetro de acción predeterminado debe ser ACTION_NAME_PARAM, pero el usuario puede seleccionar un valor diferente.
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 cambia el valor predeterminado del nombre exclusivo

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

En Portal Designer, cuando utiliza otra página con un nombre exclusivo diferente de los anteriores, la página no se reconoce como página contenedora de página de tareas en WebSphere Portal después del despliegue. 

Solución:  después del despliegue, cambie el valor del parámetro TaskPageContainerUniqueName en el portlet Mis tareas mediante estos pasos:
 1.  Abrir administración > Gestión de portlets > Portlets
 2.  Para el portlet Mis tareas,  pulse el botón Configurar portlet
 3.  Para el parámetro TaskPageContainerUniqueName, pulse Editar.
 4.  Cambie el valor por el nombre exclusivo nuevo en Portal Designer mediante estos valores:

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

2.11 Determinados proyectos de portal migrados de Rational Developer 6.x pueden originar una excepción NoModuleFileException durante el despliegue

Si un proyecto de portal se migró del espacio de trabajo de Rational Developer 6.x  a Rational Developer 7.0, causará una anomalía en el despliegue con una excepción NoModuleFileException. Cuando esto ocurra, siga este 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>Todo el mundo en la empresa.</description>
         <role-name>Rol Todo el mundo</role-name>
      </security-role>
      <security-role id="SecurityRole_2">
         <description>Todos los usuarios autenticados de la empresa.</description>
         <role-name>Rol Todos</role-name>
      </security-role>
      <security-role id="SecurityRole_3">
         <description>Ningún usuario de la empresa.</description>
         <role-name>Ningún rol</role-name>
      </security-role>

2.12 Establecer la modalidad de cargador de clases PARENT_LAST para portlets Faces

Debido a una versión obsoleta del archivo jsf-ibm.jar proporcionado con WebSphere Portal 6.0, algunos componentes JSF no se representan correctamente en portlets si la modalidad de cargador de clases se establece en PARENT_FIRST en el módulo web del portlet. Esto es así porque la modalidad de cargador de clases se establece en PARENT_FIRST y después se utiliza jsf-ibm.jar en WebSphere Portal 6.0 en lugar de la copia contenida en el módulo web del portlet.

Sólo se ven afectados los componentes de jsf-ibm.jar correspondientes a uri http://www.ibm.com/jsf/html_extended.  Se ven afectados los portlets IBM Faces y JSR168 Faces.

La modalidad de cargador de clases del módulo web se establecerá en PARENT_FIRST bajo las situaciones siguientes y por lo tanto deberá cambiarse:

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". Deberá volver a publicar la aplicación para que el cambio surta efecto sobre el servidor destino.
Si el portlet se instala directamente en WebSphere Portal mediante el WAR, ya sea en la página de administración de WebSphere Portal o mediante el mandato xmlAccess, la modalidad de cargador de clases ya se establece en PARENT_LAST. En este caso el portlet funcionará correctamente sin necesidad de ninguna solución.

2.13 "Ejecutar en Entorno de prueba de WebSphere Portal v5.1" puede fallar con proyectos de portal creados mediante Rational Developer 6.x

Cuando un proyecto de portal 5.1.0.1 creado mediante Rational Developer 6.x se importa con Intercambio de proyectos en un espacio de trabajo de Rational Developer 7.0, "Ejecutar en Entorno de prueba de WebSphere Portal v5.1" puede fallar.

Solución: modifique el contenido del archivo .portalsettings siguiendo estos pasos:
 1. Abra Ventana > Abrir perspectiva > Otras... .
 2. Seleccione Recursos 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 abra con el Editor de textos.
 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 de la Galería de ejemplos y el asistente Importar portal se filtran por posibilidades

La posibilidad "Desarrollador Web (avanzado) debe desactivarse para ver el asistente Importar portal y los ejemplos de portal y de portlet (de la Galería de ejemplos.) Para habilitar la posibilidad, vaya a Ayuda > Bienvenida, en la Bienvenida pulse el botón "Habilitar cometidos" que se carga en la esquina de la pantalla. A continuación seleccione el cometido "Desarrollador Web (avanzado)" para activarlo.  Reinicie el asistente o la Galería de ejemplos para que los cambios surtan efecto.