Trac es un sistema de gestión de proyectos y seguimiento de errores basado en la web y de código abierto . Ha sido adoptado por una variedad de organizaciones para su uso como un sistema de seguimiento de errores tanto para software libre y de código abierto como para proyectos y productos propietarios. [4] Trac se integra con los principales sistemas de control de versiones , incluidos ( "listos para usar" ) Subversion y Git . Trac es utilizado, entre otros, por Django , [5] FFmpeg , [6] WebKit , [7] 0 AD , [8] y WordPress . [9]
Trac está disponible en todos los principales sistemas operativos , incluidos Windows a través de Installer o Bitnami , [10] OS X a través de MacPorts o pkgsrc , Debian , [11] Ubuntu , [12] Arch Linux [13] o FreeBSD , [14] así como en varios servicios de alojamiento en la nube .
Inspirados por CVSTrac, Jonas Borgström y Daniel Lundin de Edgewall Software comenzaron a escribir svntrac en agosto de 2003 utilizando SQLite y Subversion . [15] En diciembre de 2003, cambiaron el nombre a Trac . En febrero de 2004, la versión de Trac se cambió primero de 0.0.1 a 0.1 y luego directamente de 0.1 a 0.5. A esa versión le siguieron en marzo de 2004 las versiones 0.6 y 0.7, y la 0.8 en noviembre de 2004.
Edgewall Software es una organización paraguas que alberga edgewall.org para que la comunidad colabore en el desarrollo de software Python de código abierto. [16] Solía ofrecer servicios de desarrollo de software, consultoría y soporte. Algunos de los primeros miembros de la comunidad que colaboraron en el desarrollo de código abierto de Trac fueron Rocky Burt en marzo de 2004, Christopher Lenz y Francois Harvey en mayo de 2004, Christian Boos y Otavio Salvador en diciembre de 2004 y Mark Rowe en marzo de 2005. [17]
En agosto de 2005, la licencia se modificó de GPL-2.0 o posterior a BSD-3-Clause . La primera versión con esta licencia final fue Trac 0.9 en octubre de 2005, que, entre otras características, introdujo la compatibilidad con bases de datos PostgreSQL .
Trac 0.10, lanzado en septiembre de 2006, fue una versión importante que introdujo por primera vez el sistema de componentes que hasta el día de hoy permite que los complementos extiendan y agreguen características al núcleo de Trac. Trac en sí mismo desde este punto consiste principalmente en componentes de complemento opcionales que se pueden deshabilitar o reemplazar por completo. La compatibilidad con la base de datos MySQL se agrega como uno de esos componentes principales. Esta versión agregó soporte para sistemas de control de versiones distintos de Subversion mediante complementos externos. El soporte de Mercurial se proporcionó a través de un complemento separado debido a sus restricciones de licencia GPL. [18] Trac 0.11, lanzado en junio de 2008, cambió el sistema de plantillas HTML de ClearSilver [19] a Genshi , rompiendo la compatibilidad con muchos de los complementos más antiguos.
Trac 0.12 se lanzó en junio de 2010 y se convirtió en una versión estable a largo plazo con la última versión puntual 0.12.7 de julio de 2015. Agregó soporte de internacionalización y localización usando Babel y permite usar múltiples repositorios de control de versiones a la vez.
Trac 1.0 se lanzó en septiembre de 2012, [20] la versión estable anterior con soporte a largo plazo con la última versión puntual 1.0.13 de septiembre de 2016. Incluía el complemento externo anterior para soporte de control de versiones Git .
Trac 1.1.1 de febrero de 2013 a 1.1.6 de julio de 2015 son versiones sin soporte a largo plazo ni garantías de compatibilidad, que se convirtieron en Trac 1.2 a partir de noviembre de 2016. [21]
Trac 1.4 de agosto de 2019 fue la última versión estable que se ejecutó en Python 2.7. Utiliza el sistema de plantillas Jinja .
Trac 1.6 de septiembre de 2023 es la versión estable actual y funciona exclusivamente en Python 3. Muchos de los complementos también se han reescrito para que funcionen en Python 3 y en Jinja.
Trac ofrece un enfoque sencillo para la gestión de proyectos al integrar profundamente el seguimiento de tickets , el control de versiones (para lo cual se admiten varios repositorios por entorno) y la wiki . Permite crear hipervínculos entre estos sistemas, incluir contenido wiki directamente en un ticket o incluir tickets automáticamente en páginas wiki. [22] [23] [24] [25] [26] [27]
El sistema de tickets se puede utilizar para realizar un seguimiento de errores, tareas, problemas, incidentes o cualquier otro tipo de ticket. Se pueden generar informes personalizados a partir de consultas SQL paramétricas almacenadas o mediante un sistema de consulta de tickets interactivo. También hay un motor de búsqueda integrado y un sistema de permisos detallado.
Las funciones adicionales de gestión de proyectos incluyen la agrupación de tickets en hitos y una hoja de ruta donde se enumeran y visualizan los hitos y su progreso. La actividad reciente se muestra en una página de cronología y los usuarios reciben notificaciones por correo electrónico o pueden suscribirse a feeds RSS o iCalendar .
Trac tiene un sistema de complementos para agregar características adicionales e integrarse con herramientas externas. [28] Además del soporte básico de SVN y Git, Trac puede conectarse a través de complementos a muchos otros sistemas de control de versiones , incluidos Bazaar , CVS , Darcs , Mercurial , Monotone y Perforce . [ cita requerida ] Las características proporcionadas por los complementos incluyen integración continua , administración de cuentas, etiquetas , filtrado de spam, blogs y foros de discusión, y conectores para XML-RPC y Pastebin . [ fuente no primaria necesaria ]
Apache Bloodhound es un sistema de gestión de proyectos y seguimiento de errores basado en la web construido sobre Trac. [31] El proyecto Bloodhound fue enviado inicialmente a la Incubadora Apache por WANdisco . [32] Bloodhound se convirtió en un proyecto Apache de alto nivel en 2013. [33] [34] [35] Bloodhound agregó soporte para múltiples proyectos a Trac. Según la página web de Bloodhound, este proyecto ha sido retirado (agosto de 2024).