Some web designer friends have been asking "What is Drupal? I have a client who mentioned it". Here is a quick run-down on what Drupal is and how web designers interact with it.
What is Drupal?
Drupal is an open-source, content management system that has many great features that make it useful in building dynamic, data-driven, web sites. It has many popular social networking features such as tagging, friends, member profiles and blogs, in addition to forums and comments. It also provides support for so-called Web 2.0 technologies such as AJAX and web services from Google, Yahoo! and others.
Click "Read more" link to view the entire article
We used Drupal to build this site :-)
How do web designers work with Drupal?
A theme is generally a folder containing template files (.tpl.php), style sheets (default is style.css), javascripts (.js), static images, flash movies, etc, a screen snapshot, a description and an optional file named. template.php used to customize theme data and behavior. Template files (.tpl.php) determine how pages and their components are displayed. These files consist of mainly XHTML, with some PHP tags that are replaced with data like menus, content, sidebar blocks, header, footer, etc.
There are several methods for customizing a Drupal site. One generally starts with an existing theme, makes a copy to the /sites/all/themes/yourtheme folder and then modifies the associated files as follows.
- Use the administration panel to select a theme and set logo, favicon, title, slogon and mission. Some color choices can be made here, but most designers will want more control than this.
- Modify or override the theme's CSS. Look for style.css and possibly others, such as layout.css
- Modify the HTML in the theme's template files such as page.tpl.php and node.tpl.php (nodes are Drupal's name for pages, posts, articles, etc.). This is similar to modifying a blog template, it's mainly HTML with some special tags to indicate where to place the dynamically generated content.
- Modify the template.php file to define new template files of functions. This requires some PHP programming knowledge to do most things, however there are many cool and useful "snippets" on the Drupal site that you can just cut and paste. The snippets are also great for learning PHP and the inner workings of Drupal. If that is not your cup of tea, plan on partnering with a Drupal developer who knows PHP.
- Drupal has some powerful extensions (called modules) that can facilitate certain design needs. This includes the front page module that allows for custom splash screens, the views module which allows for custom reports, contemplate for creating content templates with custom fields, panels for common layouts. If one is familiar with PHP, one can also create custom modules that are used in conjunction with your theme to achieve your particular goal. Sometimes modules include CSS files and over-ride themes.
There are many more features and ways to customize Drupal, but this should give an overview of the main options. For more details, explore the resources below.

Drupal resources for web designers
How does Drupal work?
Drupal is a content management system written in PHP. PHP is a popular, server-side, scripting language. Drupal uses a database to store content and information about the site and it's configuration. Many Drupal sites use MySQL for a database and many run Linux operating systems and Apache web servers. This is referred to as a LAMP stack (Linux + Apache + MySQL + PHP). These are popular because they are built from open-source software, however some sites use Drupal and run other operating systems (e.g., Max or Windows) and databases (Postgress, Oracle, etc).
Depending on the setup, little of this should matter to web designers. Web designers will mainly be concerned with having easy access to theme files that they wish to modify. The workflow for this can vary from project to project. It is always wise to have a development server where you can test your work before deploying to the live server. Theme files are often accessed via FTP or other protocols like WebDAV. Some projects utilize source control and you may need to check files in and out of a repository using tools like CVS.
Theming Drupal is somewhat similar to customizing blogs like Blogger, Wordpress, Typepad and Movable Type. Most themer's seem to prefer text editors over tools like DreamWeaver, but then again I'm a coder and may not have the best POV.
Some graphic artists just produce mockups and graphic elements, expecting to hand them over to a Drupal themer This means that someone must figure out the CSS and HTML necessary to achieve the desired result. Generally speaking, Drupal is not designed with a primary goal of "everything must look the same on every browser version on every operating system" so don't expect to slice and dice an image and slap it into some tables. Instead, Drupal emphasizes web standards that provide for accessible content under all conditions. The person who does this work is the themer. The best themers are comfortable with tools like Photoshop, Flash, CSS, HTML and are not afraid of a little PHP and Javascripting. Many good themers team up with a developer familiar with the scripting tools.
Designers have to think more dynamically and be aware of how Drupal assembles a page for display. There is much power in learning "the Drupal way" though an understanding of how to get Drupal to create the page you want to see.
Comments
adding input fields
how to addthe input fields in drupal
drupal design
This is good, but it lives me wanting more :)
By more I mean knowing how exactly does one design for Droupal, how is it diferent that creating and styling HTML page in Dreamweaver, what behaves diferently and why.
Is it one of those things that have to be experienced and tried out rather than explained?
This is good, but it lives me wanting more :)
By more I mean knowing how exactly does one design for Droupal, how is it different that creating and styling HTML page in Dreamweaver, what behaves differently and why.
Is it one of those things that have to be experienced and tried out rather than explained?