Skip to main content
[2023-05-23]

Dependency injection anti-patterns in Drupal

#drupal #dependency injection

Whenever I have done an audit for a Drupal codebase, one of the first things I manually review and profile is dependency injection anti-patterns in custom code and any contributed modules used. The anti-pattern isn't for accessing services statically through \Drupal: service. These anti-patterns live within the class's __construct method.

[2023-05-09]

Upgrading my site from CKEditor 4 to CKEditor 5

#drupal #ckeditor

My site runs on Drupal 9.5. I started preparing to upgrade to Drupal 10 right after 10.0.0 was released, but then I got hit with CKEditor 4 to CKEditor 5 blockers.

[2023-05-02]

Drupal module semantic versioning for Drupal core support

#drupal

A large amount of our time during the Drupal 10 readiness effort was around semantic version discussions. Folks were creating new major versions to add Drupal 10 support while dropping Drupal 9 simultaneously. Technically that follows the semantic versioning guidelines but is a horrible user experience. Users must update the module when they upgrade Drupal core to Drupal 10.

[2023-04-25]

Are you ready for Drupal 11 in 2024?

#drupal

Drupal 11? Yes! Drupal 11 is going to release on August 2024 or December 2024. That's only a year and a half away when writing this blog post. So, when should we start preparing modules and sites for Drupal 11? Now! Preparing for the next major version of Drupal should not be a mad dash but a consistent process.

[2023-04-04]

Creating fields programmatically and not through field configuration

#drupal

Drupal is great for its content (data) modeling capabilities with its entity and field system. Not only is this system robust, but it is also completely manageable from a user interface! When fields are created through the user interface, they are managed through configuration.

[2023-03-28]

Adding backward compatibility to Rector rules

#drupal #rector #drupal-rector

Rector is a PHP tool that automates refactoring your code to take advantage of the latest language-level features in PHP or automated usages of deprecated code when upgrading your dependencies.