Cuando crea los portlets de API JSR 168 utilizando el asistente Portlet nuevo, Rational Software Development Platform asigna automáticamente un atributo ID. El atributo ID debe incluirse en el elemento <portlet-app/> del archivo portlet.xml para identificar el portlet de forma exclusiva frente al servidor. (Este atributo corresponde al atributo UID utilizado por los portlets de la API de portlets de IBM.)
Si tiene portlets de API JSR 168 que no tienen un atributo ID en el elemento <portlet-app/> del archivo portlet.xml, añada el atributo ID con el valor exclusivo correspondiente inmediatamente después de importar el portlet en el área de trabajo de las herramientas de Rational. Para añadir el atributo ID, abra el descriptor de despliegue del portlet y edítelo utilizando la vista Fuente. No cambie el valor del ID después de desplegar el portlet de API JSR 168 a un servidor de portal o después utilizar el proyecto de portlet API JSR 168 en un proyecto de portal.
Hay limitaciones sobre un portlet de API JSR 168 sin un atributo ID:
- Si utiliza un portlet de API JSR 168 sin un atributo ID en un proyecto de portal, no puede ejecutar ese portlet en el entorno de prueba.
- Si asocia dos o más portlets de API JSR 168 sin un atributo ID con el entorno de prueba de WebSphere Portal 5.1, el entorno de prueba no podrá iniciarse.
- No debe cambiar el nombre del proyecto después de desplegar el portlet de API JSR 168 en un servidor de portal o después de utilizar el proyecto de portlet de API JSR 168 en un proyecto de portal.
Puesto que Portal Designer no soporta portlets de WSRP, las funciones de edición relacionadas para estos portlets, como por ejemplo Copiar y Mover, están inhabilitadas. Incluso así, es posible importar los portlets de WSRP de WebSphere Portal y desplegarlos otra vez.
Al ejecutar un portlet que contenga una lista de registros relacionales o un registro relacional (SDO), verá el error siguiente en las anotaciones del servidor:
[date and time] 4942fbd0 SystemOut O java.lang.LinkageError: La clase org/eclipse/emf/ecore/EClass viola las restricciones del cargador: discrepancia de definición entre cargadores padre e hijo
Puede pasar por alto este error.
Al crear un proyecto de portal utilizando el asistente Proyecto de portal nuevo o importando un proyecto de portal de ejemplo de la Galería de ejemplos, aparecen mensajes de aviso de enlace roto en la vista Problemas.
Portal Designer solo visualiza HTML, cHTML y WML como códigos soportados. Si ha especificado otros códigos soportados para una página o una etiqueta en un proyecto a importar, estos se mantienen en Rational Developer. Sin embargo, no puede cambiar los códigos y no se visualizarán en la vista Propiedades.
Al ejecutar en el Entorno de prueba de Portal de Websphere, los proyectos de portal tienen preferencia sobre los proyectos de portlet. Si ejecuta un proyecto de portal en el entorno de prueba, se establece una asociación entre el proyecto de portal y la configuración de servidor. Para poder ejecutar los proyectos de portlet utilizando la misma configuración de servidor, deberá romper esta asociación.
Para corregir el problema de la asociación, siga estos pasos:
- En la vista Servidores, seleccione Añadir y eliminar proyectos en el menú de contexto del servidor.
- Elimine el proyecto wps, cualesquiera proyectos de EAR de proyecto de portal y cualesquiera proyectos de EAR de portlet asociados a proyectos de portal (si están asociados a la configuración de servidor.)
Para WebSphere Portal 5.1, cuando previamente se ha visualizado un portal en un navegador Web y después se utiliza este producto para modificar el tema predeterminado de este portal, es necesario reiniciar el servidor para aplicar completamente el tema predeterminado nuevo.
En el Entorno de prueba de WebSphere Portal, no es posible cambiar el tema predeterminado mediante la republicación de la configuración de portal. Es necesario reiniciar el entorno de prueba.
Este problema puede corregirse para WebSphere Portal 5.1 aplicando PK00826. Este arreglo se incorporará a próximas versiones de WebSphere Portal.
Problema: no se puede abrir los archivos license.html o privacy.html en un proyecto de portal importado o un proyecto de portal nuevo creado a partir del entorno de prueba utilizando Page Designer debido a una codificación incorrecta.
Solución: Aplique el APAR PQ93681 al servidor de Portal o el entorno de prueba y después vuelva a importar el proyecto del servidor de portal o vuelva a crear el proyecto a partir del entorno de prueba, respectivamente.
Nota: Este problema se ha arreglado para WebSphere Portal 5.1 y WebSphere Portal 5.0.2.3, pero no para WebSphere Portal 5.0.2.2.
Al ejecutar o desplegar proyectos de portlet habilitados para pulsar para accionar, los títulos de menú no se visualizan en los menús de pulsar para accionar. En su lugar se visualizan los nombres de las acciones. Si necesita que se visualicen correctamente los títulos de los menús, puede utilizar este producto para exportar el proyecto de portlet como un archivo WAR y para reinstalarlo después en WebSphere Portal utilizando el portlet Gestionar módulos Web.
Este es un problema solo de WebSphere Portal 5.1.0.0 que puede arreglarse actualizando a WebSphere Portal 5.1.0.1.
Problema: en el Descriptor de despliegue de portlet JSR 168 no puede editar un nombre de portlet en el área Colecciones de portlet.
Solución: Edite el nombre del portlet en la página Fuente.
Problema: el cambio de nivel de la API de Portlet falla si la vía de acceso de clases es larga.
Solución: debe corregir la vía de acceso de construcción Java de los proyectos de portlet migrados. Para la vía de acceso de construcción Java, puede hacer referencia a un proyecto de portlet básico generado por el asistente Proyecto de portlet nuevo. Añada los archivos JAR faltantes necesarios a la vía de acceso de construcción Java del proyecto de portlet migrado.
Problema: al importar un sitio de portal existente de WebSphere Portal o crear un proyecto de portal nuevo a partir del entorno de prueba, aparecen errores de validación relacionados con WSRP en la vista Problemas relativos al proyecto de portal creado.
Solución: aplique el APAR PQ95638 a WebSphere Portal o al entorno de prueba de WebSphere Portal antes de importar un sitio de portal o crear un proyecto de portal nuevo respectivamente.
Nota: esto se ha arreglado para WebSphere Portal 5.1 y WebSphere Portal 5.0.2.3 pero no se ha arreglado para WebSphere Portal 5.0.2.2.
Cuando crea un portlet JSR168 de Struts con la modalidad de configuración seleccionada y ejecuta este portlet en un servidor de portal o un entorno de prueba, la textura de portlet no visualiza la opción para seleccionar la modalidad de configuración, representada por una llave inglesa en la textura de portlet.
Hay dos problemas.
- La herramienta no ha realizado correctamente la configuración del portlet para que utilice la modalidad de configuración.
- La versión JSR168 de StrutsPortlet no soporta la modalidad "config" por omisión. Así, incluso aunque la herramienta haya configurado el portlet adecuadamente, éste no entenderá la modalidad "config".
Hay una solución disponible para habilitar la modalidad de configuración para un portlet JSR168 de Struts. Una vez que se ha creado un portlet JSR168 de Struts en el proyecto de portlet:
- En este proyecto, cree una subclase (que no esté en el paquete por omisión) del StrutsPortlet que altera temporalmente el método doDispatch. En el método doDispatch, añada código para comprobar la modalidad de configuración. Vea lo siguiente:
package my.pkg; // no utilizar el paquete por omisión. import java.io.IOException; import javax.portlet.*; import com.ibm.portal.struts.portlet.StrutsPortlet; /** * StrutsPortlet que puede utilizarse con la modalidad config. */ public class ConfigEnabledStrutsPortlet extends StrutsPortlet { protected void doDispatch(RenderRequest request, RenderResponse response) throws PortletException, IOException { if ( !WindowState.MINIMIZED.equals(request.getWindowState()) ) { PortletMode mode = request.getPortletMode(); if ( mode.toString().equals("config") ) { // comprobando modalidad "config". doConfigMode(request, response); // si es, llamar a doConfigMode(request, response) return; } } super.doDispatch(request, response); } // código para manejar "config". public void doConfigMode(RenderRequest request, RenderResponse response) throws PortletException, IOException { super.doService (request, response); } }- Redenomine la carpeta \WebContent\html\configure como WebContent\html\config . Nota: si tiene otros tipos de codificación con modalidad config habilitada, también deberá redenominar estas carpetas de configure config. Pulse No cuando se le solicite actualizar referencias.
- Abra el archivo \WebContent\WEB-INF\portlet.xml. Busque el portlet de Struts. Se trata de un portlet con portlet-class = com.ibm.portal.struts.portlet.StrutsPortlet.
- Cambie:
<portlet> .. <portlet-class> com.ibm.portal.struts.portlet.StrutsPortlet </portlet-class> ... <init-param> <name>config/html/configure</name> <!-- si tiene otra codificación, aplique los mismos cambios --> <value>/WEB-INF/struts-html-configure.xml</value> </init-param> ... <supports> <mime-type>text/html</mime-type> <portlet-mode>view</portlet-mode> <portlet-mode>configure</portlet-mode> </supports> ... <portlet-preferences> ... <preference> <!-- si tiene otra codificación, aplique los mismos cambios -->A:
<name>com.ibm.struts.portal.page.configure.html</name> <value>html/configure/index.jsp</value> </preference> </portlet-preferences> </portlet> <custom-portlet-mode> <portlet-mode>configure</portlet-mode> </custom-portlet-mode><portlet> ... <!-- cambie el valor de portlet-class por el que acaba de crear --> <portlet-class> my.pkg.ConfigEnabledStrutsPortlet </portlet-class> ... <init-param> <name>config/html/config</name> <value>/WEB-INF/struts-html-configure.xml</value> </init-param> ... <supports> <mime-type>text/html</mime-type> <portlet-mode>view</portlet-mode> <portlet-mode>config</portlet-mode> </supports> ... <portlet-preferences> ... <preference> <name>com.ibm.struts.portal.page.config.html</name> <value>html/config/index.jsp</value> </preference> </portlet-preferences> </portlet> <custom-portlet-mode> <portlet-mode>config</portlet-mode> </custom-portlet-mode>- Guarde el archivo portlet.xml.
Volver al archivo readme principal
©Copyright IBM Corporation 2000, 2005. Reservados todos los derechos.