Further Updation


I've pulled out some of my rambling and long-winded stories about the oddly funny disasters that have befallen me at one time or another and put them in their own archive page, now also accessible through your favorite sidebar.

Damn, Claudius makes it easy to create making topical archives. A tip of the hat to Adam Mathes, whose design for Organizine (still in beta as of this writing) gave me a couple of the key insights behind Claudius.

More specifically (non-geeks can stop reading here, and jump straight to the next entry, which contains some amusing profanity, or the one after that, which contains some fun left-wing ranting), I've borrowed from Organizine's notion of attributes the idea that the metadata should reside with the data, rather than with the indicies. Thus, that descriptive text you see on an archive summary page lives on the pages that it links to: the summary page is actually generated from a file that consists of nothing more interesting than what is effectively a sequence of #include directives. This is the other, related, notion, I got from the Organizine way of doing things: the data inherent to an archive page can be factored into an index -- which pages is it an archive of? -- and the formatting -- what do you want to do with the data from each of those pages? It sounds obvious to me now, but it wasn't at all obvious until I saw how Organizine handled such things and how clearly right these particular design choices were. This is about the highest praise I can think of for the intellectual elegance of a software system: its design seems obvious, but only in hindsight.

I've chosen, in setting up Claudius, to depart from the Organizine philosophy in some ways. My site here is pretty strongly-typed: I don't actually validate my XML against a schema, but in theory I could, and, more to the point, I've got a multi-layer SECTION/ITEM hierarchy which gives me more structure to manipulate when laying out pages, rather than just a bag-of-tags. Conversely, I don't have separate notions of "data" and "archive." An archive page consists of a bunch of <DOCLINK> tags where you'd expect to find <ITEM> tags containing actual data, but there's nothing to prevent me from mixing <DOCLINK>s and <ITEM>s in a single page (which I will start doing fairly soon, in fact). Again, more to the point, making archives first-class objects means that I can use the same stylesheet for everything, in keeping with my XSLT-all-the-way philosophy.

All of these calls fit in with my personal connection to the Lab: I'm comfortable hand-authoring XML, writing my own XSL stylesheets, and in dealing with the tedium of remembering which pages are dirty and need to be reloaded onto the server. All in all, Claudius is probably not a content-management scheme for the masses. Or for anyone besides me, I suppose, because once you're in a position to understand how it works, you also understand how little there is to it, and you say "I could do that!" And off you go and do it, your own way, taking some of my thoughts and tossing out others to replace them with features more closely suiting your needs. And then you have a site of your own with a content-management system that you baby and babble about just a little too much, and we all win.