19 drops

ancora imparo ← (michelangelo)

TRAC

| Comments

Dentro de las herramientas de seguimiento de errores existe un amplio abanico que va desde las más simples, o más centradas en su funcionalidad original, como Bugzilla o Mantis (ambos OpenSource), hasta las más evolucionadas como Redmine (OpenSource), JIRA o FogBugz (ambos comerciales), que complementan su funcionalidad original de seguimiento de errores con un conjunto de funcionalidades adicionales, que les permiten saltar un nivel y convertirse en herramientas con las que poder efectuar el control y la gestión de un proyecto.

TRAC (OpenSource) es originalmente un sistema de seguimiento de issues, esto es importante porque se posiciona no como un sistema orientado principalmente a la gestión de bugs, como Bugzilla o Mantis (aunque luego hagan más cosas), sino que busca ofrecer los mecanismos básicos para poder efectuar la gestión de un proyecto, y en este sentido se aproxima a lo ofrecido por JIRA o FogBugz.

TRAC es flexible, no impone ninguna metodología, simplemente ofrece un conjunto de herramientas para que se puedan hacer las cosas, algunas de estas herramientas son:

  • Sistema completo de gestión de Tickets, que permiten establecer y asignar las funcionalidades que se desarrollarán en el proceso (nuevas características, errores, tareas…)
  • Wiki, como repositorio común de información/documentación para el proyecto (estructura del proyecto, dónde están los servidores, cómo configurar los entornos, guías de estilo y codificación…tooodooo)
  • Integración con el sistema de control de versiones (Subversion y Git…entre otros)
  • Roadmap, o calendario de versiones, que permite ver el grado de avance y cuándo se preve que sean liberadas las nuevas funcionalidades
  • TimelIne, o lugar en el que se registran y se pueden revisar todas las operaciones realizadas en el proyecto desde el cambio en una página del wiki hasta el último commit en el repositorio de código.
  • RSS como mecanismo de seguimiento en casi todos los módulos de TRAC
  • …otras muchas…

Solamente con estas características sería una herramienta interesante ya que ofrece varias cosas importantes en un proyecto:

  • Medio de comunicación con el cliente, en todo momento puede ver la marcha del proyecto.
  • Punto común de recogida del conocimiento asociado al proyecto.
  • Información al momento de la situación del proyecto en cada momento.

Pero lo que caracteriza y diferencia fundamentalmente a TRAC del resto es su sistema de plugins, o mecanismo que permite extender TRAC todo lo que permita la imaginación y lo convierte casi-casi en una plataforma, y el soporte de la comunidad al mismo. Una lista completa de los pulgins disponibles para TRAC puede encontrarse en Trac Hacks, y una lista un poco más corta:

 Gestión de usuarios

  • Administración de cuentas (AccountManagerPlugin)
  • Autenticación HTTP (HttpAuthPlugin)
  • Integración con Active Directory (ActiveDirectoryAuthPlugin)
  • Integración con CAS (TracCasPlugin)

 Integración de la administración con Subversion

Extensión del sistema de Tickets

 Integración con otros sistemas y extensiones

 Otros
Interoperabilidad

De todos los plugins existentes para TRAC el más interesante de todos es el XML-RPC Plugin porque expone al exterior toda la funcionalidad de un servidor TRAC para que pueda integrarse con cualquier lenguaje y para cualquier cosa. Por ejemplo se podría:

  • Construir un sistema simplificado para la entrada de tickets-bugs solamente con los datos estrictamente necesarios.
  • Realizar la alimentación inicial de issues en un proyecto a partir de un MS Project
  • Generar la descripción inicial de tareas a partir de una definición funcional decente

y todo ello en el lenguaje y la forma (desktop, web…) que mejor nos venga. Espero poder terminar en breve TRACdrops, y poder disponer de TRAC desde Java con toda su potencia de una forma simple…

Comments