If you develop software, you need a tool to handle bug reporting, requests for changes, and new proposals. Mantis Bug Tracker (MantisBT) is particularly effective at those tasks.
MantisBT is free for both commercial and non-commercial usage. The project that created and maintains the software offers paid consulting services as its means of income.
MantisBT runs on practically any operating system, including Linux, Mac OS, and Windows. Just about all it requires is a database and a web server.
For a database, the project recommends MySQL or MariaDB; I used the latter. MantisBT can work with PostgreSQL, Microsoft SQL Server, IBM DB2, or Oracle, but the project website mentions known bugs for all of them except MySQL (and, "to a lesser extent," PostgreSQL), so MySQL (or MariaDB, a drop-in replacement) should be your choice.
The web server may be Apache, lighttpd, or Microsoft Internet Information Services. I worked with Apache 2.2 on openSUSE Linux, but I've also used it with other versions of Apache and different Linux distributions, so you should be fine with whatever you have.
You must also install PHP, plus extensions for database access, cURL (for integration with Twitter), fileinfo (to work with MIME attachments), GD (for graphing), and mbstring (for UTF-8 handling). All these extensions are common; if you're missing any, you can simply install them with your operating system's package manager.
To install MantisBT, download the latest stable release, extracting it to a mantisbt directory under the Apache directory. For openSUSE, that's /srv/www/htdocs; more usually, for CentOS and other distributions, it's /var/www/html. Then, from a browser, access http://your.own.site/mantis/admin/install.php, fill in the required fields (database type, host, user, password, and so on), and click Install/Upgrade Database to finish the job. If everything goes fine, you'll see a longish list of green items. If you see any red items, fix the problems, then visit http://your.own.site/mantisbt/admin/check.php to verify that everything's OK.
The installation process creates the user "administrator" with password "root." For better security, you should create your own administrator account and other users, and then remove or disable the standard administrator account. You should also remove the mantisbt/admin directory when you are done with configuration.
If you have the appropriate rights, you can create projects and start recording and processing bug reports from the administration ("manage") page.
Users can access MantisBT from any recent browser. Mobile users can access MantisBT via an application called MantisTouch (for iOS, Android, and Windows Phone) that costs $100 per company for unlimited licenses.
Project users can easily report issues. Unregistered users who click on a link you create to point to your bug reporting page have to fill out a registration screen. It asks for an email address, to which MantisBT sends a message with a link users can follow to finish the registration process. Once registered, users can report bugs by providing some standard data:
Members of the project with the appropriate rights, which are assigned when you define users, can review and work on bug reports. Members can change a bug status from new to acknowledged (someone has reviewed it), confirmed (it's a real issue), assigned (to someone, who will work on it), resolved (which may mean it's fixed, not fixable, not a bug, suspended, or won't be fixed, among other things), and closed. At any point project members can ask for feedback from the person submitting the bug if they need more information. If someone reports a bug that is a duplicate of an earlier report, project members can link the new issue to the old one.
Developers with the proper permissions can access a report screen that shows all the pending issues for all projects they work on. MantisBT provides sorting and filtering options to help developers locate specific issues, and it colors issues to help developers spot changes and novelties, as you can see at the MantisBT online demo project. Project members can click on an issue description to display an Issue Detail page that shows all information related to an issue. There they can add notes and change the issue status.
The View Issues page shows all issues, and provides filtering and sorting of issues.
Managers also get email messages with full information on the work that each developer is doing, and can assign or reassign issues, analyze delays, and change priorities. A Summary page provides statistics and totals by user, reporter, status, severity, priority, and more. Interested users can also monitor specific issues and follow work on bugs. MantisBT also provides an RSS feed with information on all standing issues.
The My View page summarizes all issues.
Once you feel comfortable using MantisBT, you might want to change its default data flow to better track the processes within your organization. You can reconfigure MantisBT to suit your company's way of working.
For all or some projects' bug reports, you can add new fields so bug reporters can add more data to support their reports. You might want to add, say, a time zone option for a project related to calendars or agendas, or an item code for a project involving a shopping cart. Available data types include strings, numerics, enumerations (combo box), checkboxes, lists, radio buttons, and dates. You can also add new issue statuses, so you could add, for example, an extra "testing" stage for bugs between resolved and closed.
You can even add custom functions to override the way MantisBT works without touching its core software. For example, you can add field validation rules or provide extra notifications when issues are deleted or updated. You can supplement or replace about two dozen MantisBT functions with your own code; check the details in the official documentation.
MantisBT is a complete issue-tracking system, used either as-is or customized, with simple web and mobile interfaces. It is a powerful tool to add to your development cycle.
Allowed tags: <a> link, <b> bold, <i> italics