Введение
Система управления проектами с открытым исходным кодом
Trac — это веб-система управления проектами и отслеживания ошибок с открытым исходным кодом. Она используется различными организациями в качестве системы отслеживания ошибок как для свободного и открытого программного обеспечения, так и для проприетарных проектов и продуктов. Trac интегрируется с основными системами контроля версий, включая Subversion и Git ("из коробки"). Trac используется, в частности, Internet Research Task Force, Django, FFmpeg, jQuery UI, WebKit, 0 A. D. и WordPress. Trac доступен на всех основных операционных системах, включая Windows (через Installer или Bitnami), OS X (через MacPorts или pkgsrc), Debian, Ubuntu, Arch Linux или FreeBSD, а также на различных облачных хостинговых сервисах.
История
Вдохновленные CVSTrac, Йонас Боргстрём и Дэниел Лундин из Edgewall Software начали разработку svntrac в августе 2003 года, используя SQLite и Subversion. В декабре 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. Ранее компания предлагала услуги по разработке программного обеспечения, консалтингу и поддержке. Одними из первых участников сообщества, внесших вклад в разработку Trac, были Рокки Берт (март 2004 года), Кристофер Ленц и Франсуа Харви (май 2004 года), Кристиан Бус и Отавио Сальвадор (декабрь 2004 года) и Марк Роу (март 2005 года). В августе 2005 года лицензия была изменена с GPL 2.0 или более поздней версии на BSD 3 Clause. Первым релизом под этой окончательной лицензией стал Trac 0.9 в октябре 2005 года, который, среди прочего, представил поддержку баз данных PostgreSQL. Trac 0.10, выпущенный в сентябре 2006 года, был важным релизом, впервые представившим систему компонентов, которая и по сей день позволяет плагинам расширять и добавлять функциональность в ядро Trac. С этого момента сам Trac состоит в основном из необязательных компонентов плагинов, которые можно отключить или полностью заменить. Поддержка базы данных MySQL была добавлена как один из таких основных компонентов. Этот релиз добавил поддержку систем контроля версий, отличных от Subversion, посредством внешних плагинов. Поддержка Mercurial была реализована через отдельный плагин из-за ограничений лицензии GPL. Trac 0.11, выпущенный в июне 2008 года, изменил систему шаблонов HTML с ClearSilver на Genshi, нарушив совместимость со многими старыми плагинами. Trac 0.12 был выпущен в июне 2010 года и стал стабильным релизом с долгосрочной поддержкой, последним точечным релизом которого является 0.12.7 от июля 2015 года. В него была добавлена поддержка интернационализации и локализации с использованием Babel, а также возможность одновременного использования нескольких репозиториев контроля версий. Trac 1.0 был выпущен в сентябре 2012 года и являлся предыдущей стабильной версией с долгосрочной поддержкой, последним точечным релизом которой является 1.0.13 от сентября 2016 года. Он включал в себя ранее внешний плагин для поддержки контроля версий Git. Версии Trac 1.1.1 (февраль 2013 года) – 1.1.6 (июль 2015 года) не имели долгосрочной поддержки и гарантий совместимости и стали основой для Trac 1.2 (ноябрь 2016 года). Trac 1.4 от августа 2019 года был последним стабильным релизом, работающим на Python 2.7. Он использует систему шаблонов Jinja. Trac 1.6 от сентября 2023 года – текущий стабильный релиз, работающий исключительно на Python3. Многие плагины также были переписаны для работы на Python3 и с использованием Jinja.
Основные особенности
Trac предлагает простой и функциональный подход к управлению проектами, обеспечивая глубокую интеграцию отслеживания задач, контроля версий (с поддержкой нескольких репозиториев для каждой среды) и вики. Он позволяет создавать гиперссылки между этими системами, встраивать содержимое вики непосредственно в задачу или автоматически отображать задачи на страницах вики. Система задач может использоваться для отслеживания ошибок, задач, проблем, инцидентов или любых других типов обращений. Настраиваемые отчеты могут быть сгенерированы на основе параметризованных сохраненных SQL-запросов или с использованием интерактивной системы запросов к задачам. Также предусмотрена встроенная поисковая система и детализированная система прав доступа. Среди дополнительных функций управления проектами – группировка задач в вехи и дорожная карта, на которой вехи и их прогресс отображаются в виде списка и визуализируются. Недавняя активность отображается на странице временной шкалы, а пользователи получают уведомления по электронной почте или могут подписаться на RSS- или iCalendar-каналы.
Дополнительные особенности
Trac имеет систему плагинов для добавления дополнительных функций и интеграции с внешними инструментами. Помимо основной поддержки SVN и Git, Trac может подключаться через плагины ко многим другим системам контроля версий, включая Bazaar, CVS, Darcs, Mercurial, Monotone и Perforce. Плагины предоставляют такие возможности, как непрерывная интеграция, управление учетными записями, теги, фильтрация спама, блоги и форумы для обсуждений, а также коннекторы для XML RPC и Pastebin.
Апачская кроводержка
Apache Bloodhound — это веб-система управления проектами и отслеживания ошибок, разработанная на основе Trac. Проект Bloodhound был первоначально представлен в Apache Incubator компанией WANdisco. В 2013 году Bloodhound стал самостоятельным проектом Apache. Bloodhound добавил поддержку нескольких проектов в Trac.