I found a new plugin that I will use when I move to WordPress 2.7, which should be soon. It is called Drain Hole. This is a pretty spiffy plugin. It allows you to create different “holes” or folders to contain downloads. These folders can have different permissions assigned to them. The individual files can be versioned, although the file name appears to need to be the same. You can then use tags on your page to reference the files. One of the really interesting things is that it makes use of templates for those tags. So you can create a template to display a file, or list of files. You use a different set of tags in these templates that reside inside your own theme folder. I like this idea. I am already trying to think of ways to use it ouside of this plugin.
While playing with this plugin I discovered a bug. I couldn’t update/save the attributes for a file. I was trying to assign a custom icon, and the display name, but nothing would stick. Hunting this down I found out why php debugging, especially ajax calls really sucks. Anyway, I finally discovered what the issue was; a variable that was not initialized. It must be the particular combination of WordPress (2.7), PHP(4.5), and MySql(5.0) that I was playing with, because I can’t belive that this doesn’t work for everyone that uses this plugin.
Turns out that the developer has a tracker, so I created a bug with my solution. I am going to be moving to this from the Download Manager plugin I was using.