As promised, we’ve added 2 new tutorials to our course, Single Directory Components in Drupal:
If you're creating applications that access Drupal's data and need to act like a logged-in user, you'll want to use OAuth for authentication. This process of setting up OAuth and understanding the flow of making authenticated HTTP requests can be a bit daunting. We've added videos to 3 tutorials that will help you understand this process.
Being able to execute, and step debug, Drupal's test using the PhpStorm UI makes it easier and more efficient to write tests for your projects. Learn how to configure PhpStorm to run Drupal's PHPUnit tests inside of a DDEV environment using docker-compose and a remote PHP CLI Interpreter. This setup will work for both Drupal core and your custom code.
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.
Free Coaching for the Drupal Community
Blog postIn 2024 I became a certified coach to round out the informal coaching that I’ve been providing for many years.
Meet the New Drupalize.Me AI Assistant
Blog postWe’ve been experimenting with different ways to use AI to make Drupalize.Me even more helpful for our members and we’re excited about this first update: a new AI-powered chatbot that can search and summarize tutorials from our library.
As of Drupal 11.1.0, core has support for defining custom entity types (both content and configuration) using PHP attributes instead of annotations. And now, all our Entity API tutorials have been updated to reflect this change.
At Drupalize.Me, one of our goals is to provide learners with up-to-date resources that align with the latest best practices. To that end, I recently worked to update our tutorials to reflect the transition from PHP annotations to PHP attributes for plugin discovery. I blogged previously about why this transition is happening.
As Drupalize.Me’s tutorial library continues to grow, these kinds of changes touch ever larger numbers of existing tutorials. Plugins is an interesting one because we have tutorials that teach the inner workings of the Plugin API. And, we have tutorials about things like blocks, field types, and views plugins, that while not specifically about the Plugin API, make use of it. This ended up being one the most significant updates we’ve made since the release of Drupal 8.
In short, the updates are necessary because Drupal is transitioning from annotations to native PHP attributes. And while annotations will continue to work for the foreseeable future, we wanted to make sure that the code examples, and recommendations, you find on our site are aligned with that code you’ll see in the latest versions of Drupal core.
While working on a Drupal core bug in the Navigation module’s toolbar, Mike Herchel discovered the issue was related to the usage of Drupal.displace(), which is included in Core’s JavaScript and CSS APIs. He breaks down what Drupal.displace() is and how to use it.
Who Pays for the Documentation?
Blog postDrupal documentation has a funding problem. Open source education is a public good. But "it should be free" is not a business model.
Release Day: The Drupal Recipes API
Blog postLearn more about our new course covering the Drupal Recipes API and how both developers and site builders can make use of recipes to get from concept to launch quicker. Spend more of your time focused on the unique aspects of your site that provide value to your users.
Sometimes working on a Drupal contributed module requires making changes to the module’s composer.json so that you can update a dependency. This blog post looks at how to accomplish that in a local development environment.