Blog Replacement: Object Model

10 PM February 18, 2004

I’ve been toying with an object model for my blog replacement. Here it is, complete with compulsory Poseidon logo background:

Article Model Class Diagram

The model centres around ‘Article’. Articles are content provided by a user. An Article can be a blog entry, a comment, a longer essay or a note on a movie that I’ve seen.

Articles have a type, which is defined by their ArticleTemplate. ArticleTemplates are arranged in a hierarchy.

The attributes of an article are held as key-value pairs. The AttributeDefinitions of the article’s template define what these attributes are. AttributeDefinition objects can be used to validate individual attributes on an Article.

With this mechanism, the attributes of a blog entry can differ from a longer article, although they will share some common attributes – an author name, a title, body text.

Finally, articles can belong to multiple categories. This is to help classify blog entries and essays, although it may be less useful to other types of article.

Looking back, I seem to have created a generic object model, somewhat similar in purpose to Roundup’s, though much simpler. I have a nagging feeling that getting to terms with one or more real content management systems would be helpful right now, if I had the time.

By alang | # | Comments (3)
(Posted to Software Development)

Comments

At 03:07, 19 Feb 2004 Ian Bicking wrote:

I think reimplementing content management systems is very valid. They all deal with the same issues -- objects, relations, attributes, etc. -- but it's not as unifying as it first seems. Many programming languages have classes, instances, attribute, etc... but there's still big differences. In the same way lots of problems look like the Same Old CMS Problem, but I don't think we've really figured out how to solve that problem, so reimplementing isn't unreasonable.

(#)
At 06:57, 19 Feb 2004 Richard Jones wrote:

Heh. I wrote a weblog template for Roundup once... :)

(#)
At 11:28, 19 Feb 2004 Casey wrote:


Apart from the joy of coding a CMS, what will you be able to do differently/better? Is there a type of customisation or connectivity you desire? Multimedia deployment? Some kind of document analysis? Or is it just for the sheer fun of rolling your own?

(I only recently caved in and used non-home-brew software on my website, so I understand the appeal)

(#)

Add Comment




(Not displayed)






(Leave blank line between paragraphs. URLs converted to links. HTML stripped. Indented source code will be formatted with <pre> tags.)




© 2003-2006 Alan Green