Working in web development often requires the use of different CMS packages that have certain advantages or disadvantages. At work Typo3 and Drupal are the most often used content management systems. I will make a short comparation from a web developers perspective on these two packages.
Learning to work with them
I first started to work with Typo3 and i must say that Typo3 is hard to learn. The documentation is scarce and very badly structured. It is a nightmare for every beginner. But once you start to learn the inner workings of this package you become more and more amazed by the power that is under the hood of this CMS.
Drupal is somewhat luckier having more documentation and more books written about it. Learning to work and develop sites using it is easier somewhat.
Working with forms
Drupal has a very ingenious system for forms. I was amazed when i learned to use it. You just need to create a configuration array for forms and call them from your module. Drupal will take care of generating the forms and submit it and validate it according to your preferences. And the AHAH form property is just killer. It will make Ajax calls and update the forms accordingly.
Typo3 has some plugins for forms and frontend editing but they aren’t there yet where it should be, it’s just a pain sometimes to use multilevel forms.
Templates
Drupal comes with a default template and you can start using that right away. Typo3 comes empty, you will need to create a template and code it into your project. You would think that Drupal is better from this point of view. But this is not true. Drupal’s templates aren’t really to good. That’s because in Drupal’s templates PHP code is mixed with HTML, the two aren’t separated as clearly as it should be. If you work with a designer who can make HTML code for you but he has no PHP knowledge, he will have a hard time working with Drupal templates.
In Typo3 HTML templates are what the name says, pure HTML with markers for different content elements. So creating a template is pretty straightforward even for people with no coding experience.
Customization
Drupal is well suited for community sites and often you just need to enable some modules bundled with the package like blog, forums, poll, faq management and modify the templates. But the problem is that often these modules provide basic functionality and they just aren’t what you want in your app.
In contrast Typo3 is much more complex and you can customize everything. You don’t have bundled plugins like forum or blog but you can download them for free from the extension repository. And most often they are more powerful and much more customizable then those included with Drupal.
Drupal
Pros: documentation, forms, out of the box functionality
Cons: templating
Typo3
Pros: templating, highly customizable
Cons: hard to learn
Conclusion
Both CMS packages have their pros and cons, it depends on the developer to choose the right CMS for the job required to be done. Because for some projects is more suited to use Drupal and for other projects is better to use Typo3. But the conclusion is that you need to learn them both, you might need one or another.
2 comments
I come from 5 years of background in TYPO3 and only a small experience with Drupal. But anyway here are my experiences:
I had one encounter with Drupal on a relatively small portal in Croatia. My experience can be summarized as a nightmare. I encountered such monstrosities as hard coded menus and CSS styles, cache control being buried 5 levels in the menu structure, not being able to figure out how to add content to a page (how simpler does it get?). All in all, the design and idea behind the system just does not resonate with me. I was biased towards TYPO3 to begin with so take that into the account. But still I do not hold Drupal to much of a product. I will probably be forced to keep working with it so I might actually end up learning it properly. But right now, it’s really nightmarish.
TYPO3 on the other hand, just as you mentioned, has problems with the documentation and lack of out of the box templating solutions. However, once learned, the real strength of TYPO3 is in the ability to plug any HTML template into it within matter of minutes which is what most people do not realize. This is the reason why you cannot recognize a TYPO3 site on the first glance. Because the variety is huge. Drupal and Joomla! sites get recognized on the first glance 90% of the time. This simply indicates inflexibility in the templating engines of these systems. I do plan to continue learning both of these systems as well as TYPO3 plus I will, for the sake of education, write a CMS of my own from the scratch. Armed with the knowledge of objections and flaws of the current CMS systems we should be able to create a new and much improved generation of Open Source CMS systems of tomorrow.
Actually, I have to disagree about this “This is the reason why you cannot recognize a TYPO3 site on the first glance. Because the variety is huge. Drupal and Joomla! sites get recognized on the first glance 90% of the time.”
I understand that this article was written more than 3 years ago, but still what I would like to add is relevant exactly for today. Poor visually designed websites on Typo3 are like a branded style here in Germany. Such websites, designed exactly 2-3 years ago or more can be recognized immediately as a Typo3 powered. I think the real value of Typo3 comes only with a real Typo3 guru. All other levels before this are serving just mediocre results, just trying to put some text and pictures together in a table-like looking design which finally happens to be billed as a very expensive service. Yacks! Who needs that?