Themes, "Skins" and Templates

A key characteristic of dynamic websites, including Drupal-powered sites, is that new content is added without requiring additional web design work. Much of the design work for the website involves "theming": creating templates that format new content to fit automatically into the design schema for the overall site (or a particular section of the site).

In Drupal, themes are comprised of template files encoded in PHP and xhtml, cascading style sheets ("CSS") and graphic elements. The site’s content itself is stored in the MySQL database, with file attachments stored, depending upon configuration, in public subdirectories or in private folders accessible only via the website's interface according to configurable user permissions and access controls.

When a web page is called up in a browser, the content is pulled from the database and then formatted for display by the theme. Changes to the theme do not change the content in any way – only how it is displayed.

When a website has multiple themes, indicators within or relating to the content itself call up the appropriate theme so that the content is presented in the correct way.

We hand-code all of our themes into semantic xhtml. The result is a more lightweight, faster-loading website that is easily indexable by search engines and tracking 'bots.