Pardon Our Dust: New Tutorial Organization and Navigation Roll-Out

Heads up! We’re rolling out a new organization structure of our tutorials, courses, and guides, so that we can implement our new guide navigation. You may find the course navigation change at any time within the next couple of weeks. Use the “Was This Helpful?” form at the bottom of any tutorial to reach out if you need help or have a question.

DrupalCon Portland 2024: Issue Queue Initiatives

This Wednesday, May 8, I'm speaking at DrupalCon Portland 2024 as part of the Drupal Project Initiatives Keynote. The keynote is kicking off Contribution Day on Wednesday first thing in the morning. I'll be highlighting initiatives and programs that are helping people contribute in a strategic way, and as a result, increasing throughput in the core issue queue. Throughput is the rate that a project’s issues are resolved and committed. And it’s one way to gauge the health of an open source project like Drupal.

Check out these resources to learn more about the initiative and programs I highlight in this presentation.

Release Day: The Drupal Module Developer Guide Is Here!

We have been working for a long time on a new Drupal Module Developer Guide. We'll be sharing more about our process and approach, but today we want to simply announce, it's here! The Drupal Module Developer Guide is an introduction to Drupal module development that uses a project-based approach to learning and helps people with some knowledge of PHP transition from Drupal Site Builder to Drupal Developer. The guide gives learners tangible wins, early and often, motivating students to keep learning.

Learning Drupal with the Help of an AI Tutor

TL; DR: Use this prompt and the text from a Drupalize.Me tutorial to experiment with using generative AI as a tutor for learning Drupal.

A while ago, I wrote an article and gave a presentation about why learning Drupal is so hard. One of the key challenges I identified is the “pit of despair”. It's that point in the learning journey where you can no longer rely on the hand holding of step-by-step tutorials. You need to step out into the chasm and come up with your own unique solutions to your specific problems. That point where you know just enough to realize the breadth of what you don’t yet know. And I had said, based on input from many peers, that the quickest way through the dip is real-world experience and drawing on the expertise of others. The advice could be summed up as: if you want to learn fast, get a tutor.

It can be hard to find a mentor. As much as we would love to be able to do so, our small team at Drupalize.Me can't scale personalized individual tutoring. So I've been thinking about how you might be able to use AI to help get at least some of the benefits of tutoring.

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.

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