January 25, 2003

TWiki fun, shared webhosts, SourceForge update

So I found what I thought was a TWiki bug, duly reported it and was pleasantly surprised by a pointer to a fix a short while later. Nice work!

There's an existing TWiki plugin to highlight source code (BeautifierPlugin) but I didn't like how it handled Java code. So I modified it to use GNU source-highlight, and then eventually just rolled the changes into a separate plugin. Everything worked on the server at work, so I figured I'd just install it on the OI Wiki so the Perl code there will look decent.

No good. Actually, that's not entirely true: it's every once in a while good, which is even worse. It works about 10% of the time and bails with an exit code of 127 (or every once in a while a signal 11) the rest of the time. Totally infuriating. It's not a permissions issue, path issue, tainted path issue, program error or anything like that. It just refuses to work most of the time. I suspect it has something to do with the Sourceforge shared webhost: maybe it puts the clamp on CGI processes spawning children processes when the load is above x or the number of processes is above y. Oddly, this is only the second time in my career I've ever been on a shared webhost. The rest of the time I've been an admin of the box. (And the first time doesn't count since I was a newbie.) So I'll have to revert to the BeautifierPlugin for the OI Wiki. Feh.

Creating TWiki plugins is pretty simple, though, and it would be fairly easy to create two-way links between your bug database and a wiki page with something like:

You can see an example of this ThreadSyncronization
error at work in %BUG{id="89102" status="true"}%

And replace the %BUG...% key with a linked title and status for that particular bug. Lots of possibilities.

Also of note: GForge, the replacement for people using Sourceforge for internal bug tracking is just about done with version 3.0. It includes tons of cleanup from the SF code, removing lots of SF-specific workarounds and fixes. It also implements a SOAP API, which could be interesting, particularly coupled with a potentially useful IDEA plugin. It still uses PHP though, which is a shame.

Next: Super nerves
Previous: Follow ups