Add functionality and customize your Drupal application with thousands of projects contributed by our amazing community.

1,081 modules match your search

A module is code that extends Drupal's by altering existing functionality or adding new features. You can use modules contributed by others or create your own. Learn more about creating and using Drupal modules.

Memcache Storage

Settings page

#D8CX: I pledge that Memcache Storage will have a full Drupal 8 release on the day that Drupal 8 is released.

Memcache Storage module provides integration between Drupal and Memcached daemon using PECL memcache or PECL memcached extension.

Installation & Configuration

For information about installation and configuration please see the documentation.

Features

This module is an alternative to Memcache API and Integration module focused on speed. See list of its features:

  • You may move all cache to the memory.
  • You may move users' sessions to the memory.
  • You may move lock system to the memory.
  • Module supports intergration with ngx_http_memcached module. Nginx may get cached page directly from memcached pool and avoid passing requests to the heavy backends!

HTTP/2 Server Push

HTTP/2 Server Push is declared dead on the web

Views Ajax Get

This functionality is now provided by Drupal core. There is no need to install this module from version 10.1.0 and onwards.

Purge Queues

This module provides extra Purge queue plugins, and solves the Duplica

Cleaner

Cleaner logo

The Cleaner module allows the admin to set a schedule for clearing caches, watchdog, and old sessions.

Google Analytics Counter

Google Analytics Counter Custom Field

The Google Analytics Counter module is a scalable, lightweight page view counter which stores data collected by

Site Audit

Generated HTML report

Site Audit is a Drupal static site analysis platform that generates reports with actionable best practice recommendations.

Varbase Core

This is the core Varbase feature. Provides core components required by other features.

Drupal 8 Cache Backport

Drupal 8 Cache Backport is a module that brings Drupal 8 cache tags and cache max-age back to Drupal 7 (If there is interest, cache contexts will follow).

Node Hierarchy

Node Hierarchy allows nodes to be children of other nodes creating a tree-like hierarchy of content. The module offers:

  • 1-Click creation of hierarchical menus
  • Hierarchical breadcrumbs
  • Automatic hierarchical urls using Pathauto (and token module)
    (eg: q=aboutus/history/beginning).
  • Automatic creation of hierarchical menus if desired.
  • Optional Views integration.
  • Optional Node Access integration.

Health Check Url

Health Check URL module is built to provide an endpoint for all type of load balancer (or Pingdom, new relic..),An endpoint will let the load balancer know that the site is working fine by sending

Tome

The Tome logo

Tome is a static site generator, and a static storage system for content.

WebP fallback image

Creates a fallback jpg image from converted webp image for old browsers which do not support the WebP format.

Background Process

Drupal 7 Settings

Dependencies


Modules that utilize Background Process


Developer

Executing a background process

<?php
$handle = background_process_start('mymodule_dosomething', $myvar1, $myvar2);

$handle = background_process_start(array('myclass', 'mystaticfunction'), $myvar1, $myvar2);

$handle = background_process_start(array($myobject, 'mymethod'), $myvar1, $myvar2);

$handle = background_process_start_locked('dontrunconcurrently', 'mymodule_dosomething', $myvar1, $myvar2);
?>


Executing arbitrary http requests

The following code shows how to fetch data via http in "parallel" (asynchronous non-blocking mode)
It uses an API similar to that of HTTPRL but "slightly" different, in order for the caller to gain more control of the requests. Plans to join forces with HTTPRL are in place.

Drupal way: blocking/synchronous

<?php
$r = array();
for ($i = 0; $i < 10; $i++) {
  $r[] = drupal_http_request('http://www.example.com/stuff/' . $i);
}
print_r($r);
?>


Context HTTP Headers

Context HTTP Headers provides a set of Context reactions that allow you to set HTTP Response Headers for each context on your site.

Field SQL norevisions

Field SQL norevisions provides a field storage backend that prevents entity revisions from being saved to the MySQL storage backend.

Webform Remote Post

Multiple remote posts can be setup for each individual form.

Note: This module is unsupported and no longer in development. The use of an alternative solution is highly encouraged.

Webform Remote Post is a module that works along the Webform module. It eases the integration between Webforms and other web applications (including systems like Salesforce and Eloqua).

Crawler Rate Limit

Crawler Rate Limit allows you to limit requests performed by web crawlers, bots and spiders. (Option to additionally rate limit non-bot requests (regular website traffic) has been added in version 2.1. It detects if the request is made by the crawler/bot/spider by inspecting the UserAgent HTTP header and then limits number of requests crawler is allowed to perform in the given time interval. After the limit is exceeded server will respond with HTTP code 429 (Too many requests).

Entity modified

Drupal does not force entity types to provide a last modified date, nor provides any standard naming convention for those that do.

This module steps in to provide a programmatic way to retrieve the name of the modified property. When the name is unknown, entity modified tracks the date itself.

This module will not provide anything worthwhile on its own, so only install this module if another module depends on it.

Use

To retrieve the last modified timestamp of an entity, you would make a call like the following:

  $modified = entity_modified_last($entity_type, $entity);

Entity type creators

If your module defines an entity type, you can let entity modified know about it by defining the 'modified property name' in hook_entity_info().

You can also alter already existing property names by using hook_entity_info_alter().

An example for a fictional module named building, that creates an entity type named window, that has a last changed property of changed follows:

/**
 * Implements hook_entity_info().
 */
function building_entity_info() {
  $types = array();
  $types['window'] = array(
    'label' => 'Window',
    // Properties from hook_entity_info() here.
    'modified property name' => 'changed',
  );
  return $types;
}

Dependencies

JS Callback Handler

Overview

JS Callback Handler is a solution for creating highly performant server requests. This includes, but is not limited to, creating simple JSON callbacks.

This API is intended for module developers who wish to provide more of a "lean" approach to the Drupal bootstrapping process (not the front-end framework).

Note: this API does nothing by itself. It requires other modules to leverage its functionality and APIs.

Native Lazy Loading

Quick description

Ensure images are natively lazy-loaded by browsers supporting the loading='lazy' img attribute.

Pages