Drupal is more than just a CMS
6th April 2008
This post provides several links which would be useful for the beginning Drupal developers, or developers deciding which CMS to use as the base for their next project. Also, strengths of Drupal are highlighted.
Intensively working with Drupal during the past two weeks, I find it to be an excellent tool, and also much more than a YACMS.
Now I think that Drupal is also a framework – providing invisible to developer caching, session handling, access control, theming, localization, and more. The minimal effort required to extend already huge Drupal functionality is to write your own module – and, if done right, your module will immediately benefit from all the bonuses Drupal provides.
But Drupal also really shines as a CMS! You can start with a free design theme, and without any PHP knowledge have your custom portal built within a week – with your own hands, if you desire! (Note: “within a week” is true, but only if you already know what exactly you should be doing; learning time is short, but it’s not within that same week.)
What makes Drupal so powerful? I’d say that beautiful core and numerous modules.
What Drupal has to offer?
In theming, it uses by default PHPTemplate engine. It’s simple – just HTML, with PHP tags inserted where dynamic content should go. It’s logical – you have separate layout files for the whole page, for blocks, for content (nodes), etc. That won’t be an exaggeration, if I say that Drupal themes support allows 95% of designs to be easily implemented. (5% go to static xHTML and ExpressionEngine )
You also have blocks in Drupal. Blocks might be the oldest component of almost all CMSs, but the power of Drupal is that you have full CSS control over blocks. And you can also individually control the HTML of any block – using the same PHPTemplate files, as for general Drupal theming!
CCK, content construction kit, is the candidate module for the inclusion into Drupal core. It allows you to actually construct content types the way you want. If you have a custom-designed web-site with several differently displayed sections – just create new content type for each section, and add only the information needed for each section’s content items! Then show your content, using theming. Or using contemplate module – which is a “visual editor for content display themes”. That’s purely point-and-click.
Views module is another shotgun in the powerful arsenal of Drupal. It allows you to build custom pages and blocks from the content and content types you have. And not a single line of PHP or SQL has to be written*. (*: if there is a view which fits your needs.)
If you decide to dive into some more details – grab the devel module, it greatly facilitates development for Drupal.
Choose Drupal. It’s strong, flexible (to the point that someone might call it a drawback), versatile, highly extendible, secure, and much more!