Drupal 6.x: Essential Drupal Modules
It dawned on me today that I have not blogged about my favorite Drupal modules yet. So, here we go...
Drupal default modules
- CCK - http://drupal.org/project/cck - The Content Construction Kit allows you to add custom fields to nodes using a web browser.
- FileField - http://drupal.org/project/filefield - FileField provides a universal file upload field for CCK. It is a robust alternative to core's Upload module and an absolute must for users uploading a large number of files. Great for managing video and audio files for podcasts on your own site.
- MimeDetect - http://drupal.org/project/mimedetect - MimeDetect provides an API for consistent server side mime detection using the PHP FileInfo extension, the UNIX 'file' command, user supplied mime data, or file extension lookups. It is distributed with it's own magic library for use with the PHP FileInfo extension to make mime detection more consistent in different environments.
- Views - http://drupal.org/project/views - The Views module provides a flexible method for Drupal site designers to control how lists and tables of content (nodes in Views 1, almost anything in Views 2) are presented. Traditionally, Drupal has hard-coded most of this, particularly in how taxonomy and tracker lists are formatted.
- Wysiwyg - http://drupal.org/project/wysiwyg - Wysiwyg module allows you to use client-side editors (a.k.a. WYSIWYG editors) to edit content in Drupal. It simplifies installation and integration of editors and allows to assign an editor to each input format. Wysiwyg module replaces all other editor integration modules and no other Drupal module is required.
- TinyMCE - http://tinymce.moxiecode.com/download.php
- Pathauto - http://drupal.org/project/pathauto - The Pathauto module 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.
- Token - http://drupal.org/project/token - Tokens are small bits of text that can be placed into larger documents via simple placeholders, like %site-name or [user]. The Token module provides a central API for modules to use these tokens, and expose their own token values.
- Webform - http://drupal.org/project/webform - This module 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.
- Mollom - http://drupal.org/project/mollom - Mollom provides a one stop solution for all spam problems and can protect the following Drupal forms (NOTE: see http://drupal.org/node/259488)
- Captcha - http://drupal.org/project/captcha - A CAPTCHA is a challenge-response test most often placed within web forms to determine whether the user is human. The purpose of CAPTCHA is to block form submissions from spambots – automated scripts that harvest email address from publicly available web forms.
- Date - http://drupal.org/project/date - This package contains both the Date module and a Date API module. The Date API is available to be used by other modules and is not dependent on having CCK installed.
- IMCE - http://drupal.org/project/imce - IMCE is an image/file uploader and browser that supports personal directories and quota.
- IMCE Wysiwyg bridge - http://drupal.org/project/imce_wysiwyg - This module is acts as a bridge between the IMCE module and the Wysiwyg module. Currently the module only supports integration with the Tinymce and FCKeditor. Those wishing to see more editors supported are welcome to submit patches.
- Administration Menu - http://drupal.org/project/admin_menu - Administration menu module provides a theme-independent administration interface (aka. navigation, back-end) for Drupal. It's a helper for novice Drupal users coming from other CMS, a real time-saver for Drupal site administrators, and definitely a must for Drupal developers and site builders (keyword: Devel integration).
- Devel - http://drupal.org/project/devel - A suite of modules containing fun for both module and theme developers
- Backup and Migrate - http://drupal.org/project/backup_migrate - Backup and Migrate simplifies the task of backing up and restoring your Drupal database or migrating data from one Drupal site to another. It supports gzip, bzip and zip compression as well as automatic scheduled backups.
- Coder - http://drupal.org/project/coder - Developer Module that assists with code review and version upgrade. The module supports a plug-in extensible hook system so contributed modules can define additional review standards.
Search Engine Optimization (SEO)
- Google Analytics - http://drupal.org/project/google_analytics - Adds the Google Analytics web statistics tracking system to your website.
- XML Sitemap - http://drupal.org/project/xmlsitemap - The XML sitemap module 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. The sitemap created by the module can be automatically submitted to Ask, Google, Bing (formerly Windows Live Search), and Yahoo! search engines. The module also comes with several submodules that can add sitemap links for content, menu items, taxonomy terms, and user profiles.
- SEO Checklist - http://drupal.org/project/seo_checklist - This module provides a checklist of good Drupal SEO (Search Engine Optimization) best practices. Maximize the presence of your Drupal website in the major search engines like Google, Yahoo, Bing, etc. It provides a checklist that helps you keep track of what needs to be done. First, it will look to see what modules you already have installed. Then, all you have to do is go down the list of unchecked items and do them. When all the items are checked, you're done!
- Page Title - http://drupal.org/project/page_title - This module gives you granular control over the page title. You can specify patterns for how the title should be structured and, on content creation pages, specify the page title separately to the content's title.
- Meta Tags (Nodeword) - http://drupal.org/project/nodewords - This module allows you to set some meta tags for each node, view or panels page.
- Global Redirect - http://drupal.org/project/globalredirect
- Path Redirect - http://drupal.org/project/path_redirect - This module allows you to specify a redirect from one path to another path or an external URL, using any HTTP redirect status.
Image & Video Handling
- ImageCache - http://drupal.org/project/imagecache - ImageCache allows you to setup presets for image processing. If an ImageCache derivative doesn't exist the web server's rewrite rules will pass the request to Drupal which in turn hands it off to ImageCache to dynamically generate the file.
- Transliteration - http://drupal.org/project/transliteration - This module provides a central transliteration service for other Drupal modules, as well as sanitizing of file names during uploads.
- ImageAPI - http://drupal.org/project/imageapi/ - This API is meant to be used in place of the API provided by image.inc. You probably do not need to install this module unless another module are you using requires it. It provides no new features to your Drupal site. It only provides an API other modules can leverage. Currently GD2 and ImageMagick support are distributed with ImageAPI.
- ImageField - http://drupal.org/project/imagefield - ImageField provides an image upload field for CCK. ImageField is a CCK-based alternative to the legacy Image project. It boasts features such as multiple images per node, resolution restrictions, default images, and extensive Views support.
- Embedded Media Field - http://drupal.org/project/emfield - This extensible module will create fields for node content types that can be used to display video, image, and audio files from various third party providers. When entering the content, the user will simply paste the URL or embed code from the third party, and the module will automatically determine which content provider is being used. When displaying the content, the proper embedding format will be used.
- Panels - http://drupal.org/project/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. Integration with other systems allows you to create nodes that use this, landing pages that use this, and even override system pages such as taxonomy and the node page so that you can customize the layout of your site with very fine grained permissions.
- Printer, e-mail and PDF versions - http://drupal.org/project/print - This module allows you to generate the following printer-friendly versions of any node
- Fivestar - http://drupal.org/project/fivestar - The Five Star voting module adds a clean, attractive voting widget to nodes in Drupal 5 and 6. Developed by Lullabot and an officially supported module in Acquia Drupal.
- Calendar - http://drupal.org/project/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.
- Lightbox2 - http://drupal.org/project/lightbox2 - The Lightbox2 module is a simple, unobtrusive script used to overlay images on the current page. It's a snap to setup and works on most modern browsers.
- Service Links - http://drupal.org/project/service_links - The service links module enables admins to add links to a number of social bookmarking sites, blog search sites etc. Included sites are: Buzz Yahoo, del.icio.us, Digg, Facebook, Furl, Google, IceRocket, LinkedIn, ma.gnolia.com, MySpace, Newsvine, Reddit, StumbleUpon, Technorati, Twitter, Yahoo (some of them are just available in dev version for now!).
- Tagadelic - http://drupal.org/project/tagadelic - Tagadelic is a small module, without any databases, or configuration, that generates a page with weighted tags. The cool thing is that by merely altering font sizes, these lists suddenly gain a dimension.
- Twitter - http://drupal.org/project/twitter - This module provides API integration with the Twitter microblogging service and API-compatible alternatives like Identi.ca.
- Ubercart - http://drupal.org/project/ubercart - Ubercart is an e-commerce suite developed for Drupal. It has been designed with the end user in mind, focusing on usability in three key areas: store configuration, product and catalog creation, and order administration. On the front end, all major systems are configurable and integrate with the standard Drupal systems (node, taxonomy, user, etc.). On the back end, the settings pages and order administration pages have been designed with ease of use in mind, and we are constantly working to lower the barrier to entry for new Ubercart users.
- CiviCRM - http://drupal.org/project/civicrm - CiviCRM is the first open source and freely downloadable constituent relationship management solution. CiviCRM is web-based, open source, internationalized, and designed specifically to meet the needs of advocacy, non-profit and non-governmental groups.
- Code Filter - http://drupal.org/project/codefilter - This is a simple filter module. It handles code and php tags so that users can post code without having to worry about escaping with < and >