Fórum

Gestión de contenidos con relación maestro-detalles

thumbnail
Nazaret Helices Pérez, modificado 9 Anos atrás.

Gestión de contenidos con relación maestro-detalles

New Member Postagens: 2 Data de Entrada: 08/07/13 Postagens Recentes
Buenas tardes,
Tenemos un portal en el que se nos presentan dos tipos de contenidos web con relación directa entre ellos, con comportamiento maestro-detalles. Por un lado contamos con Sectores, con su estructura propia definida, y por otro lado con Soluciones, que estarán asociadas a un determinado Sector. Queremos definir una estructura propia para los contenidos de tipo solución, que sea capaz de cargar dinámicamente una lista de sectores publicados (contenidos web con estructura sector), a la que agregarse. ¿Sería esto posible?

A destacar que estamos utilizando la versión 6.2 EE.

Muchas gracias de antemano,
Un saludo.
thumbnail
Moisés Belda, modificado 9 Anos atrás.

RE: Gestión de contenidos con relación maestro-detalles

Junior Member Postagens: 75 Data de Entrada: 20/04/13 Postagens Recentes
Hola Nazaret

Seguramente con contenidos sea posible hacerlo, las ADT puede que os ayuden. Para relacionar los contenidos "cabecera" con los contenidos "linea" podéis usar expandos o algún campo de la estructura del contenido. También podéis probar con los contenidos relacionados para esto. Sin embargo, en mi opinión , todo esto complica un poco el mostrar los contenidos como tu quieres, y al final pienso que te va a tocar programar igualmente (algún hook, el frontend con la ADT, etc)... por tanto....

Con un análisis rápido, yo crearía dos entidades propias con el service builder (Cabeceras y Líneas) . Hecho esto, generaría para dichas entidades su soporte de ASSETS. De esta manera, podrás listarlo con el Asset Publisher, visualizarlo como si fueran contenidos del portal, y por tanto, luego tener más soltura a la hora de listarlos. En definitiva es crear contenidos del portal customizados, no serán contenidos web, sino "tus contenidos". Tendréis los servicios creados para listar las cabeceras lineas, en un portlet propio o en una Plantilla de Aplicación/ Contenido etc...

Si aún no tenéis soltura programando en Liferay, podéis usar el proyecto XMLPortletFactory en el que he participado, que os puede hacer parte de este trabajo (la integración de estas entidades con los Assets por ejemplo):
http://www.xmlportletfactory.org/

Otra opción mucho más sencilla es que los sectores sean categorías y no contenidos web....de esa forma podríais filtrar cada Categoría con un Asset Publisher de contenidos web de Soluciones, con el navegador de categorías, sin programar nada.

Todo depende de vuestros requisitos!.. Muchas opciones!
thumbnail
Nazaret Helices Pérez, modificado 9 Anos atrás.

RE: Gestión de contenidos con relación maestro-detalles

New Member Postagens: 2 Data de Entrada: 08/07/13 Postagens Recentes
Hola Moisés,


Habíamos dejado este tema aparcado por necesidades de negocio pero ésta semana por fin hemos vuelto a sacarlo a andar. Planteando tus opciones, y nuestros requerimientos como bien dices, creo que lo que mejor cubriría la situación es la creación de las entidades conectadas, pues además estamos familiarizados con ellas, aunque en un primer momento no se me había ocurrido plantearlo así.

Lo único que nos quedaría sería cubrir el soporte para Assets y montaríamos una solución bastante fina a nuestro problema. Así que dicho esto, vamos a ponernos manos a la obra. Muchísimas gracias por tus ideas, nos han sido de gran ayuda. emoticon


Un saludo!!!emoticon
thumbnail
Moisés Belda, modificado 9 Anos atrás.

RE: Gestión de contenidos con relación maestro-detalles

Junior Member Postagens: 75 Data de Entrada: 20/04/13 Postagens Recentes
Me alegro de haber sido de ayuda , suerte y si tenéis alguna duda, por aquí estamos...

Otro saludo!
Veronica Montes, modificado 9 Anos atrás.

RE: Gestión de contenidos con relación maestro-detalles

New Member Postagens: 3 Data de Entrada: 01/07/14 Postagens Recentes
Buenas tardes Moisés,
al hilo de este tema, me podrías dar algunas indicaciones de como cubrir el soporte para Assets una vez creadas dos entidades con el service builder?
Un saludo, muchas gracias.
thumbnail
Moisés Belda, modificado 9 Anos atrás.

RE: Gestión de contenidos con relación maestro-detalles

Junior Member Postagens: 75 Data de Entrada: 20/04/13 Postagens Recentes
Veronica Montes:
Buenas tardes Moisés,
al hilo de este tema, me podrías dar algunas indicaciones de como cubrir el soporte para Assets una vez creadas dos entidades con el service builder?
Un saludo, muchas gracias.


Hola Verónica
Lo que preguntas igual es un poco extenso de resumir sin código de ejemplo en un post, pero a grandes rasgos deberías:
- Crear/modificar/eliminar un asset con la api de liferay cada vez que hagas un Alta/Modificacion/Baja de tu entidad (con AssetEntryLocalServiceUtil.updateEntry() por ejemplo)
- Implementar un ENTIDADAssetRenderer y un ENTIDADAssetRendererFactory
- Indicarle al portlet en liferay-portlet.xml que asset renderer factory has implementado :
<asset-renderer-factory>com.proyecto.bla.bla.ENTIDADAssetRendererFactory</asset-renderer-factory>

En el AssetRenderer que implementes, podrás definir las url a las que debe ir al pinchar en ver en contexto, leer mas , etc...que pinte tu entidad (métodos a sobreescribir getURLView, getURLViewInContext, etc). Creo que no se me olvida nada...

Si esto no es suficiente, otra opción es que te bajes el proyecto http://www.xmlportletfactory.org/ en el cual he colaborado. Básicamente es un generador de portlets enteros tipo CRUD a partir de una especificación propia en XML. Si generas un portlet básico con su entidad y le activas el soporte de Assets, tendrás un portlet mantenimiento de datos con soporte de Assets ya programado que podrás tomar de referencia (por cierto, funcionalidad de soporte de Assets hecha por Juan González que habréis visto por estos foros echar una mano).

Ya me cuentas.
Veronica Montes, modificado 9 Anos atrás.

RE: Gestión de contenidos con relación maestro-detalles

New Member Postagens: 3 Data de Entrada: 01/07/14 Postagens Recentes
Buenas tardes otra vez,
ya he logrado que en el Publicador de contenidos me aparezca la entidad, ahora bien, cuando la selecciono me aparece el siguiente mensaje de error javax.portlet.title.172 no está disponible temporalmente., al debuggear se puede apreciar que se ejecuta el AssetRendererFactory pero nunca llega a entrar en el AssetRenderer. ¿Tendrías alguna idea de cual puede ser el problema?. Muchas gracias.
thumbnail
Alexis Araya, modificado 9 Anos atrás.

RE: Gestión de contenidos con relación maestro-detalles

Junior Member Postagens: 37 Data de Entrada: 08/10/13 Postagens Recentes
hola,

Han podido avanzar en el tema, tambien necesito el desarrollo de un Portlet Maestro-Detalle. Para solictud de viajes

viaje -> vuelo(s)
->hotel(es)
->taxi(s)


Tengo las 4 entidadas creadas con service builder
thumbnail
Moisés Belda, modificado 9 Anos atrás.

RE: Gestión de contenidos con relación maestro-detalles

Junior Member Postagens: 75 Data de Entrada: 20/04/13 Postagens Recentes
Hola Veronica

No se a que puede deberse el error que te sale sin verlo en detenimiento... tal vez no hayas implementado la integración de los assets correctamente. ¿Porque no pruebas a usar el xmlPortletFactory? Es el proyecto que te comenté (en el que he colaborado), hazte un par de entidades de prueba en este proyecto, y genera el código. El proyecto liferay resultante será un portlet CRUD de las entidades que definas, y además tendrá los assets implementados. Lo despliegas, debugeas, y podrás comparar con tu proyecto que te da este error, y te será más fácil localizar el fallo.

La página del proyecto xmlPortletFactory => http://www.xmlportletfactory.org/
Más info de como implementar integración con Assets => https://www.liferay.com/es/documentation/liferay-portal/6.2/development/-/ai/asset-framework-liferay-portal-6-2-dev-guide-06-en

En cuanto a ti Alexis, me parece que preguntas algo diferente... entiendo que tu quieres hacer un portlet maestro / detalle, sin integración de assets...tu pregunta es un poco genérica, y creo que es algo que no se puede contestar brevemente en un post. Pero te aconsejo que también puedes usar de base un portlet generado con xmlPortletFactory como le indicaba a Veronica, y fijarte como está hecho. Así puedes aprender como hacerlo. O también puedes tu mismo desde cero hacer un portlet CRUD a tu gusto, a partir de lo aprendido con el código de ejemplo generado con xmlPortletFactory.
thumbnail
Juan Gonzalez, modificado 9 Anos atrás.

RE: Gestión de contenidos con relación maestro-detalles

Liferay Legend Postagens: 3089 Data de Entrada: 28/10/08 Postagens Recentes
Hola Alexis,

como decía Moisés, puedes usar este ejemplo de Maestro-Detalle en XmlportletFactory:

http://www.xmlportletfactory.org/2-tables-master-and-detail