Drupal Essential Modules
So I was sitting here thinking to myself about when I am going to do my Drupal Screencast Series. I cant really talk to well at the moment due to having my wisdom teeth out, they don’t seem very wise anymore, so I thought I would do up a list of some of the key modules that you should be looking to use.
If you dont know about Drupal, it is mostly known as a Content Management System, but it is actually a Content Management Framework.
“Drupal is a free software package that allows an individual or a community of users to easily publish, manage and organize a wide variety of content on a website. Tens of thousands of people and organizations are using Drupal to power scores of different web sites”
So here we go…
The Heavy Weights (in no particular order)
These modules are the big guns if you want to work with drupal. You will need them at some stage no matter what
- CCK
- The Content Construction Kit allows you to add custom fields to nodes using a web browser.
- View CCK Project
- Common additional modules to extend CCK are: date, filefield, and imagefield.
- Views
- This tool is essentially a smart query builder that, given enough information, can build the proper query, execute it, and display the results.
- View Views 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.
- View Panels Project
- Contemplate
- The Content Template (a.k.a. ConTemplate) module allows modification of Drupal’s teaser and body fields using administrator defined templates. These templates use PHP code and all of the node object variables are available for use in the template. An example node object is displayed and it is as simple as clicking on its properties to add them to the current template.
- View Contemplate 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.
This module will need to be used at some stage, so you should definitely download it. - View Token Project
- 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.
- 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.
- View Pathauto 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.
- View Webform Project
Some other helpful modules
- 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.
- View Ubercart 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.
- View Imagecache 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.
- View ImageAPI Project
- Administration 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 - View Administration Menu Project
- Administration menu module provides a theme-independent administration interface (aka.
- Menu Settings per Content Type
- This module allow to set the Menu Settings with certain Menus for content editing by Content Type.
- View CTM Project
- Nice Menus
- Nice Menus enables drop-down/right/left expandable menus. It uses only CSS for most browsers, with minimal Javascript for IE6. (Version 2 uses the Superfish jQuery plugin for all browsers, with an option to disable JS, and falls back to CSS-only for browsers that can handle it.
- View Nice Menus Project
- Nodewords
- Giving more attention to the important metadata such as keywords and description on some of your nodes allows you to get better search engine positioning (given that you really only provide the keywords which exist in the node body itself, and do not try to lie).
- View Nodewords Project
- XML Sitemap
- 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.
- View XML Sitemap Project
- Page Title
- The word “title” is a bit overloaded. Every piece of content in Drupal has a title, and so does every page. The page title is the one found in the HTML head inside the <title> tag. It is also used on SERPs (Search Engine Result Pages) and can greatly enhance your websites SEO (Search Engine Optimization).
- View Page Title Project
- Demonstration Site
- This module allows you to take snapshots of your site. It turns a Drupal installation into a sandbox that you can use either for testing modules or setting up a public demonstration site for a module / extension / theme (you name it). Whenever you need to reset your site to a saved state a click of your mouse will do so. With cron enabled, a Drupal site can be automatically reset to a chosen snapshot in a definable interval.
- View Demo Project
- Poormanscron
- A module which runs the Drupal cron operations without needing the cron application.
- View Poormanscron Project
- Scheduler
- This module allows nodes to be published and unpublished on specified dates. Much like what is built into WordPress.
- View Scheduler 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.
- View WYSIWYG Project
- IMCE
- IMCE is an image/file uploader and browser that supports personal directories and quota.
When using with WYSIWYG module, you will need the IMCE WYSIWYG Bridge module. - View IMCE Project
- IMCE is an image/file uploader and browser that supports personal directories and quota.
- ACL
- The ACL module, short for Access Control List, is an API for other modules to create lists of users and give them access to nodes. It has no UI of its own and will not do anything by itself; install this module only if some other module tells you to.
- View ACL Project
- Content Access
- This module allows you to manage permissions for content types by role and author. It allows you to specifiy custom view, edit and delete permissions for each content type. Optionally you can enable per content access settings, so you can customize the access for each content node.
- View Content Access Project
- Modr8
- Provides an administrative interface for managing content in moderation.
Allows you to preview content, as well as approve or deny, and send messages to the author informing them of your choice.
- Provides an administrative interface for managing content in moderation.
Thats all I can think of for now. There are plenty more modules I could list but I think these are the essentials. I may update this list so check back soon.