Mantis Bug Tracker is a free and open web-based bug tracking system. The most common use of MantisBT is to track software defects. However, MantisBT is often configured by the user to serve as a more common problem tracking system and project management tools.
The name Mantis and the project logo refer to the Mantidae family of insects, known to track and feed on other insects, colloquially referred to as "bugs". Project name is usually abbreviated to MantisBT or just Mantis .
Video Mantis Bug Tracker
History
Kenzaburo Ito started the development of the Mantis Bug Tracking project in 2000. In 2002, Kenzaburo joined Jeroen Latour, Victor Boctor and Julian Fitzell to become administrators and team projects. Version 1.0.0 was released in February 2006. Version 1.1.0 was released in December 2007. In November 2008, after a lengthy discussion, the project shifted from using the Subversion revision control tool to Git, a revision control tool that was distributed. In February 2010, version 1.2.0 was released. In July 2012, the MantisBT organization at GitHub became the official repository for Project source code.
Maps Mantis Bug Tracker
Features
Plug-in
The event-driven plug-in system was introduced with version 1.2.0 release. This plug-in system allows the extension of MantisBT through an officially run third-party plug-in. As of November 2013, there are more than 50 plug-ins available in the MantisBT-plugins organization in GitHub.
Prior to version 1.2.0, third-party plug-in systems created by Vincent Debout are available to users along with different plug-ins. This system is not officially supported by the MantisBT project and is not compatible with MantisBT 1.2.0 and later.
Notifications
MantisBT supports sending e-mail notifications on changes made to problems in the system. Users have the ability to determine the type of e-mail they receive and set the filter to determine the minimum severity of the problem to receive notification about. Users also have the ability to explicitly subscribe to issues affecting them.
RSS feeds are available for users who want to track issues that have been resolved. In addition, MantisBT has integration with Twitter via plugin, to allow notifications to be tweeted when a problem is solved.
Through MantisBT's event-based plug-in system, it is possible to extend built-in notification support to run advanced scripts that perform additional notification actions (such as sending SMS messages or updating statuses in external project management systems).
Integration of revision control system
MantisBT versions before 1.2.0 are allowed for unlimited integration with CVS revision control systems. With the introduction of plug-in capabilities in MantisBT 1.2.0, the revision control integration was re-developed by John Reese in the SourceIntegration plugin.
The initial release of the SourceIntegration plugin is supported by GitHub, GitWeb, SourceForge and WebSVN. Over time, two additional modules were added and in November 2013, source integration is supported for the following revision control tools and web based providers:
- cgit, the web interface for the Git repository, is written in C
- GitHub, an open source software hosting facility that stores the Git repository
- Gitweb, the free and open source web interface for the Git repository
- HgWeb, cgi's web front end for the Mercurial repository
- SourceForge (only for Subversion integration), an open source software hosting facility that hosts various types of software repositories
- WebSVN, the free and open source web interface for the Subversion repository
- RhodeCode, OpenSource web interface for Mercurial, Git, and Subversion storage
After making changesets to the source code repository, the post-commit hook in Git or Subversion can be configured to automatically notify MantisBT that changes have been made to the repository. GitHub is also able to remotely tell MantisBT installation changes to source code repositories. Another technique used to integrate MantisBT with a web-based source code hosting provider is the use of a job scheduler like cron to manually check changes to the repository every few minutes, reporting any changes back to MantisBT.
SourceIntegration allows for problems in MantisBT to be automatically resolved when the changeet message contains a special string like "Fixes # 12345", which can be configured using regular expressions. It also allows the relationship to be created automatically between changesets and related issues recorded in MantisBT. Some problem IDs can be specified in a single change message, although this is not usually recommended because it shows the change has no purpose, clear and logical.
Minor features
In addition to the features mentioned above, MantisBT also has support for:
- Full text search
- Audit changes made to the issue
- Control revision of text and note fields
- Roadmap
- Changelog
- Graph of the relationship between problems
- Sponsorship issues
- Integration of Wiki documentation for DokuWiki, MediaWiki, TWiki, WikkaWiki, and XWiki
- News â â¬
- Project Management & amp; TimeTracking with CodevTT.
- Dozens of languages ââare localized in translatewiki.net.
Technical design
Development language
MantisBT is mainly written in PHP and uses SQL to interact with databases. The web-based user interface of MantisBT is written using HTML that is styled and presented using CSS. UI also uses jQuery client-side JavaScript libraries to provide optional features such as Ajax and JSON supported dynamic page content.
The development tools and build scripts are written using Python with some Shell and PHP scripts.
The MantisBT code base dates back to a time when PHP support for object oriented programming principles in its infancy. In version 1.2.0, most of the MantisBT code base still uses procedural programming principles, but some parts have been altered to use the new PHP 5 object model.
Database storage â ⬠<â â¬
Data is stored in a relational database management system using the ADOdb database abstraction library. MantisBT supports MySQL. Support for other databases (PostgreSQL, Microsoft SQL, Oracle) is known to be problematic. The development team is looking to fix this for release 2.0.
MantisBT maintains an inter-version database upgrade path by gradually modifying the database schema. During the MantisBT installation, the database schema modification is played all the way back from earlier versions of MantisBT to achieve the latest state.
Requirements
MantisBT requires a configurable web server, a PHP programming language translator and a relational database management system supported by MantisBT and ADOdb.
The MantisBT stable branch (version number in 1.2.x) requires PHP 5.1.0 or later. For the development branch (1.3.x), the minimum PHP version is 5.3.2.
Some PHP extensions are required to enable certain functions or for performance reasons; an extension to the RDBMS used (ie mysqli ) is mandatory.
MantisBT combines a number of dependencies with each release including:
- ADOdb for support abstraction for relational database management system
- Use for disposable e-mail check functionality
- eZ Components for planning statistics
- NuSOAP for SOAP web service support
- PHPMailer for mail delivery support
- Projax for Ajax capabilities in the user interface
- RSS Builder for RSS feed support
- PHP UTF-8 wrapper library for internationalization support in the absence of PHP mb_string extension
To draw a graph of the relationship between problems, GraphViz is required. MantisBT also has an alternative dependency on the commercial JpGraph graphics library to plan statistics.
See also
- Comparison of problem tracking system
References
External links
- Official website
Source of the article : Wikipedia