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

Field Paywall

Field Paywall allows developers to replace fields on entities with a message depending on user permissions. It's useful for giving visitors teasers to content before advising them to sign up to see more.

Walkthrough video

A walkthrough video is available at http://youtu.be/a-Y8tiHuvaQ with a full demonstration of how to use field_paywall and how to override field_paywall templates.


URL alias restriction

Drupal is quite talkative in terms of showing off it's content. Often it makes content accessible which we actually don't want to show. That happens for instance very easily, if you're using nodes as content containers only - never really wanting to show the actual node pages of these containers.

Thanks to taxonomy node and similiar listings + some SEO javascript "callling home" often these unstyled content containers land on public search indexes as soon as an Administrator has an accidental look at these listing or node pages.


Directory based access control (ACL)

This project defines directory based access control to the "directory based organisational layer" module. This module can be enhanced by the module
"Directory based field".


Secure Notes

Secure Notes helps solve the problem of exchanging sensitive information with people who do not have the same tool-set or skill-set. It provides a system, similar to password reset links in which a one-time node creation link can be sent to a person's email address. This is meant to solve the problem of exchanging sensitive passwords via email.


IP Path Access

Drupal Contributed Module IP Path Access

IP Path Access is an access control module which allows an administrator to set a path and IP (or IP range) and prevent all users from accessing the path that are not accessing from the set IP address (or IP range).

In other words, the module is intended to permit access to the path and IP set, and deny for all others.

There are permissions available to specify which roles can add and delete IP settings, as well as user roles who can bypass the IP blocking.

Multiple IP and path pairs can be set, as long as they do not exactly match.


Block display duration (in days)

Block Display Control Type Listing

This module allow to control the visibility of a block in time duration. The time duration can be set in number of days.

How time duration calculation works.

  • No. of days (If block have the value for start date & and end date)
  • Start date to Infinite time (If block have only start date value)

Why This
Using this module a block can be set as banner for display specified time


Private comment

This module allows you to restrict access to a comment by changing the theme of the comment if there is private.

Installation and configuration

Normally install the module in sites/all/modules, and enable it,
then go to admin/structure/types/manage/YOUR_CONTENT_TYPE/comment/fields and add a boolean field with the machine name field_private_comment.
Set it with
On value : Private comment
Off value : Public comment

Configure permission in admin/people/permissions#module-private_comment


Publication Agreement

Publication Agreement:  A Terms and Conditions example page.

Agreement prior to publication.

This simple module allows you to present a text-based agreement that users of a particular role must accept before they are allowed to access for adding a new node.


Og comments access

Og comments access allow you to manage comment access in Organic group context.

It comes with new og permissions :

  1. Administer OG comments
  2. Modify any OG comments
  3. Delete own OG comments
  4. Post OG comments

With these permissions, you can now restrict comment posting on group.
You can also allow particular OG role to modify all group comments.

These permissions overwrite the global Drupal permission in the group context.


Content Mask


Mask parts of your content for certain users based on their role or UID. The module adds the content_mask shortcode for defining parts that should be masked, e.g.

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla ac ligula non augue scelerisque dapibus vel et ante. Pellentesque volutpat nibh ut ipsum bibendum euismod. Ut nibh nisi, aliquam sed ornare eu, hendrerit quis nunc. Nam vel nunc sed erat dapibus accumsan id eget nunc.

[content_mask uid="1"]
Mauris ornare augue ac augue tempor auctor. Praesent justo ligula, convallis quis semper a, eleifend ut mi. Etiam eleifend aliquet quam, accumsan eleifend erat vestibulum at. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.

[content_mask role="editor|administrator"]
Praesent rutrum, ligula vitae porta faucibus, nunc ante consequat est, in imperdiet eros odio vitae nunc.

The module uses Wordpress's shortcode regex as base for handling the masked


  • Filter


  1. Enable the module.
  2. Go to admin > configuration > content authoring > text formats.
  3. Click on a text format you would like to have content_mask support.


Taxonomy Term Page Access

This module introduces a new permission to restrict access to /taxonomy/term/TID and /taxonomy/term/TID/feed pages. The restriction is global for all vocabularies. If you need more fine grained control, have a look at Rabbit Hole.

The development of this module did not take a lot of time, but was nonetheless sponsored by Whisky Echo Bravo.


Panelizer Variants

Panelizer Variants

This module adds the functionality to have Panelizer Variants based off of List Defaults in Panelizer Full Page Override. What this does is allows you to have multiple layouts for one content type based off a field selection. The functionality doesn't seem to really exist yet. WELL, now it does!


GeoIP Country

If you would like to restrict your content to only show in a certain country, use this module.

It depends on the location module to provide a list of countries, and geoip api module to determine the country a user is in.


Total Moderation Control

This module provides integration between Workbench moderation module and Total Control admin dashboard.

  • It provides content panes for the dashboard based on moderation.
  • It changes the view paths so that they work with total control instead of workbench.


Read only node

The read only node module is allow you to set a node as read only by adding a new "Publishing option".
The module commes with 4 new permission :

  • set node as read only
  • set node stiky
  • set node status
  • set node promote

When a node is set as Read only, only the role with the permission 'set node as read only' can edit it.


Taxonomy simple access

Taxonomy simple access provides a simple way to grant access to a term or its children (other terms, nodes) by roles.


Field Access

Field Access API provide an wrapper to let other modules easily implement any access criteria for fields, both for view and edit mode.
It let developers define any custom rule for granting or not access to a specific field.

It is an API module, so doesn't provide any end-user feature on its own, and is intended for developers. Install it only if another module requires it or you want to make your own implementation.


Privacy Per User

Privacy Per User provides a simple framework to enable privacy settings per user, similar to the privacy settings on a site like Facebook. Those settings may be used to check access for display of entire pages, elements of a page (such as in a theme), or as an argument validator in a View. This allows individual users to control access to things such as their profile, specific elements of their profile, or lists of content they may have made, e.g. flagged nodes. It offers a flexible API to allow additional privacy states to be added (e.g. friends only) and an exportable set of privacy types.



The predelete module hooks into the deletion process of nodes. By default it is not possible to react on a deleteion attempt before the deletion of a node. This is cured by providing the hook_predelete_node(). Other modules may implement the hook and add custom checks on the node that is about to be deleted.

The module ships with an API documentation and an example module that provides a single checkbox field. Nodes that contain the field could only be deleted if the checkbox is checked.


Better Domain Blocks

This module allows granular control of block visibility on a per-domain basis.

Use this module to set different visibility rules for each domain on your site, as setup by the domain access module. You can use this module in conjunction with the Domain Blocks module to restrict blocks from certain domains.

After installing your module, visit a block edit page and see the extra options added to "page visibility".


Domain Field Access

The Domain Field Access module is an add on module for Domain Access allowing you to restrict access to Fields based on the domain.

For example, you can have a field on domains A and B but not C.


Access Links

This modules builds on the Node authorize link project. It provides view, edit and delete links for nodes. Users with an access link can view, edit, or delete a node without login.

Access links is a small project that might go into the Node authorize link module later.


Limit Visit


This module will count the number of times an authenticated user visits a page matching a path pattern. If the views per hour reach the established limit the user will be redirected to either an established page or a will be sent to the standard 403 page.

Permissions exist to allow roles to ignore the limits so administrators can browse without limitation.

Use Cases

The use case I initially built this for is to deter users from manually scraping through other user's profiles to build mailing lists.


Le Gate- A generalized age gate solution

Le Gate is a simple module that restricts user access to pages on a site, and then provides two mechanisms
by which users can then gain access. It was first developed as an "age gate" module to allow access to a site
only when an appropriate age is selected (>15yo for COPPA). But then we decided to make it more generic.

When a user tries to access a restricted page they are redirected to a configurable and themable page
(the "le-gate" page) that presents one of two ways to gain access. When access is gained a javascript cookie is set.


Shield Pages

Shield 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 allow administrator to set global password for all shielded pages.This module allow administer to set multiple passwords for shielded page per path. This module provide bypass password protection of shielded pages permission also. All the shielded pages will be accessible by users having this permission.