Migrating to Drupal
You can download the latest stable release package from the Drupal Web site. Installing Drupal is a fairly straightforward process. It involves creating a MySQL database, importing tables, copying files, setting file permissions and editing a configuration file. Most of the Drupal options can be configured using its Web-based administration interface. Refer to the INSTALL.txt file available with the downloaded package for detailed installation instructions. Additional configuration instructions are available on the Drupal Web site.
In Drupal, most of the content is stored as a node. A node could be a page, a poll or one of the many node types. For example, the page node has a title, body, author, date and some basic attributes. Some modules provide their own node types, which may have additional attributes.
The visual presentation of content is controlled by a theme. Drupal comes with a selection of themes, and it is easy to create your own. Most themes have a central content column and left and/or right sidebar columns. Sidebars can contain blocks of information. Filters control the input format used to store text in nodes or blocks. For example, you can store content in filtered HTML, which limits the HTML tags that can be used. You even can store PHP code snippets.
The basic Drupal install leaves you with a usable Web site to which you can start adding content immediately. But, what you see after installation is only the core functionality. Drupal offers much more. In most cases, you will want to tailor Drupal to your particular content management needs. This is where Drupal's flexibility can become overwhelming. After building several Web sites with Drupal, we believe the key to creating successful Drupal implementations—“recipes” if you will—lies in understanding the interplay of five Drupal “ingredients”: module selection, configuration, access control, taxonomy and theme.
A module is additional code that extends Drupal's functionality. Drupal comes with a set of core modules, and additional modules can be downloaded and installed as needed. The Drupal Web site lists a large collection of contributed modules created by the community. If you need a particular feature, look for a module that offers it. Several modules may offer similar features or even different implementations of a single feature (Figure 1).
By changing configuration options for individual modules and site settings, you can substantially alter the way Drupal behaves. Many modules add features in blocks that appear in a node's sidebar. Often a particular CMS behavior or work flow that you need may just be a matter of configuring modules in a certain way. Be prepared to spend some time experimenting with different settings (Figure 2).
Accounts allow you to control what users can see and do on a Drupal Web site. The first user account is considered to be a root account with complete administration privileges. For the other users, you can set what they can do by assigning them to roles. Drupal comes with two roles: anonymous user and authenticated user. You may want to add additional roles, such as editor or manager, and specify what those roles can do. A user can be associated with one or many roles (Figure 3).
Drupal's taxonomy system enables you to associate a node with one or many descriptive terms. You can create multiple sets of terms called Vocabularies. Vocabularies can be flat or hierarchical lists. For each vocabulary, you can specify which node type it applies to. This combination can help you create a classification system for content that suits your particular information architecture needs. Many other features and modules depend on the taxonomy. For example, you can generate navigation elements, control access to content or switch visual presentation based on taxonomy. Take the time to develop good taxonomy vocabularies and design them so you can expand them easily in the future (Figure 4).
- Integrating Trac, Jenkins and Cobbler—Customizing Linux Operating Systems for Organizational Needs
- New Products
- Tech Tip: Really Simple HTTP Server with Python
- Non-Linux FOSS: Remember Burning ISOs?
- EdgeRouter Lite
- RSS Feeds
- Returning Values from Bash Functions
- Cooking with Linux - Serious Cool, Sysadmin Style!