Service Builder para desarrollar un portlet con gestión de base de datos Parte 3/3

Ya estamos terminando nuestro portlet para Liferay que nos ayudará a aprender y gestionar tareas Por si no recordáis o acabáis de llegar a este post aquí os dejo un par de links a la parte 1 y a la parte 2 respectivamente.

https://jesuslc.com/2013/05/07/utilizando-spring-para-desarrollar-un-portlet-para-liferay-con-base-de-datos-service-builde

https://jesuslc.com/2013/05/14/service-builder-para-desarrollar-un-portlet-con-gestion-de-base-de-datos-parte-23

Vamos a poner de nuevo como quedará el portlet porque hoy viene una de las partes más importantes, la vista:

Llegados aquí ya tenemos el Service Builder montado, si recordáis con solo definir un par de entidades con sus columnas correspondientes en el archivo services.xml y pulsar sobre la tarea (ant) “build Services” creamos un montón de código que nos sirve para mapear la base de datos. En el anterior post vimos cómo crear los controladores, en este ya tenemos el final. Vamos a definir 5 archivos JSP donde programaremos todos los elementos gráficos.

Creando el init

Así que lo primero para tener bien organizado el código será crear una carpeta llamada “JSP” (imaginación al poder) en docroot.

En Este nuevo directorio “/docroot/jsp” creamos el primer archivo llamado init.jsp Este primer archivo no tiene nada de vista, solo todas las importaciones de taglib, lo hacemos así para no repetir el mismo código de importaciones en todas las clases. También hemos definido 3 variables que nos ayudaran a no repetir código.

Seguir leyendo “Service Builder para desarrollar un portlet con gestión de base de datos Parte 3/3”

OpenXava, NaviOX y una aplicación de facturación completa

Hace ya bastante tiempo que hablamos de crear una aplicación con OpenXava y nos pusimos a crear clases, a modelar,…  siguiendo el libro Aprende OpenXava con ejemplos. Hasta ahí todo bien, lo que pasa es que Openxava ofrece muchísimas más cosas y que mejor que las descubramos mediante un post.

Hoy hablaremos sobre un proyecto creado en OpenXava que está en Sourceforge, este proyecto se llamado AcmeOX(http://sourceforge.net/projects/acmeox/)  es una aplicación de facturación realizada con OpenXava para mostrar la potencia del framework.

Además también me llego una noticia sobre NaviOX(http://www.openxava.org/es/naviox) que es un llamémoslo “contenedor de aplicaciones”. NaviOX proporciona a nuestra aplicación Seguridad (usuarios y roles) y navegabilidad. A mí personalmente me sirve para ir probando la aplicación a medida que la voy desarrollando, ya que es muy ligero y me ahorra tiempo a la hora de ir probando/ configurando diferentes entornos.

Creando un proyecto

Lo primero es tener configurado OpenXava, aquí en el blog hay algún artículo sobre esto, sino siempre tienes este manual: http://www.openxava.org/es/quick-start/1c aunque yo recomiendo la instalación del Capítulo 4 del libro “Aprende Openxava con ejemplos” disponible aquí http://www.openxava.org/es/book los 5 primeros capítulos.

Seguir leyendo “OpenXava, NaviOX y una aplicación de facturación completa”

Poco a poco con Maven, Spring, Hibernate (parte 3)

Ya no queda nada para tener una aplicación como esta. Con ella podremos administrar nuestros contactos de forma simple y fácil. Además estamos aprendiendo muchísimo(o al menos yo) sobre Spring MVC, Hibernate y Maven.  Aunque todavía nos queda mucho por aprender.

Ya hemos visto como crear el proyecto y cómo configurarlo para que con unas pocas clases tener una aplicación CRUD que gestiona nuestra agenda.

Seguir leyendo “Poco a poco con Maven, Spring, Hibernate (parte 3)”

Poco a poco con Maven, Spring, Hibernate (parte 2)

Vamos a por la segunda parte del post. A modo de recordatorio, vamos a crear una aplicación para gestionar nuestros contactos utilizando para ello Maven, Spring MVC e Hibernate. En el anterior post creamos el árbol de directorios de la aplicación utilizando Maven, además añadimos las dependencias y por ultimo creamos la Base de datos (MySQL) .

Aquí dejo de nuevo el árbol  de como debe quedar nuestra aplicación, esto nos servirá para no perdernos mientras vamos creando archivos.

Ahora queda configurar un poco el entorno para que Hibernate funcione correctamente, así que vamos a hacer lo siguiente:

Creamos un archivo dentro de la carpeta resources vamos a crear el archivo hibernate.cfg.xml

Este archivo lo que hace es “decirle” a Hibernate que la clase que tiene que mapear se encuentra en com.jesusl.formContact

Aquí tenemos el archivo: /demoweb-hibernate/src/main/resources/hibernate.cfg.xml

<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
 "-//Hibernate/Hibernate Configuration DTD//EN"
 "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

<hibernate-configuration>
 <session-factory>
 <mapping class="com.jesuslc.contact.form.Contact" />
 </session-factory>

</hibernate-configuration>

Ahora vamos a crear un archivo de propiedades donde pondremos las “etiquetas” que vamos a usar en toda la aplicación. Es decir, si en un futuro queremos cambiar “Apellido” por otra etiqueta como “Apellidos” o incluso queremos traducir nuestra aplicación nos será más fácil si todos los elementos a modificar/traducir están en el mismo archivo. Seguir leyendo “Poco a poco con Maven, Spring, Hibernate (parte 2)”

Poco a poco con Maven, Spring, Hibernate

Para mi PFC tengo que desarrollar unos cuantos portlet, por lo que me estoy introduciendo en el mundo de Liferay utilizando sobre todo los libros “Liferay In Action”, “Portlets in Action” y “Aprende OpenXava con ejemplo”.

Anteriormente ya hemos hablado aquí de cómo implementar un portlet “hola mundo” e incluso un portlet para procesar un formulario. Ahora podríamos segur con un portlet que manejara la base de datos, pero antes de ponerme con al lío a tirar SQL´s quiero aprender Hibernate.

Vamos a dividir este post en 3 partes, la primera hablaremos de la arquitectura, de cómo empezar el proyecto utilizando Maven, Hibernate, MySQL, Eclipse y todas esas cosas, en el segundo post comentaremos como configurar todos los archivos  y en el tercer post contaremos como es la implementación de la aplicación.

Esta serie de post están basados en los tutoriales:

Seguir leyendo “Poco a poco con Maven, Spring, Hibernate”

Añadir soporte multiidioma al desarrollo de portlets en Liferay

Al realizar nuestros portlet puede ser interesante que estos sean multiidioma. Si esto no nos convence, con la solución que proponemos aquí tenemos un fichero donde están localizadas todos los nombres de todos los elementos del HTML.

Para que esto sea más sencillo vamos a verlo con un ejemplo. En un post anterior creamos un portlet con un formulario como este:

Si ahora quisiésemos modificar el elemento First Name  y ponerle otro nombre por ejemplo Nombre deberíamos modificar todas las páginas  en las que apareciese dicho elemento.

Para evitar que estos cambios afecten a nuestro desarrollo, vamos a explicar como añadir archivos .properties.

Seguir leyendo “Añadir soporte multiidioma al desarrollo de portlets en Liferay”