Tuning Drupalize.Me Search Results with Solr Query Re-Ranking and Search API

During the Drupal 7 era, we created tutorials on a variety of topics such as Views, Drush, Form API, and theming. When Drupal 8 was released, we updated this content for Drupal 8, 9, and 10. The significant changes between Drupal 7 and modern versions necessitated maintaining two versions of each tutorial on our site: one for legacy Drupal and another for modern Drupal.

Today, we still maintain both versions. The use of our legacy Drupal content has steadily decreased, yet it still has a substantial presence in search results. This often leads to confusion, especially when members trying to learn about features in modern Drupal find themselves on a legacy Drupal tutorial.

In this article, Joe Shindelar writes about his coding experiments to tune search results on Drupalize.Me to favor Drupal 10 content, and demote Drupal 7 content.

New in Drupal 10.2: Create a New Field UI

In Drupal 10.2, you’ll notice a new UI when you create a new field. It’s designed to help you recall what each field type means, so that you can make the right choice. Let’s check it out.

PHP Attributes for Drupal Plugins

As of PHP 8.1, the PHP language has native support for attributes that are compatible with Drupal’s plugin system use case. As a result, Drupal will transition from the use of annotations to PHP attributes, to supply metadata and configuration for plugins. This will require developers to learn the new PHP attributes syntax, and update their existing code to use it. For now, Drupal will continue to support both annotations and attributes. But the proverbial clock is ticking.

So let’s take a look at how we got here, and what you’ll need to do to update your code for future versions of Drupal.

Part 4: Utility Components in Drupal (Spotlight on Symfony in Drupal)

We've made it to the final blog post (for now?) in our spotlight on Symfony in Drupal. In this blog post, we'll take a look at Symfony's utility components. We're using this term to group together Symfony components that provide useful functionality. It's a great idea to familiarize yourself with these. You can make use of them in your own modules, or bring them into other PHP application code.

Part 3: Routing in Drupal (Spotlight on Symfony in Drupal)

In this installment of our series on Symfony's role in Drupal, we're focusing on the Routing component. Even if it may seem simple looking from the outside, routing in Drupal is a complex task with lots of customized parts. The routing component's job is to match incoming requests to the correct controller, which is then responsible for building the response. Let's take a high-level glance at how Drupal has built upon Symfony's Routing component.

Register now for remote migration and theming workshops in early 2024

Registration is now open for our next 2 workshops on Drupal migrations and theming! Learn to use Drupal's Migrate API to upgrade from Drupal 7 to Drupal 10, February 26-28, 2024. Learn to create stunning Drupal 9 and 10 themes, March 13-15, 2024.

These remote workshops will happen 100% online via Zoom and other tools. We think you’ll get the most out of it if you come prepared to engage with the instructors and other participants.

They are broken up into 3 distinct 2.5-3 hour units instead of one long 8-hour workshop.

Each workshop unit will consist of a combination of instructor presentation, hands-on exercises, and instructor-lead group discussion. The units build upon one another so you’ll want to be able to attend all 3 days of the workshop you select.

Part 2: EventDispatcher in Drupal (Spotlight on Symfony in Drupal)

In Part 2 of our exploration of Symfony components in Drupal, we focus on the event dispatcher.

The event dispatcher is a tool that enables the application to communicate across objects by subscribing to and listening for events. It achieves this by creating a directory for various event types, and the corresponding registered listeners for each event type. When a specific type of event occurs, the code that has registered a listener for that event is invoked. If you're familiar with the Mediator and Observer design patterns you might recognize similarities here.

Part 1: HttpKernel in Drupal (Spotlight on Symfony in Drupal)

For over a decade, Drupal has been using Symfony Components. In 2015, with the release of Drupal 8, these components became a part of Drupal's core software. It's possible to build complex Drupal sites without worrying about what these components do. But learning about the system we're using will make us better developers of Drupal sites and other PHP applications.

In this first part of a 3-part series, we'll explore how Symfony helps Drupal with its HttpKernel component. We'll look at the component itself and how Drupal uses it to coordinate the request/response cycle.

Drupal 10.2.0 Just Released (and Other Drupal News), New Drupalize.Me Tutorial Feature, ICYMI, Holiday Week Closure

We've got a lovely mix of announcements for you today: Drupal's latest minor release, 10.2.x is now available; a new major release schedule for Drupal was recently announced; ICYMI: videos added to 4 tutorials in our new Routes and Controllers in Drupal course; and our office is officially closed the week of December 25 through January 1.

The 2023 Drupal Advent Calendar Is Full of Tasty Educational Treats

James Shields (lostcarpark on has once again rounded up fellow Drupal community members to write articles for a 2023 Drupal Advent Calendar, hosted on his personal site, This year, Drupalize.Me trainers Amber Matz and Joe Shindelar contributed articles to the Advent Calendar. Amber's article on adding Help Topics to a module was published on December 17, and Joe's in-depth overview of Drupal's upcoming switch from annotations to native PHP attributes was published on December 21. Check out the Drupal Advent Calendar project (link inside) for more interesting and informative articles.

What If Yoda Taught You Drupal?

Earlier this quarter, our team got together in Boise, Idaho for our annual retreat. These retreats are always a great opportunity to reconnect, and also to talk about the future of our business. One of the things that's been coming up in a lot of our discussions is how we could leverage Artificial Intelligence (AI) to improve our product, customer service, and learning outcomes for our members. I think it's fair to say that no one on our team is an AI expert at this point, but we are all at least curious.

So, while we were having this discussion I did the only logical thing I could think of: I visited and asked "How would Yoda go about helping me learn Drupal 10?"

About us

Drupalize.Me is the best resource for learning Drupal online. We have an extensive library covering multiple versions of Drupal and we are the most accurate and up-to-date Drupal resource. Learn more