trac multi-project

¿Cómo se manejan proyectos múltiples(superpuestos) en trac?



multi-project (5)

Estamos usando Trac y estamos realmente satisfechos con él. Sin embargo, de fábrica, trac es el más adecuado para entornos de proyecto único solamente. Me gustaría escuchar acerca de los diversos enfoques que las personas toman para que funcione con múltiples proyectos y sus experiencias con ellos. ¿Hay algún complemento para recomendar? ¿Algún parche, ajustes o cosas? ¿Tal vez incluso está utilizando un sistema de seguimiento de errores completamente diferente que ofrece toda la funcionalidad de trac además de la compatibilidad con múltiples proyectos?

Recientemente comenzamos a administrar un segundo proyecto, que generalmente funciona bien pero también tiene algunos inconvenientes, especialmente cuando los dos proyectos se superponen debido al código de biblioteca común que escribimos y que se usa en ambos proyectos. Como manejas esto?

(Adjuntaré nuestro propio enfoque actual como respuesta a esta publicación).


El enfoque que tomamos es crear otro entorno de trac para cada proyecto nuevo y configurar enlaces InterTrac para una referencia cruzada más simple entre los dos. También usamos un archivo Trac.ini base común a través de la directiva [inherit].

Además de los problemas de ambigüedad con el código compartido mencionados en la pregunta, esto tiene un par de inconvenientes que pueden afectarlo o no, dependiendo de la naturaleza de sus proyectos y su flujo de trabajo:

  • crear nuevos proyectos no es un proceso fácil; no se puede hacer a través de la interfaz del navegador
  • Los números de los tickets no están unificados: cada nuevo entorno de proyecto comienza desde el n. ° 1, al menos con los alias de InterTrac puede eliminar la ambigüedad fácilmente.
  • debe tener especial cuidado al instalar y configurar los complementos para que se instalen y configuren para todos los entornos

Una alternativa que hemos seguido es configurar diferentes proyectos como componentes.

Compartimos el repositorio SVN y la página wiki de inicio, pero no estamos utilizando las características de hito. Si el proyecto es lo suficientemente grande como para tener diferentes módulos (solo uno de ellos en nuestro caso) configuramos cada módulo como un componente en lugar del proyecto.


La misma sensación aquí, Trac es realmente agradable una vez configurado correctamente. Y es fácilmente pirateable sin tocar ningún código. Solo desearía que la sintaxis wiki fuera algo más común, como el descuento.

Tomamos el enfoque de usar una instancia de Trac. No necesitamos / queremos usar ACL ajustado y tiene el beneficio de mantener toda la actividad de los desarrolladores en un solo lugar.

Para separar proyectos, básicamente estamos asignando errores a varios hitos. Cada proyecto tiene un hito a corto y largo plazo. El corto plazo se usa para corregir errores actuales y el largo plazo para lanzamientos importantes.

La mayoría de los otros campos de "nuevo ticket" han sido podados, manteniendo los campos "tipo" y "severidad", que son los mismos en todos los proyectos.

Los informes están esencialmente limitados a "Mis tickets" y el botón "Mostrar informe" ha sido ajustado para acceder directamente a sus tickets.

El flujo de trabajo también se ha adaptado para agregar un estado intermedio de "prueba", de modo que QA pueda garantizar la fijación.

La configuración del correo electrónico se ha ajustado para no inundar los buzones, de modo que los desarrolladores realmente lean sus asignaciones.

Con eso en su lugar, tenemos una herramienta bastante eficiente. Tomó algún tiempo para hacerlo bien, pero es fácil cambiar las cosas si sabes cómo hackear y buscar cosas en google.


Hace aproximadamente un año se implementó SimpleMultiProjectPlugin (soporte de múltiples proyectos en una instancia de Trac). Funciona con> = Trac 0.12. Agrega un nuevo campo de ticket ''proyecto'', amplía la línea de tiempo y la hoja de ruta con filtros para múltiples proyectos y sus versiones de mapas, componentes e hitos para los proyectos.


El proyecto Apache Bloodhound se inició específicamente para brindar soporte a múltiples proyectos a Trac (entre otras cosas). Es esencialmente una colección de complementos en la parte superior de Trac.

Bloodhound sigue siendo compatible con Trac-Hacks más popular y sigue cualquier cambio en Trac. Puedes probar la instancia de demostración también.