Introduction to Drupal
GuideWelcome to Our New Drupal 9 Site
Blog postWelcome to our new Drupal 9 website! We’ve been working hard on this and it’s all paid off today. You’ll see we didn’t redesign the site, so most of the site will look and behave the way it always has. We did make a lot of changes in the backend, and cleaned a bunch of things up.
New Drupal Learning Community
Blog postLast week we launched the Drupalize.Me Community beta and we’d like you to join us. The community is open to everyone, not just Drupalize.Me members.
My esteemed colleague Joe Shindelar has written 2 new tutorials for our existing Migrate to Drupal 9 or 10 course on the migration_lookup
process plugin and Migrate API's map tables.
We’re getting ready to run another iteration of our popular Hands-On Drupal Theming workshop on July 19th, 20th, and 21st, something we haven’t done for over a year as we’ve been focused on teaching Drupal 7 to Drupal 9/10 migrations. In the process of getting ready, I’ve been going through my slides for the workshop and making some updates. Here are the things that jump out to me as important (but work-in-progress) changes in the last year.
We're excited to announce a new course, Performance and Scalability for Drupal Sites! This course is a deep dive into the concepts, terminology, tools, and strategies around performance and scalability for Drupal sites. By the end of this course, you will be well-equipped to understand your site's performance and how you can make your Drupal site blazing fast.
We've updated our Search API and Solr in Drupal tutorials in 2 ways:
1. Instead of providing custom Docker containers, we show you how to use DDEV to set up a local Solr and Drupal development environment.
2. We've tested and updated steps and screenshots for Drupal 10.
If you've been wanting to learn how to develop a Search API and Solr solution for your Drupal site, it's a good time to dive in to this updated course!
We just added a new tutorial all about starting a new theme with Starterkit. Learn how to use it, how it works, and what prompted its addition to Drupal core.
What If Yoda Taught You Drupal?
Blog postEarlier 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 chat.openai.com and asked "How would Yoda go about helping me learn Drupal 10?"
Earlier this month I hosted a Drupal-to-Drupal Migration Workshop, and one of the attendees asked about merging two entity reference fields into a single field during the migration. I wasn't sure how to approach this but we brainstormed some pseudo code, and then came up with two solutions.
On the Drupalize.Me team, we're fans of using DDEV to install Drupal locally. We use DDEV for development work on the site, tutorial demo sites, and workshops. While the Drupal community is spoiled for choice when it comes to options for local development, we've chosen DDEV for a lot of reasons (which we'll get into in this tutorial), but mostly because we use it every day and it works great.
Drupalize.Me trainer Joe Shindelar has recorded a new video walk-through of how he goes about finding out what type of plugin you want to add, and how to find out what code is expected, and where to put that code in your module. The video is now embedded in the written version of the tutorial, Implement a Plugin of Any Type, available to our members.
Years ago I was involved with authoring the Drupal User Guide, and I’m still the maintainer today. Now, we want to pick up where the Drupal User Guide left off, and create a Drupal Module Developer Guide. This hands-on module developer guide will build on the site and the guiding scenario used for the User Guide. We’ll walk through the process of authoring a couple of custom modules to meet your client’s needs and in the process, learn the basics of Drupal module development through writing “real-world” code.
We've added 3 videos to tutorials in our recently published Routes and Controllers in Drupal course. Lead trainer, Joe Shindelar, walks through essential concepts and skills for Drupal module developers like creating a route with a controller, understanding how parameters and upcasting work in Drupal, and how to use route parameters in a practical example with a route definition and a custom page controller class.
James Shields (lostcarpark on Drupal.org) has once again rounded up fellow Drupal community members to write articles for a 2023 Drupal Advent Calendar, hosted on his personal site, lostcarpark.com. 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.
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.
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.
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.
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.