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

Drupal driver for SQL Server and SQL Azure


Drupal 7 and Drupal 8 driver for Microsoft SQL Server database engines.

It supports both SQL Server Stand-Alone (version 2008 and later) and Azure SQL (version 12 and later).

The MSSQL PDO extension will work on both Windows and Linux Systems.

Linux Support #43

Compatibility and Quality Assurance

The SQL Server driver 8.x-2.x branch is being continuously tested through AppVeyor:

DBTNG Migrator

One of the most exciting new features about Drupal 7 is the object orientated database layer, or Database: The Next Generation (DBTNG) as it was code named. For the first time in Drupal's history, you can now connect to several different databases of different server types at the same time. All using Drupal's database framework.

Forena Reports

Forena is database report writing software built on the Drupal platform. Forena is built of the idea that if you can write the SQL necessary to get the data out of a database, it should take very little work to get that data out on the web. It is designed to leverage knowledge of HTML, CSS, SQL and Java Script to help you create rich interactive web reports.

Note: Before trying out forena make sure you have private file systems properly configured. It doesn't need to be set as the default delivery method, but it does need to be configured.

Drupal 8 Version

Work on the Drupal 8 Version is in progress! I will release an early alpha once the base reporting engine is functional with unit test coverage before beginning work on the WYSIWYG reporting interface.


The current version allows you to create reports using SQL from Drupal, or using data stored in XML files.

It comes bundled with a couple of sample reports reports that will both demonstrate how reports are created, and provide useful information on your existing Drupal site.

Some key features include:

  • Create custom reports from your Drupal database.
  • Create reports against PDO supported database (SQLite, MySQL, MS SQL, etc).
  • Create reports against any Oracle database.
  • Create charts in SVG format.
  • Export data to CSV, EXCEL or XML versions of reports.
  • Create and edit HTML reports using a simple web UI (includes WYSIWYG editor support).

EntityFieldQuery Extra Fields

Warning : This module abuses EntityFieldQuery to return data from your database. It does not work with entities or any modules that build on them.

It allows you to use addField within an EntityFieldQueryExtraFields object (extends EntityFieldQuery objects). Initially EntityFieldQuery only gives you back the entity id, bundle and entity type. This module adds an extra layer on top of that without doing some extra entity_loads! Important if you want to work with massive amounts of data and you want to reduce the sql queries. Since EFQ already queries the database for this information, why not alter that query to also give you some additional fields. This means that not a single extra query will be performed to get that data.

A word of caution, if you rely on some post-formatting/post-loading that happens in entity_load or similar functions, this module won't take care of that. You have to ensure the validity of the retrieved data yourselves.


Fetching the node title

$query = new EntityFieldQueryExtraFields();
$result = $query->entityCondition('entity_type', 'node')
->propertyCondition('type', 'my_bundle_type')
->propertyCondition('status', 1)
->addExtraField('field_myfield', value', value')
->addExtraField('field_mynodereffield', nid', nid')
->addExtraField('', 'title', 'title', 'node')

Asynchronous Prefetch Database Query Cache

A pretty darn quick cache. Uses asynchronous connections & prefetching to speed up cache calls & eliminate deadlocks & metadata locks on the cache tables.


MySQL 5.5+, PHP 5.3+, and the mysqlnd driver.


MongoDB integration for Drupal. This is a collection of several modules which allow sites to store different types of Drupal data in MongoDB.


Automatic database slave selection

This database driver (called "autoslave") will automatically use the database slaves where applicable and otherwise use a master database.

where applicable means:

  1. The query is not a write query (and not a select query with locking)
  2. The tables in the query have not been written to during the request and within the assumed replication lag
  3. A transaction has not been started
  4. The tables in the query are not specified in the 'tables' option in the driver settings
  5. A lock has not been started (core db-lock and memcache-lock supported)

Oracle driver

This is a driver that allows Drupal to use an Oracle Database (http://www.oracle.com/database/product_editions.html) instead of MySQL as the primary backend.

To create drupal nodes in a MySQL backend from Oracle tables you should use somenthing like http://drupal.org/project/migrate project, which is a robust data migration solution.

Eventually you can even store your site "files" directory inside Oracle with this module:
http://oranfs.sourceforge.net/ (let's say to have Oracle RMAN backup all your user data or
to search on it with the Oracle Text engine) or even use http://drupal.org/project/storage_api to implement an oracle backend for file storage.

A drupal_api PL/SQL package is also available to write/read drupal 6.x nodes and CCK fields, from PL/SQL procedures. You can write things like:

v_node:= drupal_api.new_node(p_title => 'Lorem ipsum',
p_type => 'my_news_ct',
p_body => 'lorem......',
p_language => 'en');

drupal_api.set_node_field(v_node,'publish_from_date', sysdate);

for news in (select * from table(drupal_api.get_nodes_by_type('my_news_ct'))) loop

if drupal_api.get_node_dat_field(news,'publish_from_date') < sysdate then

.... do whaterver ....


What this Module does for you:

DBinfo adds a small status report item to the /admin/status/reports page of your Drupal website.

DBinfo tells you the database connection information for any configured databases Drupal has connection info for. Optionally, it can test the connection on status report page load.


This module requires Ctools in order to generate the collapsible reports.

As a security precaution the db password always displays as [omitted] from the report page.

All In One Backup

All in One Database Backup Drupal8

This module will provide an interface to export the database and files of the project.

It will export the database and full project with mysqldump or procedural both. if mysqldump disable on your server, it will be exporting database by procedural. This module is platform independent so it can work on any server.

This module is lightweight, fast, user-friendly.



FileMaker module for Drupal logo

The filemaker module lets you build FileMaker web applications through Drupal.

Version 7 Features

  • Create, find, browse, and edit modes
  • Rich set of permissions
  • Choice of interface for anonymous users
  • Dynamic default values in find and create mode
  • Integration with actions and triggers
  • Support for most types of FileMaker value lists
  • Unlimited number of reusable connections to FileMaker database

Version 7 Requirements (FileMaker)

Version 7 Dependencies (Drupal)

  • Libraries module

Version 6 Features

  • Create, find, browse, and edit modes
  • Rich set of permissions
  • Choice of interface for anonymous users
  • Dynamic default values in find and create mode
  • Integration with actions and triggers
  • Integration with tokens
  • Support for FileMaker portals
  • FileMaker scripts - cron, triggers, and custom buttons
  • Support for all types of FileMaker value lists
  • Unlimited number of reusable connections to FileMaker database

Version 6 Requirements (FileMaker)

    OSF for Drupal

    OSF for Drupal

    The Open Semantic Framework (OSF) for Drupal is a middleware layer that allows structured data (RDF) and associated vocabularies (ontologies) to "drive" tailored tools and data displays within Drupal. The basic OSF for Drupal modules provide two types of capabilities. First, there are a series of connector modules such as OSF Entities, OSF SearchAPI, OSF Field Storage and OSF Views to integrate an OSF instance into Drupal's core APIs. Second, there is a series of module tools used to administer all of these capabilities.

    By using OSF for Drupal, you may create, read, update and delete any kind of content in a OSF instance. You may also search, browse, import and export structured datasets from an OSF instance.

    OSF for Drupal connects to the underlying structured (RDF) data via the separately available OSF Web services. OSF Web Services is a mostly RESTful Web services layer that also allows multiple Drupal installations to share and collaborate structured data with one another via user access rights and privileges to registered datasets. Collaboration networks may be established directly to distributed OSF Web Services servers, also allowing non-Drupal installations to participate in the network.

    Collation Fixer

    A 'runtime' requirements checker (admin/reports/status) for checking all database tables have the right database collation (probably very MySQL centric).

    Offers the ability to fix tables with wrong database collation.


    This module allows the user to have a look to Drupal database tables of contents.
    Quite often we need to carry quick check on database, for example to see if the data have already been stored in tables; this module will be handy to have to that purpose.

    - Allows to look at the schema of each table of the Drupal db.
    - Allows to look at the content of each table of the Drupal db.

    This module doesn't require any other module to be enabled.

    Mongo Entity


    Mongo Entity provides developers with entity and controller classes for storing entities entirely in a MongoDB collection. It eliminates the need for a base table, or any SQL queries at all; an entity's ID, name, properties, and any field data are all written directly to MongoDB. It also provides classes for embedded entities: entities that are stored as subdocuments in a parent collection, but that can be managed using the standard Entity API CRUD methods, as well as found with EntityFieldQuery. Ultimately, loading a parent entity should automatically load and embed all its child entities, with only one query to a single MongoDB collection.

    Mongo Entity is for developers. It provides no interface, nor does it alter the behavior of existings sites out of the box. Modules can use the provided MongoEntity and MongoEntityController classes in hook_entity_info to store entities in MongoDB, rather than a SQL database.


    • Minimal configuration. Save custom Entities entirely in automatically generated MongoDB collections. No SQL tables needed.
    • Performance boost. Field data is stored with the Entity in MongoDB, reducing the need for complex JOINs and multiple database queries to load a single object.

    Dbal connection


    If you are using a composer library that needs a DBAL connection, this module provides a factory service that lets you inject that into your services.


    SQLite Booster

    This module can speed up any drupal installation that uses the SQLite database driver. It has no effect on other database drivers so if you migrate databases and forget this module, nothing will happen.


    You can just enable and forget this module.


    The speedup is done by wrapping the whole request in one transaction, so the database file will only be written once. Of course this blocks the database for the whole request, but SQLite is not suitable for several concurrent requests anyway.

    DB Index

    This module provide the user interface to add or drop the database Table indexes for the Mysql databases. Using this module you can have the information about what all are the Indexes with associated columns and its Tables.

    By navigating to the 'ADD NEW INDEX' tab , you will get the option to add new index for the selected tables.

    Be very careful about the functionality for dropping the indexes. Make sure that before you trying to do that you have working database backup. Don't try to drop the default indexes, It may cause the feature problems.

    SQLite Vacuum

    When using a SQLite database, the database file can get fragmented and grow far beyond the actual data size. This module checks if the currend database is SQLite and then VACUUMs it every 3 hours.
    On a configuration page you can...

    • change this interval
    • switch automatic vacuum off
    • trigger manual vacuum

    CouchDB Integration

    The CouchDB module provides API access to any Couch Database. The API exposes a majority of the Database, Document, Design and Views API. The CouchDB module when enabled does not do anything. It provides a library to build additional functionality or applications.

    The couchdb_watchdog module is a sample implementation of using Drupal with CouchDB.

    Please help solidify the development release into a full 7.x release by logging issues and testing the module out.

    Doctrine Object Relational Mapper

    This module is a set of base component and connectors to integrate Doctrine ORM with Drupal Core. The Doctrine Object Relational Mapper sits on top of a powerful database abstraction layer (DBAL). One of its key features is the option to write database queries in a proprietary object oriented SQL dialect called Doctrine Query Language (DQL), inspired by Hibernates HQL.


    This module provides integration with Doctrine ORM, giving developers a powerful alternative to SQL that maintains flexibility without requiring unnecessary code duplication.

    Designed with a few goal in mind:

    • Maintainability: the software will evolves with the Doctrine library and with versions of Drupal, the code base is written to cope with a changed environment. Test suit is the same quality as the software itself, allowing the isolation of defect for further correction and ensure new requirements will not break anything, thus, making future maintenance easier.
    • Dependability: it does what it claims, and is trustworthy. The code is optimized to run for limited resources computers with special care to cache optimizations or any form of I/O which are costly.

    MongoDB Spaces Overrides

    Spaces Overrides mongodb storage backend for high performance and scalability of large spaces-enabled sites.

    Large (>100k records) spaces_overrides tables in MySQL perform slowly (even with optimal indexes) and performance appears to be O(n). In MongoDB, with minimal indexes, spaces_override queries are 1-2 orders of magnitude faster than MySQL (>100k records) and performance appears to be approximately O(1).

    Development of this module is sponsored by AllPlayers.com.

    RDF entity

    RDF logo

    A module that allows to store content entities directly in an RDF data store.


    The Couchbase module provides integration with Couchbase 2.0 and above. This module
    consists of helper functions to instantiate couchbase connections from the $conf['couchbase']
    variable in settings.php.

    The module also provides a REST interface to Management REST API provided by Couchbase.
    The Management REST API is described here

    Finally, the module provides an api for accessing creating and deleting Couchbase Views.
    *These functions will probably go away once the php-ext-couchbase matures. Currently, the php-ext-couchbase library doesn't support creating/deleting views.*

    The module couchbase_watchdog is an example implementation of watchdog in Couchbase.
    It serves as an example of what can be done with the API.

    Since Couchbase 2.0 is in active development, this module will not see a stable release until such time.

    Please help test and report bugs back

    The couchbase_watchdog module is a sample implementation of using Drupal with Couchbase.

    Please help solidify the development release into a full 7.x release by logging issues and testing the module out.

    Riak Field Storage

    The Riak Field Storage module stores fields in a Riak database. EntityFieldQuery is not yet implemented.