Last updated December 17, 2019


What tools are available for site builders?

There are several additional tools available that help you create sites faster, more accurately and with less effort.

Drush and Drupal Console
See below for more about command-line tools.
Git
Git is a version control system you can use to track changes made to files within your entire site, or files relating only to the module or theme that you are using. Git makes it possible to try out changes, and if necessary, revert to a previous version. It can be used as well to track changes in the configuration files and synchronize the configuration of different sites. Git has become the standard for web development projects.
Composer
See below for more about Composer.
Devel
The contributed Devel module helps with development tasks such as debugging and inspecting code, analyzing database queries, and generating dummy content.

What are command-line tools?

Command-line tools provide an alternative to using the administrative interface for various operations on your site. Many site builders and maintainers have invested the time to install and learn a command-line tool, because:

  • Administrative tasks are typically faster and less tedious when performed at the command line than in the user interface.
  • You can write scripts that combine site-related commands with other commands on the server, to automate more complicated tasks.
  • Command-line tools provide additional functionality not available via the administrative interface; for example, running database queries.

The most popular tools are Drush and Drupal Console. Drush has been available longer, and has commands for both the core software and contributed modules; this guide documents the Drush commands for many tasks. Drupal Console started as a tool for module programmers, but has a growing list of commands for site builders; this guide does not document Drupal Console commands, but you can look them up in the Drupal Console documentation.

To use these tools, you will need to have command-line terminal access to the server where your website will be hosted, and you will need to install Composer first in order to install either the Drush or Drupal Console tool.

What is Composer used for?

Composer is a tool for managing PHP dependencies, where the developer specifies what version of each external library is needed, and Composer manages the process of downloading and installing the libraries.

The core software is a primary user of Composer, because it makes use of several externally-developed software libraries, which must be downloaded and installed in order for the core software to work. When you install the core software, you either need to download an archive that contains compatible versions of the external libraries, or you need to run Composer to download the external libraries after the initial download. The Drush and Drupal Console command-line tools are also downloaded using Composer.

Some contributed modules also make use of externally-developed software libraries; for example, a Facebook integration module might require Facebook’s integration library to be installed for the module to work, and a geographical module might make use of a standard library of geographical functions. To install a module with external dependencies, you will need to run Composer.

What tools are available for module and theme developers?

In addition to the site builder tools mentioned above, the following tools are useful for module and theme developers.

Drupal Console
Drupal Console is a command-line tool that generates boilerplate code and interacts with a Drupal site. It can generate, for example, block or form code, install modules and themes, and create dummy content. Drupal Console makes use of the Symfony Console.
Coder
Coder is a command-line tool that checks if your modules and themes comply with coding standards and other best practices. It can also fix coding standard violations.
Browser debugging tools
Web browsers such as Firefox and Chrome include tools that allow viewing, editing, debugging, and monitoring CSS, HTML, and JavaScript. You can open the debugging pane or window by right-clicking the mouse in an area of your window, and choosing "Inspect" or "Inspect element".