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.
Real Name
The RealName module allows the administrator to choose fields from the user profile that will be used to add a "real name" element (method) to a user object. Hook_user is used to automatically add this to any user object that is loaded. It will also optionally set all nodes and comments to show this name.
Media: Vimeo
Drupal 7
Media: Vimeo integrates with the Media module to make Vimeo videos available as file entities.
Users can add Vimeo videos to their site in a file field or insert them into a WYSIWYG area by pasting the video's URL into the media browser web tab. Formatter options are available to customize the Vimeo player's appearance, show the video preview image, and enable the Javascript API. The 2x branch is under active development and uses the Vimeo iframe embed that can serve HTML5 videos to some mobile devices.
Drupal 6
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.
This module adds support for videos by the Vimeo provider to Embedded Media Field (version 6.x-2.x-dev and later). To use, install this module along with Embedded Video Field (included with Embedded Media Field), and Content Construction Kit. You can add 3rd Party Video fields and set any desired options at /admin/settings/media_vimeo, and then paste the desired Vimeo URL in the field on your content type.
Profile 2
Designed to be the successor of the core profile module, which is deprecated for Drupal 7. In contrast to the deprecated module this module provides a new, fieldable 'profile' entity - leverage the power of fields!
Requirements
- Entity API - Version 1.0 beta 9 or later!
Comparison to user account fields
As described in the documentation Drupal 7 allows adding fields to user account pages - what serves as simple way for building user profiles. The main differences between that and profile2 are:
- With profile2 user account settings and user profiles are conceptually different things, e.g. with the "Profile pages" module enabled users get two separate menu links "My account" and "My profile".
- Profile2 allows for creating multiple profile types, which may be assigned to roles via permissions (e.g. a general profile + a customer profile)
- Profile2 supports private profile fields, which are only shown to the user owning the profile and to administrators.
Relationship to content profile
Privatemsg
Privatemsg allows your site's visitors to send private messages to each other. Perfect for community oriented sites, such as forums and social networking sites. Many additional features are available as separate modules.
Current features
- send and receive private messages on a site (between multiple recipients)
- threaded conversations (make it easier to keep track of messages and replies)
- search private messages
- tagging and filtering (helps organise conversations)
- user blocking
- e-mail notifications of new messages
Need a feature or want to get involved?
Development is progressing quickly, so if there's a feature you need in Privatemsg, Search issues in the Issues for Privatemsg section to the left, or explore the links under Development below.
Privatemsg 6.x-1.x is the current stable branch
If you are interested in a stable and tested version of Privatemsg, use the latest stable 1.x release. No new features will be added to this branch and the API and UI is stable and will not be changed.
Privatemsg 6.x-2.x is the development branch
New features are being added constantly to this branch, use this if you want to test these and help with development. #721974: Roadmap for 6.x-2.x
Menu per Role
This module allows you to restrict access to menu items1 based on user roles. It depends on the Drupal core menu.module—just activate both modules and edit a menu item as usual. There will be a new fieldset that allows you to restrict access by role. The fieldset also appears in the node edit form.
1We wrote "menu items", not "nodes". This module does not prevent users from accessing the destination nodes. It only changes the visibility of the menu items.
Warning: Update in 6.x-1.x-dev (and next in 1.9)
The newest 6.x-1.x-dev reverts a change made in version 1.8 so administrators do not see hidden menus by default. However, the main administrator user (UID 1) still sees hidden menus unless you go to the new administrative screen and change the flags there.
Note also that the module was moved from the "Others" package to the "Menu" package. It seems to make sense to have it there since most menu related modules are found there.
File entity (fieldable files)
File entity provides interfaces for managing files. It also extends the core file entity, allowing files to be fieldable, grouped into types, viewed (using display modes) and formatted using field formatters. File entity integrates with a number of modules, exposing files to Views, Entity API, Token and more.
File Entity is required by the 7.x-2.x branch of the Media module.
The File entity project is not compatible with Media 7.x-1.x. You must use the File entity module bundled with Media 7.x-1.x.
Flex Slider
Flex Slider module integrates the Flex Slider library with Drupal and several contributed modules which allows you to build responsive, resizable slideshows. Meaning the slideshows automatically adapt to the size of the browser window or device.
Some features of FlexSlider slideshows include:
- Touch enabled nagivation
- Keyboard navigation
- Configurable slide animations
- Multiple sliders per page
- Lots more...
Current Options
Allows you to use Flex Slider in a few different ways
- As a library to be used with any other theme or module by calling drupal_add_library('flexslider', 'flexslider') or preferably with libraries_load('flexslider')
- Integrates with Fields (flexslider_fields)
- Integrates with Views using a style plugin (flexslider_views)
Examples in the wild
If you've setup FlexSlider on your site let us know and we'll share it here:
FlexSlider v2
API changes looming for 2.x
#1926060: API changes to flexslider_add()
FlexSlider Views Slidshow now a separate module
Follow
Follow adds sitewide and per user links that link to various social networking sites. The links reside in two blocks. The Follow Site block lists all the links for the site itself, and by default is visible on all pages. The Follow User block lists all the follow links for the user and is visible only on user profile pages.
Weight
This module adds a weight option to enabled node types. Nodes with lower weight will float to the top of lists, while heavier items will sink. It uses the node table's 'sticky' column to store weights as well as sticky information (so that feature is not lost).
You might be interested in reading Comparison of Node Ordering Modules.
Views Accordion
Views Accordion provides a display style plugin for the Views module.
It will take the results and display them as a JQuery accordion, using the first field as the header for the accordion rows.
For Drupal 7 the module integrates the jQuery UI Accordion plugin as a views style plugin. You can configure the options provided by the jQuery UI plugin. For Drupal 6 the module used it's own jQuery code, so a different set of features is available for D6.
Features
- Works with field grouping and relationships.
- Option to use the field grouping headers as the headers for the accordion items. (yay!)
- Configure settings for jQuery UI Accordion through the views interface.
Features only for Drupal 6 only:
- Option to Auto cycle items (which pauses on mouse over)
- Option to add Open All - Close All links.
- Configure whether or not you'd like to keep one item opened. (Ej. the user clicks on an opened item, whether you want it to close or not)
- Option to allow more than one row to be open
Field Slideshow
Overview
Provides a Slideshow formatter for Image fields, using JQuery Cycle plugin.
Compared to Views slideshows, building the slideshow from multiple nodes, this module builds it from a single node, with a multi-valued Image/Media/Field Collection field.
Available options
- Image style
- Caption
- Link
- Transition effect
- Transition speed
- Timeout
- Pager (numbers or thumbnails, with optional carousel)
- Prev/Next controls
Requirements
- Libraries API
- Jquery Cycle plugin
- JCarousel
Integration
This module plays well with:
- Colorbox (to enlarge images)
- Media (to provide the images to the slideshow, and use additional fields for captions and/or links)
- Field Collection (to provide the images to the slideshow, and use additional fields for captions and/or links)
Notifications
This is a complete Subscriptions/Notifications Framework aiming at extendability and scalability. It allows any number of plug-ins defining new event types or subscription types or a different user interface.
Drupal 7 upgrade
A quick D7 upgrade has been done for some limited funcionality.
See upgrade notes here: #936660: D7 upgrade task (Notifications module)
New in 6.x-4.x version
- Advanced queueing, fine tuning, drush processing.. Notifications Tools (Utility modules for sites with high load of Messages and Notifications)
- Different templates for each content type with new Content Type extension module (included)
- Configurable subscriptions, with simple checkbox options for user registration with Custom Subscriptions module (included)
- Subscriptions / Notifications for Anonymous users. New module for Anonymous subscriptions.
- Major OOP rework, lighter modules, performance improvements. See Changelog, screenshots and notes here: #775650: Messaging & Notifications 4.x: Documenting new features
- Important 6.x-4.x update notes:
- Requires Autoload module
- When running db updates, queued notifications will be deleted.
- This version will work with 4.x versions of Messaging, related modules tagged as 4.x, and not yet with Organic Groups
Image Assist
Image Assist allows users to upload and insert images inline into content. It automatically generates an "Add image" link under fields of your choice. Clicking the link opens an image browser, displaying all images that have been uploaded via the Image module.
Images can be filtered by ownership or taxonomy terms (categories). New images can be uploaded through Image Assist's dialog. Clicking on an image displays a properties page where attributes such as caption, size, and alignment can be set before the image is inserted into the post.
Image Assist is especially useful when using a client-side editor/WYSIWYG editor. Currently, it can be used with TinyMCE via Wysiwyg API - support for other editors is right on the way.
Shadowbox
Shadowbox is a JavaScript modal media viewer application for viewing images, video, Flash and other content in a modal window.
From the author of Shadowbox:
Shadowbox is an online media viewer application that supports all of the web’s most popular media publishing formats. Shadowbox is written entirely in JavaScript and CSS and is highly customizable. Using Shadowbox, website authors can showcase a wide assortment of media in all major browsers without navigating users away from the linking page.
SpamSpan filter
The SpamSpan module obfuscates email addresses to help prevent spambots from collecting them. It implements the technique at the SpamSpan website (a German version is also available). The problem with most email address obfuscators is that they rely upon JavaScript being enabled on the client side. This makes the technique inaccessible to people with screen readers. SpamSpan however will produce clickable links if JavaScript is enabled, and will show the email address as example [at] example [dot] com if the browser does not support JavaScript or if JavaScript is disabled.
This technique is unlikely to be absolutely foolproof. It is possible in theory for a determined spambot to harvest addresses from your site no matter how you disguise them. But research suggests that the by far the great majority of spambots do not bother to attempt to collect addresses which have been hidden using JavaScript. Indeed, most spambots cannot currently read JavaScript at all.
Here are a links to the results of a few experiments into the efficacy of JavaScript obfuscation. Let me know if you know of any more.
http://www.cdt.org/speech/spam/030319spamreport.shtml (2003)
Linkit
Linkit provides an easy interface for internal and external linking. Linkit links to nodes, users, managed files, terms and have basic support for all entities by default, using an autocomplete field.
In 7.x-2.4 there is also support for fields (text, textarea, and link).
Linkit has three major advantages over traditional linking
- The user does not have to copy or remember a URL.
- It will always try to link to the generic URL.
- It is a sustainable solution for internal linking.
Features
- Bacis support for all entities.
- Token support (for better descriptions on search results in Linkit).
- Provides a link button, similar to the ordinary link button in most editors.
- The button opens a dialog with an autocomplete field for searching content.
- Support for IMCE.
- Settings are handled by profiles, similar to the profiles of the WYSIWYG module. A profile contains settings and can be assigned to Drupal roles. Thus, it is possible to customize the behavior of Linkit in detail.
- Works with and without Pathologic.
Views attach
Note: This module has been deprecated for Drupal 7 in favor of its phoenix, EVA.
This module provides two additional Views display plugins, "Profile" and "Node content". These displays do not display on a page but get "attached" to either a user page or nodes of specified types. These views are not stored with the user or node, the way viewreference.module would, so they can be globally-reconfigured.
The node content display can be reordered on the "Manage fields" tab if CCK is enabled. If not, it will have a weight of 10 so it floats to the bottom of the node.
Usage tips
Many people have asked how to use this module to show content related to the node or user to which a view is attached. The answer is to use Arguments. Even though attached views have no path, they still get to make use of arguments.
- Create a nodereference field on some node type. Create several nodes of that type that nodereference to some other node.
- Create a new "Node content" display. Configure it as desired.
- Add an argument for the nodereference field you created in step 1.
- Set the default value of that argument to "Node ID from URL".
- Set the display to show on node types that are pointed to by that nodereference field.
CSS Injector
Allows administrators to 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 -- for example, a 'nighttime' color scheme could be added during certain hours. The CSS is added using Drupal's standard drupal_add_css() function and respects page caching, etc.
Thickbox
The Thickbox module is a wrapper for the jQuery plugin ThickBox.
Thanks to user contributions the module provides automated integration
with ImageField (CCK) + ImageCache and the Image module.
Styles
The DRUPAL-6--2-0 branch works well with the Node Reference / Embed Media Browser (nrembrowser) module to bring Media-like functionality to d6!
Drupal 6-x-1 version Styles works with Drupal 6 + Filefield Styles to bring Drupal 7 to Filefield.
Styles are containers to group similar field display formatters. For example, a style on a Filefield may contain several formatters based on the mimetype or stream, while a style on a node reference might display various formatters based on the referenced node type.
By itself, this module does nothing. Rather, it provides an API available for use by other modules. The Media Styles module, bundled with the Media module, is a fully featured module utilizing the API.
Hooks provided:
hook_styles_default_containers()
hook_styles_default_styles()
hook_styles_default_presets()
hook_styles_default_containers_alter(&$style)
hook_styles_default_styles_alter(&$style)
hook_styles_default_presets_alter(&$style)See http://groups.drupal.org/node/35206 for a quick background.
Conditional Stylesheets
Internet Explorer implements a proprietary technology called Conditional Comments. While web developers frown upon technologies that aren't cross-browser supported, many CSS developers have found Conditional Comments very useful. They can have cleaner CSS in their normal stylesheets and can fix the broken rendering in IE by placing IE-only CSS inside conditional comments; this technique is even recommended by Microsoft.
Without this module, the only way to have IE conditional stylesheets was to add 37 lines of code (more if you want to add more than one stylesheet) in four horribly-difficult-to-remember function calls to your theme's template.php. Blech. Who wants that?
This module allows Drupal 7 themes to easily add conditional stylesheets to the theme's .info file.
; Set the conditional stylesheets that are processed by IE.
stylesheets-conditional[lt IE 7][all][] = ie6-and-below.css
stylesheets-conditional[IE 9][all][] = ie9.css
stylesheets-conditional[IE][print][] = ie-print.cssViewfield
Viewfield provides a field that holds a reference to a View and renders it whenever the entity containing the field is displayed.
Features
- Author chooses a view and display from a list.
- View arguments are supplied through tokens.
- Administrators may restrict which views may be assigned.
- Administrators may supply a common value that will be used for all entities in a content type.
Boxes
Boxes module is a reimplementation of the custom blocks (boxes) that the core block module provides. It is a proof of concept for what a re-worked block module could do.
The module assumes that custom blocks are configuration, and not content. This means that it is a reasonable action to ask for all blocks at one time, this is in fact exactly what the core block module does.
Boxes provides an inline interface for editing blocks, allowing you to change the contents of blocks without going to an admin page.
Boxes provides exportables for its blocks via the (required) Chaos tools module. This allows modules to provide blocks in code that can be overwritten in the UI.
Chaos tools is required to use Boxes.
Boxes Integration
The following modules provide Boxes plugins. Let us know if your plugin is not listed here.










