Whiskey Kilo Linux  •  Exploring GNU/Linux and F/OSS
times-square.jpg

Monday 6th February 2012

drupal member logo

drupal logo

ubuntu logo

gnome logo

opensource logo

Useful drupal modules

There are many, many drupal modules out there. Here are some of the most useful modules to add to your standard drupal installation. Many of these modules are also used by sites in the Drupal success stories section.

Optional core modules

  • Search: Make your site searchable.
  • Contact: Prevent exposing e-mail addresses and use a contact form instead.
  • Statistics: Use this module if you want node counters or analyse your top pages/top referers.
  • Trigger: Define actions that are triggered by some event, e.g. send an e-mail after a new comment is posted.
  • Upload: Use this module to upload files and attach them to a node.

Must have contrib modules

  • Views: This module allows you to make all sorts of lists, e.g. monthly archive, recent comments, etc.
  • CCK: The Content Construction Kit allows you to add custom fields to any of the content types using a web interface. No need to program your own module. You probably do need extra modules like ImageField.
  • Panels: The Panels module allows a site administrator to create customized layouts for multiple uses. At its core it is a drag and drop content manager that lets you visually design a layout and place content within that layout
  • Poormanscron: If you don't have access to the cron deamon on the hosting server, then try this module. It is more than sufficient in most cases. This module will be part of Drupal 7.

Images

  • Image: Upload images into Drupal. Thumbnails and additional sizes are created automatically.
  • ImageField: This module provides an image upload field for CCK.
  • ImageCache: This module allows you to setup presets for image processing, e.g. resize, crop, make square thumbnails, etc. This works great with CCK and ImageField.
  • Image Assist: This module allows users to upload and insert images inline into content. It opens an image browser, displaying all images that have been uploaded via the Image module.
  • Image filter: To use this module, you first create an Image node for the image you want to to embed in another node. Then, in the node where you want that image to appear, you use the tag [image:nodeid].

General usability

  • WYSIWYG: Replace textareas and give your users a wysiwyg-editor
  • Scheduler: This module allows nodes to be published and unpublished on specified dates. It relies on cron to do it's work.
  • Taxonomy menu: Transform any of your taxonomy vocabularies into menus easily.
  • Five star: This is a voting module that adds a clean, attractive voting widget to nodes.
  • Print: This module allows you to generate the printer-friendly versions of any node (pdf, e-mail and printer). Pdf needs an external third party tool.
  • Flag: A 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.
  • Site map: This provides a site map that gives visitors an overview of your site.
  • External links: This module is used to differentiate between internal and external links. Using jQuery, it will find all external links on a page and add an external icon indicating it will take you offsite or a mail icon for mailto: links.
  • Service links: This module enables admins to add links to a number of social bookmarking sites.
  • Typogrify: Change straight single and double quotes with typographic correct curly versions, use ligatures where possible and convert arrows [-->]. See the demo page for the subtle differences. In Drupal the node title is not yet converted. See here. Proper typographic punctuation looks sharp!

Development

  • Devel: Useful for creating bulk content (nodes, comments), performance statistics such as page generation times
  • Theme developer: An extremely useful module for analysing how Drupal components are generated, which template files are used and which variables are available. It is a sort of Firebug for Drupal themeing.
  • Administration menu: This is a handy module that provides a theme-independent administration interface for Drupal. It reduces the number of clicks for the site admin.
  • Coder: This is a developer module for programmers that assists with code review and version upgrade, e.g. check compliance with Drupal Coding Standards and checks on secure handling of text to prevent creating XSS holes.
  • Webform: This adds a webform nodetype to your Drupal site. Typical uses for Webform are questionnaires, contact or request/register forms, surveys, polls or a front end to issues tracking systems.
  • Backup and Migrate: Backup and Migrate simplifies the task of backing up and restoring your Drupal database or copying your database from one Drupal site to another. Version 2.x will also backup the files directory.
  • Advanced help: The advanced help module allows module developers to store their help outside the module system, in pure .html files. The system ties into Drupal's search system and is fully indexed, so the entire contents can be searched for keywords.
  • Translation template extractor: This module provides a web based translation template extractor interface for Drupal. Useful for translating your custom mudules and themes.

Search engine optimization (SEO)

  • Pathauto: This module automatically generates path aliases for various kinds of content (nodes, categories, users) without requiring the user to manually specify the path alias.
  • XML sitemap: This creates a sitemap that conforms to the sitemaps.org specification. This helps search engines to more intelligently crawl a website and keep their results up to date.
  • Google analytics: This adds the Google Analytics web statistics tracking system to your website.
  • CAPTCHA: A CAPTCHA is a challenge-response test most often placed within web forms to determine whether the user is human and prevent automated spam.
  • Path redirect: This allows you to specify a redirect from one path to another path or an external URL, using any HTTP redirect status.
  • Global redirect: Prevent multiple URLs to the same content when using aliases (pathauto).
  • Nodewords: This project allows you to set some meta tags for each Drupal page.

Miscellaneous modules

  • Adsense: This provides you with the means to earn revenue from visitors by displaying ads from Google AdSense advertising service on your site.
  • CSS injector: Inject CSS into the page output based on configurable rules. It's useful for adding simple CSS tweaks without modifying a site's official theme.
  • Workflow-ng: Make your own publishing workflow, e.g. create, pre-approve, approve, publish. You might also want to check out the Rules project.
  • Simple News: This module publishes and sends newsletters to lists of subscribers. Both anonymous and authenticated users can opt-in to different mailing lists. MIME is supported with an addional module.
  • Drush: Strickly speaking the Drupal Shell (drush) is not a module, but 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.
  • Node access: This is an access control module which provides view, edit and delete access to nodes. Users with the 'grant node permissions' permission will have a grant tab on node pages which allows them to grant access to that node by user or role
  • Node reference (CCK). See http://geoffhankerson.com/drupal/cck-nodereference-screencast.html for screencast.
  • Code filter: This is a simple filter module. It handles <code></code> and <?php ?> tags and presents a nice colored version of the code between the tags.

Still to add: panels, skinr, markdown, nodequeue, context, filedepot, page_titel, weblinks, vertical_tabs

Tags: