Análisis de aplicación: Redmine

Este documento ha sido elaborado por el Centro de excelencia de software libre de Castilla La Mancha (CESLCAM). Copyright © 2010, Junta de Comunidades de Castilla-La Mancha. Este documento se distribuye bajo los términos de la licencia Creative Commons by-sa. http://creativecommons.org/licenses/by-sa/2.5/es/ Estas acciones han sido financiadas por la Junta de Comunidades de Castilla-La Mancha, a través del Programa de Isabel Torres cofinanciados por Sepecam y el Fondo Social Europeo. En este análisis ha colaborado para su elaboración la empresa ICTI Internet Passion, experta en sitios web. www.icti.esDescargar análisis en formato PDFDATOS TECNICOS  Nombre: Redmine Versión: 0.9.1 Licencia: GNU General Public License Version 2 (ver apartado del análisis) Plataforma: Multiplataforma Idioma: Multilenguaje, incluye español. Web oficial: http://www.redmine.org/Manual: http://www.redmine.org/wiki/redmine/RedmineInstallDescripción básica: Redmine es un gestor y planificador de proyectos con interfaz web, orientado a la coordinación de tareas, comunicación de participantes, y que puede especializarse en proyectos de desarrollo gracias a herramientas como la integración en un repositorio de código. FUNCIONALIDAD
  • Gestión de múltiples proyectos: Redmine permite gestionar múltiples proyectos desde una sola interfaz con una ventana de navegador. La navegación es muy sencilla y se puede saltar y cambiar de proyecto en cualquier momento. Además cada proyecto puede tener una configuración totalmente diferente y el usuario tener un rol distinto en cada uno. Los proyectos puedes definirse como privados, en los que el administrador debe dar acceso a cada miembro, o públicos, visibles para todo el mundo. También dentro de cada proyecto pueden definirse varios subproyectos.
  • Personalización de proyectos: En Redmine cada proyecto es totalmente personalizable, pudiendo encontrar proyectos muy distintos entre sí según sus objetivos. Lo más importante son los módulos que se pueden desactivar o activar para cada proyecto: wiki, foro, noticias, peticiones, control del tiempo, documentos, ficheros o repositorio, aunque hay módulos comunes a todos los proyectos como el de actividad y vistazo. Si un proyecto está enfocado a notificar incidencias, se puede configurar para incluir solo peticiones, si se busca un proyecto más colaborativo, la wiki y las noticias son una buena opción, e incluso se puede habilitar un proyecto solo con un foro.
  • Sistema flexible de seguimiento de tareas: Una de las mecánicas más útiles para el desarrollo de un proyecto en Redmine son las peticiones y su visualización. Estas peticiones se dividen en 3 tipos iniciales (errores, tareas y soporte) y pueden asignarse a un miembro del proyecto. Se puede indicar una fecha de inicio y fin para esa petición, e incluso llevar un control del tiempo y porcentaje realizado. También se le puede asignar una prioridad, enlazar con la subida de un fichero, y encajar en una categoría (que se pueden definir tantas como se quieran). Con todos estos datos, pueden visualizarse las peticiones de manera personalizada estableciendo filtros, y servir así de informes de tareas o incidencias. Además dentro de un proyecto pueden establecerse versiones y asignar tareas a determinadas versiones, así conforme se marquen tareas completadas, las versiones irán completando su porcentaje automáticamente.
    • Integración en repositorios de código: Redmine puede integrarse con un repositorio de código (Subversion, Git, CVS, entre otros) que esté montado en la misma máquina, tan solo hay que indicarle el directorio local. La aplicación sirve así de interfaz web para el seguimiento del desarrollo de un proyecto. Pueden descargarse los ficheros, ver el historial, los cambios, e incluso descargar un archivo a modo de parche para aplicar a código desactualizado. Es un sistema de seguimiento de versiones, aunque no pueden actualizarse los ficheros directamente.
    • Uso de calendario y diagrama de Gantt: Redmine incluye un calendario para visualizar todas las peticiones a lo largo de un mes elegido, marcando claramente el día de inicio y de fin de cada petición. Igualmente ocurre con la vista en diagrama de Gantt, que va marcando el porcentaje completado conforme avanzan los días. Las peticiones que se visualizan en ambos casos están sujetas a los filtros definidos por el usuario.
    • Notificaciones: Configurando previamente el servidor de correo SMTP, Redmine permite enviar notificaciones por correo electrónico en todos los proyectos, definiendo antes los eventos que activan estos avisos. Además cada usuario en su configuración puede elegir recibir notificaciones de cualquier evento, o solo las relacionadas con él (por ejemplo uno de los campos de las peticiones son las personas en seguimiento). Puede configurarse además el servidor de correo entrante, permitiendo así actualizar peticiones simplemente por email e incluso crear nuevas peticiones. Toda la actividad de cada proyecto también puede exportarse en Atom, para ser seguida desde un lector RSS. Si ninguna de estas opciones es favorita, en todos los proyectos existe el módulo de "Actividad", que refleja todo el flujo por días en el proyecto y lo muestra en una lista.
    • Exportación a distintos formatos: Los informes de peticiones que pueden generarse añadiendo filtros, y que permiten visualizar las diferentes tareas de un proyecto, pueden exportarse en PDF o formato CSV, pudiendo así imprimirlos posteriormente en un formato organizado. Las páginas de la wiki en cambio, pueden exportarse en HTML o TXT.
    • Otras características: Redmine es una herramienta llena de funcionalidad y donde casi cualquier cosa puede configurarse o contiene opciones. Algunas otras funcionalidades que habría que destacar son la página personal de cada usuario, que ofrece una vista personalizable con información de todos los proyectos donde está participando, como un calendario global, o peticiones asignadas. También se pueden subir ficheros, definir campos personalizados para cada módulo, usar la barra de búsqueda global, y ampliar la funcionalidad con decenas de extensiones. Además cabe mencionar que admite como bases de datos MySQL, SQLite y PostgreSQL.
    • Fallos y/o carencias importantes: Redmine es un gestor de proyectos muy potente y maduro, a pesar de su "poco" tiempo de desarrollo, además está inspirado en trac, por lo que estamos ante una herramienta muy flexible de por sí, y bastante estable. Durante su uso, es difícil o fácil sacarle carencias, siempre dependiendo de lo que esté buscando cada usuario, por ello hay que tener muy claro lo que se busca en este tipo de herramientas.
    La cantidad de opciones, la detallada configuración, la inclusión de herramientas como un foro y una wiki, y la gran cantidad de extensiones hacen a Redmine muy completo, pero por pedir, hay algunos aspectos donde la personalización podría ser mayor. Alguna otra pega es que las notificaciones por correo están adheridas a todos los proyectos creados, pueden activarse o desactivarse, pero se aplica a todos los proyectos. Puede configurarse qué eventos envíen correos, pero tampoco puede personalizar individualmente en cada proyecto. A su vez, si están activadas, los usuarios reciben notificaciones por correo obligatoriamente, pudiendo elegir solo si recibir todas las notificaciones del proyecto o solo las relacionadas con él. También se ha encontrado un fallo y es que las RSS provenientes de la wiki no funcionan correctamente, no pudiendo leer su contenido en los lectores RSS. Además en el módulo de "Actividad", no se guardan los cambios realizados sobre el contenido qué se quiere visualizar exactamente, volviendo siempre a mostrar la actividad por defecto cuando se vuelve al módulo. Lo "peor" de Redmine queda sin duda en la instalación, que puede resultar muy compleja, no solo por los paquetes requeridos, si no por los pasos (algunos delicados) que hay que dar. Existen paquetes .deb que facilitan el proceso, pero no están bien documentados, quedando un paso por realizar a mano para ejecutar la aplicación. Aunque hay mucha documentación al respecto, es demasiado informal y no siempre da resultados en todos los casos. USABILIDADDiseño de la interfaz El diseño de la aplicación tiene una interfaz web muy sencilla y que la hace fácil de manejar. Para cada proyecto existen una serie de pestañas fijas en la parte superior que organizan los diferentes módulos. Dentro de cada módulo se muestra la información correspondiente de forma limpia y ordenada, y a la derecha se suelen incluir una serie de opciones variables según la ventana. El uso es muy simple y destaca la facilidad para configurar los proyectos, la visibilidad del módulo de "Actividad", y los colores elegidos que no recargan la herramienta. Además incluye algunos temas o skins y otros que pueden descargarse. Facilidad de uso La aplicación es muy sencilla de usar y aunque el ámbito principal puede ser el empresarial o el de desarrollo de software, cualquier usuario medio podría usar Redmine para administrar sus propios proyectos o tareas. La navegación web se hace muy intuitiva, e incluso puede recordar a la de algunos blogs. La estructura, y la profundidad de las opciones y configuración está muy bien elegida, no mareando en exceso y encontrando cada cosa en su sitio. Puede requerir varios minutos conocer todo en profundidad, pero la funcionalidad principal es palpable. Accesibilidad Redmine no está dotado con funciones de fácil acceso para personas con problemas de accesibilidad de cualquier tipo. De todas formas la aplicación puede integrarse perfectamente con cualquier tecnología de asistencia del sistema operativo, y con cualquier opción relacionada con el navegador de internet. PORTABILIDAD / ADAPTABILIDADPlataformas disponibles Redmine es una aplicación servidor multiplataforma basada en Ruby on Rails. Los únicos requisitos para instalar Redmine en una máquina son: una base de datos (que puede ser MySQL, PostgreSQL o SQLite), Ruby y Ruby on Rails en sus versiones apropiadas. Si una máquina sostiene esto, puede instalarse Redmine independientemente de la plataforma. Rails funcionará sobre cualquier sistema operativo. A nivel de cliente, Redmine puede ser accedido desde cualquier plataforma o sistema operativo, tan solo hace falta conexión a la red apropiada y un navegador de internet. Plugins Redmine dispone de un gran número de plugins que rondan la cifra de 100 extensiones: http://www.redmine.org/wiki/redmine/Plugin_List En la lista del anterior enlace vienen los autores de cada uno, una pequeña descripción, versión compatible y de dónde obtenerlo. Pinchando en cada uno se visualiza una ficha específica para cada plugin, con información adicional como la instalación, la actualización o capturas. Son muy variados y se adaptan a distintas necesidades. Se pueden destacar algunos dedicados a generar gráficos (Charts), a establecer tiempos para cada tarea (Timesheet) o a crear salas de chat (Chat). Para más información sobre los Plugin, como por ejemplo un tutorial y guía de desarrollo para crear propios, hay una página específica en la wiki de Redmine: http://www.redmine.org/wiki/redmine/PluginsTambién son interesantes los plugins de terceros, extensiones que utilizan otras aplicaciones para integrarse con Redmine de alguna manera: http://www.redmine.org/wiki/redmine/ThirdPartyTools Por ejemplo hay del entorno de desarrollo Eclipse, el navegador Firefox o para el teléfono iPhone. LICENCIA / DISTRIBUCIONLicencia La licencia de la aplicación es GPL v2 (GNU General Public License, version 2), cuyos términos se pueden consultar en el siguiente enlace: http://www.gnu.org/licenses/gpl-2.0.html Resumidamente define a la aplicación como software libre, con libertad de uso, modificación y distribución. Forma de distribución Redmine puede descargarse de forma libre y gratuita desde su página oficial (que a su vez está montada en Redmine): http://www.redmine.org/wiki/redmine/Download Desde el enlace están disponibles las últimas descargas, entre ellas la última versión estable de la herramienta, siempre en código fuente. Existen paquetes para Debian y distribuciones derivadas, e instaladores para otras plataformas, pero no se proporcionan directamente desde la forja de Redmine, si no que se consideran paquetes de terceros. Estos paquetes no tienen por qué estar siempre actualizados con la última versión, pero en concreto la versión para este análisis proviene de un paquete .deb de una versión de Redmine con solo un mes de antigüedad. Desde la propia página no se ofrecen servicios o soporte sobre Redmine porque está mantenido por una comunidad de voluntarios, pero existe una gran cantidad de empresas que trabajan con ella y ofrecen instalaciones, soporte, formación o desarrollos. Se puede probar Redmine en una demo online habilitada desde la propia web: http://demo.redmine.org/Licencia de módulos/extensiones Los plugins de Redmine pueden o no tener la misma licencia de la aplicación. De hecho, hay algunos con licencia MIT. Aunque todos se pueden considerar libres, se recomienda leer la licencia de cada caso particular. RENDIMIENTOEquipo de pruebas Sistema operativo: Molinux 5.2 Montesinos Procesador: Dual-Core AMD Opteron 1218 Memoria: 2 GB de RAM Tarjeta Gráfica: nVidia Quadro FX 1500 Consumo de memoria El rendimiento de una aplicación servidor como Redmine depende de diversos factores que hacen difícil hacer un análisis de consumo. Hay diversos factores a tener en cuenta como el tipo de servidor donde está instalado y su configuración, los recursos disponibles o la carga de trabajo. En el lado del cliente todo depende exclusivamente del explorador de internet que se utilice. Velocidad de ejecución En cuanto a velocidad hay que ceñirse a las mismas condiciones anteriores, ya que dependerá de la carga del servidor e incluso de la conexión a internet.  DOCUMENTACIONEn la wiki de Redmine se incluye como claro sitio de referencia en cuanto a documentación la guía de Redmine: http://www.redmine.org/wiki/redmine/Guide Esta guía es un extenso paseo por todo lo que se necesita saber en cuanto a uso, funcionalidad, instalación o desarrollo. Incluye imágenes y muchos apartados dedicados: guía de instalación, de administrador de Redmine, de usuario o de desarrollador. Toda esta información está disponible en inglés, idioma de toda la página de Redmine. Hay otras traducciones y la española solo ha llegado a traducir el índice de la guía. Otra documentación interesante es el FAQ, con preguntas sencillas y sus soluciones, organizadas por categorías: http://www.redmine.org/wiki/redmine/FAQ También hay diversos HowTo's sobre instalación o configuración, que sirven a modo de recetas sobre tareas concretas: http://www.redmine.org/wiki/redmine/HowTos Es interesante además el Changelog donde ver los cambios de cada nueva versión (http://www.redmine.org/wiki/redmine/Changelog), información sobre la instalación y creación de nuevos Themes (http://www.redmine.org/wiki/redmine/Themes) y referencias a paquetes creados de Redmine para ahorrar el proceso de instalación, especialmente para máquinas virtuales (http://www.redmine.org/wiki/redmine/Redmine_Appliance). Sobre la página oficial de Redmine, comentar que al estar hecha sobre un Redmine da una apariencia algo informal, y da la sensación de estar hecha y mantenida por y para usuarios, y efectivamente no tiene un enfoque más empresarial puesto que no hay ninguna empresa detrás si no una comunidad. Esto impacta negativamente en la documentación, que está algo dispersa y a veces mal organizada. En concreto, al ser el proceso de instalación algo complejo, la documentación sobre éste tema es algo confusa y delicada, puesto que en la sección de HowTo's llegan a incluirse hasta tres recetas diferentes para instalar en Debian la aplicación, y otra aparte para Ubuntu. Además buscando por la red se encuentran a su vez muchos tutoriales, pero con sutiles diferencias según la base de datos e incluso sistema operativo usado, que funcionan a usuarios concretos pero no son generales. El problema es que es fácil recurrir a ellos en busca de documentación en español, puesto que no se ofrece este idioma en el portal de Redmine. Algunos casos: http://www.sisfo.com/blog/2009/04/redmine-en-gnu-linux-debian/http://wiki.ousli.org/index.php/RedmineUbuntuhttp://wiki.guebs.com/como-instalar-redminehttp://www.chuidiang.com/chuwiki/index.php?title=RedmineCOMUNIDADNúmero de usuarios Atendiendo a la descargas de la forja de Ruby donde está alojado Redmine, la última versión 0.9.3 acumula más de 5.500 descargas en solo 12 días. Debido a que la aplicación está en constante desarrollo, no hay ninguna versión con gran cantidad de descargas pues salen nuevas versiones en cortos periodos de tiempo. Habría que sumar una posiblemente gran cantidad de descargas adicionales en paquetes .deb y otros "no oficiales" que ya se han comentado. En el portal se incluye un listado de empresas o entidades que usan Redmine para gestionar sus proyectos o como herramienta sobre la que ofrecer servicios, desde grandes empresas a pymes: http://www.redmine.org/wiki/redmine/WeAreUsingRedmineForos y portales de ayuda Existe un foro oficial de Redmine donde obtener ayuda, leer información de interés, estar al tanto de novedades y anuncios, y también sobre los plugins: http://www.redmine.org/projects/redmine/boards También existe un canal de IRC donde participar, en el servidor freenode canal #redmine. Contribuciones El proyecto admite donaciones por paypal, habiendo siempre un banner para ello en la parte derecha de la web. Según la cantidad aportada se puede aparecer en la siguiente lista: http://www.redmine.org/wiki/redmine/Donors En cuanto al proyecto se puede contribuir de muchas maneras: en el desarrollo, documentando, resolviendo bugs, dando soporte a usuarios, traduciendo la aplicación y la documentación o diseñando. http://www.redmine.org/wiki/redmine/Contribute También hay una página para reportar incidencias, ya sean de seguridad, bugs, proponer parches o nuevas características: http://www.redmine.org/wiki/redmine/SubmissionsFrecuencia de versiones En la forja de Ruby del proyecto pueden observarse todas las versiones publicadas, con fecha y número de descargas: http://rubyforge.org/frs/?group_id=1850 Puede comprobarse que la herramienta lleva en marcha desde 2006 y han aparecido multitud de versiones, y aunque actualmente es un proyecto serio, maduro y robusto, aún puede considerarse joven. De hecho, en menos de tres meses en 2010, ya han aparecido cuatro versiones. Está en continuo desarrollo siempre corrigiendo bugs y añadiendo funcionalidad.