Tribune

Home » Liferay Portal » Español » 3. Desarrollo

Vista Combinata Vista Piatta Vista ad Albero
Discussioni [ Precedente | Successivo ]
toggle
Carlos Sanchez Ruiz
Modificar Portlet Estandar
29 novembre 2010 0.29
Risposta

Carlos Sanchez Ruiz

Punteggio: Junior Member

Messaggi: 57

Data di Iscrizione: 3 febbraio 2010

Messaggi recenti

Hola a todos,

Os comento mi problema emoticon Estamos desarrollando un nuevo portal con Liferay 6. Hasta ahora hemos trabajado con la versión 5. Necesitamos modificar el funcionamiento de portlets estandar. Sobre todo queremos modificar los tipos de presentacion del publicador de contenidos y la bliblioteca de documentos.

Ya he leido por diferentes mensajes que la mejor opcion es crear una copia de los portlets estandar y modificarlos a nuestras necesidades. El problema esta en que el dia que se realice una migracion a la siguiente versión de liferay, tendriamos que volver a adaptar los cambios a nuestro portlet.

Existe alguna manera, utilizando Liferay 6 para modificar el codigo de los portlets estandar utilizando los plugins que se instalan con eclipse?

Alguien seria tan amable de explicarme los pasos iniciales para realizar estos cambios?

Saludos y muchas gracias,

Carlos Sánchez
Iván Rodríguez Bautista
RE: Modificar Portlet Estandar
30 novembre 2010 0.23
Risposta

Iván Rodríguez Bautista

Punteggio: Regular Member

Messaggi: 166

Data di Iscrizione: 25 gennaio 2010

Messaggi recenti

Hola Carlos,

Para modificar los portlets de liferay vas a tener que utilizar el plugin de ext, como toda la vida. Similar a lo que pudiste hacer en la versión 5.

El problema que veo a tu planteamiento es que aunque modifiques el código de los portlets en vez de hacer una copia, si algún día quieres actualizar la versión de liferay seguramente se te presenten problemas, ya que pueden cambiar el nombre de alguna entidad de la BD, o añadir un campo extra, y ahí ya estás fastidiado.

Yo lo que haría es copiar los portlets que necesites para no sobreescribir los del portal, y cuando toque actualizar modificar el código para que siga funcionando correctamente (en el fondo, lo que yo haría es no actualizarme, con esto desaparece el problema emoticon)

Un saludo!
Juan Fernández
RE: Modificar Portlet Estandar
30 novembre 2010 0.34
Risposta

Juan Fernández

LIFERAY STAFF

Punteggio: Liferay Legend

Messaggi: 1262

Data di Iscrizione: 2 ottobre 2008

Messaggi recenti

Hola chicos:

(Iván, gracias por contestar) Voy a hacer algunas puntualizaciones sobre las respuestas de Iván:

Iván Rodríguez Bautista:

(...) Para modificar los portlets de liferay vas a tener que utilizar el plugin de ext (...)


Realmente no siempre es necesario que sea un plugin ext. Si lo que quieren es modificar cómo se muestran los datos de los portlets, pueden modificar los jsp que interesen haciendo uso de plugin hooks (overriding a JPS using plugin hooks), que será mucho más limpio y fácil de trabajar y desplegar que un plugin ext.

Iván Rodríguez Bautista:

El problema que veo a tu planteamiento es que aunque modifiques el código de los portlets en vez de hacer una copia, si algún día quieres actualizar la versión de liferay seguramente se te presenten problemas, ya que pueden cambiar el nombre de alguna entidad de la BD, o añadir un campo extra, y ahí ya estás fastidiado.


Al estar todo el código en los jsp del plugin, el esfuerzo a hacer para la migración a la siguiente versión se centrará en las llamadas a la API que haya en dichos jsps. Para migrar bastará con modificar solamente lo que nosotros hemos modificado. Si hacemos una copia de un portlet perderemos todas las nuevas funcionalidades y mejoras que Liferay desarrolle.

Iván Rodríguez Bautista:

en el fondo, lo que yo haría es no actualizarme, con esto desaparece el problema emoticon


Normalmente los clientes, cuando quedan contentos con un buen proyecto desarrollado con Liferay, después de uno o dos años quieren actualizarse de versión. No planear dicha actualización implica dejar a los clientes anclados en una versión, privándolos de todas las nuevas funcionalidades que sacamos con cada nueva versión, por lo que me parece inteligente plantear el proyecto con visión de futuro, con recorrido, de forma que se asegure de que el cliente va a poder tener un futuro con el proyecto desarrollado sobre la plataforma.

Un saludo a los dos y no dudéis en comentar! emoticon
Juan Fernández
Iván Rodríguez Bautista
RE: Modificar Portlet Estandar
30 novembre 2010 1.21
Risposta

Iván Rodríguez Bautista

Punteggio: Regular Member

Messaggi: 166

Data di Iscrizione: 25 gennaio 2010

Messaggi recenti

Hola Juan, gracias por compartir esta información (menudo repaso me has dao emoticon jaja).

Tienes razón en cuanto a utilizar hooks para sobreescribir JSP´s, el caso es que cuando se pretende modificar un portlet, digamos, importante tipo el publicador de contenidos y demás, al final terminas tocando código java.

En cuanto al tema de actualizar la versión, ya sea modificando los portlets existentes o "copiándolos" y creando unos nuevos, siempre vamos a tener que hacer actualizaciones. A lo que iba yo, es que ya que va haber que modificar, siempre será mejor respetar los portlets existentes para no perderlos creando unos nuevos.

También a raíz de la actualización, muchos clientes pagan bastante dinero por aplicaciones con base Liferay, ya que el desarrollo en muchos casos es largo, y si están contentos con el producto, no querrán volver a pagar por otro desarrollo. Estoy hablando siempre de aplicaciones cliente.

Pues nada más, un saludo a los dos!!
juan párraga
RE: Modificar Portlet Estandar
5 luglio 2011 9.23
Risposta

juan párraga

Punteggio: Junior Member

Messaggi: 35

Data di Iscrizione: 12 luglio 2010

Messaggi recenti

hola, sé que el tema es bastante antiguo pero bueno, me encuentro con una duda relacionada.
Como dice iván, necesitamos cambiar los .java de un portlet que hemos copiado. Pero estos usan clases que están en portal-impl.jar que no me deja agregar como librerias a mi proyecto. ¿cómo hago entonces para poder usar esas clases o poder importar portal-impl.jar sin problemas?

muchas gracias a todos.
saludos.
Iván Rodríguez Bautista
RE: Modificar Portlet Estandar
8 luglio 2011 3.54
Risposta

Iván Rodríguez Bautista

Punteggio: Regular Member

Messaggi: 166

Data di Iscrizione: 25 gennaio 2010

Messaggi recenti

Hola Juan, siento el retraso (supongo que ya lo tengas solucionado).
El tema de utilizar librerías del portal, se soluciona en propiedades del proyecto -> Java build path -> Projects y haciendo ahí "add" del proyecto portal.

Corrígeme si me equivoco, pero esa es la forma de utilizar librerías tales como "portal-impl.jar".

Un saludo!
Miguel Angel Henche Aguado
RE: Modificar Portlet Estandar
8 luglio 2011 10.05
Risposta

Miguel Angel Henche Aguado

Punteggio: New Member

Messaggi: 6

Data di Iscrizione: 28 febbraio 2011

Messaggi recenti

Iván,
Lo que indicas es para añadir una librería en el Eclipse, pero en tiempo de ejecución, va a utilizar la librería que tiene el portal, por lo que no es la forma de modificar un Java del portal.

Para modificar una clase Java del portal, ahí sí que hay que utilizar el entorno de extensión. En la versión 6 de liferay, mediante los hooks, también puedes modificar la implementación de los servicios, pero hasta ahí llega, para tocar directamente el core (la implementación de las clases), tienes que hacerlo con la extensión.

Para más tarde usar esta implementación en otros plugins, utiliza el archivo liferay-plugin-package.properties, ahí puedes decirle de que librerías va a necesitar tu plugin en tiempo de ejecuciónl, y así añadir las librerías que crees con el entorno de extensión.

Si además utilizas el plugin para eclipse de LIferay (totalmente recomendable, mi vida cambió desde que existe emoticon), el sólo se encarga de añadir a tu build path las librerías ahí referenciadas, y más tarde, cuando despliegues el plugin, el hot deploy de liferya meterá las librerías en la carpeta lib de tu contexto web.