Recently, I began working alongside Wez Furlong here at Message Systems. One of the many tools we use is Mtrack. This tool is a port of Trac into PHP, along with the addition of some great new features. Spearheaded by Wez, it’s a great tool that we use internally for our projects, and since it’s stable, it’s worth mentioning to the world.
Mtrack is still in it’s early stages of development, but is certainly a stable piece of software that gets the job done. Having used it for a few weeks, I can say that it’s easy enough to learn, and has some distinct advantages to it over Trac for PHP developers. First and foremost, it is written in PHP, which makes it easier to administrate and maintain than a Python-based application. Second, it allows for multiple projects in the same installation by default, which is a significant improvement over Trac. Third, it allows you to have a repository on one server and an Mtrack instance on another server, and still be able to use that repository in your Mtrack instance. Mtrack also offers some great features, including built-in support for Agile-like development and a plugin architecture that makes writing plugins easy.
Trac. CruiseControl. phpUnderControl. Jira. Bugzilla. These are all intensely popular development tools. And not a single one of them is written in PHP.
Even though the SVN extension for PHP is still in beta, the team has done a fantastic job with this PECL package. They’ve captured the most common SVN functions, put them into the package, and provided an easy way to view, manage, and control a Subversion repository right from PHP.
That’s not to say that the package is perfect: far from it, in fact. The documentation is the most disappointing facet, something I may help resolve through contributing to the manual. Also, most programs don’t yet recognize the SVN functions as part of PHP, so syntax highlighting is not available. This is a small inconvenience, however, and certainly no reason to NOT use it.