CMS architecture

For the last year i have tried a variety of different frameworks and Content Management Systems, based on different platforms and different scripting languages. I have, since then, returned to Typo3 because it offers a great deal of functionality, it is extensible and customizable (altough it has some drawbacks in the form of a steep learning curve – for developers and for content editors, and a complex (and maybe a bit bloated) backend design.

Today i want to get you through the basic functionality that a CMS has to offer, and how it should behave. Bear in mind that this is my personal opinion based on building and maintaining a site. This is greatly insipired by Typo3, but also on the Netlogiq CMS (asp.NET based in-house built and used cms solution) and various other …

Core Functionality

This is the bare minimum or the skeleton, that a CMS solution should have. It should meet the following criteria:

1. Structure

Tree like structure. This is good because everyone is familiar with a folder-tree structure. Easy to grasp and to navigate. Page-based structure.

2. Content

Each page from the structure has regions and content. Each content element should be appointed to a region. A content element may be anything, from text, to an image, to a navigation element. And each content element needs to have the ability to cascade (be inherited by its ancestors).

3. Internationalisation

Typo3 based i18n and localisation tehniques.

  1. Define available languages on the root-level
  2. Create translated content based on the default language content

4. Template system

Some sort of marker-based template system, where markers and regions are linked togheter.

With this Core we can create most presentation sites.
For more functionlity we should apply to the extension system.

Extensions

An extension will at the most basic level add custom content types to the Pages. Examples of this could be:

Of course there are other components that we have not touched, such as user management, caching etc
This post is just a reminder for me as I plan to build something like this with Django on top of GAE. I have something similar (but very, and i mean very basic on Django 1.0 and have used it for 2 sites), but i need a more simpler solution to typo3 for more simpler projects.

And GAE offers free hosting (for the types of sites that would be build with this CMS)

Fronteers 2009

I will be attending the Fronteers conference of 2009, which will be held in Amsterdam on the 5th and 6th of November. This is a Front-End Development conference, so its focus will be front-end techonolgies and techniques.

I am excited as this is the first conference i am attending, and hope to get a better glimpse into the way of thinking of men that have a big impact into the web landscape. I also hope to meet and befriend other front-end developers, so I expect this will be a great venue.

And what’s not to like about Amsterdam?

Speakers

Only 4 speakers are announced at this time, but the lineup is already good. We have:

Other 8 speakers will be announced later on.

Organisers

Fronteers is the first Front-End Developers Guild in the world, and is the child of Peter-Paul Koch – also known as ppk. They have around 170 members, who all work as (or related to) front-end developers.

This is the first organisation in the world centered about this specific area of web development, and I’d say its a great initiative. One downside is that they only accept Dutch members. We should do something like this locally if we our work to be better understood and valued by employers and clients.

Meet me

I will head there with my good friends from Typo3Switch, so if your attending the conference (or if you’re just in the area at that time), say hello, i’m friendly (read: I don’t bite) and we’ll gladly have a beer togheter :)

New blog and new theme

This is such a geekish custom that i absolutely loathed when i first banged my head on various programming and scripting languages. But right now, i just can’t resist the tentation… so here it goes:

Hello world!

Why?

If you don’t have an online presence, its as if you don’t exist. Especially for someone who works in this environment. So i have made myself time and here’s my blog. Its wordpress and the theme is custom created on experimenting with HTML 5. I won’t try to support IE6, only as much as it needs. Will have professional stuff mostly about HTML, CSS and Javascript (jQuery), but also possibly about PHP, Python, Django, Typo3, Jaxer and other technologies.

And personal ranting, such as the fact that the coffee i had yesterday really sucked, and not even today’s coffee managed to get the taste off. Cheers