We’ve been using trac for a long time. It’s great, but it’s written in Python. That actually shouldn’t matter, but patching and running a Rails application would be much easier for us.

Existing solutions have mostly been direct trac rip-offs, except that they’re usually slower, missing some features and visually less appealing. Probably that’s also why their development stalls at some point (see Collaboa for example).

Now that Redmine has reached 0.7.0, let’s have a quick look at its features.

CruiseControl.rb integration

This is only a plugin, but haven’t you always wanted your CruiseControl log and issue tracking in one place? Here it is, the SimpleCI plugin.

Truly multiuser and multiproject

You don’t have to set up multiple Redmine instances to serve multiple projects. Everything is done in the web configuration UI.

Configuration

Everything else is also configured in the web UI. Sometimes even too much: Redmine is not very usable without any configuration.

Workflow can be defined precisely to suit your needs. For example, if you want that developers are not allowed to close tickets before they’ve gone through testing, you can configure different states for the tickets and who’s allowed to do what. This is nothing new in “enterprise” issue trackers, but trac didn’t have this feature before 0.4.

Remote SCM support

trac is pretty much limited to local Subversion repositories. Redmine works well with remote SVN repositories, and it even supports some other SCMs. Git support should be almost there…

Conclusion

Redmine has tons of features you’d never expect to see in a software that’s mostly developed by one guy. Time tracking, Gant charts, localization… You name it.

Even though the user interface may not please everyone (it could still learn some simplicity from trac), it’s definitely worth checking out.