Система отслеживания ошибок Mantis
![]() | |
Оригинальный автор(ы) | Кензабуро Ито |
---|---|
Разработчик(и) | Разное ( авторы с открытым исходным кодом ) |
Первоначальный выпуск | 2000 |
Стабильная версия | |
Предварительный выпуск | 2.25.0-dev (23 февраля 2021 г [±]
) |
Репозиторий | |
Написано в | PHP |
Операционная система | Кросс-платформенный |
Доступно в | 49 языков |
Список языков | |
Тип | Система отслеживания ошибок |
Лицензия | Стандартная общественная лицензия GNU версии 2. |
Веб-сайт | www |
Mantis Bug Tracker — это бесплатная система веб- отслеживания ошибок с открытым исходным кодом . Наиболее распространенное использование MantisBT — отслеживание дефектов программного обеспечения . Однако пользователи часто настраивают MantisBT как более общую систему отслеживания проблем и инструмент управления проектами .
Название Mantis и логотип проекта относятся к насекомых семейству Mantidae , известному тем, что выслеживают и питаются другими насекомыми, в просторечии называемыми «жуками». Название проекта обычно сокращается до MantisBT или просто Mantis .
История
[ редактировать ]Кензабуро Ито начал разработку проекта отслеживания ошибок Mantis в 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 через плагин, позволяющий отправлять уведомления в Твиттере, когда проблема решена.
MantisBT, управляемой событиями С помощью системы подключаемых модулей , можно расширить встроенную поддержку уведомлений для запуска расширенных сценариев, которые выполняют дополнительные действия по уведомлению (например, отправку SMS- сообщений или обновление статусов во внешних системах управления проектами ).
Интеграция системы контроля версий
[ редактировать ]Версии MantisBT до 1.2.0 допускали ограниченную интеграцию с CVS системой контроля версий . [11] С появлением возможностей подключаемых модулей в MantisBT 1.2.0 интеграция контроля версий была переработана Аметистом Риз в подключаемом модуле SourceIntegration.
Первоначальная версия плагина SourceIntegration поддерживала GitHub , GitWeb, SourceForge и WebSVN. [12] Со временем были добавлены два дополнительных модуля, и по состоянию на ноябрь 2013 г. интеграция исходного кода поддерживается для следующих инструментов контроля версий и веб- поставщиков:
- cgit, веб-интерфейс для репозиториев Git, написанный на C.
- GitHub — хостинг программного обеспечения с открытым исходным кодом, на котором размещаются репозитории Git.
- Gitweb, бесплатный веб-интерфейс с открытым исходным кодом для Git . репозиториев
- HgWeb, веб-интерфейс cgi для Mercurial . репозиториев
- SourceForge (только для интеграции с Subversion), средство хостинга программного обеспечения с открытым исходным кодом, на котором размещаются различные типы репозиториев программного обеспечения.
- WebSVN, бесплатный веб-интерфейс с открытым исходным кодом для Subversion . репозиториев
- RhodeCode — веб-интерфейс OpenSource для репозиториев Mercurial, Git и Subversion. [13]
После фиксации набора изменений в репозитории исходного кода можно настроить перехватчики после фиксации в Git или Subversion для автоматического уведомления MantisBT о внесении изменений в репозиторий. GitHub также способен удаленно уведомлять установку MantisBT об изменениях в репозитории исходного кода. Другой метод, используемый для интеграции MantisBT с поставщиками веб-хостинга исходного кода, — это использование планировщика заданий , такого как cron , для ручной проверки изменений в репозитории каждые несколько минут, сообщая о любых изменениях обратно в MantisBT. [12]
SourceIntegration позволяет автоматически решать проблемы в MantisBT, когда сообщение набора изменений содержит специальные строки, такие как «Fixes #12345», которые можно настроить с помощью регулярных выражений . Это также позволяет связи автоматически создавать между наборами изменений и соответствующими проблемами, записанными в MantisBT. В одном сообщении набора изменений можно указать несколько идентификаторов проблем , хотя обычно это не рекомендуется, поскольку это указывает на то, что набор изменений не имеет единой, четкой и логичной цели. [14]
Незначительные особенности
[ редактировать ]В дополнение к упомянутым выше функциям MantisBT также поддерживает: [15]
- Полнотекстовый поиск
- Аудит изменений, внесенных в проблемы
- Контроль версий текстовых полей и примечаний
- Дорожные карты [11]
- Журналы изменений [11]
- График взаимосвязей между проблемами
- Спонсорство выпусков
- Интеграция документации Wiki для DokuWiki , MediaWiki , TWiki , WackoWiki, WikkaWiki и XWiki
- Новости
- Управление проектами и учет рабочего времени с помощью CodevTT.
- локализованы десятки языков На сайте Translationwiki.net .
Технический проект
[ редактировать ]![]() | Этот раздел необходимо обновить . ( февраль 2022 г. ) |
Языки разработки
[ редактировать ]MantisBT в основном написан на PHP и использует SQL для взаимодействия с базами данных. Веб- интерфейс пользователя MantisBT написан с использованием HTML , который стилизован и представлен с помощью CSS . [16] Пользовательский интерфейс также использует jQuery клиентскую библиотеку JavaScript для предоставления дополнительных функций, таких как 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, чтобы достичь последнего состояния.
Требования
[ редактировать ]![]() | Этот раздел необходимо обновить . ( февраль 2022 г. ) |
Для MantisBT требуется настроенный веб-сервер , интерпретатор языка программирования PHP и система управления реляционными базами данных, поддерживаемая MantisBT. [11] и ADOdb . [22]
По состоянию на июнь 2022 года для стабильной ветки MantisBT требуется PHP 7.0 или более поздняя версия. [20]
несколько расширений PHP. Требуется [11] для включения определенных функций или по соображениям производительности; расширение используемой СУБД (т. е. mysqli ) является обязательным.
MantisBT включает в себя ряд зависимостей с каждым выпуском, включая: [23]
- ADOdb для абстракции поддержки систем управления реляционными базами данных
- Одноразовый для электронной почты одноразовой функции проверки
- eZ Компоненты для построения статистики
- NuSOAP для SOAP веб-сервисов поддержки
- PHPMailer для электронной почты поддержки отправки
- Возможности Projax для Ajax в пользовательском интерфейсе
- RSS Builder для RSS- каналов поддержки
- PHP UTF-8 Библиотека-оболочка для поддержки интернационализации при отсутствии расширения PHP mb_string.
Для рисования графиков взаимосвязей между задачами GraphViz требуется . MantisBT также имеет альтернативную зависимость от коммерческой графической библиотеки JpGraph для построения статистики.
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ «Выпуск 2.26.2» . 12 мая 2024 г. Проверено 23 мая 2024 г.
- ^ «команда MantisBT. Это знаменует собой новую эру в жизни MantisBT, когда теперь это командный проект» . Гитхаб . 19 ноября 2021 г.
- ^ «Выпущена 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» . Гитхаб.com.
- ^ «Выпущена MantisBT 1.2.0» . Блог об отслеживании ошибок Mantis . Mantisbt.org. 22 февраля 2010 г.
- ^ «MantisBT переезжает на Github» . Список рассылки объявлений MantisBT . SourceForge.net. 12 июля 2011 г.
- ^ «MantisBT 1.2.0rc1 Релиз-кандидат 1» . Блог об отслеживании ошибок Mantis . Mantisbt.org. 23 июня 2009 г.
- ^ «Плагины отслеживания ошибок Mantis» . Deboutv.free.fr . Проверено 14 июля 2010 г.
- ^ Jump up to: а б с д и «Руководство по администрированию Mantis Bug Tracker» . Архивировано из оригинала 2 декабря 2013 года . Проверено 11 ноября 2013 г.
- ^ Jump up to: а б Риз, Аметист (7 января 2009 г.). «Интеграция Git и SVN с системой отслеживания ошибок Mantis» . NoSwap.com . Проверено 11 ноября 2013 г.
- ^ «Тон в LabVIEW: соединение Mantis с Rhodecode» . 6 июля 2011 г.
- ^ «Лучшие практики Subversion» . Проверено 22 августа 2012 г.
- ^ «Список функций богомола» . MantisBT вики . Mantisbt.org. 25 сентября 2012 года . Проверено 11 ноября 2013 г.
- ^ «Языки» . Олох.нет. Архивировано из оригинала 8 декабря 2013 года . Проверено 12 ноября 2013 г.
- ^ «История PHP» . PHP.net. 8 ноября 2013 года . Проверено 12 ноября 2013 г.
- ^ «Исходный код MantisBT» . GitHub.com. 11 июня 2009 г.
- ^ «Исходный код MantisBT» . GitHub.com. 6 февраля 2008 г.
- ^ Jump up to: а б «Руководство администратора» . mantisbt.org . Проверено 7 июня 2022 г.
- ^ «Исходный код MantisBT — admin/schema.php» . GitHub.com . Проверено 12 ноября 2013 г.
- ^ «Руководство по ADODB» . Phplens.com . Проверено 12 ноября 2013 г.
- ^ «Исходный код MantisBT — библиотека/README.libs» . GitHub.com . Проверено 12 ноября 2013 г.