Trac — это система управления проектами и отслеживания ошибок с открытым исходным кодом , работающая на основе веб-технологий . Она была принята различными организациями для использования в качестве системы отслеживания ошибок как для бесплатного программного обеспечения с открытым исходным кодом, так и для фирменных проектов и продуктов. [4] Trac интегрируется с основными системами контроля версий, включая ( «из коробки» ) Subversion и Git . Trac используется, среди прочего, Django , [5] FFmpeg , [6] WebKit , [7] 0 AD , [8] и WordPress . [9]
Trac доступен во всех основных операционных системах , включая Windows через установщик или Bitnami , [10] OS X через MacPorts или pkgsrc , Debian , [11] Ubuntu , [12] Arch Linux [13] или FreeBSD , [14] , а также на различных сервисах облачного хостинга .
Вдохновленные CVSTrac, Йонас Боргстрём и Дэниел Лундин из Edgewall Software начали писать svntrac в августе 2003 года, используя SQLite и Subversion . [15] В декабре 2003 года они переименовали его в Trac . В феврале 2004 года версия Trac была изменена сначала с 0.0.1 на 0.1, а затем напрямую с 0.1 на 0.5. За этим выпуском в марте 2004 года последовали 0.6 и 0.7, а в ноябре 2004 года — 0.8.
Edgewall Software — это зонтичная организация, размещающая edgewall.org для сообщества, чтобы сотрудничать в разработке программного обеспечения Python с открытым исходным кодом. [16] Раньше она предлагала услуги по разработке программного обеспечения, консалтингу и поддержке. Некоторые из первых членов сообщества, которые сотрудничали в разработке Trac с открытым исходным кодом, были Рокки Берт в марте 2004 года, Кристофер Ленц и Франсуа Харви в мае 2004 года, Кристиан Боос и Отавио Сальвадор в декабре 2004 года и Марк Роу в марте 2005 года. [17]
В августе 2005 года лицензия была изменена с GPL-2.0-or-later на BSD-3-Clause . Первым релизом под этой окончательной лицензией был Trac 0.9 в октябре 2005 года, который среди прочих функций представил поддержку базы данных PostgreSQL .
Trac 0.10, выпущенный в сентябре 2006 года, был важным релизом, который впервые представил компонентную систему, которая по сей день позволяет плагинам расширять и добавлять функции к ядру Trac. Сам Trac с этого момента состоит в основном из дополнительных компонентов плагинов, которые можно отключить или полностью заменить. Поддержка базы данных MySQL добавлена как один из таких основных компонентов. В этом релизе добавлена поддержка систем контроля версий , отличных от Subversion, с помощью внешних плагинов. Поддержка Mercurial предоставлялась через отдельный плагин из-за ограничений его лицензии GPL. [18] Trac 0.11, выпущенный в июне 2008 года, изменил систему шаблонов HTML с ClearSilver [19] на Genshi , нарушив совместимость со многими старыми плагинами.
Trac 0.12 был выпущен в июне 2010 года и стал стабильным долгосрочным релизом с последним релизом 0.12.7 от июля 2015 года. Он добавил поддержку интернационализации и локализации с помощью Babel , а также позволяет использовать несколько репозиториев контроля версий одновременно.
Trac 1.0 был выпущен в сентябре 2012 года [20] , предыдущая стабильная версия с долгосрочной поддержкой, последняя версия 1.0.13 вышла в сентябре 2016 года. Она включала ранее внешний плагин для поддержки контроля версий Git .
Trac 1.1.1 с февраля 2013 года по 1.1.6 с июля 2015 года — это релизы без долгосрочной поддержки и гарантий совместимости, которые превратились в Trac 1.2 с ноября 2016 года. [21]
Trac 1.4 от августа 2019 года был последним стабильным релизом, работающим на Python 2.7. Он использует систему шаблонов Jinja .
Trac 1.6 от сентября 2023 года является текущей стабильной версией и работает исключительно на Python3. Многие плагины также были переписаны для работы на Python3 и Jinja.
Trac предлагает простой подход к управлению проектами, глубоко интегрируя отслеживание тикетов , контроль версий (для которого поддерживаются несколько репозиториев на среду) и вики . Он позволяет создавать гиперссылки между этими системами, включать содержимое вики непосредственно в тикет или автоматически выводить тикеты на страницах вики. [22] [23] [24] [25] [26] [27]
Система тикетов может использоваться для отслеживания ошибок, задач, проблем, инцидентов или любого другого типа тикетов. Настраиваемые отчеты могут быть созданы из параметрических сохраненных SQL- запросов или с использованием интерактивной системы запросов тикетов. Также имеется интегрированная поисковая система и детальная система разрешений.
Дополнительные функции управления проектами включают группировку тикетов по вехам и дорожную карту, где перечислены и визуализированы вехи и их прогресс. Недавняя активность отображается на странице временной шкалы, и пользователи получают уведомления по электронной почте или могут подписаться на каналы RSS или iCalendar .
Trac имеет систему плагинов для добавления дополнительных функций и интеграции с внешними инструментами. [28] Помимо базовой поддержки SVN и Git, Trac может подключаться через плагины ко многим другим системам контроля версий , включая Bazaar , CVS , Darcs , Mercurial , Monotone и Perforce . [ требуется ссылка ] Функции, предоставляемые плагинами, включают непрерывную интеграцию , управление учетными записями, теги , фильтрацию спама, блоги и форумы для обсуждения, а также коннекторы для XML-RPC и Pastebin . [ требуется неосновной источник ]
Apache Bloodhound — это веб- система управления проектами и отслеживания ошибок, созданная на основе Trac. [31] Проект Bloodhound был первоначально представлен в Apache Incubator компанией WANdisco . [32] Bloodhound стал проектом Apache верхнего уровня в 2013 году. [33] [34] [35] Bloodhound добавил поддержку нескольких проектов в Trac. Согласно веб-странице Bloodhound, этот проект в настоящее время закрыт (август 2024 г.).