Mink Machine

Experiences of Typo3 – The good, the bad and the ugly

Note: This content is obsolete, and kept for archive purpose only.

After spending some time with the Typo3 CMS I have a couple of opinions on the good, the bad and the ugly of this system. A technical note can be found in another article, Speaking URLs with Typo3.

About Typo3

Typo3 is a Content Management System (CMS) released as OpenSource under GNU/GPL-license. Originally created by Kasper Skårhøj, it has now been adopted and further developed by a lot of skilled developers. Kasper seems to consider himself on a mission from God to develop the world’s greatest CMS and give it away for free. Who am I to disagree? A great product free of charge. The Danish government should give him a medal or something.

The good stuff

  1. HTML templates: All modern web development ought to use some kind of templates for obvious reasons, such as only typing the information once, easier debugging etc. The use of HTML templates in Typo3 is not obvious at first, since most examples uses the built-in TypoScript to create pages, but once configured it is working perfectly. Consider this markup in a HTML template:
    <!– Page Content Area table cell –> <td id=”content_normal” valign=”top”> </td>

    By using TypoScript we can dynamically populate this table cell with content from the database. This is done by a one-liner in the Typo3 template (not to be confused with the external HTML template) like this:

    subparts.content_normal < styles.content.get

    We must also specify the HTML template, which is done by another one-liner:

    content.file = templates/my_template.html

    Since Typo3 templates are stored in the database and consists of script code, I recommend that their numbers and size is kept to a minimum for maintenance reasons.

  2. Publishing: A seldom requested feature of content management systems is the ability to generate plain HTML files. I wonder why, since this is superior in terms of security and speed, two very important factors on the web. Typo3 is one of the few systems out there that have this ability. Unfortunately it has some limitations and the generation is only supported by the core content, but with a few tricks the desired result is easily achieved.
  3. Smooth installation: It runs flawless on both Windows and Linux based servers. In my humble experience it works best on Apache, although the same result can easily be obtained on IIS with a little effort.
  4. Easy migration: The system is practically a bunch of PHP files which enables simple “xcopy deployment”. Then simply export your MySQL database and you’re done. Almost.
  5. Extensive functionality: When it comes to features, Typo3 has only a few competitors if any. An endless range of extensions are available to suit every need. Well, almost every.
  6. Speaking URLs: The standard look of Typo3 URLs, as with most php-solutions using a database, looks like this:

    But we would rather have:


    based on the actual page context. Apart from aesthetic reasons there are other good reasons, such as search engine optimization. This makeover is done by using the extension RealURL in combination with web server modifications. RealURL is a good thing, but it often behaves as a baddie since it can be quite tricky to get it working. Please refer to the article Speaking URLs with Typo3 for further information.

The bad stuff

  1. TypoScript: Most advanced CMS tools use some kind of scripting language to achieve extended functionality and Typo3 is certainly no exception. For this purpose the creators have decided to implement their own language entitled TypoScript. In my humble opinion, the language is not bad, but my time is very limited and I appreciate a standard technology whenever it is applicable.
  2. Bad markup: The generated HTML code could be better, especially the lines produced by the RTE (default WYSIWYG editor). I never like systems that garble my markup.
  3. Multiple entry points for functions: There are a zillion ways to get the work done. Some may put this on the “good” list, but I think it belongs in the “GUI hall of shame”. Add the fact that not all entry points work at any given point, but you have to know which button to push (and more importantly, which button NOT to push).

The ugly stuff

  1. Non-intuitive user interface:

    As previously mentioned, the GUI leaves a lot to wish for. For instance, within a small area there is not one but four different ways of doing the same thing! Here is a screenshot displaying four ways of creating content on a page. (the red opaque color is added by me)

    Page edit Page edit in Typo3.


If you are a savvy developer looking for a free and reliable CMS solution for a client or an enterprise, Typo3 could be a decent choice. It is flexible, powerful and has a wide range of happy users. However, prepare to get lost now and then in the GUI, scratch your head over TypoScript semantics and simply play dead when the database gets an identity crisis.

For less stubborn users with a demanding social life who may settle for a lesser solution, check out the competition before you install Typo3. For example, Mambo and Plone are popular alternatives in the world of OpenSource.

Related posts


No comments yet.

Post a comment

Your email address will not be published. Required fields are marked *

Featured stories

Good morning Montenegro

"One would almost think that all this secrecy was made on purpose to keep the hordes of tourists away. Let them all perish in the crowds of Dubrovnik while the people of Montenegro can enjoy their beautiful country on their own. Or something like that."

On the Trans-Siberian

"Since the toilets were locked during the seven hour stop, we had to bribe the provodnitsas to use the facilities. Then came the Mongols."

Visions of Singapore

"By extensive use of landfill with sand bought from Indonesia and Cambodia, the bay area has expanded greatly in the last few years and tall buildings pop up everywhere."

New Years Eve in Sydney

"Opera House is seen in front of the massive fireworks in the harbor area, celebrating the 75th anniversary of the Harbour Bridge."

A journey through Iran

"I woke up freezing on a Persian rug with aching back. Behind a corner I saw the damned rooster that kept me awake during many hours."

Roaming the cobblestones of Istanbul

"Inside the church there are still traces of rune inscriptions made during the Viking age by Varangians, an elite guard made up of Scandinavian immigrant warriors."