Vista combinada Visión Plana Vista de árbol
Discusiones [ Anterior | Siguiente ]
toggle
tenaidem g c
Problema al incrustar un portlet dentro de un theme
8 de mayo de 2009 3:02
Respuesta

tenaidem g c

Ranking: New Member

Mensajes: 6

Fecha de incorporación: 1 de abril de 2009

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
Julio Camarero
RE: Problema al incrustar un portlet dentro de un theme
11 de mayo de 2009 7:54
Respuesta

Julio Camarero

LIFERAY STAFF

Ranking: Liferay Legend

Mensajes: 1622

Fecha de incorporación: 15 de julio de 2008

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
RE: Problema al incrustar un portlet dentro de un theme
20 de julio de 2009 8:17
Respuesta

Juan Fernandez Rodriguez

Ranking: New Member

Mensajes: 12

Fecha de incorporación: 16 de octubre de 2008

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
Julio Camarero
RE: Problema al incrustar un portlet dentro de un theme
21 de julio de 2009 0:16
Respuesta

Julio Camarero

LIFERAY STAFF

Ranking: Liferay Legend

Mensajes: 1622

Fecha de incorporación: 15 de julio de 2008

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