Awesome Drupal
A curated list of amazingly awesome Drupal open source, resources and
shiny things.
User and Builder Guides
Drupal 7
- Drupal
Concepts - Before you install Drupal and begin using it, it’s a good
idea to get an overall sense of what it is, and how it works.
- System
requirements - This guide covers detailed system requirements for a
Drupal 7 installation.
- Installing Drupal
7 - This guide covers preparing for installation, running the
installation script, and the steps that should be done after the
installation script has completed.
- Updating Drupal 7
- Updating Drupal 7
- Administering
Drupal 7 site - Manage users and content, perform backups and
upgrades, secure your site, tweak performance, etc. Audience: System and
site administrators.
- Nodes,
content types and fields - Work with content types, blocks, menus,
views, panels, taxonomy, user profiles, and navigation. Audience:
information architects.
- Multilingual
Guide - How to build sites in other languages and multi-language
sites. Audience: site builders, site administrators.
- Multisite Drupal
7 - Drupal has a feature which allows separate, independent sites to
be served from a single codebase. Each site has its own database,
configuration, files and base domain or URL.
- Theming Drupal 7
- Customize the interface using templates, CSS, etc. Override the output
from core or contributed modules. Audience: designers, usability and
accessibility professionals, interface experts.
- Extending Drupal
7 - This documentation guide describes ‘Extending’ your Drupal 7
site beyond the capabilities of a standard Drupal core
installation.
- Mobile Guide -
Drupal has fantastic contributed modules and themes that make Drupal a
great starting point for mobile solutions. This guide will help users to
find and use those projects to build the best mobile solutions for their
needs.
- Working
with menus - Menus are a collection of links (menu items) used to
navigate a website. The Menu module provides an interface to control and
customize the powerful menu system that comes with Drupal. Menus are
primarily displayed as a hierarchical list of links using Drupal’s
highly flexible blocks feature. Each menu automatically creates a block
of the same name. By default, new menu items are placed inside a
built-in menu labelled Navigation, but administrators can also create
custom menus.
Drupal 8
- Drupal 8
User Guide - This guide was written mainly for people with minimal
knowledge of the Drupal content management system.
- Evaluator
Guide - This guide provides instructions for creating a temporary
Drupal demo application that can be used to evaluate Drupal on your
local machine.
- Drupal 8 Guide - A
catch-all guide for Drupal 8.
- Drupal 8 APIs -
Drupal 8 introduces many new APIs and keeps only some of the Drupal 7/6
API. This section details the APIs in Drupal 8.
- Drupal 8 API
Reference - This site is an API reference for Drupal, generated from
comments embedded in the source code. More in-depth documentation can be
found at https://www.drupal.org/developing/api.
Developer Guides
Documentation for developers about tools, processes, and standards
that are not specific to a major version of Drupal.
- Develop for Drupal
- Work with the API, JavaScript, and databases. Learn the Drupal coding
standards. Audience: developers.
- API Reference - Search the
complete Drupal API including forms, menus, node access, theme system,
etc.
- Examples for
Developers - Examine a standard repository of sample modules that
can be used to learn module development, or are referenced on handbook
pages.
- Git
documentation - Git is the version control system Drupal developers
use to manage, and collaborate on, their projects and code.
- Glossary
- Find definitions of Drupal terminology and acronyms.
- Code
snippets - Reuse chunks of Drupal code that people have shared with
the community.
- Troubleshooting
- Identify and solve problems with servers, page display, permissions,
logins, etc.
- FAQs - Learn about
documentation, licensing, the Drupal Association, community, etc.
- Tutorials and
recipes - Find miscellaneous information contributed by other Drupal
users.
- Resource guides
- A collection of resources and tools for building Drupal websites.
- Local
Development Guide - The purpose of this guide is to assist you with
creating and installing a new Drupal application on your local machine
for the purpose of development.
Distributions
- ELMS - ELMS Learning
Network.
- Julio - Julio is
a distribution targeted for schools, school districts, small colleges,
and academic departments within universities.
- Open
Academy - OpenAcademy is a Drupal distribution that brings the best
in web publishing for higher education on a customizable Drupal
platform. This distribution is a flexible, extendable package that lets
university departments run fully functional, polished websites straight
out of the box.
- Open Scholar - OpenScholar
is an open source SaaS platform built as a Drupal distribution. A single
OpenScholar install hosts thousands of easy, self-service, custom
websites. Features multiple domain names, dozens of built-in themes,
drag-and-drop layout, best-practice presets and “apps” that solve
virtually every use case.
- Panopoly -
Panopoly is powerful base distribution of Drupal powered by lots of
Chaos Tools and Panels magic. The distribution is designed to be both a
general foundation for site building and a base framework upon which to
build other Drupal distributions.
- NodeStream - NodeStream
gives your organisation a standardized platform for online
solutions.
- OpenPublish - OpenPublish is
a flexible and powerful solution designed for the online news industry.
It is built for customization and extension – a powerful CMS to help
publishers focus on the thing that matters the most: their content.
- Drupal Commons
- Drupal Commons is a ready-to-use solution for building either internal
or external communities. It provides a complete social business software
solution for organizations.
- Open Atrium - Open Atrium is
open source collaboration software that enables organizations to
securely connect their teams, projects, and knowledge. A powerful
solution, Open Atrium’s framework allows your organization to easily
integrate your existing software, while remaining flexible enough to
change as your organization grows. With Open Atrium, you can better
communicate, educate, and inform your organization by creating solutions
such as an intranet, social collaboration platform, web portal, or
learning management system.
- Drupal Rooms - Drupal Rooms
is a Drupal 7 booking & room management solution for hotels and
other accommodations - anywhere rooms reservations are required,
including conferences, hospitals, vacation rentals, B&B’s &
more.
- Commerce
Kickstart - Commerce Kickstart is the quickest way to get up and
running with Drupal Commerce. It includes the latest versions of Drupal
core, Drupal Commerce, and the other modules it depends on. It also
gives you a set of options to create a fully-featured demo store out of
the box complete with an attractive theme, catalog and search
configuration, and a custom back office interface.
- Open Deals -
Open Deals is a Free Deals Site distribution, based on Drupal 7, Drupal
Commerce and other modules.
- Spark - Spark is
a Drupal distribution which aims to work out solutions to authoring
experience problems in the field and apply to latest development
versions of Drupal. Therefore our work started implementing improvements
as modules on Drupal 7 and then our focus shifted to working on
incorporating and enhancing them in Drupal 8 for core inclusion.
Security
- Hacked! - This
module scans the currently installed Drupal, contributed modules and
themes, re-downloads them and determines if they have been changed.
Changes are marked clearly and if the diff module is installed then
Hacked! will allow you to see the exact lines that have changed.
- Security
Review - The Security Review module automates testing for many of
the easy-to-make mistakes that render your site insecure.
- Drupalgeddon -
Drupalgeddon (with an “L”) checks for backdoors and other traces of
known Drupal exploits of “Drupageddon” (no “L”), aka SA-CORE-2014-005
SQL injection.
- Site Audit -
Site Audit is a Drupal static site analysis platform that generates
reports with actionable best practice recommendations.
Javascript libraries
Modules
Administration
- Navbar - A very
simple mobile friendly navigation toolbar introduced as part of the
Spark project to solve mobile editing problems with the Drupal 7 shipped
toolbar, that is not very friendly to small screen sizes.
- Administration
menu - Provides a theme-independent administration interface (aka.
navigation, back-end). It’s a helper for novice users coming from other
CMS, a time-saver for site administrators, and useful for developers and
site builders.
- Features - The features module enables the
capture and management of features in Drupal. A feature is a collection
of Drupal entities which taken together satisfy a certain use-case.
Developers
- php_error —
Error reporting done right!
- Backup &
Migrate - Back up and restore your Drupal MySQL database, code, and
files or migrate a site between environments. Backup and Migrate
supports gzip, bzip and zip compression as well as automatic scheduled
backups.
- Devel - A suite
of modules containing fun for module developers and themers …
- Drush + drush make
- Drush is a command-line shell and scripting interface for Drupal, a
veritable Swiss Army knife designed to make life easier for those who
spend their working hours hacking away at the command prompt.
- Stage file
proxy - Stage File Proxy saves you time and disk space by sending
requests to your development environment’s files directory to the
production environment and making a copy of the production file in your
development site. You should not need to enable this module in
production.
- Diff - This module
adds a tab for sufficiently permissioned users. The tab shows all
revisions like standard Drupal but it also allows pretty viewing of all
added/changed/deleted words between revisions.
- Environment
Indicator - This module will help you to keep sane while working on
your different environments by adding a configurable color bar to each
one of your environments.
Site building
- Address
Field - Address Field defines a new field type to store
international postal addresses, implementing a subset of the top-level
address elements defined in the xNAL standard (see the glossary
below).
- Administration
Views - Replaces administrative overview/listing pages with actual
views for superior usability.
- Views
Bulk Operations (VBO) - This module augments Views by allowing bulk
operations to be executed on the displayed rows. It does so by showing a
checkbox in front of each node, and adding a select box containing
operations that can be applied. Drupal Core or Rules actions can be
used.
- Date - This
package contains both a flexible date/time field type Date field and a
Date API that other modules can use.
- Email Field -
This module provides a field type for email addresses.
- Entity
Reference - Provides a field type that can reference arbitrary
entities.
- Relation -
Relation is an API module and storage model for both simple and the most
complex relations between entities. The module can handle both
directional and symmetrical relations very well.
- Field
collection - A field collection is internally represented as an
entity, which is embedded in the host entity. Thus, if desired field
collections may be viewed and edited separately too.
- Field Group
- Fieldgroup will, as the name implies, group fields together. All
fieldable entities will have the possibility to add groups to wrap their
fields together. Fieldgroup comes with default HTML wrappers like
vertical tabs, horizontal tabs, accordions, fieldsets or div
wrappers.
- File
Field Sources - FileField Sources is an extension to the FileField
module. The FileField module lets you upload files from your computer
through a CCK field.
- Image
Link Formatter - This module is the result of the discussions around
a requested feature to allow an image field to be displayed with a link
to a custom URL.
- Link - Allows you
to add ‘link’ fields to content and has Views integration.
- Media - The Media
module provides an extensible framework for managing files and
multimedia assets, regardless of whether they are hosted on your own
site or a 3rd party site - it is commonly referred to as a ‘file browser
to the internet’.
- Menu block -
It provides configurable blocks of menu trees starting with any level of
any menu.
- Module
Filter - The modules list page can become quite big when dealing
with a fairly large site or even just a dev site meant for testing new
and various modules being considered.
- Panels - The
Panels module allows a site administrator to create customized layouts
for multiple uses. At its core it is a drag and drop content manager
that lets you visually design a layout and place content within that
layout. Integration with other systems allows you to create nodes that
use this, landing pages that use this, and even override system pages
such as taxonomy and the node page so that you can customize the layout
of your site with very fine grained permissions.
- Panelizer -
The panelizer module allows you to attach panels to any node in the
system. It is similar to the panels_node module that ships with Panels,
which provides a single node type that is a panel. Panelizer, however,
allows this to work for many entity types. It works by using the Page
Manager template to take over the page rendering of the node.
- Pathauto - The
Pathauto module automatically generates URL/path aliases for various
kinds of content (nodes, taxonomy terms, users) without requiring the
user to manually specify the path alias. This allows you to have URL
aliases like /category/my-node-title instead of /node/123. The aliases
are based upon a “pattern” system that uses tokens which the
administrator can change.
- Rules - The Rules
module allows site administrators to define conditionally executed
actions based on occurring events (known as reactive or ECA rules). It’s
a replacement with more features for the trigger module in core and the
successor of the Drupal 5 workflow-ng module.
- Search API -
This module provides a framework for easily creating searches on any
entity known to Drupal, using any kind of search engine. For site
administrators, it is a great alternative to other search solutions,
since it already incorporates facetting support and the ability to use
the Views module for displaying search results, filters, etc. Also, with
the Apache Solr integration, a high-performance search engine is
available for this module.
- Smart Trim -
Smart Trim implements a new field formatter for textfields (text,
text_long, and text_with_summary, if you want to get technical) that
improves upon the “Summary or Trimmed” formatter built into Drupal
7.
- Views - This is
the reason why you are using Drupal. Views in now in Drupal 8 core.
- Views RSS -
This module allows users to take control of their feeds by providing a
fields-based views style plugin for RSS.
- Entityform -
The Entityform module enables you to create front-end forms (fieldable
entities), which contain fields that you define! These forms use the
standard Drupal fields.
- Webform -
Webform is the module for making surveys in Drupal. After a submission,
users may be sent an e-mail “receipt” as well as sending a notification
to administrators. Results can be exported into Excel or other
spreadsheet applications. Webform also provides some basic statistical
review and has and extensive API for expanding its features.
Content
- Feeds + Feeds Tamper
+ Feeds Xpath Parser - Import or aggregate data as nodes, users,
taxonomy terms or simple database records.
- Flag - Flag is a
flexible flagging system that is completely customizable by the
administrator. Using this module, the site administrator can provide any
number of flags for nodes, comments, users, and any other type of
entity. Some possibilities include bookmarks, marking important,
friends, or flag as offensive.
E-Commerce
- Commerce -
Drupal Commerce is used to build eCommerce websites and applications of
all sizes. At its core it is lean and mean, enforcing strict development
standards and leveraging the greatest features of Drupal 7 and major
modules like Views and Rules for maximum flexibility.
- Ubercart -
Ubercart is the most popular Drupal E-Commerce platform for your
website. It implements everything you need to start selling products
online. Web Developers from all skill ranges can use it to support a
variety of E-Commerce industries– including physical goods, digital
downloads, or even subscription based billing services.
- Commerce
Square - Square is the payment / POS company making commerce easy
and accessible to everyone. This module integrates with their eCommerce
API for online payments into Drupal Commerce.
Publishing
- Nodequeue -
The Nodequeue module allows users to collect nodes in an arbitrarily
ordered list.
- Entityqueue
- The Entityqueue module allows users to create queues of any entity
type. Each queue is implemented as an Entityreference field, that can
hold a single entity type.
- Linkit - Linkit
provides an easy interface for internal and external linking with
editors and fields by using an autocomplete field. Linkit links to
nodes, users, managed files, terms and have basic support for all
entities by default.
- Wysiwyg -
Allows the use of client-side editors to edit content. It simplifies the
installation and integration of the editor of your choice. This module
replaces all other editor integration modules. No other Drupal module is
required.
SEO
- Global
Redirect - A helpful SEO-based module that helps Drupal not appear
to have duplicate URLs so that your site isn’t penalized by search
engines.
- Google
Analytics - Adds the Google Analytics web statistics tracking system
to your website.
- Metatag - The
Metatag module allows you to automatically provide structured metadata,
aka “meta tags”, about a website. In the context of search engine
optimization, when people refer to meta tags they are usually referring
to the meta description tag and the meta keywords tag that may help
improve the rankings and display of a site in search engine results. In
addition, the module provides support for meta tags (Open Graph Protocol
from Facebook, Twitter Cards from Twitter) that allow control of how
content appears when shared on social networks.
- Redirect -
This module is critical for providing 301 redirects on your site.
- XML Site Map
- The XML sitemap module creates a sitemap that conforms to the
sitemaps.org specification. This helps search engines to more
intelligently crawl a website and keep their results up to date. The
sitemap created by the module can be automatically submitted to Ask,
Google, Bing (formerly Windows Live Search), and Yahoo! search engines.
The module also comes with several submodules that can add sitemap links
for content, menu items, taxonomy terms, and user profiles.
- Page Title -
This module is deprecated, all functionality is being moved into the
Metatag module, an upgrade process is available and is being
improved.
- Facebook OAuth
(FBOAuth) - This module provides authentication services and an API
to perform actions against Facebook. This module allows users to login
to Drupal through the service commonly known as “Facebook Connect”. This
module is built with simplicity and flexibility in mind, it provides
login services (and does it well), and an API for performing any other
actions you may want to write yourself to query against Facebook’s
APIs.
- Twitter
Block - Twitter Block is a lightweight module which allows
administrators to create blocks which display embedded timelines.
- Twitter - This
module provides API integration with the Twitter microblogging service.
Out of the box, it allows users to: Associate one or more Twitter
accounts with their Drupal user account. List tweets in different ways
thanks to Views. Post to their own Twitter account or a site-wide
Twitter account whenever they create new content or based on Drupal
Actions or Rules. Log in to your Drupal site via Twitter. Format twitter
@usernames and
#hashtags as links to Twitter.com. Search and post to Twitter via Drush
commands. View embedded images media from tweets (not in 7.x-6.x branch
yet).
- AddThis -
Provides an AddThis.com button or toolbox to let your users share your
content to social network sites.
Theming
- jQuery
Update - Upgrades the version of jQuery in Drupal core to a newer
version of jQuery.
Users
Utility / API Modules
- Chaos tool suite
(ctools) - This suite is primarily a set of APIs and tools to
improve the developer experience. It also contains a module called the
Page Manager whose job is to manage pages. In particular it manages
panel pages, but as it grows it will be able to manage far more than
just Panels.
- Entity API -
This module extends the entity API of Drupal core in order to provide a
unified way to deal with entities and their properties. Additionally, it
provides an entity CRUD controller, which helps simplifying the creation
of new entity types.
- Entity
cache - Entity cache puts core entities into Drupal’s cache
API.
- File entity
(fieldable files) - File entity provides interfaces for managing
files. It also extends the core file entity, allowing files to be
fieldable, grouped into types, viewed (using display modes) and
formatted using field formatters. File entity integrates with a number
of modules, exposing files to Views, Entity API, Token and more.
- Libraries API
- The common denominator for all Drupal modules/profiles/themes that
integrate with external libraries.
- Strongarm -
Strongarm gives site builders a way to override the default variable
values that Drupal core and contributed modules ship with. It is not an
end user tool, but a developer and site builder tool which provides an
API and a limited UI.
- Token - Tokens
are small bits of text that can be placed into larger documents via
simple placeholders, like %site-name or [user]. The Token module
provides a central API for modules to use these tokens, and expose their
own token values.
Resources
Tutorials
Books
- Drupal Books - There are
many useful books about Drupal. Here are just a few of our
recommendations.
- drupaltools.github.io -
A list of open source tools that can help people accomplish Drupal
related tasks.
- check_drupal -
Nagios drupal plugin to monitor the state of a drupal site for security
updates, core errors and more.
Training
Integration
drupal.md
Github