Mantis Logo
Mantis Manual
Manual
Development

Contributing
Coding Guidelines
CVS
Localization
Database
Roadmap
Configuration Variables


Partner Links


Contributing
Last Modified: August 11, 2003 01:08AM
(Any)
Description

Joining the project

Just send to project administrators an email with your sourceforge username, your bugtracker username, and what you'd like to work on. Our policy is to add contributors to development team after they submit a couple of patches and we are happy with the quality of the modifications.

Setup

Developers will need to setup CVS/SSH in order to be able to commit code to Mantis CVS on SourceForge. For more details about this topic, read CVS related documents on SourceForge site docs.

CVS

You will need to know how to update and commit changes. See CVS section for some tips to get your started.

CVS Commit messages

Messages should be detailed enough that a developer can read your note and know what changes you have made. Nitty details need not be listed unless important.

BAD: Fixed bug in update BAD: Changed lines 34, 75, and 89 of bug_update_page.php from using unqualified SQL queries to table qualified SQL queries mantis_bug_table.id, mantis_bug_file_table.id, mantis_bugnote_table.last_modified GOOD: Fixed broken queries in bug update by qualfying columns with tablenames.

Changes that are noticeable to end users should be logged in doc/ChangeLog.

Communications

You are expected to signup on the mantisbt-dev mailing list. Project administrators and developers also reside on IRC in #mantishelp. See IRC topic for more details.

Coding Style

This is one area where we are not very flexible. We have established a fairly consistent style through Mantis and we expect you to follow as closely as possible. That includes nitpicky things like spacing and alignment. The Coding Guidelines detail most of the items. Any confusion should be resolved by asking project administrators or modelling off the existing code.

Release Management

The release management procedure is documented and is available for all developers to read. The aim is to apply a code freeze and establish a set of test cases that can be applied before a release. It is expcted that this week should be about one week.

Editors

It is up to each developer to choose the developer that he/she is comfortable with. The main criteria is that this editor should not interfere with the coding guidelines.

Here are some key features to have:
  • Column and row numbering.
  • Goto Line Number.
  • Word wrap toggle.
  • Edit multiple files.
  • Searching across multiple files and recursively down directories.
  • Search and replace across multiple files.
  • Specify TAB spaces (I use 4).
  • Syntax highlighting.
  • Trim trailing whitespace.
  • DOS 2 UNIX CR/LF conversions. Your editor must be able to save files with unix style line breaks. This means the \n character instead of the \r (Mac style) or \r\n (Windows style). You can confirm this by viewing the file in a hex editor.

Browser Testing

Please try to test with at least two browsers. Mozilla and Internet Explorer are the perferred browsers of the vast majority of users so we need Mantis to work well on both. We'll make reasonable efforts to support others (Opera, Konqueror). We will not support 4.x series browsers.

Bug Fixing

Anytime you see a bug on the bugtracker that you can fix please go ahead! After you commit the fix you can resolve the bug with a note that it's fixed in CVS. Please leave this in the RESOLVED state until the next version is released. If a bug is assigned to someone but has no activity for a while, then feel free to take ownership. All bug fixes should be documented in the change log (/doc/ChangeLog).

User Contributed Notes
Contributing
Add Notes About Notes
There are no user contributed notes for this page.
Last updated: Thu, 15 May 2008 - 21:35:17

Mantis @ SourceForge