stringtranslate.com

Mantis Bug Tracker

Mantis Bug Tracker — это бесплатная и открытая веб- система отслеживания ошибок . Наиболее распространенное применение MantisBT — отслеживание дефектов программного обеспечения . Однако пользователи часто настраивают MantisBT в качестве более общей системы отслеживания проблем и инструмента управления проектами .

Название Mantis и логотип проекта отсылают к семейству насекомых Mantidae , известных тем, что выслеживают и питаются другими насекомыми, в просторечии именуемыми «жуками». Название проекта обычно сокращается до MantisBT или просто Mantis .

История

Кэндзабуро Ито начал разработку проекта Mantis Bug Tracking в 2000 году. В 2002 году к Кэндзабуро присоединились Джероен Латур, Виктор Боктор и Джулиан Фитцелл в качестве администраторов, и проект стал командным. [2] Версия 1.0.0 была выпущена в феврале 2006 года. [3] Версия 1.1.0 была выпущена в декабре 2007 года. [4] В ноябре 2008 года, после долгого обсуждения, [5] проект перешел [6] с использования инструмента контроля версий Subversion на Git , распределенный инструмент контроля версий. В феврале 2010 года была выпущена версия 1.2.0. [7] В июле 2012 года организация MantisBT на GitHub стала официальным репозиторием исходного кода проекта. [8]

Функции

Плагины

Система подключаемых модулей, управляемая событиями, была представлена ​​с выпуском версии 1.2.0. [9] Эта система подключаемых модулей позволяет расширять MantisBT как через официально поддерживаемые, так и через сторонние подключаемые модули. По состоянию на ноябрь 2013 года в организации MantisBT-plugins на GitHub доступно более 50 подключаемых модулей.

До версии 1.2.0 пользователям была доступна сторонняя система подключаемых модулей, созданная Винсентом Дебаутом, а также множество других подключаемых модулей. [10] Эта система официально не поддерживалась проектом MantisBT и несовместима с MantisBT 1.2.0 и более поздними версиями.

Уведомления

MantisBT поддерживает отправку уведомлений по электронной почте при внесении изменений в проблемы в системе. Пользователи имеют возможность указать тип получаемых ими электронных писем и установить фильтры для определения минимальной серьезности проблем, о которых следует получать уведомления. Пользователи также имеют возможность явно подписываться на проблемы, которые их затрагивают.

RSS- каналы доступны для пользователей, желающих отслеживать решенные проблемы. Кроме того, MantisBT имеет интеграцию с Twitter через плагин, что позволяет отправлять уведомления в Twitter, когда проблема решена.

С помощью системы подключаемых модулей MantisBT, управляемой событиями , можно расширить встроенную поддержку уведомлений для запуска расширенных скриптов, которые выполняют дополнительные действия по уведомлению (например, отправку SMS- сообщений или обновление статусов во внешних системах управления проектами ).

Интеграция системы контроля версий

Версии MantisBT до 1.2.0 допускали ограниченную интеграцию с системой контроля версий CVS . [11] С появлением возможностей плагинов в MantisBT 1.2.0 интеграция контроля версий была переработана Аметист Риз в плагине SourceIntegration.

Первоначальный выпуск плагина SourceIntegration поддерживал GitHub , GitWeb, SourceForge и WebSVN. [12] Со временем были добавлены два дополнительных модуля, и по состоянию на ноябрь 2013 года интеграция исходного кода поддерживается для следующих инструментов контроля версий и веб- провайдеров:

После фиксации наборов изменений в репозитории исходного кода, посткоммитные хуки в Git или Subversion могут быть настроены на автоматическое уведомление MantisBT о внесении изменений в репозиторий. GitHub также способен удаленно уведомлять установку MantisBT об изменениях в репозитории исходного кода. Другой метод, используемый для интеграции MantisBT с поставщиками веб-хостинга исходного кода, — это использование планировщика заданий , такого как cron, для ручной проверки изменений в репозитории каждые несколько минут, сообщая обо всех изменениях обратно в MantisBT. [12]

SourceIntegration позволяет автоматически решать проблемы в MantisBT, когда сообщение о наборе изменений содержит специальные строки, такие как «Исправления #12345», которые настраиваются с помощью регулярных выражений . Это также позволяет автоматически создавать связи между наборами изменений и соответствующими проблемами, записанными в MantisBT. Несколько идентификаторов проблем могут быть указаны в одном сообщении о наборе изменений, хотя это обычно не рекомендуется, поскольку это указывает на то, что набор изменений не имеет единой, ясной и логичной цели. [14]

Незначительные особенности

В дополнение к функциям, упомянутым выше, MantisBT также поддерживает: [15]

Техническое проектирование

Языки разработки

MantisBT в основном написан на PHP и использует SQL для взаимодействия с базами данных. Веб- интерфейс пользователя MantisBT написан с использованием HTML , который стилизован и представлен с использованием CSS . [16] Пользовательский интерфейс также использует клиентскую библиотеку JavaScript jQuery для предоставления дополнительных функций, таких как динамический контент страницы на основе Ajax и JSON .

Инструменты разработки и скрипты сборки написаны преимущественно на Python с некоторыми элементами Shell-скрипта и PHP .

Кодовая база MantisBT восходит к тому времени, когда поддержка принципов объектно-ориентированного программирования в PHP находилась в зачаточном состоянии. [17] Начиная с версии 1.2.0, большая часть кодовой базы MantisBT по-прежнему использует принципы процедурного программирования , однако некоторые разделы были преобразованы для использования новой объектной модели PHP 5. [18] [19]

Хранение базы данных

Данные хранятся в системе управления реляционной базой данных с помощью библиотеки абстракции базы данных ADOdb . MantisBT поддерживает MySQL , MariaDB и PostgreSQL . Имеет экспериментальную поддержку Microsoft SQL и Oracle . [20]

MantisBT поддерживает путь обновления базы данных между версиями , постепенно изменяя схему базы данных . [21] Во время установки MantisBT изменения схемы базы данных воспроизводятся полностью с ранних версий MantisBT для достижения последнего состояния.

Требования

MantisBT требует настроенного веб-сервера , интерпретатора языка программирования PHP и системы управления реляционными базами данных, поддерживаемой MantisBT [11] и ADOdb [22] .

По состоянию на июнь 2022 года стабильная ветка MantisBT требует PHP 7.0 или более поздней версии. [20]

Для включения определенных функций или по соображениям производительности требуются несколько расширений PHP [11] ; расширение для используемой СУБД (т. е. mysqli ) является обязательным.

MantisBT объединяет ряд зависимостей с каждым выпуском, включая: [23]

Для построения графиков взаимосвязей между проблемами требуется GraphViz . MantisBT также имеет альтернативную зависимость от коммерческой графической библиотеки JpGraph для построения графиков статистики.

Смотрите также

Ссылки

  1. ^ "Release 2.27.0". 29 сентября 2024 г. Получено 22 октября 2024 г.
  2. ^ "команда MantisBT. Это знаменует собой новую эру в жизни MantisBT, где теперь это командный проект". GitHub . 19 ноября 2021 г.
  3. ^ "Mantis 1.0.0 (stable) Released". Рассылка объявлений MantisBT . SourceForge.net. 4 февраля 2006 г.
  4. ^ "Mantis 1.1.0 Released". Блог Mantis Bug Tracker . Mantisbt.org. 20 декабря 2007 г.
  5. ^ "Переход с SVN на Git". Список рассылки Mantisbt-dev . Sourceforge.net. 4 ноября 2008 г.
  6. Аметист Риз (10 ноября 2008 г.). «Первый коммит MantisBT Git». Github.com.
  7. ^ "MantisBT 1.2.0 Released". Блог Mantis Bug Tracker . Mantisbt.org. 22 февраля 2010 г.
  8. ^ "MantisBT переходит на Github". Рассылка объявлений MantisBT . SourceForge.net. 12 июля 2011 г.
  9. ^ "MantisBT 1.2.0rc1 Release Candidate 1". Блог Mantis Bug Tracker . Mantisbt.org. 23 июня 2009 г.
  10. ^ "Mantis bugtracker plugins". Deboutv.free.fr . Получено 14 июля 2010 г. .
  11. ^ abcde "Mantis Bug Tracker Administration Guide". Архивировано из оригинала 2 декабря 2013 г. Получено 11 ноября 2013 г.
  12. ^ ab Reese, Amethyst (7 января 2009 г.). "Интеграция Git и SVN с помощью Mantis Bug Tracker". NoSwap.com . Получено 11 ноября 2013 г. .
  13. ^ "Ton на LabVIEW: подключение Mantis с Rhodecode". 6 июля 2011 г.
  14. ^ "Subversion Best Practices" . Получено 22 августа 2012 г. .
  15. ^ "Mantis Feature List". MantisBT wiki . Mantisbt.org. 25 сентября 2012 г. Получено 11 ноября 2013 г.
  16. ^ "Языки". Ohloh.net. Архивировано из оригинала 8 декабря 2013 г. Получено 12 ноября 2013 г.
  17. ^ "История PHP". PHP.net. 8 ноября 2013 г. Получено 12 ноября 2013 г.
  18. ^ "Исходный код MantisBT". GitHub.com. 11 июня 2009 г.
  19. ^ "Исходный код MantisBT". GitHub.com. 6 февраля 2008 г.
  20. ^ ab "Руководство администратора". mantisbt.org . Получено 7 июня 2022 г. .
  21. ^ "Исходный код MantisBT - admin/schema.php". GitHub.com . Получено 12 ноября 2013 г. .
  22. ^ "Руководство по ADODB". Phplens.com . Получено 12 ноября 2013 г. .
  23. ^ "Исходный код MantisBT - library/README.libs". GitHub.com . Получено 12 ноября 2013 г. .

Внешние ссылки