494 Modules match your search

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.

Entity API

This module extends the entity API of Drupal core in order to provide a unified way to deal with entities and their properties. Additionally, it provides an entity CRUD controller, which helps simplifying the creation of new entity types.

Requirements

  • Drupal 7.2 or later; suggested Drupal >= 7.15

Documentation

You can find documentation in the handbooks. Also check the README and the provided API docs in entity.api.php.

Overview

For site-builders

This is an API module, so it doesn't provide any end-user features. However, it provides some entity generic functionality to other modules that site-builders may leverage:

  • A Views display plugin and field to render or link to any entity (by view-mode)
  • A CTools content plugin to render any entity (by view-mode)

Downloads

Panels

An Overview of 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.

Integration with CTools module

Panels 3 utilizes the CTools' system of "context" so that the content you place on the page can be aware of what is being displayed. For example, in the existing Drupal setup, a block has no real knowledge of what the primary page is displaying. There are all kinds of tricks and tools you can use to get information to the blocks, but this generally means writing PHP code to scan the URL and pull the data out, which is not a very good thing when that data should already exist.

Panels uses Contexts - What are they?

Downloads

Variable

Variable module provides a registry for meta-data about Drupal variables and some extended Variable API and administration interface.

This is an API module so it must be installed only when other modules require it.

Module Developers: Please declare your variables.

Add-ons for module developers here: Variable Extra

This is a nice introduction to the module by Lullabot, Module Monday: Variable.

Why?

  • So other modules can know about your module's variables and they can be translated, exported, used in views, etc.
  • You'll get automatic variable edit forms, tokens, access control and uninstall for free
  • Your module's variables will be allowed for Variable Realms being able to get values for each language (Internationalization) or Domain (Variable Domain)

Downloads

Page Title

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).

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.

Downloads

Views PHP

This module allows the admin account (user 1) to add fields, filters and sorts to views which use PHP code. It also supports additional accounts when the core PHP Filter module is enabled.

Downloads

Content Access

Content Access tab in a content type

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.

Features

  • 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.

Downloads

Services

A standardized solution of integrating external applications with Drupal. Service callbacks may be used with multiple interfaces like REST, XMLRPC, JSON, JSON-RPC, SOAP, AMF, etc. This allows a Drupal site to provide web services via multiple interfaces while using the same callback code.

Since our documentation is somewhat lacking on drupal.org, you can watch this for a 1 hour overview of what services is and what it does. http://denver2012.drupal.org/program/sessions/services-inside-and-out If for some reason that site is down, the video can be found here http://www.youtube.com/watch?v=6-2kw7iXf1U

Visit the Services Handbook for help and information. Subscribe to the Services Group for news, updates and discussions.

Version 3

Downloads

Nodeblock

This module allows you to specify content type(s) as being a block. This allows the content managers of the site to edit the block text and title without having to access the block administration page. Users only need edit access to that node in order to edit it.

We advice you to use this module together with Node Level Blocks or Block Reference module.

It is very handy to create a simple block content type and enable this content type for blocks and use these in place of the normal 'add block' functionality.

Now supports translatable content

If Content Translation is enabled, then only a single node block per translation set is exposed and the node from the translation set with the appropriate language is loaded into the block. Entity translation is not supported yet.

Other modules

There are several other modules and approaches that allow nodes to be presented as a block. See a comparison at http://groups.drupal.org/node/93499

Drupal 7

The Drupal 7 version of this module enables the use of view modes. This gives the user even greater control over customizing the output of the node block. Default view modes and links display can now be assigned per content type and then overridden at block/node level.

Drupal 6

Downloads

Security Review

Security review example results page

The Security Review module automates testing for many of the easy-to-make mistakes that render your site insecure.

Downloads

Workbench

workbench-screenshot.png

Workbench provides overall improvements for managing content that Drupal does not provide out of the box. Workbench gives us three important solutions:

  • a unified and simplified user interface for users who ONLY have to work with content. This decreases training and support time.
  • the ability to control who has access to edit any content based on an organization's structure not the web site structure
  • a customizable editorial workflow that integrates with the access control feature described above or works independently on its own

These features benefit the end users as well as Drupal Site Administrators and Technical Support.

For Drupal Developers and Site Builders, Workbench provides several additional benefits:

  • a modular architecture: only install and enable the modules you want
  • extensibility: we would love to see more integration with other Drupal modules (in fact we have our eyes on Scheduler and Workflow modules and improvements for Asset Management)

Related Modules

Downloads

Advanced Forum

Advanced Forum builds on and enhances Drupal's core forum module. When used in combination with other Drupal contributed modules, many of which are automatically used by Advanced Forum, you can achieve much of what stand alone software provides. Because it uses the core forum module, it uses the node and comment system built into Drupal and is completely integrated, not a bridge. While it doesn't have all of the features of stand alone forum applications, being completely integrated into your site provides advantages that they don't.

Downloads

Email Registration

Allow users to register and login using only an email address. Users can then log-in using their email address and password for authentication.

Downloads

ACL

The ACL module, short for Access Control Lists, 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.

We're aware of the following modules using ACL (let us know if you know of others):

Downloads

view_unpublished

Description:
This module allows you to grant access for specific user roles to view unpublished nodes of a specific type. Access control is quite granular in this regard.

Additionally, using this module does not require any modifications to your existing URL structure.

Downloads

Override Node Options

Override Node Options

The Override Node Options module allows permissions to be set to each field within the Authoring information and Publishing options field sets on the node form. It also allows selected field sets to be set as collapsed and / or collapsible.

To install:

  1. Download, unpack and place in sites/all/modules/
  2. Adjust access control in admin/user/permissions
  3. Adjust Fieldset options in admin/settings/override_node_options

Note: Autocomplete "Authored by" field only works if user has "Access user profiles" permission.

Downloads

Search configuration

Combining both search forms, hiding fields, changed labels & reducing node types

This module has five main functions.

  1. Alter the appearance of the core node search form
  2. Group content types for more meaningful searching
  3. Restrict search results by the content type.
    This is a role based restriction.
  4. Restrict search results from showing individual items.
  5. Alter the pager limit (aka number search item results per page).

Admin user (uid 1) is exempt from restrictions.

Downloads

EU Cookie Compliance

#D8CX: I pledge that EU Cookie Compliance will have a full Drupal 8 release on the day that Drupal 8 is released.

Notice: If you are using a responsive theme please use the 7.x-1.12 version or later of the module.

Overview

This module intends to deal with the EU Directive on Privacy and Electronic Communications that comes into effect in the UK on 26th May 2012. From this date on, you run the risk of enforcement action if you are not compliant or visibly working towards compliance. More information can be found here

The above information applies to the UK however the EU law will be enforced in all EU countries and hence the module can be used everywhere in the EU.

By enabling and configuring the module you will demonstrate to the regulator that you, as the owner of the website:

  • are doing as much as possible to reduce the amount of time before your visitors receive information about cookies (information appears as soon as a visitor enters the site).
  • are providing your visitors with options. (find out more about cookies, do not browse if you disagree).
  • ensure that the information on cookies is readily available to your visitor(visible pop-up at the bottom of the screen).

Downloads

Menu per Role

Sample of hide/show flags in the edit node and edit menu forms.

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.

Downloads

Domain Access

Screen shot 2011-09-16 at 11.50.21 AM_0.png

Drupal 8 status

See https://github.com/agentrickard/domain for the most current work.

Overview

The Domain Access project is a suite of modules that provide tools for running a group of affiliated sites from one Drupal installation and a single shared database. The module allows you to share users, content, and configurations across a group of sites such as:

  • example.com
  • one.example.com
  • two.example.com
  • my.example.com
  • thisexample.com <-- can use any domain string
  • example.com:3000 <-- treats non-standard ports as unique

By default, these sites share all tables in your Drupal installation. The Domain Prefix module (for Drupal 6) allows for selective, dynamic table prefixing for advanced users.

Installation

Module installation requires edits to your site's settings.php file. See the online installation guide for details.

Technical background

The module uses Drupal's Node Access system to determine what content is available on each site in the network. Unlike other multi-domain modules for Drupal, the Domain Access module determines user access based on the active domain that the user is viewing, rather than which group or site the user belongs to. For more information about Node Access in Drupal, see http://api.drupal.org/api/group/node_access/7

This module uses some advanced Drupal concepts and requires that you understand and control your site's DNS configuration. See this case-study or this more recent Row Eleven Wine Co. post for more details about using Domain Access.

You can also watch video of the DrupalCON Paris session "Managing Multiple Sites with Domain Access" (from 2009).

If you are looking for a module to provide subdomains to users and groups and do not need to affiliate content, take a look at Subdomain.

Downloads

Entityform

Drupal 8

For Drupal 8 Entityform is now EForm

Overview

The Entityform module enables you to create front-end forms (fieldable entities), which contain fields that you define! These forms use the standard Drupal fields. This means that out of the box, you can use any standard Drupal node field! As of the time this article was written, there were over three hundred "field" modules. And since Entityforms are "Drupal entities", you will automatically be able to use future "field" modules!

The forms can be used to create custom surveys, petition, and personalized contact forms, and other customized form. (For those of you who have used Webforms, this module brings Webform's functionality into the "standard" Drupal field / entity world.)

As with everything in Drupal, there are Pros and Cons to using Entityform. All though Entityform is a powerful tool, it is not always the best solution. The article When to Use Entityform discusses the advantages and disadvantages that Entityform may have over other methods of creating user "submittable" forms. Do not use Entityform for forms that will contain 150+ form elements

Reccomended Versions

The Drupal 8 verision of Entityform has been renamed to EForm(to avoid name confusion).

For new users the 7. x-2. x alpha versions are recommended. These versions are also recommended for current 7.x-1.x users who are NOT using built in Rules integration. The only remaining issues with them is upgrading 7.x-1.x Rules integrations to use Entity Rules.

The Problem

While Webform is a great module with a huge following, it does not integrate with standard Drupal field or entity aware modules. And while Webform can be integrated into Rules and Views via additional modules, it does add complexity and overhead.

The Solution

To solve these issues, the Entityform module was created. It is a survey creation tool that allows integrates with standard Drupal field and entity aware modules out of the box.

Features

  • Ability to attach any Drupal Field to the Forms
  • Ability to use most field based and entity aware modules.
  • You can download submitted data to XML and / or CSV data files using View Data Export.
  • Rules based form submission notifications. Allows for complex notifications logic.
  • Rules based form access control. Allows for complex access logic.
  • Use Views to create to create an administrative listing of each Entityform type Submissions for fine grain control.

Downloads

Nodeaccess

Nodeaccess Grant tab

Nodeaccess is a Drupal 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. Administrators can set default access controls per content type, and also define which roles are available to grant permissions to on the node grants tab.

The upshot is, this module allows you to do things like 'node 123 can be viewed by authenticated users and edited by admin users and joeuser'. As an added bonus, update and delete permissions are separated, so you can make sure users with edit permissions cannot accidentally delete pages.

7.x version
The previous maintainer (chadcf) had released a dev version of nodeaccess for D7. Over the following months a number of bugs/issues were reported and as of May 7th, 2013, all bug reports in the issue queue have been addressed (where possible) and with that, version 7.x-1.0 has been released as a stable/recommended release for Drupal 7.

Future Roadmap

Downloads

Fieldable Panels Panes (FPP)

This module creates an entity that may be used in panel panes to create fieldable entity panes. These panes can be created either directly in the Panels UI or in a separate administrative UI and later added.

Once added, they can appear in the "Add content" dialog to be easily reused. Since they are fieldable entities, they can contain any kind of data that field API can provide.

Each entity supports revisions, and any revision can be made current without having to make a new revision.

Downloads

elFinder file manager

screenshot12.png

elFinder is a open source AJAX file manager

Features:

  • Integrated with WYSIWYG API capable editors: CKEditor, FCKeditor, TinyMCE, BUEditor (D6), jWYSIWYG (D6), YUI, WYMeditor
  • Multiple file upload
  • File copying/moving with Drag & Drop support
  • Quick file and directory rename
  • Image resizing
  • Lightbox-preview
  • Contect menu with generic file/directory operations
  • Inline text file editing
  • Favories directory list
  • Directory selection history
  • Working with archives
  • File descriptions

Upcoming 2.x version additional features:

  • Drag and Drop file upload
  • Drupal file table integration (including Private filesystem support)
  • Search
  • Visual image resize, crop and rotation
  • Role based access control

Module/Library version compatibility list

Module verson Supported library versions
7.x-0.8 1.2
7.x-0.7 1.1RC3 - 1.2

Downloads

Openlayers

The Drupal Openlayers Module

Features & Submodules

OpenLayers
The OpenLayers core code stores map configurations: maps, styles, layers, and behaviors, and combines them to create maps using the OpenLayers JavaScript library on any Drupal site.
Layers
OpenLayers supports a wide range of map types and new types can easily be added as ctools exportables - new layer types are being added all the time. Currently the module supports OpenStreetMap, Google Maps, Yahoo Maps, Bing Maps, TMS, WMS, CloudMade, XYZ map types and the MapBox maps.
Projections
OpenLayers supports a wide range projections and new ones can easily be added as ctools exportables. Proj4JS is the JS library who allows to create custom projections, so, the proj4js module is now a dependency.
Behaviors
Map interactions like popups, zoom controls, editing, and fullscreen can be added via the UI and extended by other modules.
OpenLayers UI
This module allows for a user interface to create and store maps which can be used to customize all sorts of things like CCK Formatters to Views Plugins. Maps can be provided by code or stored in the database and integrated with Features.
OpenLayers Views

Downloads

Revisioning

Revision summary page

Revisioning is a module for the configuration of workflows to create, moderate and publish content revisions.
You use it in scenario's like this:

  • Authors write content that prior to being made publicly visible must be reviewed (and possibly edited) by moderators. Once the moderators have published the content, authors should be prevented from modifying it while “live”, but they should be able to submit new revisions to their moderators.
  • We shouldn't have to grant these roles “god-like” powers (e.g. D6's "administer nodes" permission) to implement this.

Downloads

Pages