Book Image

Drupal 10 Development Cookbook - Third Edition

By : Matt Glaman, Kevin Quillen
Book Image

Drupal 10 Development Cookbook - Third Edition

By: Matt Glaman, Kevin Quillen

Overview of this book

This new and improved third edition cookbook is packed with the latest Drupal 10 features such as a new, flexible default frontend theme - Olivero, and improved administrative experience with a new theme - Claro. This comprehensive recipe book provides updated content on the WYSIWYG (What You See Is What You Get) editing experience, improved core code performance, and code cleanup. Drupal 10 Development Cookbook begins by helping you create and manage a Drupal site. Next, you’ll get acquainted with configuring the content structure and editing content. You’ll also get to grips with all new updates of this edition, such as creating custom pages, accessing and working with entities, running and writing tests with Drupal, migrating external data into Drupal, and turning Drupal into an API platform. As you advance, you’ll learn how to customize Drupal’s features with out-of-the-box modules, contribute extensions, and write custom code to extend Drupal. By the end of this book, you’ll be able to create and manage Drupal sites, customize them to your requirements, and build custom code to deliver your projects.
Table of Contents (17 chapters)

Writing a custom process plugin for migrations

At this point, we’ve covered migrating data from CSV, JSON, and database sources, but what about cases where the data from these sources don’t quite align with the way they need to be stored in Drupal?

Migrations can be a tricky thing. While Drupal provides several avenues to source data to migrate in, there will be many cases where you need to manipulate that incoming data to get it to a satisfactory state, either for storage or cleanup purposes. Fortunately, creating process plugins is easy, and you will be manipulating data in a migration in no time.

How to do it…

Let’s take a look at an example of writing a process plugin. Using the previous example, a custom source plugin that fetches data from a database table, assume we now have to pull an additional field for the migration, no_index. While querying the data is easy, the data itself is not suitable for storage in the metatag field (https://www...