Foros de discusión

Problema al incrustar un portlet dentro de un theme

tenaidem m tenteineamsd, modificado hace 14 años.

Problema al incrustar un portlet dentro de un theme

New Member Mensajes: 6 Fecha de incorporación: 1/04/09 Mensajes recientes
Hola a todos,

Tengo el siguiente problema a la hora de incrustar un portlet dentro de un theme.
He desarrollado un nuevo portlet y un nuevo theme utilizando el plugin SDK que proporciona Liferay.
En ambos casos hago el deploy sin ningun problema y visualizo el nuevo theme perfectamente y puedo añadir el nuevo portlet que he creado y funciona sin ningun problema tambien.
El problema viene cuando modifico el theme para que se incluya este nuevo portlet incrustado.
Para ello, en la plantilla de velocity portal_normal.vm añado las siguientes lineas:

$theme.runtime("31", "", $velocityPortletPreferences.toString())
$theme.runtime("portlet_nuevo_desarrollado_con_liferay_SDK", "", $velocityPortletPreferences.toString())

Y ocurre lo siguiente: El portlet 31 (que es el image gallery que incluye liferay) se visualiza correctamente, sin embargo el mio aparece inactivo y con el mensaje "this portlet has been undeployed. Please redeploy it or remove it from the page." cosa que es falsa pues hay otra instancia de este mismo portlet que se esta visualizando correctamente (que no esta incrustado sino que lo he añadido con la opcion "add application" del menu)

Alguna idea? Gracias
thumbnail
Julio Camarero, modificado hace 14 años.

RE: Problema al incrustar un portlet dentro de un theme

Liferay Legend Mensajes: 1668 Fecha de incorporación: 15/07/08 Mensajes recientes
Hola,

el problema es que liferay no encuentra tu portlet, porque lo que tienes que ponerle es el Id del portlet. En los casos en que éste sea un plugin, el id se compone de: id(definido en liferay-portlet.xml)+_WAR_+nombre del plugin.

Por ejemplo, si tu portlet tiene el id "ejemplo" y tu plugin se llama "miplugin", el id que tienes que poner al método runtime sería ejemplo_WAR_runtime.

Un saludo!

Julio Camarero
Liferay España
Juan Fernandez Rodriguez, modificado hace 14 años.

RE: Problema al incrustar un portlet dentro de un theme

New Member Mensajes: 12 Fecha de incorporación: 16/10/08 Mensajes recientes
Hola Julio,
Yo tengo el mismo problema, el caso es que me funciona si identifico el portlet del siguiente modo:

Nombre del portlet +"_WAR_" + Nombre del plugin + "_" + Nombre de la instancia del portlet.

Es posible que funcione sin especificar la instancia del portlet?

Puede ser que falle porque mi portlet es un standard JSR168 y no he utilizado la sdk de liferay para desplegarlo y en consecuencia no existe en mi WEB-INF el archivo liferay-plugin-package.xml?

En tal caso valdria con añadirlo "a mano" dentro del War y desplegar el portlet de nuevo?

Muchas gracias por adelantado.

Un saludo
Juan

P.D: La version de liferay que uso es la 5.1.2 con Tomcat 6
thumbnail
Julio Camarero, modificado hace 14 años.

RE: Problema al incrustar un portlet dentro de un theme

Liferay Legend Mensajes: 1668 Fecha de incorporación: 15/07/08 Mensajes recientes
Hola Juan,

efectivamente puedes añadir el liferay-plugin-package.xml a mano y no pasa nada. Supongo que también has añadido ya el liferay-portlet.xml, no?

Si tu portlet es instanciable tendŕas que ponerle la instancia del portlet de todas todas, porque sino el portal no tiene forma de encontrarlo, sino fuera instanciable no habría que poner la instancia.

un saludo!

Julio Camarero
Liferay España