Bugzilla4Intranet — форк баг-трекера Bugzilla (версии 3.6.4), ставящий своей конечной целью превращение Bugzilla в настраиваемый трекер, а также оптимизацию производительности и ликвидацию некачественного кода, присутствующего в оригинале в большом количестве.

Идеальная цель проекта:

Contents

Состояние проекта

Bugzilla4Intranet — форк версии 3.6.4. Это не самая новая версия Bugzilla. Что это означает на данный момент:

Зато — добавлено множество новых возможностей! Из крупных доработок можно отметить:

Кроме новых возможностей, уже проведена большая работа по рефакторингу наслоений оригинального кода:

Прочие идеи:

Установка

Вначале нужно установить Perl модули — просто вызовом команды cpan, она же perl -MCPAN -eshell (на случай, если в вашей системе не окажется исполняемого файла cpan).

Минимально требуемые модули:

cpan Date::Parse DBI CGI DateTime Email::Address \
  Template JSON Email::MIME Test::Taint \
  XML::Twig Text::TabularDisplay Email::Sender \
  Lingua::Translit Archive::Zip \
  DBD::mysql Image::Magick

Image::Magick обычно можно ставить как пакет вашего любимого Linux-дистрибутива, например perlmagick в Debian. Если вы используете PostgreSQL, то вместо DBD::mysql вам нужен DBD::pg.

В тестах GD есть старый баг, который никак не пофиксят — 1 тест не проходит и установка не удаётся. Так что, пока его не пофиксят, GD ставим с -f (force).

Опционально, но желательно:

cpan -f GD
cpan Template::Plugin::GD GD::Graph GD::Graph3d \
  MIME::Parser Mail::RFC822::Address Email::Reply \
  Devel::StackTrace Email::MIME::Attachment::Stripper \
  SOAP::Lite JSON::RPC JSON::XS Text::CSV HTML::Strip \
  Text::CSV_XS Spreadsheet::ParseExcel Spreadsheet::XLSX \
  Lingua::Stem::Snowball Math::Random::Secure TheSchwartz \
  Daemon::Generic HTTP::Server::Simple Net::Server Sys::Sendfile

После установки данных модулей создайте MySQL-базу данных и пользователя, имеющего к ней полный доступ, запустите ./checksetup.sh в директории установки Bugzilla и следуйте инструкциям.

При обновлении — просто обновите код и также запустите ./checksetup.sh. Нужные изменения в БД будут внесены автоматически.

История улучшений

Список доработок актуален на дату: 2012-12-05 (5 декабря 2012).

Улучшения оригинальной Bugzilla 3.0 по сравнению с 2.x

Bugzilla 3 имеет много преимуществ — авторы наконец-то осилили и mod_perl, и транзакции, и работу в UTF-8, и некоторые возможности расширения, и внешний вид посимпатичнее, и проверки дублирования изменений, и запросы через DBI (а не SendSQL()), и нормальные шаблоны для писем (если, конечно, Template Toolkit считать нормальным вообще).

В то же время, авторы Bugzilla начинают понимать, что возможности расширения в Bugzilla необходимы, и постепенно добавляют таковые. В 3.0 появляются Custom Fields (дополнительные поля у багов) и чуть-чуть хуков, в 3.2 появляется настраиваемый жизненный цикл бага, поддержка расширений авторизации и ещё чуть-чуть хуков. Правда, хуков там всё равно мало, и как пишут сами авторы, они не очень красивые и, вероятно, в будущем будут переделаны. Будущее — это 4.0, которая, скорее всего, вырастет когда-нибудь из HEAD’а, который обычно представляет собой unstable версию с нечётным индексом (3.1, 3.3, 3.5 и т.п). В 4.0 обещали хуки для всего, чего душе угодно, но пользоваться ими вряд ли кто-то будет, учитывая то, какой кошмар царит в головах авторов, судя по «новой системе расширений», добавленной в 3.6.

Производительность и надёжность (по сравнению с 2.x прогресс огромен):

Новые фичи:

Доработки 2.x → /dev/null

Следующие доработки были внесены нами давно в 2.x, и отмерли по той причине, что в 3.0 реализованы авторами:

Легенда

Легенда к списку доработок, разбитому по статусу относительно Bugzilla 3.

По категории:

Под заголовком «доработки X.Y» понимаются доработки, внесённые уже после объединения CustIS Bugzilla с оригинальной версией.

Доработки 2.x → 3.2

Список доработок, существовавших в «CustIS Bugzilla» на момент объединения её с mainstream-версией 3.2.

Всем спасибо за прохождение опроса по часто используемым функциям Bugzilla.

Пронесены в Bugzilla 3.2:

Доработки 3.2

Доработки 3.4

Bugzilla 3.4 установлена в качестве боевой 30 августа 2009. Всем спасибо за боевое «гамма-тестирование» (потому, что даже не совсем бета). :)

Доработки 3.6

Bugzilla 3.6 установлена в качестве боевой 10 июня 2010.

Внешние баги