Tess's blog

Tess's picture

Building a custom migration in Drupal 8, Part 6: Custom Source Plugins

In the last post, we went beyond simple node migrations and leveraged the power of the Drupal 8 migration system to break up and reorganize our content into Paragraphs. We created a separate migration for each source field we wanted to convert into a paragraph entity, and then an additional migration that created nodes using the paragraphs. We used psudofields and some creative use of plugins to migrate things just the way we wanted. It sounds like we've handled everything, but we can still go further.

Tess's picture

Building a custom migration in Drupal 8, Part 5: Paragraphs

In the last post, we migrated our uploaded images and attachments by creating a custom file migration. We explored the process section of our migration *.yml, and enhanced it with custom mappings. We leveraged Drupal 8's powerful process plugin system to even further customize our migrations. We found out we could chain migrations together through the migration_lookup plugin. Finally, we created and ran a simple node migration. So that's it, right? Series over? Heck no!

Tess's picture

Building a custom migration in Drupal 8, Part 4: Files and Content

In the last post, we finally wrote and executed our first migrations. We performed a dependency mapping to determine we needed to first migrate roles, then our users. We created new migrations in *.yml directly by searching our Drupal core directory for useful migration_templates. We're four parts in, and we have yet to migrate any nodes! Argh! Can we just start migrating nodes already!?

Tess's picture

Building a custom migration in Drupal 8, Part 3: Users and Roles

In the last post, we laid the technical foundation necessary to create migrations. We installed the Migrate Plus and Migrate Tools modules to support our migrations. We imported our Drupal 7 database locally, and configured settings.php with connection credentials. Finally, we created a migration group to use those connection credentials.

But we still haven't migrated any content as of yet. Let's change that.

Tess's picture

Building a custom migration in Drupal 8, Part 2: Tools and Modules

In the last post we set the stage to build a custom migration in Drupal 8. We installed Drupal 8 locally, and performed some initial, basic configuration. We didn’t get very far in technical tasks, but we spent a lot of time revisiting and rethinking our previous design choices.

Tess's picture

Building a custom migration in Drupal 8, Part 1: Getting started

Unlike previous versions, there’s no real way to “upgrade” to Drupal 8. Instead, you set up a completely new Drupal 8 site, then migrate your existing site to your new one. Given a database connection and a files directory, this auto-generated migration can attempt to replicate your entire site. This is great, but it also replicates all your previous design decisions, mistakes, and cruft.

Tess's picture

Journaling and the importance of ritual

The last week was uncommonly punishing. In addition to a recent furor in the Drupal community, several server fires erupted at work, and my best friend’s Dad finally lost a year long battle with brain cancer. The funeral was Friday afternoon. Needless to say, I didn’t do much on Saturday. This morning I sat down at my desk, and tried to sort out what to do with my day. As I have for over a decade, one of my first thoughts was to open my paper journal and perform a brain-dump.

Tess's picture

Why I wasn't at BADCamp last weekend

You may have noticed I wasn't at Bay Area Drupal Camp last weekend. If you were following the camp closely or my social media account, you might have expected otherwise. When the accepted sessions were announced, my talk "Ride the Whale: Docker for Drupalists" was on the list. Then, a week before the camp, it was nowhere to be found on the schedule. What happened was a combination of unexpected circumstances and the relentless progression of the hourglass.


Subscribe to RSS - Tess's blog