Extend and customize Drupal functionality with contributed modules. If a module doesn't quite do what you want it to do, if you find a bug or have a suggestion, then join forces and help the module maintainer. Or, share your own by starting a new module.
Superfish integrates jQuery Superfish plugin with your Drupal menus.
- Touch-screen compatible. (Equipped with window width and HTTP UA string settings.)
- Small-screen compatible. (drop-down turns into a
<select>list. Equipped with window width and HTTP UA string settings.)
- Keyboard-accessible, screen reader friendly.
- Multi-column sub-menus. (Megamenus)
- Easing effects, automatic sub-menu width calculation (Supersubs plugin), automatic sub-menu placement (Supposition plugin; prevents sub-menus from appearing off-screen.)
- RTL (Right-to-left) language support.
- Plenty of built-in options for designers.
- And a whole lot more...
This project provides D7 versions of the 'node_reference' and 'user_reference' field types, that were part of the CCK package in D6, at functional parity with the D6 counterparts. See http://drupal.org/node/533222 for details.
Note for users upgrading from References 7.x-2.0-beta3
There were a couple changes in the way 'References' views are handled ("referenceable nodes/users defined by a view"), which might require double-checking those existing on your site:
- The 'label' (node title or user name) is no longer automatically added if not included in the view. If some of your 'References' views currently do not include it, you might want to add it explicitly, else it will no longer appear in the widgets.
- The HTML generated by the view is no longer stripped out before being handed to "checkboxes / radios" widgets, thus allowing advanced formatting. You might want to check for Reference views having fields configured to display "as links", since the (probably unwanted)
<a>tags generated by Views are not removed anymore.
Note for users upgrading from CCK D6
This module provides a site map that gives visitors an overview of your site. It can also display the RSS feeds for all blogs and categories.
"auto_nodetitle" is a small and efficient module that allows hiding of the content title field in the form. To prevent empty content title fields one can configure it to generate the title by a given pattern.
Work in progress for a Drupal 7 integration and collaboration between redirection-type modules:
- Path redirect
- Global redirect (Merged in basic functionalty: #905914: Merge global redirect functions into Redirect module)
- Common API for loading, saving, and deleting redirects.
- Case-insensitive redirect matching with a hook to allow other modules to narrow-down the candidate redirects.
- Redirect counter and last used timestamp, with automatic cleanup of inactive redirects.
- Integration with Drupal's page cache to optimize redirects and performance.
- Complete individual redirect access API.
- Views API integration.
The LoginToboggan module offers several modifications of the Drupal login system in an external module by offering the following features and usability improvements:
This module allows users with proper permissions to upload images into Drupal. Thumbnails and additional sizes are created automatically.
Images could be posted individually to the front page, included in stories or grouped in galleries.
Image module ships with several add-on modules:
- Image Gallery: Using taxonomy terms, organize and display your uploaded pictures in galleries (include Views support if you have Views 6.x-2.6 or later).
- Image Attach: Allows you to easily attach image nodes to other node types.
- Image Import: Simplify adding multiple images by importing images from a directory on the server.
- ImageMagick Advanced: Adds advanced ImageMagick options such as image sharpening to the ImageMagick image toolkit. This component is unsupported.
Media: Youtube integrates with the Media module to make Youtube videos available as file entities.
A YouTube search tab is available in the 2.x-dev versions, but is commented out in the stable release.
Note for users updating from 1.x or 2.0-alpha2 to 2.0-rc1: The markup and formatter options have changed in the new release. A legacy markup tpl is included with the 2.x branches; for instructions on how to use it please see the README.
The 6.x branch is no longer actively developed or supported by the module maintainers. Community submitted patches that reach RTBC status will be committed.
Provides support for the YouTube video provider for Embedded Media Field.
Requires the 6.x-2.x-dev (or greater) branch of Embedded Media Field, until the issue #725940: Cannot redeclare provider files when enabling media: provider modules is resolved.
Transform any of your taxonomy vocabularies into existing menus easily!
- Custom Menu per vocabulary
- Uses the default taxonomy term path or custom paths
- Integrate with Views
- Integrate with Pathauto: use URL/path aliases
- Does not interfere with other menu modules
What is Content Access?
Yet another content access module.
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.
- It comes with sensible defaults, so you need not configure anything and everything stays working
- It is as flexible as you want. It can work with per content type settings, per content node settings as well as with flexible Access Control Lists.
- It tries to reuse existing functionality instead of reimplementing it. So one can install the ACL module and set per user access control settings per content node.
Furthermore the module provides conditions and actions for workflow-ng / rules, which allows one to configure even rule-based access permissions.
- It optimizes the written content node grants, so that only the really necessary grants are written. This is important for the performance of your site.
- It takes access control as important as it is. E.g. the module has a bunch of simpletests to ensure everything is working right.
Display Suite allows you to take full control over how your content is displayed using a drag and drop interface. Arrange your nodes, views, comments, user data etc. the way you want without having to work your way through dozens of template files. A predefined list of layouts (D7 only) is available for even more drag and drop fun!
By defining custom view modes (build modes in D6), you can define how one piece of content should be displayed in different places such as teaser lists, search results, the full node, views etc.
Watch a screencast to see it all in action!
- Add your own custom fields in the backend or in your code
- Add custom layouts in your theme (D7 only)
- Change labels, add styles or override field settings (semantic fields).
- Full integration with Views and Panels
- Extend the power of your layouts by installing Field Group
- Optimal performance with Object cache (D6) or Entity cache (D7) integration
This module allows you to generate the following printer-friendly versions of any node:
- Printer-friendly version (webpage format) (at
- PDF version (at
- Send by email (at
where nid is the node id of content to render.
Important: The current versions of the module require at least Drupal 5.17, 6.11 or 7.0. They will not work in older versions.
The modules list page can become quite big when dealing with a fairly large site or even just a dev site meant for testing new and various modules being considered. What this module aims to accomplish is the ability to quickly find the module you are looking for without having to rely on the browsers search feature which more times than not shows you the module name in the 'Required by' or 'Depends on' sections of the various modules or even some other location on the page like a menu item.
When tabs is enabled via the Module Filter's settings page, a new module layout theme is implemented. This tab layout provides a tab for each package as well as a tab that will show every module alphabetically. The filter textfield is available on each tab but currently doesn't support autocomplete.
This extensible module will create fields for 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.
The module is only an engine, and requires a supported module to function. These include 'Embedded Image Field', 'Embedded Video Field' and 'Embedded Audio Field'. These modules are included in the contrib folder of the module, so they can be easily activated from the module administration page.
Please note: As of emfield 2.x, provider files for these modules are no longer included with the main emfield module, and must be downloaded separately- please see the list of projects providing provider files below.
Modules extending Embedded Media Field
The following modules work in conjunction with this project, largely to expose media providers (you'll need at least one of these to make the module useful):
Mollom is an "intelligent" content moderation web service. By monitoring content activity on all sites in the Mollom network, Mollom is in a unique position to determine if a post is potentially spam; not only based on the posted content, but also on the past activity and reputation of the poster. In short, Mollom handles incoming posts intelligently, in much the same way a human moderator decides what posts are acceptable. Therefore, Mollom enables you to allow anonymous users to post comments and other content on your site.
Import or aggregate data as nodes, users, taxonomy terms or simple database records.
- One-off imports and periodic aggregation of content
- Import or aggregate RSS/Atom feeds
- Import or aggregate CSV files
- Import or aggregate OPML files
- PubSubHubbub support
- Create nodes, users, taxonomy terms or simple database records from import
- Extensible to import any other kind of content
- Granular mapping of input elements to Drupal content elements
- Exportable configurations
- Batched import for large files
For requirements and installation instructions, refer to the included README.txt file.
Upgrade from FeedAPI
Aron Novak and yhahn have provided a module for upgrading FeedAPI to Feeds.
This module provides a suite of additional image effects that can be added to image styles. The image styles admin submodule also adds the 'duplicate', 'export' and 'import' actions to image styles administration.
Address Field defines a new field type to store international postal addresses, implementing a subset of the address elements defined in the xNAL standard (see the glossary below). The field configuration lets you determine which elements of an address should be present in the field widget form and which ones should be rendered for display.
This module was initially developed to support address storage in Drupal Commerce customer profiles, but it is now used by a wider variety of modules dealing with physical addresses and mapping.
- Standardized storage of international postal addresses based on the xNAL standard (the same format used by Google Maps for geocoding)
- Per-country edit form and formatting of addresses
- Proper formatting of address forms and output on a country by country basis as they are added to the module; see the address formats issue queue for pending country support
- Feeds integration for address importing
This is a Mime Mail component module (for use by other modules).
- It permits users to receive HTML email and can be used by other modules. The mail functionality accepts an HTML message body, mime-endcodes it and sends it.
- If the HTML has embedded graphics, these graphics are MIME-encoded and included as a message attachment.
- Adopts your site's style by automatically including your theme's stylesheet files in a themeable HTML message format
- If the recipient's preference is available and they prefer plaintext, the HTML will be converted to plain text and sent as-is. Otherwise, the email will be sent in themeable HTML with a plaintext alternative.
- Allows you to theme messages with a specific mailkey.
- Converts CSS styles into inline style attributes.
- Provides simple system actions and Rules actions to send HTML email with embedded images and attachments.
Note that there are some serious limitations you need to take into consideration when creating email layouts, see the Email Standard Project for more information.
This module is required by the Send module.
The 7.x branch requires the Mail System module.
This module allows developers and themers to make use of the jCarousel jQuery plugin. It includes a developer API that other modules can use, as well as Views integration in the 2.0 version so that you can turn any list of content or images into a carousel.
This module is no longer being actively developed. It's quite stable, but the jCarousel library currently does not support touch events or responsive resizing. While the new 0.3.0 release of the jCarousel library may improve some things, the times have left jCarousel behind. You may be better looking into a project like Flexslider. Please contact me if you're interested in taking over this module.
- Built-in Views support.
- AJAX-loading of additional items as needed.
- Carousel pager/navigation to jump between multiple pages.
- Circular wrapping of items.
- API for direct usage of jCarousel without Views.
See the included README documentation for an introduction on using jCarousel.
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 lattitude/longitude), and associate locations with Drupal nodes and users. Location data is automatically used to generate GeoRSS within your existing RSS feeds.
We need help from developers with #1931088: [META] Fixing tests
At present, it is the only module that provides the views integration necessary for implementing location-based searches and is designed for the purpose of finding points on a map within a vicinity of a user-supplied location. If you are interested in the presentation and manipulation of geographic data beyond points (e.g., lines, polygons, etc) I would recommend using the geofield and open layers modules.
Important location search change: For those using the location search sub-module, as of location 6.x-3.2 and 7.x-3.0-alpha1 users must have the "access content" permission and any relevant node access rights to see node based location search results and the "view user profiles" and "view all user locations" permissions to see user based location search results.
If updating from earlier versions and using location search, make sure to check these permissions.
Simple API for scheduling tasks once at a predetermined time or periodically at a fixed interval.
If you plan to use this API in your module in 6.x, make sure to review upcoming API changes.
Strongarm gives site builders a way to override the default variable values that Drupal core and contributed modules ship with. It is not an end user tool, but a developer and site builder tool which provides an API and a limited UI.
An example of such a variable is site_frontpage. In Drupal this defaults to node, which ensures that the front page gets content as soon as some exists, but for many Drupal sites this setting is simply wrong. Strongarm gives the site builder a place in the equation - an opportunity to set the site_frontpage to something that makes sense for their site.
Strongarm leverages ctools to provide exportables of Drupal variables. This branch also allows Strongarm to be used with the Features module. More information about this work is available on this blog post.
VotingAPI helps developers who want to use a standardized API and schema for storing, retrieving, and tabulating votes for Drupal content.
Simplenews publishes and sends newsletters to lists of subscribers. Both anonymous and authenticated users can opt-in to different mailing lists. HTML email can be sent by adding Mime Mail module.
Simplenews 7.x-1.0 has finally been released which includes a number of other important bugfixes, especially in the upgrade path.
- Sending nodes as newsletters to subscribers
- Multiple newsletter categories with separate settings
- Per category and multi-signup Blocks and Pages
- Subscriber management including mass-subscription and export
- Optional E-mail confirmations for anonymous users
- Customizable newsletter templates
- Support for HTML (including text alternative) newsletter when used in combination with a supported mail system module
- Views and Rules integration
- Support for multi-language newsletters