Splice

I’ve been working on a weblog/micro-content management system with what I believe are some unique qualities. I’ve wanted to write about some of the approaches I’ve taken and how they are (and are not) working out but feel I should provide some kind of context for my ramblings. So I’m going to try to summarize the main aspects of the system real quick so I can start digging in to the more specific stuff.

I’ve settled on the name “Splice” because I think it has a nice ring to it and is a pretty good one-word description of a major goal of the platform. Nothing has been officially released yet but I have allocated a project on sourceforge.net and plan on bombing the existing code up there within the next week. An initial 0.1 release should follow after about a month or so, assuming I can keep my current pace.

So without further ado, here’s a quick breakdown of the planned features of Splice…

Licensed under the GPL

I’m a firm believer in viral Free Software when I’m not being compensated for development by a corporation, university, government body, or organized-crime division. I also like a lot of the side-effects that resulted from WordPress being GPL, such as contributed plugins, themes, and templates being licensed liberally.

Written in Python

This is actually my third attempt at creating a Python based publishing platform and I think most of the doing-things-the-wrong-way stuff is behind me. There are a few promising Python weblog tools out there today, and I’ve toyed with most of them. I used pyblosxom for awhile but am not particularly attracted to the blosxom direct file-system storage model. There’s a myriad of Zope based tools but Zope is a little too heavy and high-level for me in most cases. Although, I am looking at using some of the individual pieces of Zope such as ZODB and the TAL templating language.

Database backed.

I find the MoveableType and WordPress models of having a backing database to be superior to the blosxom files-and-directories model for many reasons. I still have not decided whether going the ZODB/Durus route might be beneficial but generally speaking, I think having managed storage is necessary for some of things I’d like to attempt with the system; not the least of which has to do the next item - simple tagging, which doesn’t fit well with the flat files and directories model.

Simple Tagging

I’m convinced that the simple tagging model used by del.icio.us, and more recently Flickr, is an exceptional development for classifying various types of content. I want to milk simple tags for all they’re worth and plan on building quite a bit of functionality with the assumption that simple tags are attached to content. This was a major motivating factor in deciding to take on the project. Attempts at bolting simple tags onto existing publishing platforms doesn’t seem to be fairing well. I think this is something that needs worked in at a fundamental level so that other functionality can be based off of it.

I plan on writing a lot about these concepts in future posts.

Consuming and Exposing Content

I think there is considerable value in having strong integration services in a content management platform. There are services popping up all over the web for managing various pieces of content and I think the weblog is becoming less of an authoring environment and more of a central aggregation point for that content.

For example, del.icio.us provides bookmarking/linklogging services and exposes a REST based API for pulling/posting link content. Many people are integrating their delicious links into their weblog these days. Bloglines provides a web based news-reading environment and exposes your blogroll through a public REST based API. And finally, just about everything else you manage is exposed via the most successful web service of all: RSS. I’d like to provide a framework for plugins that need to synchronize content to and from external services.

Along similar lines, I’d also like to blow out the syndication concept a bit and expose not only feeds but XML representations of each post. I hope to implement Atom format and protocol support. The general idea being that exposing as much as possible through some machine readable format is A Good Thing.


I think that covers most of the distingushing characteristics of the system. I guess I should also mention that I plan on implementing all of the standard weblog functionality such as comments, trackback/pingback, feed auto-discovery, etc.

More to come soon. Thanks for reading and stay tuned..