Slow Drupal site costing you rankings? Learn some impactful fixes that work - caching, images, hosting, and the Drupal 11.3 improvements worth knowing about. Included is a real case study going from a performance score of 65 to 98!

https://www.specbee.com/blogs/optimize-drupal-website-performance

#drupal #corewebvitals #drupalperformance #webperformance #drupaldevelopment #optimizeperformance

From the archive! Drupal 11: Controlling LED Lights Using A REST Service

In this article we will look at creating a Drupal module containing a RESTful interface, which we will connect to with the Plasma 2350 W to update the colour of the lights.

We are currently working on something similar using a micro python powered device and a rest service, more on that later!

https://www.hashbangcode.com/article/drupal-11-controlling-led-lights-using-rest-service
#drupal #drupalDevelopment #microPython

New! Drupal 11: Building A Link Directory: Part 1

This is the first part in a series of articles looking at creating a link directory in Drupal.

In this article Phil goes through how he set up the link directory in Drupal, how links are added, and how the site is able to take screenshots of the links as they are added to the directory.

https://www.hashbangcode.com/article/drupal-11-building-link-directory-part-1
#drupal #drupalDevelopment #hashbangcode

New! Drupal 11: Cascading Select Forms With HTMX

This is part four of a series of articles looking at HTMX in Drupal.

In this article we will look at creating a form that contains multiple select elements and then use HTMX (and a little bit of the form states API) to tie them together so that selecting one element updates the others.

https://www.hashbangcode.com/article/drupal-11-cascading-select-forms-htmx

#drupal #drupal11 #htmx #drupalDevelopment #hashbangcode

Drupal 11: Cascading Select Forms With HTMX

This is part four of a series of articles looking at HTMX in Drupal. In the last two articles we looked at using HTMX with controllers in different ways. This time I'll be venturing into the world of HTMX and forms.

#! code

Still cleaning up messy content for hours? Read this blog to learn about the Node Cleanup module that can quickly filter, manage, and safely delete unused nodes to keep your Drupal 10/11 site organized.

https://www.specbee.com/blogs/node-cleanup-drupal-delete-unpublished-nodes

#drupal #nodecleanup #drupaldevelopment #drupalmodules #contentmanagement

From the archive! Drupal 10: Testing Migration Process Plugins

Creating migration process plugins is quite easy in Drupal. What isn't easy is fixing things in content after the migration has run.

This article goes over creating a migration process plugin, and then writing unit tests for it. Essential if you want to ensure that they change content correctly before running the migration.

https://www.hashbangcode.com/article/drupal-10-testing-migration-process-plugins
#drupal #drupalDevelopment #drupalMigration #hashbangcode

Drupal 10: Testing Migration Process Plugins

Drupal's migration system allows the use of a number of different plugins to perform source, processing, and destination functions. Process plugins are responsible for copying and sometimes manipulating data into the destination. There are a number of different process plugins that allow you to get data in different ways and and apply it to your destination fields.Both the core Migrate module and the excellent Migrate Plus module contain a number of different process plugins that you can use to process your data in different ways.

#! code

New! Drupal 11: Creating A Tabbed Interface With HTMX

This is part three of a series of articles looking at HTMX in Drupal.

In this article we will be creating a tabbed interface in Drupal, where HTMX is used to power loading the data in a tab like section without reloading the page.

https://www.hashbangcode.com/article/drupal-11-creating-tabbed-interface-htmx
#drupal #drupalDevelopment #drupal11 #htmx #hashbangcode

Drupal 11: Creating A Tabbed Interface With HTMX

This is part three of a series of articles looking at HTMX in Drupal. Last time I looked at using HTMX to run a "load more" feature on a Drupal page. Before moving onto looking at forms I thought a final example of using HTMX and controllers to achieve an action.

#! code

Struggling with taxonomy cleanup in Drupal? Read this blog to learn how the Bulk Term Delete module helps remove multiple taxonomy terms at once and improve admin efficiency.

https://www.specbee.com/blogs/clean-up-drupal-taxonomy-bulk-term-delete

#drupal #drupaltaxonomy #drupalmodule #bulktermdelete #drupaldevelopment

New! Drupal 11: Building A "Load More" Feature For Paginating Nodes Using HTMX

In this article a controller action is created to load some pages of content to display them as a list.

New items can be appended to the existing list using a HTMX callback, creating a load more feature.

https://www.hashbangcode.com/article/drupal-11-building-load-more-feature-paginating-nodes-using-htmx
#drupal #drupal11 #drupalDevelopment #drupalHtmx #hashbangcode

Drupal 11: Building A "Load More" Feature For Paginating Nodes Using HTMX

Following on from my last article, an introduction to HTMX in Drupal, I wanted to start looking at examples of HTMX being used to power interactivity in Drupal in different ways.I thought a good place to start this off would be to look at using HTMX in a simple controller. By creating a route to a controller we can render content and then inject HTMX attributes to perform actions with the same controller.

#! code

From the archive! Drupal 9: Extending Drupal Base Classes Without Overriding Constructors

This article details a technique for injecting dependencies into constructors, forms, and plugins without needing to override the constructor.

We break down how to use dependency injection and what the technique does to improve this in Drupal.

Despite the article being written for Drupal 9, the technique is still relevant in Drupal 11.

https://www.hashbangcode.com/article/drupal-9-extending-drupal-base-classes-without-overriding-constructors
#drupal #drupalDevelopment #hashbangcode

Drupal 9: Extending Drupal Base Classes Without Overriding Constructors

I have been using the Drupal dependency injection system for a while now, even giving talks and writing articles on the subject. As the release of Drupal 10 is just around the corner I have been thinking more about how to override dependencies to plugin classes.

#! code