drupal 8

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.

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! In this part,

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!? File migrations It's really tempting at this point to jump in and start writing a migration for some of your...

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. Where to start? Now that we're ready to start creating custom migrations, we...

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. At this point you should have an idea of how you want your new site to work. Work, not look. We’re interested in functional details, content types, organizational strategies, that sort of thing. Visual appearance is a...

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. Instead, you may want to see moving to Drupal 8 as an opportunity to revisit previous decisions and...

Dropwhale 2.0 RC2

 
For the last few months I've been working on a rewrite of Dropwhale, my Docker-based testing harness for Drupal 8 modules. While I didn't intend to spend most of my weekend on it, I'm pleased with the progress it's made.  The improvements The first, and perhaps biggest change is that it's now based on Nginx and PHP-FPM. I've wanted to switch to Nginx for some time now, but it's been difficult for me to make the transition from Apache. I spent several weekends and evenings teaching myself the...

The State of #flagOnD8

 
For over a year now I've been working on porting Flag module to Drupal 8. We've come a long, long way. Possibly the Oldest Drupal 8 Contrib Project Around I started working on the module when I realized I was facing a "Reverse Sisyphus" problem in contributing to Drupal 8 directly. Instead of pushing the boulder up the hill and having it roll back down again, Drupal 8 already had a lot of momentum behind it. Each time I tried to contribute, I had to chase it down the hill in the hope that maybe...

Drupal 8: The Valley of Dearth

 
Friday was an interesting day. I was -- and still am -- suffering a particularly bad head cold. I called in sick hoping to have a low key day where I could poke at some Drupal code and attempt a nap. By the afternoon, I was in the middle of a argument about Drupal 8. Background I've been working to port Flag module to Drupal 8 for almost a year now. I've leaned heavily on API documentation, my wits, and conversations on IRC to make as much progress as I have. Often I need to...