Lighthouse theme for Trac

Lighthouse is “beautifully simple issue tracking” (a hosted bugtracker to you and me). It looks great and is pretty much a joy to use.

At work we use Trac. Trac is a locally-installed bugtracker (plus wiki and source browser). It looks like a nightmare and there are parts which make the baby Jesus cry[1].

With that in mind, here is a greasemonkey script that makes Trac look like Lighthouse. It turns this:

trac

into this:

lighthouse

(ticket titles hidden to protect the innocent!)

So far it has made my Trac usage much more enjoyable. I should point out that this is a tribute to Lighthouse, and I’ve not copied any of their actual CSS or images.

Be warned that it dials userscripts.org once every two weeks to see if there’s an update (since I’m sure there’s loads of things that I’ve missed and will fix as I go). To disable that, just remove lines 11-15 (the call to autoUpdateFromUserscriptsDotOrg).

We also use a couple of other simple Greasemonkey scripts for Trac at work (most of which are on our wiki here). A number of them were learning exercises, so YMMV. Caveat installer ๐Ÿ™‚

[1] Of course, I do actually like Trac, or we wouldn’t be using it. It’s a great tool with excellent extensbility and plugins, but the UI could definitely do with some love!

Setting up Trac on Debian Etch with Apache 1.3 (a brief guide)

This is a summary of what I got from the Trac installation instructions here, here, here and here. My life would have been easier if I was running Apache2, but for the site in question, I’m not.

The version numbers I am working with:

  • apache – 1.3.34-4.1
  • python – 2.4.4-2
  • libapache-mod-python 2:2.7.11-2
  • Trac 0.11b2

Install easy_install, followed by the Trac requirements:

$ easy_install Pygments
$ easy_install Genshi
$ easy_install Trac
$ easy_install sqlite
$ apt-get install libapache-mod-python
$ apt-get install python-pysqlite2
$ cd ~
$ mkdir trac/myprojectname
$ trac-admin trac/myprojectname initenv

(enter the details you need or just keep hitting to accept the defaults – it’s all configurable later)

Type the tracd line given to you at the end of the install and make sure it runs (probably need your IP at this point because it won’t bind to a hostname).

Add this inside your VirtualHost:

<Location /wherever/you/like>
  SetHandler python-program
  PythonHandler trac.web.modpython_frontend
  PythonOption TracEnv /absolute/path/trac/myprojectname
  PythonOption TracUriRoot /wherever/you/like
  PythonDebug On
</Location>

Patch /usr/lib/python2.4/site-packages/Trac-0.11b2-py2.4.egg/trac/web/modpython_frontend.py with code from http://trac.edgewall.org/wiki/TracModPython2.7 (yes, it’s all needed) – the “Known Issues” at the end of the code apply, most notably “There may be a character set issue” – for me this manifested itself in the <title> element of the page with a “รขโ‚ฌโ€œ” separating my project name from the word “Trac” rather than a long hypen.