svn_apply_autoprops.py

Subversion includes a contrib script svn_apply_autoprops.py that scans your auto-props settings and applies them to a working copy. These are normally applied to files you add to the repository, but this script is useful if you have added new properties, or other users have added files without configuring the desired properties. However, since I use SVK this script didn't work for me. I looked at the script to see if I could convert it to use SVK instead, but it was relying on the .svn folders to try to determine what directories to scan and I didn't ...


Trac 0.9

It's been nearly a year since 0.8 was released, but after resolving over 400 tickets, some major refactoring, and adding plugin support Trac 0.9 is finally available, so get downloading!

Once you've upgraded you'll probably want to check out some plugins:

  • WebAdmin Everyone will probably want to install this. It adds a web interface for those administrative tasks you used to use trac-admin for, plus you can even use it to install new plugins, or manage which components are enabled from your existing plugins.
  • Bitten Bitten is a "Continuous Integration" build server. It monitors your ...

Trac AccountManager Plugin

I've repackaged my account management module as a plugin and uploaded it on TracHacks.

Installation instructions are included in the README file in the source. It's a pretty simple process: run setup.py to build the Egg and copy it into your Trac environment.

The next step is to extend the webadmin interfaces to provide a frontend to configure the account manager settings.


Trac Drop-In Plugin Support

Well, PythonEggs sounded like a neat idea, and now they've made it possible to turn Trac's pluggable framework into a real plugin system. Simply stick your extensions into an Egg, create a "plugins" directory in your environment, and drop-in the file.

Jonas is developing a webadmin module for Trac as a plugin, and I took his example and have repackaged my account management module. Turning it into a plugin was quite trivial, but there are a couple of other things I'd like to clean up tomorrow before I release it.

The Trac documentation should be updated soon ...


New Blog Software

Well, after hacking around a bit I've gotten Snurf backported to Python 2.2 so that it will run on my host.

Snurf writes out the blog to static HTML and RSS pages, which is kind of nice. I'll have to check on turning on the comment capability, though I'll need to decide how I want to do the templates for that.

Update: I've imported all my old posts from the previous PyBloxsom blog. Here's the little Python script I wrote to convert them: pybloxsom2snurf


Python Testing

I just finished my first major use of Python testing tools. I just wrote a patch for Trac to add groups support to its fine grained permissions.

As I started writing the patch I was having trouble wrapping my head around all the different possibilities for conflicting rules and how they should take precedence. I started testing a few of them by hand, but I quickly realized that making sure that I covered all the scenarios was going to be difficult. Thankfully there were some examples in the code for using doctest.

Once I had figured out a couple of ...


Divmod

The guys from Divmod were here at PyCon and today the gave a little talk about their service.

The basic functionality of their site is to provide a way to collect your email, rss, calendars, etc. into one place and they'll catalog it for easy searching and relating the information together.

They also provide VoIP service and can keep a log of your calls which is tied into the same address book information from your email, etc. Apparently they'll soon be able to let you specify rules about different people trying to contact you, so that email or ...


Roundup

Today at PyCon I went to the talk on the Roundup Issue Tracker to see what I could learn from them for use in Trac.

One thing that I realized would be good is to add a QuickStart document for getting the built-in tracd up and running with minimal configuration. As the Trac user base is growing, the installation questions are growing. I think that there are still going to be a lot of people who want to use Trac via Apache. However, I think that if people can get tracd up and running quickly there will be less people ...


Posting with Dasher

I decided to try writing an entire post in Dasher just to see how easy it was to use. Dasher is an alternative way to enter text on the computer. It is mainly geared towards use in small devices where a keyboard would take too much space, or for people with a disability which prevents them from using a keyboard. The Dasher program included with Gnome 2.6 consists of a text box at the top showing what you have typed and the Dasher input area at the bottom. Dasher is controlled simply by moving the mouse cursor. Letters appear ...


Unclogging RSS Bandwidth

Wired's article Will RSS Readers Clog the Web? starts off with some interesting points about the bandwidth problems with aggregators, but I don't really agree with some of their conclusions.

Like stated in the article, it's definitely important for aggregators to support time-stamp checking to make sure they don't keep grabbing the same feed over and over. Of course the flip-side is it's also important for servers to be able to provide this information. Pyblosxom (which powers this blog) doesn't seem to have this ability.

One of my problems with the article is that ...