I've been trying to steal time to do some long-promised work on dsource.org recently.  It was precipitated by stonecobra donating a server for our dedicated use.  It's a monster, with dual CPU's, 8GB memory and seriously fast mirrored disks.  This will get us out of the virtual host situation that, while an improvement over the duck tape and toothpicks computer and crappy home DSL, still leaves us wanting for more memory.

Along those lines, I would like to be able to not only weather a full site crawl by one of the search engines, but to thrive during it.  This means some heavy caching using Tango.  stonecobra has offered to help, so that's sweet.  We will probably make the interface look a whole lot like memcached so the Django portion of the site is relatively seamless, and then we have to crawl through Trac code for some caching love.

It seems like getting this server has triggered a series of dependencies, but I realize they are of my own doing.  For instance, I refuse to install php / mod_php / phpBB on this server...  That means that the following needs to be in place:

1.  Django registration:  done
2.  Profile management:  almost done (could do it in Django or reuse TracForums)
3.  Replace forums, and port all old forums, topics, posts, watch data, etc.: almost done

Pragma has resurfaced with a bit of prodding from me, and picked up TracForums development again.  We're both working evenings trying to get it polished, and fit into the new dsource software.  Once we do that, we convert all of the existing phpBB forum data into the new db tables, and deploy.  /me drools...

Here's a teaser:

 
 

I'm planning on getting a plumbing overhaul completed before the D Conference at the end of August.  The particulars involve using Django to serve everything on the site that isn't an individual project.  This will include the Home, Site, and even Project List pages.

In the past, I've used Trac to do this, and it resulted in some substantial modifications to the Trac codebase.  As they try to move to 0.11 and Genshi, I would like to get as much of this custom code factored out.  I believe it is my mods that expose the regexp bug in Python's _sre.c file, and causes the dsource server to hang every now and then.  So the switch to Django should be fairly positive.

In working with Django again, I remembered what a joy their template language is to use.  It doesn't incur the overhead of an XML parser, it supports template inheritance, and you can't call Python code or have side-effects at all.  These are good things, imho.  In line with this article, and StringTemplate & SGTE.

I also plan on getting rid of phpBB (finally) and moving to Eric Anderton's TracForums plugin in each project.  This means that I'll need a new Authn/Authz subsystem and I think I'm going to use Django's.  In fact, I'll be using Django 'user' model for auth in the dsource.org Trac plugins, and I might as well use dsource's 'projects' model in those plugins as well.  I'm pretty sure it will piss me off when I have to use Genshi instead of Django to do some things in Trac, but whaddayagonnado? 

My target is to get something onto the server by the end of July and then get some enhancements to the Projects List page by the conference.  We'll see how much the newborn lets me get accomplished ;)