An Update In A Tag Cloud »
By thomas on Jun 23, 2008 in DJ Edna Project, Software Architecture | 0 Comments
I’ve been hard at work on an almost complete re-write of the DJ Edna codebase. The original version of DJ Edna was written mainly as a way to learn Django and to scratch an itch of mine that I’ve had for as long as there have been MP3s — to create my own jukebox to securely access my entire music collection from any browser in the world. It wasn’t until I was almost done with that personal project that I hit upon the idea of opening up the code and using it to build digital music distribution sites for artists. Although I was able to finagle the code to work well for this new use, there were some ugly kluges and late decisions that necessitated a rewrite of the core package, djedna.catalog. Thus, my work on djedna.catalog2 began.
Here is a tag cloud that I created from the djedna.catalog2.models file using the very cool website, wordle:
Yes, that’s from the actual source code and yes, I’m a big geek. So, what do all these occurrences of “self” and “path” and “relative” get us? Here’s a list of new features that catalog2 will bring to the table when completed:
- Artist interface (to go along with the existing Fan and Admin interfaces) to allow track uploads, simplified meta-information editing, and music e-commerce workflows.
- Django Sites support to allow record labels to administer many individual artist sites from a single interface.
- The ability to add arbitrary “digital assets” like images, PDFs, or any other file to downloads. Downloads in the previous version would only contain the tracks.
- Support for WAV files in addition to MP3 including the ability to attach multiple versions to a Track.
- Amazon S3 support for storing and serving media.
- Full separation of functionality from presentation in order to make DJ Edna a fully plugable Django application.
- Brand new default interface/design (or “theme”) called Marlowe.
That list of improvements is just off the top of my head. There’s a lot of little improvements going into this re-write that I’m sure I’m overlooking.
That’s the good news. There’s a boatload of new, highly requested features
The bad news is it’s taking much longer than I had anticipated (apologies to those that are waiting patiently for me to complete this before starting on their implementations under the djedna.com umbrella — you know who you are). This shouldn’t come as a surprise to anyone with development experience. Coding always takes longer than you think — even when you think it’ll take longer than you think. Yes, that’s recursion and yes, I’m a big geek.
Although I’ve completed most of the low level coding for the re-write (with some exceptions), I’ve been avoiding starting on Marlowe, the new default “theme”. That’s because HTML/CSS design is not my strong suit. If it’s your cup of tea and you’d be interested in helping out (Django experience/knowledge is not required), send an e-mail to thomas@djedna.org.
Back to the code…

