Drupal

October 2009 List of Useful Drupal Modules

This is a wonderful list of useful Drupal modules compiled by Lee-Yan Marquez (argentofchange.com) from the discussion in last week’s Auckland Drupal Meetup group:

Content Management

date
The date module is a flexible date/time field type for the CCK content module.

Content Aggregation & Distribution

feedapi
FeedAPI aggregates feeds on a Drupal website by generating light weight items or nodes from feeds. It provides a straightforward configuration for most use cases and is extensible through an API. FeedAPI integrates with OG (but does not require it).

tattler
Tattler (app) is a Drupal Distribution, an open source topic monitoring tool for today’s Web. Tattler finds and aggregates content from the Web on topics you ask it to monitor. Using semantic Web technologies, Tattler mines news, websites, blogs, multimedia sites, and other social media like Twitter, to find mentions of the issues most relevant to your organization.

Content Relationships

context
Context allows you to manage contexts for different portions of your site. You can think of each context as representing a “section” of your site. For each context, you can choose the conditions that trigger the context to be active and choose different aspects of Drupal that should react to this active context.

flag
Flag is a flexible flagging system that is completely customizable by the administrator. Using this module, the site administrator can provide any number of flags for nodes, comments, or users. Some possibilities include bookmarks, marking important, friends, or flag as offensive. With extensive views integration, you can create custom lists of popular content or keep tabs on important content.

location
The location module allows real-world geographic locations to be associated with Drupal nodes, including people, places, and other content. The location module allows admins to collect addresses, geocode them (translate addresses to latitude/longitude), and associate locations with Drupal nodes and users. Location data is automatically used to generate GeoRSS within your existing RSS feeds. Location also provides an API so that other modules may take advantage of its address storage and geocoding features.

node reference auto-create (drupal 6 dev version only)
Provides an additional CCK widget type for the base field node reference. The auto-create widget type provides a text-field for input of the node title like standard node reference fields, but instead of linking to existing nodes it creates a node with the specified title on save. When the title is changed during subsequent node saves the referenced node title is changed as well.

node reference field (drupal 6 dev version only)
Allows fields on the node referenced by a node reference auto-create field to be viewed and edited. In other words a node reference is created to a particular node which has additional CCK fields. The additional fields can also be edited along side the node title provided by node reference.

spaces
Spaces allows features (a blog, calendar, casetracker, shoutbox, gallery, etc.) to be enabled and customized in different configurations in different spaces.

E-Commerce

ubercart
An e-commerce suite developed for Drupal.

Ubercart Payment Express (DPS PXAccess and PXPost) (in development)
Payment processor implementation for DPS (Direct Payment Solutions) Payment Express payment gateway.

Filters

better formats
Better formats is a module to add more flexibility to Drupal’s core input format system.

html purifier
HTML Purifier is a standards-compliant HTML filter library. HTML Purifier will not only remove all malicious code (better known as XSS) with a thoroughly audited, secure yet permissive whitelist, it will also make sure your documents are standards compliant, something only achievable with a comprehensive knowledge of W3C’s specifications.

flexifilter
Flexifilter is a module that allows non-admins to create their own, configurable custom filters. It is not limited to simple text replacement or regex replacement; it includes logic such as if() and while() statements, and is easily extendable by other modules.

Image Processing

imagecache
ImageCache allows you to setup presets for image processing.

Package and Deploy

deployment (drupal 6 dev version only)
The deployment framework is a series of modules which are designed to allow developers to easily stage Drupal data from one site to another. This includes content (nodes, taxonomy, users, etc) as well as configuration (views, content types, system settings, etc.).

drush
A command line shell and Unix scripting interface for Drupal, a veritable Swiss Army knife designed to make life easier for those of us who spend some of our working hours hacking away at the command prompt.

features
Features provides a UI and API for taking different site building components from modules with exportables and bundling them together in a single feature module.

legacy (drupal 5 core module)
The legacy module provides legacy handlers for upgrades from older installations. These handlers help automatically redirect references to pages from old installations and prevent page not found errors for your site.

node import (some limitations)
Allows you to import a set of nodes from a Comma Seperated Values (CSV) or Tab Seperated Values (TSV) text file.

table wizard
The Table Wizard facilitates dealing with database tables:

  • It allows surfacing any table in the Drupal default database through Views 2.
  • Relationships between the tables it manages can be defined, so views combining data in the tables can be constructed.
  • It performs analysis of the tables it manages, reporting on empty fields, data ranges, ranges of string lengths, etc.
  • It provides an API for other modules to views-enable their tables.
  • It provides an API for importing data into tables in the Drupal default database (automatically doing the views integration above).
  • It is bundled with an implementation of this API, for importing comma- and tab-delimited files.

Paths & Navigation

admin menu
Administration menu module provides a theme-independent administration interface (a navigation menu for the admin side of a site). It’s a helper for novice Drupal users coming from another CMS, a real time-saver for Drupal site administrators, and definitely a must for Drupal developers and site builders (also includes integration with Devel ).

menu block
Provides configurable blocks of menu trees starting with any level of any menu.

menu trails
This module adds some common-sense usability to Drupal’s menu system

  • Menu Trails implements primary/secondary links which keep the current menu trail “active” or highlighted. A handy snippet ready to go into your template.php is included.

  • The module provides a means of broadly categorizing nodes (by type or taxonomy) as falling “under” a known menu item. These nodes are not added to the menu tree (keeping the menu admin system sane) but they will trigger the functionality above — preserving navigation state for the user — when viewed.

pathauto
Automatically generates path aliases for various kinds of content (nodes, categories, users) without requiring the user to manually specify the path alias. This allows you to get aliases like /category/my-node-title.html instead of /node/123. The aliases are based upon a “pattern” system which the administrator can control.

Performance

varnish (Drupal 7 only)
This module provides integration between your Drupal site and the Varnish HTTP Accelerator, an advanced and very fast reverse-proxy system. Basically, Varnish handles serving static files and anonymous pageviews for your site much faster than any webserver.

Security

mollom
Mollom provides a one stop solution for all spam problems and can protect the following Drupal forms. It offers and intelligently combines:

  • CAPTCHAs — both image and audio CAPTCHAs.
  • text analysis.
  • user reputations.

and can:

  • block comment form spam.
  • block contact form spam.
  • protect the user registration form against fake user accounts.
  • protect the password request form.
  • block spam on any node form, such as forum topics, articles, stories, pages, and more.

Site Stats

google analytics
Adds the Google Analytics web statistics tracking system to your website.
The module allows you to add the following statistics features to your site:

  • Selectively track certain users, roles and pages.
  • Monitor what type of links are tracked (downloads, outgoing and mailto).
  • Monitor what files are downloaded from your pages.
  • Cache the Google Analytics code on your local server for improved page loading times.
  • Track user segmentation from Drupal profile data.
  • Site Search support.
  • AdSense support.

UI

flot
This module provides an API for using the flot graphing library. It is designed to make it simple for developers to add flot graphs to their modules or applications.

jquery media
The jQuery Media plugin will automatically turn links to media into their embedded media equivalents. The module works best in conjuction with the File Field module, but may be used in other cases as well.

jquery ui
A wrapper module around the jQuery UI effects library that lets module developers add swooshy, swishy effects to their code.

slider
Slider module creates an effect called the “Coda slider”, which was made famous by the site: http://www.panic.com/coda/.

thickbox
ThickBox is a webpage UI dialog widget written in JavaScript on top of the jQuery library. Its function is to show a single image, multiple images, inline content, iframed content, or content served through AJAX in a hybrid modal.

vertical tabs
Provides vertical tabs like http://drupal.geek.nz/static/node-form/default/summaries2.html on the node add form.

User Management

node profile
This module builds user profiles as nodes, which opens the opportunity to use the Content Construction Kit (CCK), since it’s possible to make use of the field types, which are available for CCK. The integration of the views module allows one to easily build customizable user listings or even user searches.

user points
This module provides an API for users to gain or lose points for performing certain actions on your site.
In conjunction with other modules, such as the userpoints nodes and comments users can accumulate points for actions such as posting nodes, commenting or moderation duties.

Views

views bulk operations
This module augments Views by allowing bulk operations to be executed on the nodes displayed by a view. It does so by showing a checkbox in front of each node, and adding a select box containing operations that can be applied on the selected nodes.

calendar
This module will display any Views date field in calendar formats, including CCK date fields, node created or updated dates, etc. Switch between year, month, and day views. Back and next navigation is provided for all views.

draggable views
DraggableViews makes rows of a view “draggable” which means that they can be rearranged by Drag’n'Drop. This module makes it possible to organize complex structures with just a few clicks.

views showcase
This module integrates with Views module, so you can use any content type and fields to be displayed as Showcase. In this first release Views Showcase provides 3 slots where you can put an image, a title and a teaser. The fields are provided by Views module, so you can virtually put any field in these 3 slots. In future versions more slots will be provided.

views imageflow
This solution is known as the Cover Flow technique, which has been developed by the artist Andrew Coulter Enright. Now – since being acquired by Apple – it is used in iTunes and the file browser of Apples OSX.