---
visibility: public
---

# Drupal

**repo:** [nirgn975/awesome-drupal](https://github.com/nirgn975/awesome-drupal)  
**category:** [[content-management-systems|Content Management Systems]]
**related:** [[php|Php]] · [[wagtail|Wagtail]] · [[craft-cms|Craft Cms]]

---

# Awesome Drupal [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome)

[<img src="https://raw.githubusercontent.com/nirgn975/awesome-drupal/master/icon-drupal.png" align="right" width="90">](https://www.drupal.org)

> [Drupal](https://www.drupal.org) is a free and open source CMS written in PHP and distributed under the GNU General Public License, provides a back-end for Web sites worldwide – ranging from personal blogs to corporate, political, and government sites.

You might also like [awesome-php](https://github.com/ziadoz/awesome-php).

## Contents

- [Tools](#tools)
- [Modules](#modules)
- [Documentation](#documentation)
- [Articles](#articles)
- [Distributions](#distributions)
- [Books](#books)
- [Videos](#videos)
- [Podcasts](#podcasts)
- [Community](#community)
- [Tips](#tips)

## Tools

- [Drupal Console](https://drupalconsole.com/) - The Drupal CLI. A tool to generate boilerplate code, interact with and debug Drupal.
- [DrupalVM](https://www.drupalvm.com/) - Drupal VM makes building Drupal development environments quick and easy, and introduces developers to the wonderful world of Drupal development on virtual machines or [Docker](/@harrisonqian/awesome/wiki/back-end-development/docker) [containers](/@harrisonqian/awesome/wiki/platforms/containers) (instead of crufty old MAMP/WAMP-based development).
- [Drush](http://www.drush.org/) - Drush is a command line [shell](/@harrisonqian/awesome/wiki/development-environment/shell) and Unix scripting interface for Drupal. Drush [core](/@harrisonqian/awesome/wiki/platforms/core) ships with lots of useful commands for interacting with code like modules/themes/profiles. Similarly, it runs update.php, executes sql queries and DB migrations, and misc utilities like run cron or clear cache.
- [Yo Hedley!](https://github.com/Gizra/generator-hedley) - Scaffold a headless Drupal backend, [Angular](/@harrisonqian/awesome/wiki/front-end-development/angular) app client, and Behat tests.
- [DDEV-Local](https://github.com/drud/ddev) - A [Docker](/@harrisonqian/awesome/wiki/back-end-development/docker)-based tool to create and manage local development environments. Use for other PHP [apps](/@harrisonqian/awesome/wiki/platforms/apps) too. Also see the [Get Started Guide](https://www.drud.com/get-started/) 

## Modules

- [Administration menu](https://www.drupal.org/project/admin_menu) - Provides a theme-independent administration interface (aka. navigation, back-end).
- [Administration views](https://www.drupal.org/project/admin_views) - Replaces administrative overview/listing pages with actual views for superior usability.
- [Backup and Migrate](https://www.drupal.org/project/backup_migrate) - Back up and restore your Drupal [MySQL](/@harrisonqian/awesome/wiki/databases/mysql) [database](/@harrisonqian/awesome/wiki/databases/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.
- [Better Exposed Filters](https://www.drupal.org/project/better_exposed_filters) - Back up and restore your Drupal [MySQL](/@harrisonqian/awesome/wiki/databases/mysql) [database](/@harrisonqian/awesome/wiki/databases/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.
- [CKEditor - WYSIWYG HTML editor](https://www.drupal.org/project/ckeditor) - This module will allow Drupal to replace textarea fields with the CKEditor - a visual HTML editor, usually called a WYSIWYG editor.
- [Colorbox](https://www.drupal.org/project/colorbox) - Colorbox is a light-weight customizable lightbox plugin for [jQuery](/@harrisonqian/awesome/wiki/front-end-development/jquery). This module allows for [integration](/@harrisonqian/awesome/wiki/platforms/integration) of Colorbox into Drupal.
- [Context](https://www.drupal.org/project/context) - Context allows you to manage contextual conditions and reactions for different portions of your site. You can think of each context as representing a "section" of your site.
- [Display Suite](https://www.drupal.org/project/ds) - Display Suite allows you to take full control over how your content is displayed using a drag and drop interface.
- [RESTful module](https://www.drupal.org/project/restful) - Allows Drupal to be operated via RESTful HTTP requests, using best practices for [security](/@harrisonqian/awesome/wiki/security/security), performance, and usability.
- [Organic groups module](https://www.drupal.org/project/og) - Enable users to create and manage their own 'groups'.
- [Message](https://www.drupal.org/project/message) - Enables logging and displaying system events in a number of different use cases.
- [Message Notify](https://www.drupal.org/project/message_notify)  – Forward messages when they are generated.
- [Message Subscribe](https://www.drupal.org/project/message_subscribe) – Register to be notified when messages are generated for specific content.
- [Module Filter](https://www.drupal.org/project/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](/@harrisonqian/awesome/wiki/testing/testing) new and various modules being considered. 
- [Entities Diagram Graph](https://www.drupal.org/sandbox/bricel/2654176) - Generates a graph of the entities, fields and their relationship of a particular installation of Drupal 7.
- [Owl Carousel](https://www.drupal.org/project/OwlCarousel) - This module integrates the wonderful Owl Carousel slider built by OwlFonk. 
- [csv2sql](https://www.drupal.org/project/csv2sql) - Convert CSV to SQL and create a table in your Drupal installation.
- [Logs HTTP](https://www.drupal.org/project/logs_http) - Provides [JSON](/@harrisonqian/awesome/wiki/miscellaneous/json) event pushing to Logs via the tag/http endpoint.
- [Features](https://www.drupal.org/project/features) - 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.
- [Commerce](https://www.drupal.org/project/commerce) - Used to build eCommerce websites and applications of all sizes.
- [Views](https://www.drupal.org/project/views) - Allows administrators and site designers to create, manage, and display lists of content.
- [Panels](https://www.drupal.org/project/panels) - Allows a site administrator to create customized layouts for multiple uses.
- [Panelizer](https://www.drupal.org/project/panelizer) - Allows a site administrator to create customized layouts for multiple uses.
- [Pathauto](https://www.drupal.org/project/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.
- [Ctools](https://www.drupal.org/project/ctools) - This suite is primarily a set of APIs and tools to improve the developer experience.
- [Search API](https://www.drupal.org/project/search_api) - Provides a framework for easily creating searches on any entity known to Drupal, using any kind of search engine.
- [Slick](https://www.drupal.org/project/slick) - Slick is a powerful and performant slideshow/carousel solution leveraging Ken Wheeler's Slick carousel. See http://kenwheeler.[github](/@harrisonqian/awesome/wiki/development-environment/github).io/slick
- [Token](https://www.drupal.org/project/token) - Provides additional tokens not supported by [core](/@harrisonqian/awesome/wiki/platforms/core) (most notably fields), as well as a UI for browsing tokens.
- [Ubercart](https://www.drupal.org/project/ubercart) - Ubercart is the most popular Drupal E-Commerce platform for your website. It implements everything you need to start selling products online. 
- [Rules](https://www.drupal.org/project/rules) - The Rules module allows site administrators to define conditionally executed actions based on occurring events (known as reactive or ECA rules).
- [Entity API](https://www.drupal.org/project/entity) - Extends the entity API of Drupal [core](/@harrisonqian/awesome/wiki/platforms/core) in order to provide a unified way to deal with entities and their properties.
- [Entity cache](https://www.drupal.org/project/entitycache) - Puts [core](/@harrisonqian/awesome/wiki/platforms/core) entities into Drupal's cache API.
- [elFinder file manager](https://www.drupal.org/project/elfinder) - elFinder is a open source AJAX file manager
- [IMCE](https://www.drupal.org/project/imce) - IMCE is an image/file uploader and browser that supports personal directories and quota.
- [Date](https://www.drupal.org/project/date) - Contains both a flexible date/time field type Date field and a Date API that other modules can use.
- [Devel](https://www.drupal.org/project/devel) - Suite of modules containing fun for module developers and themers.
- [Migrate](https://www.drupal.org/project/migrate) - Provides a flexible framework for migrating content into Drupal from other sources.
- [Entity validator](https://www.drupal.org/project/entity_validator) - Allows you to define a plugin and set methods to validate the object you'r dealing with.
- [Webform](https://www.drupal.org/project/webform) - Webform is the module for making forms and surveys in Drupal.
- [WYSIWYG](https://www.drupal.org/project/wysiwyg) - Allows the use of client-side editors to edit content.

## Documentation

- [Installation Guide ](https://www.drupal.org/docs/7/install)
- [Site Building Guide](https://www.drupal.org/documentation/build)
- [Administration & [Security](/@harrisonqian/awesome/wiki/security/security) Guide](https://www.drupal.org/docs/7/administering-drupal-7-site)
- [Structure Guide](https://www.drupal.org/docs/7/nodes-content-types-and-fields)
- [Multilingual Guide](https://www.drupal.org/docs/7/multilingual)
- [Theming Guide](https://www.drupal.org/docs/7/theming)
- [Mobile Guide](https://www.drupal.org/docs/7/mobile)
- [API Reference](https://api.drupal.org/api/drupal)
- [Examples for Developers](https://www.drupal.org/project/examples)
- [Troubleshooting](https://www.drupal.org/troubleshooting)
- [The Drupal Cookbook (for beginners)](https://www.drupal.org/documentation/customization/tutorials/beginners-cookbook)

## Articles

- [Let’s Talk about Decoupled Authentication](http://www.gizra.com/content/restful-access-token/)
- [Creating a Dynamic Email Template in Drupal](http://www.gizra.com/content/dynamic-email-template/)
- [Getting started with a [Core](/@harrisonqian/awesome/wiki/platforms/core) Initiative](http://www.gizra.com/content/getting-started-with-drupal-core-initiative/)
- [Drupal 8: Migrate Nodes with Attachments Easily](http://www.gizra.com/content/drupal-8-attachment-migration/)
- [Migration Best Practices](http://www.gizra.com/content/migration-best-practices/)
- [Cross-Site Scripting attack detection](http://www.gizra.com/content/xss-attack/)
- [simpleTest with Behat for Drupal 8](http://www.gizra.com/content/simpletest-behat-drupal-8/)
- [Logs, The Easy Way](http://www.gizra.com/content/logs-easy-way/)
- [Todo app with RESTful backend](http://www.gizra.com/content/todo-restful-backend/)
- [Message-subscribe - A New Subscription System](http://www.gizra.com/content/message-subscribe-new-subscription-system/)
- [What is Message module, and its new features](http://www.gizra.com/content/what-message-module-and-its-new-features/)
- [Message notify - Multilingual email notifications](http://www.gizra.com/content/message-notify-multilingual-email-notifications/)
- [Data Migration - part 1](http://www.gizra.com/content/data-migration-part-1/)
- [Data Migration - part 2](http://www.gizra.com/content/data-migration-part-2/)
- [How to install Drupal using Composer](http://whaaat.com/installing-drush-9-using-composer)
- [Using [composer](/@harrisonqian/awesome/wiki/programming-languages/composer) to set up Drupal 8](https://www.lullabot.com/articles/goodbye-drush-make-hello-composer)
- [Drupal Headless Architecture with Inferno.js [Live Demo]](https://snipcart.com/blog/drupal-headless-architecture-tutorial)

## Distributions

- [Commerce kickstart](https://www.drupal.org/project/commerce_kickstart) - Commerce Kickstart is the quickest way to get up and running with Drupal Commerce.
- [OpenScholar](https://www.drupal.org/project/openscholar) - The easiest way to power all of your institution's websites.
- [Open Atrium](https://www.drupal.org/project/openatrium) - Open Atrium, maintained by Phase2 Technology, is a Drupal distribution that allows you to confidently engage with your colleagues through convenient collaboration.
- [OpenPublic](https://www.drupal.org/project/openpublic) - For government and public policy organizations, open source only works if it’s built for the [security](/@harrisonqian/awesome/wiki/security/security), accessibility, and flexibility requirements of the public sector. 
- [OpenPublish](https://www.drupal.org/project/openpublish) - OpenPublish is a Drupal 7 packaged distribution designed for the online news industry. It is deployed in a variety of media outlets sites including magazines, newspapers, journals, trade publications, broadcast, wire service, multimedia sites and membership publications.

## Books

- [Drupal 7 The Essentials - Johan Falk](https://archive.org/details/Drupal7TheEssentials)

## Videos

- [Drupal 8 Basics - LevelUpTuts](https://www.youtube.com/playlist?list=PLLnpHn493BHE9mfp6z5--UowO-6SOzcuI)
- [Drupal 7 [Tutorials](/@harrisonqian/awesome/wiki/computer-science/tutorials) - LevelUpTuts](https://www.youtube.com/playlist?list=PL15BE2E8313A4E809)
- [Decoupled Drupal: When, Why, and How](https://www.youtube.com/watch?v=bLWa3SbEEa8)
- [Building Modern APIs with RESTful](https://www.youtube.com/playlist?list=PLZOQ_ZMpYrZv8_c7jd_CkO_93-DnyVFY5)
- [DrupalCon Portland 2013 - Organic Groups \\ Message](https://www.youtube.com/watch?v=XglUUroifsg)
- [Drupalize Me](https://drupalize.me)

## Podcasts

- [Lullabot Podcast](https://www.lullabot.com/podcasts)
- [DrupalEasy Podcast](https://www.drupaleasy.com/podcast)
- [Talking Drupal](http://www.talkingdrupal.com)
- [Acquia Engage](https://dev.acquia.com/learn?type_1=podcast)

## Community

- [Reddit](https://www.reddit.com/r/drupal/)
- [Stack Overflow](http://stackoverflow.com/questions/tagged/drupal)
- [`@drupal` on Twitter](https://twitter.com/drupal)
- [`#drupal` on Freenode](http://webchat.freenode.net/?channels=drupal)
- [`#drupal-contribute` on Freenode](http://webchat.freenode.net/?channels=drupal-contribute)
- [`#drupal-support` on Freenode](http://webchat.freenode.net/?channels=drupal-support)
- [Drupal Israel Meetup Group](https://www.meetup.com/Drupal-Israel/) *(Hebrew)*
- [Drupal NYC Meetup Group](https://www.meetup.com/drupalnyc/)

## Tips

- [Solr Script](https://github.com/RoySegall/solr-script) - Handy script to install Apache Solr.
- [Ubuntu development environment setup](https://github.com/Gizra/KnowledgeBase/wiki/Ubuntu-and-development-environment-setup) - Provides steps for configuring ubuntu so it will be ready for PHP and Drupal development.
- [MacOS: New Machine configuration](https://github.com/Gizra/KnowledgeBase/wiki/MacOS:-New-Machine) - Provides files and scripts for configuring MacOS for development.

## Contribute

Contributions welcome! Read the [contribution guidelines](contributing.md) first.

## License

[![CC0](http://mirrors.creativecommons.org/presskit/buttons/88x31/svg/cc-zero.svg)](https://creativecommons.org/publicdomain/zero/1.0/)

To the extent possible under law, [Nir Galon](http://nirgn.com) has waived all copyright and related or neighboring rights to this work.
