Posting Comment for "Site Rewrite"

*Author Name
Email Address
Website URL

About Posting a Comment

Comments are moderated before they will appear on the website, this is a manual process and may take some time. Please be patient.

Author Name is a required field.

Email Address is optional, but without one I won't be able to contact you back. It is never shown or linked on the website. You can always just email me if you'd rather not post a public comment. I generally reply in-line with a comment rather than email you back, unless I want to discuss something in private or off topic. Please check back to see when I reply.

Website URL is optional, if supplied the Author Name will be hyperlinked to this URL.

You may use wikitext in the body, preview may be handy here. Don't worry if you can't figure them out, just give me a hint what you want linked to what and I'll do it during moderation. Wikitext is not BBcode!

Spammers: Please don't bother wasting your time scripting up posts to this form. Everything is moderated, your post will never be seen on the web even transiently, there is no way to even view it by its internal ID, it will never be indexed. I will simply delete your post in the moderation interface. If I'm your target audience you're really on the wrong track; I'll never click on a URL in your garbage. The post content is not emailed to me (and I don't use a Win32 mail client anyway), I view the posts in plain text in the moderation interface so no clever tricks of any kind will make anything you type be interpreted by anything other than me, a human. Just give up and go elsewhere please!

14th September 2009 22:36

Alan Yates wrote...


The CMS is custom coded, originally in PHP3, but it has been slowly (and in places partially) upgraded as PHP progressed. Much is now true OO-style PHP5, but much of it is unfortunately not. It is at least fully PHP5-compliant now with all deprecated coding rewritten.

I'm afraid the site is closed source.

It would not be a good example to copy anyway. In particular the Object-Relation mapping layer is largely non-existent in places. I have been meaning to replace it with a generated-code layer, especially as I have written several tools that do exactly that, one in Java, one in C# and more recently in PHP5. The "Schema Compiler" is a bit of a magnum opus for me, maybe one day I'll clean-room rewrite it and make it open-source. Its steady improvement over the various implementations have proven quite useful in many projects.

The approach you've taken with your site is quite similar to the internals of mine by the looks of it. I devised a wiki markup-like language for the textual stuff which references non-text assets like images and videos via an opaque integer unique ID. The article to asset relation is strongly maintained in the DB, but the markup can cross-link other articles assets. It is possible but expensive to machine-parse the markup and extract the full object graph, but I don't bother. The asset ownership by a single article is mainly an editorial convenience. Duplication is pretty minimal in practice.

At present the non-textual assets are in the DB as well. This is part blessing, part nightmare. It makes the site easy to backup, the code is already in source control (CVS), and that along with a dump of the DB is sufficient to reconstruct the site completely. However the sheer size of the datastructures is growing towards arbitrary limits (file system file limit in particular due to the vintage of Linux kernel on the production host).

Keeping the site running is a hobby in itself. With the large amount of non-textual asset content (video in particular), the bandwidth requirements continue to grow. It already consumes more than 20 Gig a month. Fortunately the costs of bandwith drop too, but the on going costs are something I have to be a little careful about.



5th September 2009 01:35

Jerry Jacobs wrote...

I like your site very much, the content the style etcetera. I would like to know how you programmed it or which CMS you use. If it is possible i would also like to install your CMS on my server because the stuff i have now is asciidoc markup language which generated html static content.


Jerry Jacobs