Mantis Bug Tracker является свободным и открытым исходным кодом , веб- система отслеживания ошибка . Чаще всего MantisBT используется для отслеживания дефектов программного обеспечения . Однако пользователи часто настраивают MantisBT для использования в качестве более общей системы отслеживания проблем и инструмента управления проектами .
Автор (ы) оригинала | Кензабуро Ито |
---|---|
Разработчики) | Различные (участники с открытым исходным кодом ) |
Первый выпуск | 2000 |
Стабильный выпуск | 2.24.4 (30 декабря 2020 г . [±] ) |
Предварительный выпуск | 2.25.0-dev (23 февраля 2021 г . [±] ) |
Репозиторий | |
Написано в | PHP |
Операционная система | Кроссплатформенность |
Доступно в | 49 языков |
Список языков Африкаанс, амхарский, арабский, арабский (египетский), бретонский, болгарский, каталонский, китайский (упрощенный), китайский (традиционный), хорватский, чешский, датский, голландский, английский, эстонский, финский, французский, галисийский, немецкий, греческий, иврит , Венгерский, исландский, итальянский, японский, корейский, латышский, литовский, македонский, норвежский (букмол), норвежский (нюнорск), окситанский, польский, португальский (стандартный), португальский (бразильский), рипуарский, румынский, русский, сербский, словацкий , Словенский, испанский, швейцарский немецкий, шведский, тагальский, турецкий, украинский, урду, волапук | |
Тип | Система отслеживания ошибок |
Лицензия | Стандартная общественная лицензия GNU версии 2 |
Веб-сайт | www |
Название Mantis и логотип проекта относятся к насекомым семейству Mantidae , известное для отслеживания и кормления на других насекомых, в просторечии именуемый «жучками». Название проекта обычно сокращается до MantisBT или просто Mantis .
История
Кензабуро Ито начал разработку проекта Mantis Bug Tracking в 2000 году. В 2002 году к Кензабуро присоединились Джерун Латур, Виктор Боктор и Джулиан Фицелл в качестве администраторов, и проект стал командным. [1] Версия 1.0.0 была выпущена в феврале 2006 года. [2] Версия 1.1.0 была выпущена в декабре 2007 года. [3] В ноябре 2008 года, после долгого обсуждения, [4] проект отказался [5] от использования Инструмент управления версиями Subversion для Git , инструмента распределенного управления версиями. В феврале 2010 года была выпущена версия 1.2.0. [6] В июле 2012 года организация MantisBT на GitHub стала официальным хранилищем исходного кода проекта. [7]
Функции
Плагины
Система подключаемых модулей, управляемая событиями, была представлена с выпуском версии 1.2.0. [8] Эта система подключаемых модулей позволяет расширять MantisBT как с помощью официально поддерживаемых, так и сторонних подключаемых модулей. По состоянию на ноябрь 2013 года в организации MantisBT-plugins на GitHub доступно более 50 подключаемых модулей.
До версии 1.2.0 пользователям была доступна система подключаемых модулей сторонних производителей, созданная Винсентом Дебаутом, а также множество различных подключаемых модулей. [9] Эта система официально не поддерживалась проектом MantisBT и несовместима с MantisBT 1.2.0 и более поздними версиями.
Уведомления
MantisBT поддерживает отправку уведомлений по электронной почте при внесении изменений в проблемы в системе. Пользователи могут указать тип получаемых сообщений электронной почты и установить фильтры, чтобы определить минимальную серьезность проблем, о которых следует получать уведомления. Пользователи также могут явно подписаться на вопросы, которые их затрагивают.
RSS- каналы доступны для пользователей, которые хотят отслеживать решенные проблемы. Кроме того, MantisBT имеет интеграцию с Twitter через плагин, позволяющий отправлять уведомления в Твиттере, когда проблема решена.
Через управляемую событиями систему подключаемых модулей MantisBT можно расширить встроенную поддержку уведомлений для запуска расширенных сценариев, которые выполняют дополнительные действия с уведомлениями (например, отправку SMS- сообщений или обновление статусов во внешних системах управления проектами ).
Интеграция системы контроля версий
Версии MantisBT до 1.2.0 допускали ограниченную интеграцию с системой контроля версий CVS . [10] С появлением в MantisBT 1.2.0 возможностей подключаемого модуля интеграция управления версиями была переработана Джоном Ризом в подключаемом модуле SourceIntegration.
Первоначальный выпуск плагина SourceIntegration поддерживал GitHub , GitWeb, SourceForge и WebSVN. [11] Со временем были добавлены два дополнительных модуля, и по состоянию на ноябрь 2013 года интеграция исходного кода поддерживается для следующих инструментов контроля версий и веб- провайдеров:
- cgit, веб-интерфейс для репозиториев Git, написанный на C
- GitHub , объект размещения программного обеспечения с открытым исходным кодом, в котором размещаются репозитории Git
- Gitweb, бесплатный веб-интерфейс с открытым исходным кодом для репозиториев Git
- HgWeb, веб-интерфейс cgi для репозиториев Mercurial
- SourceForge (только для интеграции с Subversion), хостинг программного обеспечения с открытым исходным кодом, в котором размещаются различные типы программных репозиториев
- WebSVN, бесплатный веб-интерфейс с открытым исходным кодом для репозиториев Subversion
- RhodeCode , веб-интерфейс с открытым исходным кодом для репозиториев Mercurial, Git и Subversion [12]
При совершении наборов изменений в хранилище исходного кода, после совершения крючков внутри Git или Subversion может быть сконфигурировано , чтобы автоматически уведомлять MantisBT , что были внесены изменения в хранилище. GitHub также может удаленно уведомлять установку MantisBT об изменениях в репозитории исходного кода. Другой метод, используемый для интеграции MantisBT с веб-провайдерами хостинга исходного кода, - это использование планировщика заданий, такого как cron, для ручной проверки изменений в репозитории каждые несколько минут, сообщая о любых изменениях обратно в MantisBT. [11]
SourceIntegration позволяет автоматически решать проблемы в MantisBT, когда сообщение набора изменений содержит специальные строки, такие как «Fixes # 12345», которые можно настроить с помощью регулярных выражений . Это позволяет также отношения , которые будут автоматически созданы между ревизиями и соответствующих вопросов , записанных в MantisBT. В одном сообщении набора изменений можно указать несколько идентификаторов задач, хотя это обычно не рекомендуется, поскольку это указывает на то, что набор изменений не имеет единой, ясной и логической цели. [13]
Незначительные особенности
В дополнение к функциям, упомянутым выше, MantisBT также поддерживает: [14]
- Полнотекстовый поиск
- Журнал аудита изменений, внесенных в проблемы
- Контроль версий текстовых полей и заметок
- Дорожные карты [10]
- Журналы изменений [10]
- Графическое отображение взаимосвязей между задачами
- Спонсорство выпусков
- Интеграция с Wiki- документацией для DokuWiki , MediaWiki , TWiki , WackoWiki, WikkaWiki и XWiki
- Новости
- Управление проектами и учет времени с CodevTT.
- Локализованы десятки языков на translatewiki.net .
Технический дизайн
Языки разработки
MantisBT в основном написан на PHP и использует SQL для взаимодействия с базами данных. Пользовательский веб- интерфейс MantisBT написан с использованием HTML, стилизованного и представленного с использованием CSS . [15] Пользовательский интерфейс также использует библиотеку JavaScript на стороне клиента jQuery для предоставления дополнительных функций, таких как динамическое содержимое страницы на основе Ajax и JSON .
Инструменты разработки и сценарии сборки написаны преимущественно на Python с некоторыми сценариями Shell и PHP .
Кодовая база MantisBT восходит к тому времени, когда поддержка PHP принципов объектно-ориентированного программирования только зарождалась. [16] Начиная с версии 1.2.0, большая часть кодовой базы MantisBT по-прежнему использует принципы процедурного программирования , однако некоторые разделы были преобразованы для использования новой объектной модели PHP 5. [17] [18]
Хранилище базы данных
Данные хранятся в системе управления реляционной базой данных с помощью библиотеки абстракции базы данных ADOdb . MantisBT поддерживает MySQL . Известно, что поддержка других баз данных ( PostgreSQL , Microsoft SQL , Oracle ) проблематична. Команда разработчиков пытается исправить это в версии 2.0. [10]
MantisBT поддерживает путь обновления базы данных между версиями , постепенно изменяя схему базы данных . [19] Во время установки MantisBT все изменения схемы базы данных воспроизводятся с ранних версий MantisBT для достижения последнего состояния.
Требования
MantisBT требует настроенного веб-сервера , интерпретатора языка программирования PHP и системы управления реляционной базой данных, поддерживаемой MantisBT [10] и ADOdb . [20]
Стабильная ветвь MantisBT ( номера версий в пределах 1.2.x) требует PHP 5.1.0 или новее. Для ветки разработки (1.3.x) минимальная версия PHP - 5.3.2. [21]
Несколько расширений PHP требуются [10] для включения определенных функций или по соображениям производительности; расширение для используемой СУБД (например, mysqli ) является обязательным.
MantisBT связывает ряд зависимостей с каждым выпуском, включая: [22]
- ADOdb для абстракции поддержки систем управления реляционными базами данных
- Одноразовый для одноразовой проверки электронной почты
- eZ Компоненты для построения статистики
- NuSOAP для поддержки веб-служб SOAP
- PHPMailer для поддержки отправки электронной почты
- Возможности Projax для Ajax в пользовательском интерфейсе
- RSS Builder для поддержки RSS- каналов
- Библиотека - оболочка PHP UTF-8 для поддержки интернационализации при отсутствии расширения PHP mb_string
Для построения графиков взаимосвязей между задачами требуется GraphViz . MantisBT также имеет альтернативную зависимость от коммерческой графической библиотеки JpGraph для построения статистики.
Смотрите также
- Сравнение систем отслеживания проблем
Рекомендации
- ^ «Команда MantisBT. Это знаменует новую эру в жизни MantisBT, где теперь это командный проект» .
- ^ "Mantis 1.0.0 (стабильный) выпущен" . Список рассылки объявлений MantisBT . SourceForge.net. 4 февраля 2006 г.
- ^ «Mantis 1.1.0 выпущен» . Блог отслеживания ошибок Mantis . Mantisbt.org. 20 декабря 2007 г.
- ^ «Переход с SVN на Git» . Список рассылки Mantisbt-dev . Sourceforge.net. 4 ноября 2008 г.
- ^ Джон Риз (10 ноября 2008 г.). «Первый коммит MantisBT Git» . Github.com.
- ^ «Выпущен MantisBT 1.2.0» . Блог отслеживания ошибок Mantis . Mantisbt.org. 22 февраля 2010 г.
- ^ «MantisBT переходит на Github» . Список рассылки объявлений MantisBT . SourceForge.net. 12 июля 2011 г.
- ^ "MantisBT 1.2.0rc1 Release Candidate 1" . Блог отслеживания ошибок Mantis . Mantisbt.org. 23 июня 2009 г.
- ^ «Плагины Mantis bugtracker» . Deboutv.free.fr . Проверено 14 июля 2010 года .
- ^ а б в г д е «Руководство администратора Mantis Bug Tracker» . Архивировано из оригинала на 2 декабря 2013 года . Проверено 11 ноября 2013 года .
- ^ а б Риз, Джон (7 января 2009 г.). «Интеграция Git и SVN с Mantis Bug Tracker» . NoSwap.com . Проверено 11 ноября 2013 года .
- ^ http://tononlabview.blogspot.fr/2011/07/connecting-mantis-with-rhodecode.html
- ^ «Лучшие практики Subversion» . Проверено 22 августа 2012 года .
- ^ «Список возможностей Mantis» . MantisBT вики . Mantisbt.org. 25 сентября 2012 . Проверено 11 ноября 2013 года .
- ^ «Языки» . Ohloh.net . Проверено 12 ноября 2013 года .
- ^ «История PHP» . PHP.net. 8 ноября 2013 . Проверено 12 ноября 2013 года .
- ^ «Исходный код MantisBT» . GitHub.com. 11 июня 2009 г.
- ^ «Исходный код MantisBT» . GitHub.com. 6 февраля 2008 г.
- ^ «Исходный код MantisBT - admin / schema.php» . GitHub.com . Проверено 12 ноября 2013 года .
- ^ «Руководство ADODB» . Phplens.com . Проверено 12 ноября 2013 года .
- ^ «Mantis Bug Tracker | Требования» . Mantisbt.org. Архивировано из оригинального 5 сентября 2012 года . Проверено 12 ноября 2013 года .
- ^ «Исходный код MantisBT - библиотека / README.libs» . GitHub.com . Проверено 12 ноября 2013 года .
Внешние ссылки
- Официальный веб-сайт