Posted under Hosting
Permalink
Tags Issue Tracking, MantisBT, Tutorial
I was looking into a suitable tool for software issue/bug tracking. The following were my main goals:-
- I wanted access via the internet from anywhere as a prime requirement, so I needed a hosted application.
- I did not want to be forced to get custom hosting for it, and already use cpanel hosting extensively as it is readily available and cheap, so ideally I would need a PHP application which was easy to run and install on cpanel.
- I wanted Open source/community software if possible.
- I did not have much in the way of a feature shopping list, but ideally wanted a stable and feature rich package that could also be customised as required. My initial requirements would be fairly basic but I wanted a package that would accommodate growing needs in the future, such as multiuser features for a software development team, reporting etc.
Possible Contenders
- Jira is very feature rich and is used by a number of major Java projects such as Java.net, Primefaces etc. However it needs Java hosting as it is a Java application, so for me that knocked it out of the frame.
- Bugzilla was also a possible contender, being written in Perl it might run under cpanel, but having seen a post attempting this it looked a nightmare to install, and it was not clear that it would work under cpanel without elevated permissions which I did not have. I wanted a simple solution not another project!
- Finally, I looked at MantisBT, and this appeared to tick all the boxes. It is highly feature rich, stable, and easy to install under cpanel. It lacks some nice to have features, such as text formatting for the issues – all the issue text and notes in Mantis are plain text, whereas with other packages, rich text is used so text formatting such as bold, underline etc. can be used. However, the one vital thing I needed was easy/automatic hyperlinking of URLs in the issue text, and fortunately Mantis does this very well and fully automatically. The hyperlinking is basic, just giving you the actual URL as the hyperlink description, but it works perfectly well. Also, whilst nice formatting is icing on the cake, it is important to remember that this is after all an issue/bug reporting tool for use by developers, so sexy formatting is not a primary concern. As I have used it further, I have been very impressed with the feature set. It allows full relationship definition between issues, supports multiple/hierachical projects, and supports both categories for issues and tagging in blog fashion. It also has full notification email support and this may be configured as desired. It is highly customisable, and has many more features than I would need initially.
MantisBT Installation and Configuration Notes
The documentation is very comprehensive and installation is straightforward. Basically it is a case of unzipping the kit on the server, creating a MySQL database and associated accounts via cpanel, and editing config_inc.php to put the database/login and other details in. Note the following points :-
- You need to pull the database settings out of config_inc.php, merge them with config_inc.php.sample, and create a new version of config_inc.php.
- I changed the file upload method from DATABASE to FILE. After doing so, I tested file upload and it was fine. You can leave the upload path blank in the config file. If you then set the upload folder for a project to ‘uploads/xxx/’ this will go to <mantis install directory>/uploads/xxx/, exactly as you would expect.
- As long as you set the folder permissions to 755 for the top level mantis folder you will be fine, the install and the file upload will both work. Prior to copying the sample config file, I got file path errors on a file upload (when it was set to the default of DATABASE), but after setting it to FILE it all worked fine.
- Note that email notifications work fine, but when testing, you DON’T get notified of your own changes by default (see config file), so you need to make changes using a second account to test email notify. Also, the default for a user is not to receive emails on a status change, so you need to change this as well.
Issue Tag Plugin
By default, Mantis supports tagging but does not make the feature very visible – you cannot see tags on the issue list screen by default. An excellent Tag plugin is available here. Having installed this, you can configure a column to display the tags and place it where you like (full instructions on the plugin web site). I placed the tags next to the categories. The plugin gives Mantis comprehensive tag support; you can see all the tags in the issue lists and the tags are clickable links. I highly recommend this plugin and having used it for a while I would not use Mantis without it.