Present Perfect


Picture Gallery
Present Perfect

Trac and OpenSearch

Filed under: friction,Hacking — Thomas @ 12:36 am

12:36 am

Every time someone posts a ticket number in #fluendo I have to go to firefox, go my bookmarks toolbar, click Fluendo, click Trac, click Flumotion, wait, then on the page click Search, wait, and type my search term.

Annoyingly slow, all in all.

So, last week I decided I wanted to know how that search dropdown in Firefox works.

Turns out it’s really simple – it uses OpenSearch, which is a standard, and also supported by IE7. There’s a nice simple page explaining it, and it was easy to set up a simple test (after figuring out that for some reason the xml description only allows http or https URL’s, not file://, so you need to set up a web server).

So, with all that information on hand, I got on a plane to Barcelona on Saturday and started to hack. Trac plug-ins make for excellent plane hacking material – Trac is well-designed, relatively easy to browse around in, and plug-ins are usually pretty small, making it easy to get something done in the 75 minutes of computer time I get on a plane.

A big time sink on setting up a plug-in is the “how to get started” part, ie creating the directories, the plugins, setting up test trac, … So this time I took some notes for me personally – poke me if you think I should make them public.

By the time we got to landing I had a simple prototype working, and I polished it off yesterday.

Then I went on IRC to ask a question on how to do something, and I learnt that the trunk of Trac actually has opensearch support built in. Sweet ! That means I won’t have to port this 0.10 plugin to 0.11 when we upgrade.

I fixed up my plugin to be more like the trunk opensearch integration so it will be a seamless transition when the time comes.

I love it when a 2 hour hack reduces the number of steps for an action I do tens of times daily from 9 to 1. I used to think of the technical part of my job as removing friction, and this is definitely a good friction killer.

If you’re interested, get the plugin, read the README, and install it.

« Previous Page