Pregunta

Estoy escribiendo mi primera aplicación basada portlets (por Liferay, pero la solución debe ser contenedor agnóstico) y me pregunto cómo se resuelven para proporcionar enlaces al usuario que "conducen" a los diferentes módulos de función (tal vez en diferentes "páginas" en el portal).

Mientras que fácilmente puede tener diferentes modos de vista dentro de su portlets, ¿cómo se puede enlazar a otro portlet y (tal vez) también pasar parámetros a lo largo de?

No estoy hablando acerca de la comunicación entre portlets llano, es el pageflow real que me interesa.

Ejemplo: Usted tiene la página A con un portlet que muestra una lista de artículos de noticias. Entonces usted tiene la página B que está en el camino configurado me gustaría una sola la noticia que se muestra (por ejemplo, diferentes módulos de función a su alrededor)

¿Hay una solución genérica para enlazar a la página B y decir a la noticia-Detalle-portlets que debería mostrar elemento XYZ?

La solución rápida y sucia sería configurar el enlace de destino a través del modo de edición de las noticias-list-portlet. Pero esto tiene varias desventajas: - portlets complejos pueden tener varias direcciones URL de destino que lleva a los esfuerzos masivos de configuración para el administrador del portal - las direcciones URL pueden no seguir un esquema que permite la inyección simple parámetro

Tengo una solución en mente, pero esto requeriría enormes esfuerzos y tal vez los cambios en los módulos de función específicas, lo cual no siempre es posible si utiliza portlets 3 ª parte.

Mi solución sería el siguiente: (proyecto)

Los portlets registrarse en un servicio central con sus identificadores de portlets y cuando un portlet quiere vincular a un portlet que puede hacer una búsqueda basada en un nombre simbólico. Esto a aliviar el dolor de la administración, ya que es posible que "el descubrimiento automático" portlets. El servicio también puede proporcionar una interfaz de usuario para portlets de alambre sobre la base de la fuente y portlet de destino.

La generación URL para portlets que pueden ser cambios se puede resolver a través de llamada de servicio para el portlet que genera la URL como un todo con los parámetros inyectados y la devuelve. Para los portlets que no se puede cambiar lo que tienes que añadir los parámetros y esperar que funcione. : - /

¿Alguna sugerencia? Son soluciones simples no? soluciones existentes?

Gracias!

Patrick

¿Fue útil?

Solución

Por lo que yo sé de portlets especificación no cubre esto. Así que no hay solución portátil. Para Liferay siempre se puede utilizar la biblioteca de etiquetas personalizadas de ellos que tiene como objetivo precisamente este tema. No hay mecanismo similar para WebSphere Portal.

Algo se puede encontrar aquí y aquí

En general, me gustaría tratar de evitar esto y usar mecanismo IPC estándar (parámetros de representación pública o eventos)

Otros consejos

Para JSR especificación 286 es posible utilizar los eventos para la comunicación entre portlets. Para la mayor JSR 168 no hay una manera aprobados para hacerlo. Si encuentra una manera que funcione para usted, a continuación, utilizarlo.

Hay un viejo libro regalado de forma gratuita desde Manning (es necesario registrarse). Puede encontrar algunas ideas allí.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top