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


Image CAPTCHA example

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 by spambots, which are automated scripts that post spam content everywhere they can. The CAPTCHA module provides this feature to virtually any user facing web form on a Drupal site.

Co-maintainer wanted

We do this our spare time, which is unfortunately almost nonexistent at the moment due to real life obligations. To give the CAPTCHA module the required level of maintenance, an extra co-maintainer would be welcome. If you're interested in helping with this very popular module, please contact me or open an issue in the CAPTCHA module issue tracker.



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.



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


Workbench Moderation


Workbench Moderation adds arbitrary moderation states to Drupal core's "unpublished" and "published" node states, and affects the behavior of node revisions when nodes are published. Moderation states are tracked per-revision; rather than moderating nodes, Workbench Moderation moderates revisions.


Menu Admin per Menu

By default, Drupal allows only users with the Administer menus and menu items permission to add, modify or delete menu items.

Menu Admin per Menu allows to give roles per menu admin permissions without giving them full admin permission.

For instance, you may let certain users manage the items of the Main or Navigation menus but not those of the Management menu.

Try out a demonstration
Watch a screencast


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.


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.


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.



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



This module allows you to create arbitrary Workflows, and assign them to Entities.

Workflows are made up of workflow states. Transitions between states can be allowed per role. For example, a workflow with the states Draft, Review, and Published could be assigned to the Story node type. Only users with role 'chief editor' can set Stories to the published state.
You can set up the Workflow to alter states from form, page, comment and a special workflow tab.



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.


Forum Access

This module changes your forum administration page to allow you to set forums private. You can control what user roles can view, edit, delete, and post to each forum. You can also give each forum a list of users who have administrative access on that forum (AKA moderators).

This module requires the ACL module in order to function. The D7 version also requires the Chain Menu Access API 2.x module.

Forum Access is compatible with the core Forum module, Advanced Forum, and Content Access, Domain Access as well as all other well-behaved node access modules.


Taxonomy Access Control

Access control for user roles based on taxonomy categories (vocabulary, terms).


Image CAPTCHA Refresh

Image CAPTCHA Refresh


This module adds the link for refreshing image into very popular module for widget image_captcha.

If you're interested in helping with this or have problems with this module, please contact me or open an issue in the Image Captcha Refresh module issue tracker.


Workbench Access

Workbench Access editor assignments

Workbench Access creates editorial access controls based on hierarchies. It is an extensible system that supports structures created by other Drupal modules.

When creating and editing content, users will be asked to place the content in an editorial section. Other users within that section or its parents will be able to edit the content. A user may be granted editorial rights to a section specific to his account or by his assigned role on the site.

The module supports Taxonomy and Menu modules for the management of access hierarchies.

Note that the module only controls access to content editing. It does not provide any content filtering of access restrictions for users trying to view that content.


Node access user reference

Node access user reference settings added to user reference fields.

Gives content access permissions to users for content that references the users with User reference or Entity reference.


Private files download permission

Version 1.x provided "two useful features which Drupal itself is missing: a simple permission to allow downloading of private files by role, plus the ability to combine both public and private downloads".

Version 2.x removes the "global" permission and implements a per-directory by-user and by-role filter instead, to let the administrator better tweak the whole website and increment the overall security.


User Relationships

Example of the relationship management screen.

Administrators are able create relationship types (friend, coworker, etc). Relationship types can be setup to be one-way or mutual. If a relationship type is one-way (subscriber) only the requester is shown as relating to the requestee. Relationship types can also be set as needing or not needing approval.

Administrators can give users the option to auto approve relationships on a per-relationship type basis.

Bundled with the main module are add-on modules providing functionality that not every site will need:

  • User Relationship Mailer will (conditionally) send email notifications regarding relationship creation/removal/approval/disapproval/cancellation.
  • User Relationship Defaults creates default relationships to any user joining the site (think Tom on MySpace).
  • User Relationship Implications allows admins to specify implied relationships (Manager implies Coworker) that are automatically created.
  • User Relationship Invites requires the Invite module and allows users to specify a relationship to a user that they invite to join the site.
  • User Relationship Privatemsg integration with the privatemsg module showing your relationships in the quick select list.


Module Grants

Accessible content menu option

D6 is approaching end of life. We'll be doing maintenance fixes only.

Module Grants makes modules that deal with content access permissions operate better on unpublished (as well as published) content. It also makes sure that access grants behave in an orderly fashion when such modules are used together.

  • Access grants are tested for unpublished content just as they are for published content
  • Allows modules that feature fine-grained access control (e.g. Workflow, TAC-Lite) to work together
  • While Module Grants' raison d'etre is to act as a catalyst amongst other modules when dealing with unpublished content and/or fine-grained access control, it does come with a handy feature of its own via the Module Grants Monitor submodule, which is bundled with the package download. After enabling Module Grants Monitor, a new item, Accessible content, appears in your navigation menu. Clicking on it reveals a summary of all the content the logged-in user has access to (i.e. view, edit) after access controls have been applied by the content access modules installed on your site. So if you have Workflow installed then what's editable to you and what's only viewable to you will depend on the workflow state the content is in. With the TAC-Lite module enabled it will depend on the vocabulary term(s) used in the content.
  • Thanks to dankh, Module Grants now also has Views support, allowing you to add to your views edit and delete links that properly honour permissions.


Content locking (anti-concurrent editing)

This module was, until recently, unsupported due to a security issue the previous maintainers didn’t fix. See SA-CONTRIB-2014-024 - Content Lock - CSRF for details.

Please ensure you use a newer, secure release (7.x-2.0 or later).


Node View Permissions

Node view permissions module enables permissions "View own content" and "View any content" for each content type on permissions page as it was on Drupal 6.
It's as simple as that.

It's implemented in a non-conflict way, so you can use it with any other permissions related module.

Created by ADCI solutions team


Taxonomy Access Control Lite

This node_access module governs access to nodes based on the taxonomy terms applied to the nodes. A simple scheme based on taxonomy, roles and users controls which content is visible.


Simple Access

Simple access Settings

This module allows administrators to make some nodes private and/or editable by certain user roles.


Protected Pages

Enter Password Page

Module description

Protected Pages modules allows the administrator to secure any page in your website by password. You just need to go to configuration page of this module and add path, password. After that the added path will be password protected. This module also allows you to send the details of this protected page to multiple users by email.


Trash Flag

Provides trash functionality using flag, views, and node access combined with (a lot) of permissions


Contextual Administration

Contextual Administration is an administration tool based on CTools Page Manager module. It allows for the deployment of custom administrative pages through a typical database driven mechanism or can take advantage of the typical page_manager exports through custom modules + exports or features module.

Visit our Google+ Page:

For more videos and regular updates: Contextual Administration

Video Documentation

Topic Link
Arbitrary Node Create http://youtu.be/Luc-bGGxa6c
VBO Administration Deployment http://youtu.be/M9KbemHvy4E
Custom Vocabulary Administration http://youtu.be/UNXCYeTZj7Y
Automatic Node Reference on Node Create http://youtu.be/BZxoUzIE5M4
Url Restructuring of Node View/Edit http://youtu.be/O4vvzSG7UAY


Path Access

The Path Access module gives site administrators an additional layer of access control to all pages of a Drupal site.