Drupal's Creator Aims For World Domination
angry tapir writes "Open-source content management system Drupal has come a long way since it was initially released in 2001. Drupal now runs 2% of the world's websites — but Drupal's creator Dries Buytaert thinks that this could easily grow to 10%. I caught up with Dries to talk about Drupal's evolution from a pure CMS to a Web platform, cracking the enterprise market, and the upcoming release of Drupal 8, which features significant architectural changes — incorporating elements of the Symfony2 Web framework to replace Drupal's aging architecture."
For PHP? Yes, if the hammer is a wrecking ball controlled via satellite from a bunker in Nevada.
it's easy to find and hire people who are familiar with it.
who *think they* are familiar with it.
Drupal looks easy to extend for a beginner developper because, like php, you don't have to do something right to have it work.
So it's really quick to have a mess of a codebase that leads to an unstable site that's a nightmare to maintain.
But if you really know the insides of it, you can craft a something beautiful that runs smoothly and is easy to work with. It's not perfect, and "real" coders will look at its non-use of OOP with contempt, but it's pretty good at what it can do.
And, let's be honest for a second: it's one of the least horrible open source CMSs out there (at least in the php world, I don't really know about Java or python or other CMSs).
If you want a good pphp cms, you have Drupal or Ezpublish. There's wordpress that wants to be a cms but isn't quite there, Joomla is a joke, Typo3 is from another time... The perfect software doesn't exist.
As a web developer with ~10 years professional experience, the last of 5 of which have been with Drupal, I say Drupal rocks.
Drupal is a great fit for many web development projects. It's 100% GPL open-source software with a thriving development community.
It has a solid a reliable core architecture extensible via a modular plugin system.
Although there's a learning curve, it's worth it.
Like every release, Drupal 8 is making taking steps to improve on the previous, for D8 these include.
1. Integration with the Symfony PHP framework.
This lowers the barrier to entry to Drupal by allowing developers familiar with the Symfony framework to easy transition to building Drupal websites, leveraging the power of both.
2. Enforcing MVC architecture
Drupal 8 includes a new, non-php, default templating engine called "Twig" ( http://twig.sensiolabs.org/ ). No more PHP code in templates.
3. Pure core Drupal 8 includes more in core to achieve the functional requirements, without the need for additional plugins. For example, Panels style layout builders and the Views style report query builder as well as the ctools framework are now in core, along with the usual frameworks such as the Entity and Field API.
I've used Drupal with a wide variety of government and corporate IT projects.
Common server architecture includes, Linux, Nginx, Postgres/MySQL, PHP5, APC, Memcache and Varnish.
If you're looking for a solution for your next web development project that's easy to set up, and supports and extensible and scalable architecture, checkout Drupal, it rocks!
Drupal is the best of the "big 3" CMSes. Hands down.
However, it has a Matterhorn learning curve, and I choose not to use it in most of my work; opting for WordPress.
The thing about Drupal is that it has an extremely solid extension mechanism. Lots of good hooks, and thoughtful design.
I write plugins for all 3 CMSes. I am extremely familiar with what it takes to extend each. Drupal and WP can be extended with a single file that allows me to provide a powerful administrative interface, content filter and module system.
Joomla, on the other hand, requires -I am not exaggerating- ten times as much work as either Drupal or WP, and, subsequently, ten times as many "problem nodes," for juicy, fat bugs.
For example, if I want to handle AJAX responses, Drupal and WP each offer a simple hook to intercept program execution at a point between CMS setup (authentication, module initialization, etc.) and HTTP output (I need to output prior to any headers being sent out). Since I can use the same module file, I can preserve object context. Also, they each have a very simple CSV options/preferences system that abstracts the database behind a basic functional interface.
In Joomla, I am forced to write an entire system plugin, and use a pretty hairy database "semaphore" system to communicate context. I also need to write a content plugin in order to allow a shortcode ability. In both Drupal and WP, the content filter is simply another functional interface in the same context.
However, for the kind of extensibility that Joomla offers, only Drupal can match it, and Drupal has that learning curve, so it tends to be popular amongst folks that want a heavily-customized site, with less knowledge, than Joomla.
"For every complex problem there is an answer that is clear, simple, and wrong."
-H. L. Mencken
Drupal being "best" is in the eyes of the beholder. If you already are familiar with CMS and mySQL, then Drupal is the best. But if you have very little experience, Wordpress is by far the easiest. For my own sites, I use Drupal, but for client sites, I use Wordpress because it's easier for non-technicals to operate. That being said, Drupal has an upgrading catch. I'm running 6.28, I think, and find it impossible to port over to version 7 without manually porting over the database table by table. There should be a way to port content tables to new versions without a lot of pain and suffering...