Gestión de proyectos con XPlanner
1. Introducción
En este tutorial vamos a ver una herramienta de planificación. Este tipo de herramientas son vitales a la hora de enfrentarnos a un proyecto, ya que nos van a permitir hacer estimaciones de los recursos necesarios (tiempo, coste, personal, …), viendo si el proyecto en si es viable o no.
Una vez arrancado el proyecto estas herramientas también son fundamentales ya que nos permiten examinar el avance del proyecto, detectando lo antes posible desviaciones respecto de las estimaciones. De esta forma podemos adelantarnos a posibles problemas y reducir los riesgos.
En este tutorial veremos Xplanner, una herramienta de planificación y seguimiento de proyectos especialmente indicada para la metodología XP (eXtreme Programming).
2. Entorno
- Hardware: Portátil Ahtex Signal X-9500M (Centrino 1.6 GHz, 1024 MB RAM, 60 GB HD).
- Sistema Operativo: GNU / Linux, Debian Sid (unstable), Kernel 2.6.9, KDE 3.3
- Ant 1.6.1
- MySQL 4.1.8 (instalado con apt-get de Debian 😉
- j2sdk 1.4.2_06
- Tomcat 5.0.27
- XPlanner 0.6.2
3. Instalación
3.1. Requisitos
Para poder instalar XPlanner necesitamos tener previamente instalado:
- Ant
- Una base de datos relacional. Preferiblemente MySQL con soporte transaccional (InnoDB).
- JDK 1.4 o superior
- Un contenedor de Servlet 2.3 (JSP 1.2), por ejemplo Tomcat.
3.2. Descarga de la aplicación
La aplicación es múltiplataforma así que la podremos instalar tanto en Windows, como Linux, Mac, … (en mi caso la instalación la haremos sobre GNU / Linux -Debian-)
Lo primero que haremos será ir a la página de XPlanner http://www.xplanner.org,
ir a la zona de descargas y bajarnos la última versión (en mi caso la 0.6.2). El archivo lo descargamos en el directorio /download
.
Una vez descargado el archivo lo descomprimimos en un directorio para poder trabajar con él. En mi caso el directorio de trabajo será /usr/local/src
, de manera que la orden para descomprimir el archivo sería:
$ cd /usr/local/src
$ tar -xzf /download/xplanner_0.6.2.tar.gz
Con esto se habrá creado el directorio /usr/local/src/xplanner_0.6.2
donde encontramos los fuentes de XPlanner.
3.3. Configuración de la base de datos
Como ya hemos dicho, XPlanner necesita una base de datos relacional para trabajar, así que lo primero que vamos a hacer es configurar la base de datos.
Editamos el fichero
/usr/local/src/xplanner_0.6.2/xplanner/resources/xplanner.properties
Al principio del todo tenemos la configuración para conectar a nuestro MySQL. Debemos cambiar los valores para que se ajusten a nuestra base de datos, por ejemplo:
hibernate.connection.url=jdbc:mysql://localhost/xplanner?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8
hibernate.connection.username=xplanner
hibernate.connection.password=xplanner
Nótese que estamos indicando que existe un esquema llamado “xplannet” y que existe un usuario “xplannet” con clave “xplannet” que debe tener privilegios suficientes para manipular el esquema “xplannet” (podemos encontrar más información en
http://www.xplanner.org/install_mysql.html).
Ojo también con las opciones useUnicode
y characterEncoding
. Si no las ponemos no nos saldrán correctamente las tildes.
Una vez puestos los valores correctos para acceder y manipular la base de datos, vamos a crear las tablas. Para ello vamos a usar el modo automático, especialmente indicado cuando estamos haciendo una instalación de cero (si estamos instalando sobre
una versión anterior de XPlannet, o queremos tener control total, sería recomendable el proceso manual sobre el que podemos encontrar información en
http://www.xplanner.org/install.html).
Para crear de forma automática las tablas basta con hacer:
$ cd /usr/local/src/xplanner_0.6.2/xplanner
$ ant install.db.schema
3.3.1. Problemas al crear las tablas
Personalmente el proceso para crear las tablas me ha dado dos problemas:
- Las tablas se crean como MyISAM en vez de como InnoDB.
- Error de sintaxis al crear las restricciones de las claves ajenas.
Vamos a comentar estos problemas y ver como solucionarlos:
3.3.1.1. Las tablas se crean como MyISAM en vez de como InnoDB
Según la documentación de XPlanner es necesario usar una base de datos con soporte transaccional. Por esto es necesario que las tablas de MySQL sean de tipo InnoDB. Si las creamos como MyISAM (que suele ser el valor por defecto) puede parecer que todo funciona correctamente, pero es posible que nos encontremos con problemas en la integridad de los datos en el futuro.
En mi caso las tablas se me crean de tipo MyISAM porque este es el valor por defecto para mi MySQL, y el script de creación que se genera con ant install.db.schema
no especifica el tipo que tienen que tener las tablas (esperemos que los chicos de XPlanner mejoren este punto en el futuro).
Vamos a ver como arreglar este problema.
Cuando ejecutamos ant install.db.schema
se crea el fichero:
/usr/local/src/xplanner_0.6.2/xplanner/build/hibernate_schema.sql
Este fichero es el script de creación de las tablas y restricciones. Debemos editarlo y añadir la línea (la podemos añadir al principio del todo):
set storage_engine=InnoDB
Con esto estamos indicando que todas las tablas que se creen serán, si no se indica lo contrario, de tipo InnoDB.
Ahora debemos volver a ejecutar este script, para ello podemos hacerlo desde MySQL Query Browser o desde MySQL Control Center, eso sí tendremos que añadir un “;” al final de cada sentencia SQL (ojo, al final de cada sentencia, no al final de cada línea). Presentamos una sección de ejemplo de como debería quedar el fichero:
drop table if exists task; drop table if exists xfile; drop table identifier; set storage_engine=InnoDB; create table datasample ( sampleTime DATETIME not null, referenceId INTEGER not null, aspect VARCHAR(255) not null, value DOUBLE PRECISION, primary key (sampleTime, referenceId, aspect) ); create table person_role ( role_id INTEGER not null, person_id INTEGER not null, project_id INTEGER not null, primary key (role_id, person_id, project_id) );
Al ejecutar el scrip podemos ver que las tablas se han vuelto a crear, y esta vez del tipo correcto (InnoDB).
Para terminar ejecutaremos:
$ ant bootstrap
Esto es necesario para realizar los últimos pasos de ant install.sb.schema
; es decir, creación de roles, …
3.3.1.2. Error de sintaxis al crear las restricciones de las claves ajenas
En la línea 177 del fichero hibernate_schema.sql (el mismo que hemos editado para arreglar el problema anterior):
alter table note add index
(attachment_id), add constraint false foreign key
(attachment_id) references xfile (id)
hay un error de sintaxis, ya que no debería aparecer la palabra “false”.
En este caso no haremos nada, dejaremos pasar el error hasta que los chicos de XPlanner nos den una solución. Esto no es del todo bueno ya que estamos perdiendo una restricción, pero debe ser la gente de XPlannet la que determine el comportamiento correcto.
3.4. Configuración del correo electrónico
Ahora vamos a configurar el correo. Esto es necesario para las notificaciones que envía XPlanner.
Editamos el fichero
/usr/local/src/xplanner_0.6.2/xplanner/resources/xplanner.properties
Buscaremos y modificaremos las siguientes entradas:
xplanner.mail.smtp.host=localhost #
enter your SMTP host
xplanner.mail.from=xplanner@example.org #
enter the email sender for XPlanner messages
3.5. Creación e instalación del war
XPlanner se instala como una aplicación Web en un contenedor de Servlet 2.3 (JSP 1.2), como por ejemplo Tomcat.
Para esto vamos a prepara el .war que contiene la aplicación Web. Basta con hacer:
$ cd /usr/local/src/xplanner_0.6.2/xplanner
$ ant build.war
Esto nos crea el archivo /usr/local/src/xplanner_0.6.2/xplanner/xplanner.war
Ahora para desplegar la aplicación Web basta con copiar este .war al directorio $CATALINA_HOME/webapps
Reiniciamos Tomcat y ya lo tenemos todo listo.
4. Primeros pasos con XPlanner
Para entrar en la aplicación pondremos en el navegador: http://localhost:8080/xplanner
Nos aparecerá la pantalla de login:
Nos logaremos con el usuario “sysadmin” con clave “admin” (este usuario se creo durante la instalación y es muy recomendable cambiarle la clave lo antes posible).
A partir de aquí lo mejor que podemos hacer es jugar con la aplicación para familiarizarnos con sus funcionalidades y exprimirlas al máximo.
Veamos un pequeño ejemplo: una vez logados pasamos a la ventana principal donde vemos que todavía no hay ningún proyecto creado:
Para crear un nuevo proyecto pulsaremos sobre “Add Project”:
Ponemos el nombre, la descripción y pulsamos sobre “Create”.
Ahora vemos el proyecto que acabamos de crear, y podemos pulsar sobre él para ir al detalle:
Ahora deberíamos crear iteraciones en el proyecto. Para ello pulsamos sobre “Create Iteration”:
Al pulsar sobre el botón “Create” volvemos al detalle del proyecto donde ya aparece al iteración que acabamos de crear:
De esta manera podemos ir creando todos los elementos que forman parte del proyecto: Iteraciones, personas, historias, …
5. Conclusiones
En este tutorial sólo hemos empezado a rascar sobre toda la potencia que nos ofrece XPlanner. Ahora os toca a vosotros el explorar todas las posibilidades que nos da la herramienta.
Recordar que para aprovechar al máximo la herramienta es necesario conocer la metodología XP (eXtreme Programing). Así que os animo a que le echéis un ojo a esta estupenda metodología. En http://www.xplanner.org/links.html podéis encontrar varios enlaces muy interesantes al respecto.
Saludos a todos, y hasta el próximo tutorial.
6. Sobre el autor
Alejandro Pérez García
Dir. Implantación y Rendimiento
mailto:alejandropg@autentia.com
Autentia Real Business Solutions S.L.