At last, my new CMS is at a stage when I'm able to actually start publishing with it. Now that I have an easy-ish tool to publish with, you can expect that this website will be updated more frequently and with more and better content.

Updating this website in the past has been a major pain. I took a look at installing an off-the-shelf blogging engine to help me run the site, and after much research decided that Wordpress was the best of breed. After two days playing with it, I abandoned it -- it didn't do everything I wanted out of a blogging engine, and the mess of PHP code would have made modifications to Wordpress painful.

And so in early 2006, I decided to embark upon my own blogging engine. I posted my initial ideas to Usenet in February 2006 and asked for feedback. I got a few useful suggestions and started development later that month, calling the project demiblog.

Anyway, in March/April, things got a bit hectic at work, so work on demiblog ground to a halt at a very early stage. Nothing more happened to it until the beginning of 2007.

After several months hiatus, I reassessed demiblog with a view to picking up working on it again. There were certain early decisions I regretted, so I took the decision to start it yet again from scratch. I kept very little code from the 2006 effort, except for some HTML formatting code, some RSS/Atom generating code and the basic database design. Of course, all these were modified in the 2007 version, but the basic ideas are there.

This new version of demiblog is written with the following ideals in mind:

  • It is a content/blogging/calendar/photo management tool;
  • It is written in PHP 5;
  • It supports a variety of backend databases including PostgreSQL, MySQL, Firebird, Microsoft SQL Server Express Edition and Oracle Express Edition;
  • It uses established web standards wherever possible;
  • Virtually everything is available as a feed, and feeds are available in several formats;
  • Tagging is used to organise content;
  • Written content is input in the Textile markup language, not HTML;
  • The engine is output-agnostic, capable of producing standards-compliant HTML 4.x or XHTML 1.x, with some experimental support for ISO HTML, (X)HTML 5 and XHTML 2;
  • It should support beautiful typography (proper curly quotes, dashes, ellipses, etc);
  • It should have powerful plugin capabilities; and
  • It should be über-secure.

After three months of fairly intensive work, and nearly 10 000 lines of code written, I'm proud to say that I'm nearing the release of a preview version. Indeed, I'm near enough to start moving my own website over onto it. This is my first blog entry written using demiblog... it brings a tear to my eye.