A new CMS

I've long thought about writing my own content management system (CMS). My experiences with existing software and with building websites with custom one-off content management systems have left me with a few ideas about how this sort of thing should be done. I want a piece of software which solves the basic problems of building websites once and for all, so that I can concentrate on the interesting bits.

I think a CMS should have reasonable revision control. I've got so used to having it for source code that I want it for content too. I have thought about writting my own revision control system, which would store content in a relational database, but I've decided instead to use Subversion. So the basic idea is to use a Subversion repository to store versioned content, and keep the live content (as well as any content being edited in the CMS) in a database (PostgreSQL to start with). I'll pull the content into the database using the Subversion Perl API.

Anyway, I think I've got it clear in my head, but I'll try to explain why I think this is going to work well some other time.

To start with I'll write notes in this blog about what I'm doing, mainly to help me keep track of what needs to be done. But this blog won't actually get published anywhere until I have a CMS to publish it with :-)

Initial notes on the CMS design >