Integrando Hibernate y Maven en un módulo de OpenCms

Una de las tareas que forman parte de la release-beta del módulo opencms-free-balance es llevar a cabo la integración de este módulo con Hibernate para facilitar su interacción con la base de datos, para ejecutar esta tarea he seguido con el enfoque que en GMV seguimos (y que recomiendo encarecidamente) a la hora de trabajar con este gestor de contenidos y sus módulos, utilizar Maven como herramienta de construcción de dichos módulos.

La utilización de Maven como herramienta de construcción en el proceso de desarrollo de los módulos facilita enormemente tareas habituales como: la gestión de  dependecias, generación del desplegable en OpenCms, generación de reportes, ejecución de tests, etc.

Bueno, pues manos a la obra. El primer paso para integrar Hibernate en un módulo de OpenCms es declarar las dependecias necesarias en el pom.xml del módulo, a continuación se deberán declarar en el fichero manifest.xml para que sean incluidas en el directorios WEB-INF/lib de OpenCms. También se tendrá que configurar el fichero hibernate.cfg.xml con los datos de conexión con la base de datos, anotar convenientemente las entidades que interacutarán con la base de datos y por último se tendrá que implementar la interfaz DAO que se haya definido (si es que se ha definido). Adjunto el módulo para que os sirva como ejemplo/punto de partida (es el proyecto eclipse completo, para generar el instalable, como siempre, ejecutar “mvn clean install”).

Esta posible solución es válida en aquellos módulos, como es el caso del módulo opencms-free-balance, que deben ser lo más autocontenidos, fáciles de instalar e independientes. En otros escenarios, en los que se está llevando a cabo un desarrollo a medida, con varios módulos accediendo a la base de datos, es mejor otro tipo de aproximaciones como la propuesta por Saga con su módulo de integración (de propósito general) entre OpenCms e Hibernate.

Lo maravilloso de aprender es que nadie puede arrebatárnoslo.

Anuncios

5 Responses to Integrando Hibernate y Maven en un módulo de OpenCms

  1. Angel, solo una pregunta respecto a la forma de crear un modulo de OpenCms con maven. Por lo que he visto, generas el zip del módulo directamente con OpenCms, pero, el manifest.xml del módulo, como lo generas? lo haces a mano?? si es así es un curro guapo, no? Yo creía que el manifest se generaba solo …

    Un saludo.

    • Ángel Cristóbal Lázaro Ríos dice:

      Qué tal Sergio,

      Me alegra “verte por aquí”. Efectivamente como comentas el manifest.xml hay que generarlo a mano, y es un curro de cuidado, yo lo que suelo (más bien solía hacer) es tener un manifest tipo que iba editando para adecuarlo a mis necesidades, modificando los nombres, rutas y uuid, sigue siendo un curro pero un poco menos. Lo que sí recuerdo es que en las últimas sesiones de OCMS en las que estuve algunos compañeros de Viavansi (creo) habían hecho una herramienta para generar el manifest.xml automáticamente.

      Un abrazo.

      Ángel C. Lázaro

      • Pues la verdad que es un curro curioso …, habría que buscar la forma de generar esto de una manera más automática, por ejemplo, un ant o algo que recorra las carpetas y cree el solo la entrada, no?? no sé, es que sino me parece un poco una locura sobre todo cuando se está haciendo un módulo con cientos de recursos …

  2. Jordi dice:

    Hola,

    Estoy empezando un proyecto con opencms en el que debo de añadir programáticamente contenido a los “tipos de contenido” creados. He visto este artículo y me gustaría saber si hay (y si la hay cúal es) manera des de l’API de OpenCms de generar/modificar/consultar contenido almazenado en su VFS. Esta manera permite costumizar consultas específicas sobre ese contenido una vez introducido en el VFS?

    Qué ventajas tiene tu solución sobre la manera de hacer-lo de OpenCms (si es que hay una, imagino que sí).

    Siento poner este mensaje en este artículo, pero como estoy empezando y lo que haces tu es exactamente lo que quiero. Quiero asegurarme que no hay una manera des de OpenCms de hacer-llo que más adelante me facilite el trabajo.

    Muchas gracias

    • Ángel Cristóbal Lázaro Ríos dice:

      Hola, la verdad que hace bastante tiempo que publiqué este post y aún más que no hago nada con OpenCms. En su momento no veía como podía hacer lo que necesitaba y que solo ciertos roles tuviesen permisos para administrar estos valores, por eso lo hice así. Supongo que el tema de los enumerados gestionables en las siguientes versiones de OpenCms estarán más superados.

      Un saludo.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: