Drupal configuration gone wrong

The flexibility that is Drupal’s greatest strength can also be its greatest weakness. A WordPress site created by a novice will probably be fairly easy for someone else to support and maintain if the original creator moves on from the project. The same cannot necessarily be said for a Drupal site built by a novice -- or even one built by an experienced developer, if they didn’t provide documentation. The following examples of Drupal configuration gone awry are drawn from real projects. Some derive from fundamental misunderstandings of how Drupal works; others are unintended consequences of reasonable choices in site development. These examples will make more sense as you

Content types gone wrong

In Drupal, “content types” are templates for storing a particular kind of site content and/or project data. These are discussed in chapters 5-7. One site I evaluated had content types that corresponded to the main menu navigation items. Rather than creating an “About” page, a “History” page, and a “Team” page using the default “Basic Page” content type or an equivalent, there was an “About” content type, a “History” content type, and a “Team” content type. Each of these had only a title and a body field (which by itself suggests that they shouldn’t be separate content types; see section 5.4.3), and there was only one node of each of these content types. This suggests a fundamental misunderstanding of how to use content types.

Feeds gone wrong

The Feeds module, discussed in chapter 14, is used to import data from a variety of sources, including spreadsheets, RSS feeds, and XML. If you need to import data from an RSS feed that isn’t updated very often, it can make sense to test the importer using a feed from a more active site so you can see the effects of changes you make more immediately. However, it’s important to delete the test nodes that get created, and either change the importer to pull in data from the actual source you want to draw on, or disable the importer. A professional organization using Drupal for their website, and after a number of years of minimal maintenance the majority of the site’s content consisted of republished articles from CNN. A Feeds importer, presumably set up for testing, was pointing to a CNN RSS feed and importing data from it every hour.