Mantis Bug Tracker Logo
Sponsors Advertise
Mantis FAQ

FAQ Revised: Monday 29 October 2001 17:46:00

 Table of Contents
1. General
2. Appearance
3. Configuration
4. Customization
5. Database
6. Email
7. Encryption
8. Errors
9. Functionality
10. License
11. Localization
12. Modifications
13. Requirements
14. Paranoia
 1. General
1.1. What is Mantis?
Mantis is a php/MySQL/web based bug tracking system. It is free for all to use and is distributed under the conditions of the GNU GPL.

1.2. Will you port Mantis to use Perl?
I have no plans to port Mantis to any other scripting language. However, this does not stop you or anyone else from doing so. In fact, Mantis has been ported over to Cold Fusion and was also modified to work with Midgard.

1.3. Will you port Mantis to use Java?
I have no plans to port Mantis to any other language. However, this does not stop you or anyone else from doing so. In fact, Mantis has been ported over to Cold Fusion and was also modified to work with Midgard.

1.4. Will you integrate Mantis into phpWebSite? How about phpGroupWare?
I will be waiting until Mantis is fully mature before thinking about such issues. I realize this may cause more work but it's more important to have a fully functional stand-alone product at this point.

 2. Appearance
2.1. I want to have the menu bar at the bottom as well as the top of each page.
Enable this by toggling the global configuration variable g_show_footer_menu in config_inc.php

2.2. Can I set my own colors?
Yes, just edit the values in config_inc.php

2.3. How do you change the date format?
Just edit the config value in config_inc.php

2.4. I want to see a listing of bugs sorted by reporter (or assignee).
Currently you cannot do this; however, click on the "View Reporter" link on the main view all bugs page and you can then view bugs assigned to each reporter.

2.5. I want to have a custom company logo at the top of every page
Open up config_inc.php and set $g_bottom_include_page or $g_top_include_page to a customized file.

Additionally you could modify the code in core_print_API.php

2.6. I want some nice graphs when I look at bug stats.
There is preliminary support available via the JpGraphs package. You will need to download and install the package and enable use in config_inc.php

2.7. I want to change some of the CSS.
Edit the css_inc.php file.

2.8. What are these @null@ values that I'm seeing?
Release 0.15.0 converted the ENUM values to INT in order to achieve full localization. As a result these INT values index into an array which corresponds to their actual text. If the value stored in the database has no textual match then @null@ is displayed.

2.9. The tables are all centered in IE6.
This issue is in progress.

 3. Configuration
3.1. How can I use Mantis with SSL?
Just open up config_inc.php and change your g_path variable to use https:// instead of http://

3.2. Can I run Mantis on a different http port, like 1080?
Just open up config_inc.php and change your $g_path variable to use http://your_domain:1080/ (or whatever your port is) instead of http://

 4. Customization
4.1. I want the project to change automatically when I select it!
This customization uses Javascript. Change line 157 in core_html_API.php in function print_login_info() from:

PRINT "<select name=f_project_id>";

to:

PRINT "<select name=\"f_project_id\"onchange=\"javascript:this.form.submit();\">";

4.2. I want to change or add or remove some of the META tags.
Edit the meta_inc.php file.

 5. Database
5.1. How do I backup the MySQL database?
Run the mysqldump command and pipe the output to a file.

mysqldump -u[username] -p[password] [database] > [output filename] To import, just run this: mysql -u[username] -p[password] [database] < [input filename]

5.2. When will Mantis have Database Abstraction?
Sometime in the future. It will probably make use of the ADODB package.

5.3. Why did you pick MySQL?
The main reasons for using MySQL were that is ubiquitous, runs most anywhere, and is extremely simple. I fully realize how it is almost laughable when compared with 'real' databases like Oracle. Other databases will be supported as resources become available. This will likely happen around the 1.0 release when things become more stable.

5.4. I need transactions!
Probably not. In any case, MySQL is not in a position to support these by default anytime soon. It seems to have served the Mozilla project just fine.

5.5. I need support for PostgreSQL/Oracle/MSSQL
While I have an Oracle port it is not ready to release. Nor would it integrate nicely with the current implementation of Mantis. In the interests of progress, all database abstraction/support actions will be held off until 1.0.0 is reached.

 6. Email
6.1. When is email notification sent out?
Email notification can be sent out on the following events

  • A NEW bug is reported
  • A BUGNOTE is added
  • A bug is set to ASSIGNED
  • A bug is set to FEEDBACK
  • A bug is set to RESOLVED
  • A bug is set to CLOSED
  • A bug is REOPENED (FEEDBACK)


6.2. Why does it take a really long time for a report to get submitted? Everything else is pretty responsive.
The most likely cause is that the email system isn't properly configured. Take a look at your settings and your mail server and make sure that everything is functioning correctly.

Otherwise your system may be under high system load.

6.3. The email validation isn't working correctly. How can I fix this?
You can disable the email validation by toggling the config variable in config_inc.php. You can try to just disable the mx record check, which checks to see that the domain supplied has a valid mail record, or also disable the email format validation check.

6.4. I forgot my password. How can I have it automatically emailed to me?
Currently you cannot since the encryption process is one-way. That means your password is relatively secure but cannot be recovered. You will need the administrator to reset your password.

If email is enabled then the password is recreated and emailed. Otherwise it is set to blank.

6.5. I don't want all developers to recieve email from projects they aren't a part of.
You should set each project to be private and raise the access threshold to above developer. Then manually add each user that you want into that project. Alernatively, you can add the developer to a project and 'demote' his access level.

 7. Encryption
7.1. I don't have crypt() installed. Can I run Mantis?
Yes! Previously you could not. Now you can choose to use MD5 or plaintext. MD5 is similar to crypt() but should be supported across all PHP platforms. Like crypt it is also one-way so you cannot retrieve the original password. PLaintext is self-explanatory. Just remember that anyone who can read the database can read your password, so don't pick a critical password!

7.2. I'm getting this error message: Fatal error: Call to unsupported or undefined function crypt() in core_user_API.php on line 134
All builds of PHP4 and up are supposed to have crypt() built-in. However, due to some errors the 4.0.5 and possibly the 4.0.6 builds do not have this built-in. This applies to Windows in particular but also to several other platforms (OpenBSD, etc.)

 8. Errors
8.1. I'm getting the following error: Warning: Missing argument 5 for print_manage_user_sort_link() in /usr/local/share/doc/apache/mantis/core_print_API.php on line 548. I'm using Mantis 0.15.3
Change the last argument in the function call to $p_hide=0

8.2. Running Windows. Warning: unexpected error in date() in c:\program files\nusphere\apache\htdocs\mantis\manage_page.php3 on line xxx
This is a result of an error in Windows/PHP when the date is all zeroes. Of course, the date should never be all zeroes so that's a bug on Mantis' part. It should be fixed. To quick fix you will need to run a sql query to update any time field that is equal to all zeroes to something non-zero.

8.3. I'm getting this error message: Fatal error: Call to unsupported or undefined function XYZ in ABC.php on line 123
Your particular build of PHP does not have these functions builtin. You may have to upgrade or recompile to fix these errors. In some cases, Mantis has global variables that can disable the usage of these functions. Particularly problematic functions are crypt(), is_uploaded_file, getmxrr().

 9. Functionality
9.1. Can I move existing bugs to other projects?
Not yet

9.2. Is there bug history logging in Mantis?
Not yet

9.3. Does Mantis have graphs for showing bug statistics?
There is preliminary support in place. You will have to grab the JpGraph package (http://www.freshmeat.net/projects/jpgraph/)

9.4. How can I view bugs across multiple projects at the same time?
Currently you can't.

9.5. Does Mantis support file uploads?
Currently Mantis allows uploads to disk only. The directories must be writable by the webserver. Each bug can have multiple attachments and each project can have documents attached to it as well.

9.6. Can Mantis store user-created custom queries?
Not yet.

9.7. Does Mantis have target relapses or milestones?
Not yet.

9.8. Does Mantis support multiple projects?
Yes! However, support is still new and immature. There are probably kinks to work out and features and functionality that could be implemented better.

9.9. Why can't I sort by multiple sort keys?
The main reason is because there isn't a good way to do this given the current UI and code layout. Eventually a more complex query builder and advanced filtering interface will allow for this to happen.

9.10. I'd like a daily/weekly/monthly digest of events that have occurred.
Not yet.

9.11. Does Mantis have fulltext searching?
There is a simple bug search but not a full search through all fields.

9.12. Can all bugs in a certain category automatically be assigned to a user?
Not yet.

9.13. Can I customize the view bugs screen? I want to see more fields.
You can do this by hand if you know a little php and html but there is currently no browser-based method to do this.

9.14. I'm getting permission denied errors uploading files in win2k.
Make sure the path is set properly in the project settings and that the folder has the proper security permissions.

9.15. Can I specify which fields are required?
Not unless you modify the code.

9.16. Can I rearrange which fields are avialabel int eh simple and advanced report forms?
Not unless you modify the code.

9.17. I want a nice quick way of linking to other bugs.
Just prefix a bug id with the # sign. So if you type #742 then it will automatically create a link to bug #742.

9.18. I'm using Netscape in a Unix and the pages don't automatically redirect.
The print_meta_redirect() calls need to come before the css inclusion. As of the 0.15.7 release you will still need to manually rearrange these lines by hand in each file that requires this behavior.

 10. License
10.1. What license does Mantis use?
Mantis is distributed under the GNU General Public License (GPL).

10.2. Why did you choose the GPL?
While I have no great love of the GPL it happens to best fit my personal beliefs and philosophy regarding the software. My personal belief is that development tools should be free for others to use. They are the ultimate tools of empowerment.

As a side benefit I can freely import existing code from the great many other PHP based GPL packages without worry about license conflicts.

10.3. Doesn't the GPL mean that we have to make any customizations we make available to everyone else?
No. The GPL states that the source code needs to be available only to those you distribute the package. However, you cannot prevent those people from distributing the source. The important point is that if you never distribute Mantis you never need to make the source changes available. This includes customers who just visit the bug tracker to make a report.

 11. Localization
11.1. Does Mantis support other languages?
Yes. The localization files are stored as .txt files. All that is required to support a language is the translation of those language strings.

 12. Modifications
12.1. Can you add a discussion forum to Mantis?
There is a Phorum integration HOWTO available here: http://mantisbt.sourceforge.net/

Other forum integrations may follow (phpbb, etc.)

 13. Requirements
13.1. What are the minimum requirements?
Mantis requires a web server, PHP and MySQL. You will need PHP 3.0.13 or higher installed and compiled with MySQL support. You will also need a web server setup to process PHP scripts.

13.2. Does this actually run on Windows?
Mantis is known to run on Windows NT and 2000 using a variety of web servers (IIS, APache, Bad Blue, etc.). There are occasionally platform specific problems depending on the webserver used and the version of PHP.

13.3. I don't use cookies. Can I still use Mantis?
No. You must enable cookies to use the package.

13.4. Does Mantis require Javascript to be turned on?
No. There are no plans to add Javascript to the package at this time.

13.5. I don't have a database. Can I still run Mantis?
No. You must have a database running to use Mantis.

13.6. Could you use a flat file in place of a database?
No. You must have a database running to use Mantis.

13.7. Do you require register_globals to be set to On?
Yes. A future version will work around this requirement.

 14. Paranoia
14.1. I can't use Mantis because it will infect all my software with the GNU GPL!
This is an incorrect myth that is being spread by various corporations that make their living off of proprietary software. The GPL will only come into play when you distribute your software which includes portions (or the entirety) of any other GPL software. You may make customizations all you want and never have to open your source as long as you never distribute the software that includes GPL code.


Copyright (c) 2001 Kenzaburo Ito
This list of questions and answers was generated by makefaq.