Drupal 8 Module of the Week: Devel

Each day, more Drupal 7 modules are being migrated over to Drupal 8; new modules are also being created. In this series, the Acquia Developer Center is profiling some of the most prominent, useful modules available for Drupal 8. This week: Devel.

We sat down with Moshe Weitzman, the creator and one of the maintainers of Devel. Moshe has been a Drupalist since 2001, when Drupal was just getting started. Devel was actually one of Moshe’s first modules; today he has over 1000 commits to Devel. In addition to being a consistent contributor to Drupal core, maintainer of the Drush and Devel projects, and serving as a mentor within the Drupal community, Moshe is also part of the Office of the CTO at Acquia.

What does the Devel module do?

Moshe explains: “Devel has a grab-bag of useful features. There are several modules that are part of Devel. For example, one is a module called WebProfiler, which lets you know how many queries there are and gives you information about the request. It tells you things like how many times the cache was consulted and how many cache hits or misses there were . WebProfiler gives you a better sense of how your website works, and how to debug it if it is underperforming.”

WebProfiler footer

“Another Devel submodule is Devel Generate, which generates example data for your Drupal website. This is helpful if you need to test or showcase your site with data -- dummy users, content, images, and so on. Devel Generate  can create it all for you in a moment.

One function worth citing is dpm() -- 'Drupal print message' -- which gives you the contents of any variable. Themers use this to know what they can print out in any given template.

Last but not least, Devel’s Drush integration makes it possible to access Devel’s functionality via the command line, similar to its Web UI (e.g. generate content, review hook implementations, and so on)."

WebProfiler image via https://drupalize.me/blog/201406/web-profiler-drupal-8

Why is Devel important?

“Devel is important because the range of information it provides, combined with its testing and other tools, can accelerate your time to delivery. It provides you with better insight into the system you’re operating in. This knowledge helps you identify where any potential slowdowns might be, making you more productive in the end.”

When was Devel created?

“Devel was created in January, 2003. I needed tools to better understand how Drupal worked. Devel exists to make Drupal development and debugging more enjoyable.”

Has this module been changed in Drupal 8?

"The main change to Devel in Drupal 8 is the introduction of the WebProfiler submodule. The pieces were available in Drupal 7 via query log, but WebProfiler pulls it together in a beautiful and extensible system. Drupal 8 is new for all of us, so a tool like webprofiler really reduces the learning curve. Another change is that Devel has embraced all of the Drupal 8 changes around routing and controllers, and around debugging for Twig. We embraced state and config systems with the new Drupal 8 editor features as well.”

“Devel was built by many people over the past years, and everyone’s contributions are still very welcome. Come over to the Devel project page and make feature requests, file bug reports, help out in the issue queue if you can. Thanks!” - Moshe Weizman