Drupal is a robust content management system that can do nearly anything you throw at it. Hundreds of Drupal modules add-ons that extend the functionality of Drupal core–exist to help you create a powerful website.
This is a roundup of some excellent Drupal modules covering the following areas:
Managing and displaying content
User engagement and game mechanics
Managing and displaying content
In many pre-built Drupal themes, the primary navigation bar shows only top-level links. Drop-down, multi-level navigation is not automatically enabled in many themes. You can use Nice Menus to turn on fly-out and drop-down navigation, but you will still have to edit your theme files.
However, with the Menu Block Drupal module, you can easily add a new block that pulls all relevant navigation links together, and then you can place that new block anywhere on the page–in the content section, for example, or perhaps in the left or right sidebar.
Node Reference URL Widget
Node Reference URL Widget is a useful Drupal module that lets you refer to one piece of content from another. Using nodereference, you can assign each person to a parent category by creating a new CCK field. For example, you could assign a new person directly from the “People” category listing. In this scenario, on the details page for “Staff,” you would click on “Add a new person” and they would automatically be categorized as a staff member.
In the example above, creating the “Staff” category also created the “Staff” page. You can use the Views Attach Drupal module to create a content view related to that category. Here is a video showing you the power of CCK, Views, Node Reference URL Widget, and Views Attach used together.
Sometimes you want to generate content automatically. Automatic Nodetitles generates titles for your content based on various criteria, including the date of creation, the user name responsible for the content, or the “parent” of a particular node.
For search engine optimization (SEO) purposes, you might need to add certain keywords to certain nodes on your website. The Nodewords module lets you specify keywords or key phrases on a node-by-node basis. You can then track results with Google Analytics or Drupal core’s statistics-tracking feature.
The Image Drupal module defines sizes that you can adjust for any image uploaded by a user. The ImageCache module extends this functionality and lets you set up “presets” for image processing that include cropping, desaturating color, resizing images to exact sizes, rotating, resizing by aspect ratio, scaling and sharpening.
User Engagement and Game Mechanics
Drupal comes with basic support for input filters, which allow administrators to specify what kind of HTML can be added by users. For example, an administrator might want to strip all formatting for novice users but allow links, bold text, italicized text and tables for advanced users. When a user creates content for a Drupal website, they have to specify which “input filter” they want to run their content through prior to publication–this can be an inconvenience, and can open the CMS to content-rendering issues because of an incorrectly chosen input filter.
A website with user-submitted content must be monitored for spam and for submissions that are against submission guidelines. Use the Flag Drupal module to allow users to flag content that they want to return to.
Organic Groups (OG) is an amazing resource for building mini-communities centered on specific causes or issues. OG lets your users self-organize by maintaining public and private groups and posting messages directly to their groups.
In Drupal, a website can have both public users and authenticated users. During the authentication process, you can assign statuses to users; for example, you could offer memberships for a fee, or make day passes available with which users can get bumped up to a status that has more access permissions.
Facebook Connect is a nifty Drupal module that allows you to streamline the user registration process by letting users register and sign in with their Facebook accounts using Facebook’s authentication API. With mobilizing Drupal, you can also view your website content along with social plug-ins in your smartphone.
As you probably know, this is but a small sampling of the available modules in Drupal. As always, before working with new modules, back up your database, and save a copy of your website prior to making changes. To evaluate a module, go to its project page and review the bug list, the documentation, live versions of the module and the number of downloads.