Drupal explained: a fish tank

We've been discussing Drupal and other CMSs lately, and how they differ in the way they organize content. Many competing systems use a central tree structure which you shoehorn all the content into. Drupal on the other hand puts all of its content into one big bucket, pool, or… fish tank. But how do you find the content you're looking for? Ask the fish!

Written by Hannes Lilljequist | Tags:

In order to bring some structure into the mess of the fish tank, Drupal uses structures like menus and taxonomies and attaches them to nodes, rather than the other way around. The well known benefit of this is flexibility: a node can belong to more than one structure at a time, which allows it to play different roles in different contexts.

This approach is far from unique to Drupal, but Drupal has a long history of knowing how to put the relational model of the underlying database to good use. Combined with custom node types, CCK fields, and Views, this seems to allow developers to choose any kind of content scheme they can possibly think of.

Yes, this is almost too much freedom sometimes. A common question from new Drupal users is: "Where's my content?" It's not always obvious where to go to find all your pages, stories, and what-have-yous. This is partly a usability flaw, and partly a consequence of this relational architecture, which makes it hard to create a single comprehensive UI that fits all the different ways that you can organize content in Drupal.

This is one of the challenges of the Drupal 7 usability effort. It has already generated a ton of improvements, and it's one of the things that gives you high hopes for the upcoming release. If you want to help out, the link above is a good start, as is the d7ux group at groups.drupal.org.

Comments

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.
  • Each email address will be obfuscated in a human readable fashion or (if JavaScript is enabled) replaced with a spamproof clickable link.

More information about formatting options