Skip to main content
Start of main content.
Lee Rowlands headshot

Lee Rowlands

Lead Developer

Location
Bundaberg
Drupal.org
larowlan
Social
larowlan

Lee’s foundation in mathematics and engineering gives him an analytical edge that sets his development work apart. Joining Drupal.org in 2007 and building his skills through his own boutique Drupal consulting firm, he established himself as a leading contributor to the Drupal open source project. Today, Lee is a well-recognised figure in the global Drupal community, consistently in the top 10 individual contributors to Drupal core worldwide, maintaining over 50 contributed modules.

Lee joined PreviousNext in 2012 and has grown into a core pillar of the team as one of its Lead Developers. He is a member of the global Drupal Security Team, a Core Committer, a Core Framework Manager, and a regular speaker at Drupal and React conferences around the world.

My blog posts

Safely extending Drupal 10 plugin classes without fear of constructor changes

Looking for the latest? Check out the 2026 edition.

From time to time you may find you need to extend another module's plugins to add new functionality.

You may also find you need to alter the signature of the constructor in order to inject additional dependencies.

However plugin constructors are considered internal in Drupal's BC policy.

So how do you safely do this without introducing the risk of breakage if things change.

In this article we'll show you a quick trick learned from Search API module to avoid this issue.

by lee.rowlands /

Sending Drupal entities to dialogflow with Chatbot API module

Services like dialogflow (formerly api.ai) do a much better job of natural language parsing (NLP) if they're aware of your entity names in advance.

For example, it can recognize that show me the weather in Bundabergis a request for weather in Bundaberg, if you've told it ahead of time that Bundaberg is a valid value for the City entity.

Having the entity values automatically update in your service of choice when they're created and changed in Drupal makes this much more efficient.

This article will show you how to achieve that.

by lee.rowlands /

Using Composer to debug issues updating Drupal core

This week whilst trying to update one of our projects to the latest version of Drupal 8 core, we had some issues.

We use Composer to manage our dependencies, modules etc, and on this particular occasion, things weren't straightforward.

In order to solve it, we had to use some of the lesser known features of Composer, so decided to share.

by lee.rowlands /

Introducing Drush CMI tools

Now we've got the experience of a number of production D8 sites under our belt we took the time to consolidate our CMI workflow into some useful drush commands.

And naturally we've open sourced them.

Read on to find out more about our drush CMI tools.

by lee.rowlands /