Module Development

What's New in Drupal 8: Extending and Enhancing Drupal for Drupal 8

This page is archived

We're keeping this page up as a courtesy to folks who may need to refer to old instructions. We don't plan to update this page.

Alternate resources

Sprout Video

This video was part of a series of presentations produced in anticipation of Drupal 8's official release. For information about Drupal 8 module development based on official releases of Drupal 8, view tutorials in our Drupal 8 Module Development series.
[# card #]
nid: 2766
title: Drupal 8 Module Development Guide
[# endcard #]

One of the things that makes Drupal an attractive platform for developers to build their applications with is its extensibility. If you've ever used a contributed module, or written your own, you've taken advantage of this fact. Almost everything about the way that Drupal core works can be altered, extended or even replaced in order to allow developers total control. Historically that's always been done by implementing hooks. In Drupal 8 however, we've got some new tools to allow module developers to extend, alter, and enhance core's functionality.

In this presentation we'll take a high-level look at these new options, including:

  • The role of hooks in Drupal 8
  • The new plugin system for adding functionality
  • Using routes to map HTTP requests to custom code
  • Events and event listeners
  • The service container and adding new services
  • Using the Entity API for data storage

After watching this presentation you should have basic knowledge of the various ways in which Drupal 8 can be extended, and when to use each one. You'll also get information about what you can do now to start preparing for using these new tools.

Additional resources

API Documentation on

Articles and Video Tutorials:


Drupal's Change log: