Skip to main content

Handling duplicate records in Drupal

Duplicate records in Drupal can cause significant issues, particularly when they lead to integrity constraint violations in the database. These errors often occur due to duplicate UUIDs in the `node` table, which can result from programmatic imports, migrations, or unintended database inconsistencies. This guide provides a structured approach to identifying and resolving duplicate records in Drupal.

 

The overlooked challenge of migration updates in Drupal projects

When working on Drupal migrations, developers often assume that adding a new field to the process section will seamlessly update existing content. However, unless explicitly handled, Drupal’s migration system does not automatically apply changes to previously migrated records. This oversight can lead to data inconsistencies, incomplete content structures, and potential frustrations for both developers and stakeholders.

Deploying a Python project from UAT to production using Git

When deploying a Python project from a User Acceptance Testing (UAT) environment to Production, it’s essential to ensure that all dependencies and configurations remain consistent. Particularly in our situation where this was going to be the first deployment of AI semantic search functionality to Production. In some cases, the UAT environment may not include a requirements.txt file, making it necessary to generate one before transferring the project.

Webpack build process and theme automation improvements

The Drupal theme configuration has undergone recent changes made to the Webpack configuration, SCSS and JavaScript handling, and automation of updates to the orw.libraries.yml file in the custom Drupal theme. These changes are designed to improve the build process, enhance maintainability, and streamline development for other developers working on this theme.

 

Overview of changes

 

1. Webpack improvements

Enhancing accessibility in Drupal by adding aria-label to input fields using Twig

Accessibility is a fundamental aspect that ensures experiences are inclusive for all users, including those relying on assistive technologies. One crucial accessibility feature is the use of `aria-label` attributes to provide contextual information for form inputs. In Drupal, we can dynamically set `aria-label` attributes using Twig within the `input.html.twig` template.

 

Removing a missing module in Drupal

Occasionally, a Drupal site may display a warning about a module being "Missing or invalid." This issue occurs when a module is marked as installed in the configuration but is no longer present in the file system. A common example is the `fakeobjects` module, which is associated with CKEditor 4 and may remain in the configuration after CKEditor 4 is uninstalled. 

 

Managing DDEV environment troubleshooting and setting up multiple Drupal projects

DDEV has become a popular tool for local web development, offering a streamlined approach to managing Docker-based environments. However, setting up and managing DDEV projects, particularly with the latest versions of Docker Desktop, can present challenges. This article guides you through resolving key issues, setting up Drupal, and managing multiple projects effectively.

 

Resolving Twig syntax errors in Drupal

The release of Drupal 10.4.0 sees stricter validation rules being applied to Twig templates, which can result in unexpected errors after an upgrade. One such issue involves the use of regular expressions within Twig's matches operator, leading to syntax errors that can break template rendering.

This is a situation I had recently after upgrading to Drupal 10.4.0 and provides a clear resolution for the problem.

 

Optimising file transfers by improving efficiency from cp to rsync

Transferring files between development and production environments is a critical task in the deployment process. However, I continue to come across multiple approaches that scale from awesome automation using pipelines to the basic of direct command line entry. Where the basic approaches rely on outdated processes that are inefficient and difficult to maintain.

Subscribe to