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.

For the moment, it includes the following tools:

  • Plugins -- tools to make it easy for modules to let other modules implement plugins from .inc files.
  • Exportables -- tools to make it easier for modules to have objects that live in database or live in code, such as 'default views'.
  • AJAX responder -- tools to make it easier for the server to handle AJAX requests and tell the client what to do with them.
  • Form tools -- tools to make it easier for forms to deal with AJAX.
  • Object caching -- tool to make it easier to edit an object across multiple page requests and cache the editing work.
  • Contexts -- the notion of wrapping objects in a unified wrapper and providing an API to create and accept these contexts as input.
  • Modal dialog -- tool to make it simple to put a form in a modal dialog.
  • Dependent -- a simple form widget to make form items appear and disappear based upon the selections in another item.
  • Content -- pluggable content types used as panes in Panels and other modules like Dashboard.
  • Form wizard -- an API to make multi-step forms much easier.
  • CSS tools -- tools to cache and sanitize CSS easily to make user-input CSS safe.

CTools for Drupal 8

The 8.x-2.x branch was used to help with the VDC initiative and was abandoned as of August 2012.
The 8.x-3.x branch is a start from scratch to evaluate the features of ctools that didn't make it into Drupal Core 8.0.x and port them.

If you’re interested in following the Drupal 8 port in detail, follow Drupal 8 port of ctools in the issue queue OR join us on IRC every Tuesday at 12 noon CDT (UCT-0500) in the #drupal-scotch channel for our weekly meetings.

Project information