Original Post
Hi, about 1.5 years ago I was about to write an article about Typo3's features, why it is powerful software and why I don't like it. I couldn't quite put down why my dislike was so great, there were just too many things that made me downright hate it. For those who don't know Typo3, it's a Content Managment Framework (a framework for making a CMS) that comes with a ready-to-use CMS included. The major points I made out:
- While it's well designed and (given enough time) understandable, it's a monolithic system primarily designed to serve the machine, not the coder.
- The documentation is downright insulting, it lacks any structure and no usable architectural overview is given.
- The personal cult around Kasper Skårhøj is disturbing, he goes so far as to say "I believe in God and the TSRef (Typoscript reference, one of those childishly bad documents for the built-in configuration language) is your bible". WTF?
- They manage to render any example code on their website in one line. No comment.
- The context menu in the backend requires a server roundtrip to pop up, resulting in severe concentration disruptions for the editor and the programmer. Additionally, the whole backend is littered with very bad english. ("Your login has probably expired. Do you want to refresh it now?")
- The only way to understand the system thoroughly is by reading the source code. No problem, if it weren't littered with overly redundant and non-technical comments. My favorite from index_ts.php:
00352 // ********************************
00353 // Get from cache
00354 // *******************************
00355 $TT->push('Get Page from cache','');
00356 $TSFE->getFromCache();
00357 $TT->pull();
00358
00359
00360 // ******************************************************
00361 // Get config if not already gotten
00362 // After this, we should have a valid config-array ready
00363 // ******************************************************
00364 $TSFE->getConfigArray();
Pro points: - It has an advanced caching system that makes it extremely fast in production use (thus the term "Enterprise CMS").