Drupal, the popular open source content management system/framework, is very useful in getting a site off the ground quickly. It automates many tedious tasks and streamlines website building for developers and content managers. Along with the proper modules, it also allows for fast content adding/editing.
Drupal breaks up the page view into multiple sections, for example: a header, sidebar, body, and footer. By using blocks in different sections, the header is able to contain the same block on every page regardless of what is contained in the other three sections. Pages are typically placed in the body section of a view. Pages often contain the content of a view and are only displayed once. They do not repeat throughout a site as blocks can. This makes Drupal much more powerful than your average template or theme, as it allows control to which views get to see which blocks and even which users see which blocks or pages.
By standardizing blocks around the body or main content it alleviates the need to repeat the same sections endlessly page by page enabling content managers to handle just the content. Unfortunately, there isn’t an extensive WYSIWYG (What You See Is What You Get) editor built into Drupal yet, but it is on the plan for their next release. The basic WYSIWYG editor, enabled via a community made module, allows for quick editing of basic text and image content, but typically requires some direct finessing with CSS and HTML to handle complex layouts. The built in module allows you to directly edit the HTML in the page. Here inline CSS can be placed, but to add classes an external editor must be used on the CSS files outside of Drupal.
Utilizing pages for content allows work to be coordinated between the blocks and pages that can go on simultaneously. This greatly contributes to the speed of developing with Drupal. Pages also have a “Revisions” feature allowing for roll back to previous revisions. The trouble with pages once again falls on the shortcoming of the WYSIWYG editor, in that adding content is easy, but the layout typically needs finessing. To help in this, after adding classes to the theme, content managers can use the WYSIWYG editor to cast predefined CSS classes to items in the content.
The styling and layout of content is where Drupal requires some expertise. Drupal was built to allow over riding of it’s default functions and CSS to enable a user to completely customize their site. One method is using inline HTML and CSS another is editing the theme files. It’s non-trivial to edit the theme files, it requires diving into Drupal to find the proper function or class to override. Once a template is setup though, content can be added quickly and easily.
With it’s break up of views, the concepts of blocks and pages, and the power to override default functionality of the system, the problem of a content heavy project makes Drupal an easy decision.