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.

Taxonomy field menu

Taxonomy field menu


This module is to build menus based on connections between terms and nodes.

The idea comes from the common request of terms -- nodes menus in Drupal community, like menu:

-- term1
   -- node/1
   -- node/23
-- term2
  -- node/5
  -- term3
     -- node/15
     -- node/20
-- term8

In simple words, it builds taxonomy field menus, i.e., menus based on connection between terms and nodes. After installation, admin goes to taxonomy field's editing page, like "admin/structure/types/manage/article/fields/field_test_term", there will be "TAXONOMY FIELD MENU SETTING", enable it and you will get a menu based on this taxonomy field. There're options that you can synchronize nodes and terms to this field's menu.


  • Menus based on taxonomy field, automatically connecting term hierarchy and nodes when terms and nodes are created/updated/deleted.
  • Menu trails, INCLUDING nested terms available at node pages' breadcrumb, as long as this node has enabled with taxonomy field menu.
  • Custom term pages for taxonomy field menu to only include nodes associated with this term via this menu's' taxonomy field.
  • Custom page could include child terms' nodes. As opposed to default term page, it doesn't.
  • Token and pathauto/url_alias support for custom term page.


Social Login and Social Share

Note: Social Sharing feature is available with LoginRadius FREE plan whereas Social Login feature is available with paid plan. To learn more about LoginRadius pricing, click here

Product Overview:

  1. Social Login - Social login reduces the barriers users face when attempting to register on your website by allowing them to log in with their existing social accounts, including Facebook, LinkedIn, Twitter, Google and 30 other networks. This eliminates the need to create yet another username and password.
  2. Social Sharing - Make your users your brand ambassadors and drive high quality referrals to your website - 82% of users consider buying or trying products and services based on their friends’ recommendations. With social share, you give users the tools to share your content, product details and other information with their own networks.
  3. User Profile Data & Permissions - Our solution allows websites to collect more than 200 user data points - such as demographics, name, education, verified email address and many more - in order to better understand users. This enables businesses to personalize users’ web experiences and then build long-term relationships with them.
  4. Social Analytics - With social analytics, website owners get access to far more data fields than traditional analytics - such as Google Analytics - because they include individual users' interests, gender, education, relationship status, age and also track their activities across websites.
  5. Social Data Integration - Our solution can auto integrate social data into your existing softwares such as mailchimp, hubspot, salesforce, google analytics, etc.
  6. Single Sign-On - Single Sign-On creates a single authentication system for multiple web properties allowing users to navigate websites with a single account.

Plugin Live Demo
See live working of Social Login on a Drupal demo site: http://demo.loginradius.com


Flexi Access

Flexi Access Access Tab

The Flexi Access module will provide a simple and flexible interface to the ACL (Access Control List) module. It will let you set up and mange ACLs naming individual users that are allowed access to a particular node.

The module let you manage access to individual nodes. The administrator may grant individual users the right to: View (read), update (edit/write), and delete the node.


Language access

Permission list

Restrict user access to locale languages using permission.
Useful for sites where multilingual content has not been fully prepared yet.

Idea borrowed from maijs who created such functionality for Latvian Tourism Development Agency site.


Access Control Kit

The Access Control Kit (ACK) module provides a customizable system for controlling access to all kinds of things in a Drupal site. It gives site builders the flexibility to define access based on whatever conditions make sense for the site through an easy-to-understand UI.


Access Control Bridge


The Drupal community has developed several excellent modules to get fine-grained access control over a node (e.g. Content Access, Domain Access, Workflow, Organic Groups, Taxonomy Access Control, ...)


User Field Privacy

A successor of Profile Privacy for Drupal 7 that works with standard Field API (ie. non-profile) user fields.

In easier-to-understand terms:


Hidden Nodes

Hidden Nodes

Video detailing what this does
Video detailing how this works
This module adds a system similar to publish / unpublished status of nodes. The reason that this is needed is so that you can tell certain roles they can't view nodes while others can. The issue with publishing status is that there is no grey. Menu systems automatically hide unpublished nodes while also checking for the node_access.

This blocks situations where admins and sub-admins need to work on content in the context that it will be presented left in a position where they are unable to do so. This will help create the same level of security that publish status does but without the limitations on admin-esk users to actively work with content the way it will eventually render (menu wise).

Use this module if you want to be able to limit what some users see in books and menus but still want others to have full visibility of those posts.

This should work with other node access methods as the priority of the grants in this module are very high. This is intentional so that it takes priority over all other access control projects, much in the same way that unpublishing a node takes priority over all access control methods.


Domain Fields

This module adds additional domain based settings to control a number of field settings, including field display and editing access, required flag, label and help overrides.


Comment Access


Comment Access allows your users to control the comments on their posts. It adds permissions to administer, approve, and delete comments on nodes they create without granting full comment administration access. Permissions are granted by node type, so it's a great way to allow your users to manage comments on their own blogs,


Domain Admin

Domain Admin adds more granular permissions to the Domain Access module and several of its sub-modules.

Currently the module allows the site admin to delegate the following tasks:

  • Editing of domain record, domain settings and domain theme
  • Administer primary and secondary menus (also navigation in D6)
  • Administer book outline/ rearrange child pages of nodes on domain (requires book module)
  • View webform results on domain (requires webform module)
  • Add and edit terms assigned to own domain (requires Domain Taxonomy module)

The latest edition of the D7 module now has domain 3.x capability - please test and give feedback!


Captcha Keypad

This module provides an alternative captcha security, where the user can use
a keypad to be to enter simple captcha numbers.
The keypad can be configured to shuffle the keys, improving difficulty of
automated bots to click on the right button.


Domain Content Types

The domain content types module is add on for Domain Access which allows you restrict access to content type creation forms based on active domain.

e.g. I want users to be able to create pages on domain x and y, but not on domain z



The Agreement module allows the administrator to present a text-based agreement (think "Terms of Service") that users of a particular role must accept before they are allowed to access the site. The agreement is presented to users right after login, and must be accepted before the user can navigate to another page. Users will still be able to access the homepage (<front>) and /logout without accepting the agreement; all other pages will redirect the user to the agreement acceptance form.


Node Access Rules

Have you ever what to control the access to a certain node or node group by Rules? This module allows you to control the access to a node (create/view/edit/delete) by Rules.

Therefore new events are added and a method to grand or deny the access to a node is added.

With this module you get the total freedom of controlling the access to a node by defining Rules. You could add complex date constrains or complex constrains depending on linked nodes or users.


Node menu required

Allows menu links to be set required per content type.


Node menu permissions

Small module that provides permissions to edit the menu link on node edit forms, while not having permissions to administer whole menus.


Node Access

Swipht technologies developed a set of security modules with sponsorship from Portland State University. The modules provide roles and user specific security permissions for menus, menu items, nodes, and security integration into the administration and help systems. We would like to provide this suite of modules back to the community to share the usefulness of the suite and involve the community to provide additional support, testing, and moderation.
Special care was taken to ensure the usability of permission management was consistent across all sections of the system (nodes, menus, menu items). Also each security module uses a cascading security scheme to allow global security and the option to override or define exceptions to the security model for individual items.

For example, defining global node access rights by role will dynamically apply the security scheme to all content types and nodes created. However the user can override the global security scheme for an individual content type, and override the permissions for a given content type by setting permissions on an individual node.

Please Note!!


Block Upload

What is it?

Block upload - it's a simple module, which allow users to upload images/files into field without node edit page. You can add this block on node pages. Choose field you want to upload files and set permission. So, for example, users can add new photos into node without full node edit rights. You also can quickly add new files into node, avoid edit form.


Install module and go to Blocks management page, than find Block upload. On edit page choose file/image field you wish to use and save settings. Choose block position and here it is. Additionally set user permissions to allow uploads.

7.x-1.1 New features

Integration with Plupload integration module what makes available to use multiupload and drag&drop features.
To enable it, install Plupload integration according to it requirements. Than go to block upload config and tip use plupload option. This will switch single form to plupload widget.


Access By Term

Settings for the term ref field

ABT (Access By Term)

Provides very flexible, hierarchical node access control (content access control), for D7.


Node page admin

Current situation

Drupal (6.x, 7.x) core module node provides a view which shows a list of all the published nodes:


Nowadays most Drupal installations use Views, Panels, etc, which are more configurable making this feature useless.


This module adds an administration settings panel to handle /node page access.

Once it is activated there are three posible configurations:

  • Core - Drupal core will handle node page access as usual: all users with 'access content' permission
  • Disabled - Nobody will be able to access /node. It will return 'Page not found' (404).
  • By permission - Access will be handled by a new permission: 'access node page'

Problems that resolves

In some well known projects this path has not been themed:

so using this module will improve user experience and branding.

Drupal 8 issues related



Access denied backtrace

Backtrace log

Access Denied Backtrace will help you track down the specific place where Drupal is triggering the access denied for a certain role.

Use Case:
Have you ever gone crazy when certain roles cannot access nodes in Drupal? Then you have to start checking permissions on and off just to finish right where you were to begin with? Or even worse get some more permissions control modules so they can override Drupal permissions.

The module is inspired by this thread: http://drupal.org/node/610568


  • Download and install module
  • Enable backtrace per role (configuration > development > Access Denied Backtrace settings)
  • Visit one of the nodes having issues using the specific role.
  • Go to Recent Log Entries under Reports to get the trace path.

The output gives you a backtrace list of the executed functions that lead to the access denied, including parameters.

Also the list of user permissions and user role permissions is listed. if a explicit node access permissions is denied will be listed.

This module is developed and maintained by:


Edit Limit

Edit Limits adds certain limits to editing nodes and comments. This can set the number of times a node can be edit. This can also set a time frame for nodes to be edited, as well as a different time frame that comments can be edited.

Limits on nodes can be combined, so that a node can only be edit a set number of times or within the time frame.


Content access view permission

This module extends the content access module to put the view (any/own) [TYPE] to the drupal permissions form. So a user settings the access permissions doesn't have to switch between two forms and he doesn't need access to change content type settings.

The module is part of the ERPAL Distribution


Queued Node Access Rebuild

This module uses Queue to rebuild node access in a non-disruptive
manner. This module depends on drupal_queue.

Node Access Rebuild Process

En-queueing process:

  1. On cron, module checks if node access needs rebuild.
  2. All nodes are queued for rebuild.
  3. Node access needs rebuild variable is reset.

Queue processing:

  1. A node (X) is claimed from the queue.
  2. Node X's node access records are deleted.
  3. Node X's node access records are rebuilt.
  4. Node X's queue entry is deleted.