Packages form


Packages provides an easy-to-use framework for developing bundles of functionality which each user can enable, disable, and configure for their own use. The general concept is for Packages to be similar to Features but on a per-user basis and act as an app-store or package manager, allowing them to customize the site for themselves.

What can be a package?

Anything at all. Some examples include notifications, third-party integrations, a calendar, blog, an entire section of your site, theme overrides, content editing tools, functionality from a contrib module, etc.

How do I create a package?

Simply create a Package plugin by extending the PackageBase class (see example). To learn more, read the developer's guide.

Why packages?

  • Incredibly fast and easy development.
  • Data storage (package status and optional configuration).
  • A unified and attractive user interface.
  • No need to develop custom field types.
  • Access plugins and options for routes, views, and blocks.
  • A Drupal service for easily fetching package status and configuration.


  1. Install the module as you would any other. There are no dependencies or requirements.
  2. Grant the Access packages permission to users. Some packages may require additional permissions.
  3. Each user can view, toggle, and configure their packages at /packages.
  4. A packages link and menu will be added to the core toolbar menu if it is enabled.
Supporting organizations: 

Project information