Understand Drupal Migrations Course
- Content
- Testimonials
Drupal migrations: Understanding the ETL process
- Understanding the ETL process
- Drupal migrations: a two step process
Writing your first Drupal migration
- Writing the migration definition file
- Running the migration
Using process plugins for data transformation in Drupal migrations
- Syntactic sugar
- Providing default values
- Concatenating values
- Chaining process plugins
Migrating data into Drupal subfields
- Getting the example code
- Migrating formatted text
- Migrating images
- Which subfields are available?
- Default subfields
Using constants and pseudofields as data placeholders in the Drupal migration process pipeline
- Setting and using source constants
- Setting and using pseudofields
- Understanding Drupal Migrate API process pipeline
- Migrating images using the image_import plugin
Tips for writing Drupal migrations and understanding their workflow
- Importing and rolling back migrations
- Stopping and resetting migrations
- What happens when you rollback a Drupal migration?
- Re-import or update migrations
- Tips for writing Drupal migrations
Migrating files and images into Drupal
- File entity migrate destination
- Source section definition
- Process section definition
- Skipping invalid records
- Creating the destination URI
- Creating the source URI
- Copying the image file to Drupal
Introduction to migration dependencies in Drupal
- Breaking up migrations
- Writing the source and destination definition
- Using previously imported files in image fields
- Being explicit about migration dependencies
- Tagging migrations
Migrating taxonomy terms and multivalue fields into Drupal
- Getting the code
- Migrating taxonomy terms and their hierarchy
- Migrating multivalue taxonomy terms fields
- More syntactic sugar
Migrating users into Drupal - Part 1
- Getting the code
- Understanding the source
- Configuring the destination and dependencies
- Processing the fields
Migrating users into Drupal - Part 2
- Getting the code
- Migrating user creation date
- Migrating user roles
- Migrating profile pictures
Migrating dates into Drupal
- Getting the code
- PHP date format characters
- Date format conversions
- Node creation time migration
- Date only migration
- Date range migration
- Datetime migration
- Things to consider
Migrating addresses into Drupal
- Getting the code
- Source and destination sections
- Available subfields
- Address subfield mappings
- Finding expected values
- The commerceguys addressing library
- Migrating country and zone fields
Introduction to paragraphs migrations in Drupal
- Getting the code
- Understanding the example set up
- The paragraph migration
- The node migration
- Paragraph field mappings
- Do migrated paragraphs disappear upon node rollback?
Migrating CSV files into Drupal
- Getting the code
- Understanding the example set up
- Migrating CSV files with a header row
- Migrating CSV files without a header row
- CSV file location
- CSV source plugin configuration
Migrating JSON files into Drupal
- Getting the code
- Understanding the example set up
- Migrating nodes from a JSON file
- Migrating paragraphs from a JSON file
- Migrating images from a JSON file
- JSON file location
- Migrating remote JSON files
Migrating XML files into Drupal
- Getting the code
- Understanding the example set up
- Migrating nodes from a XML file
- Migrating paragraphs from a XML file
- Migrating images from a XML file
- XML file location
- Migrating remote XML files
- XMLReader vs SimpleXML in Drupal migrations
Adding HTTP request headers and authentication to remote JSON and XML in Drupal migrations
- Migrate Plus architecture for remote data fetching
- JSON and XML Drupal migrations with HTTP request headers and Basic authentication.
- JSON and XML Drupal migrations with HTTP request headers and Digest authentication.
- JSON and XML Drupal migrations with HTTP request headers and OAuth2 authentication
Migrating Google Sheets into Drupal
- Getting the code
- Understanding the example set up
- Migrating nodes from Google Sheets
- Publishing a Google Sheet in JSON format
- Understanding the published Google Sheet JSON export
- Configuring the Migrate Google Sheets source plugin
Migrating Microsoft Excel and LibreOffice Calc files into Drupal
- Getting the code
- Understanding the example set up
- Understanding the source document and plugin configuration
- Migrating spreadsheet files with a header row
- Migrating spreadsheet files without a header row
Defining Drupal migrations as configuration entities with the Migrate Plus module
- Drupal migrations: code or configuration?
- Transitioning to configuration entities
- UUIDs for migration configuration entities
- Automatically deleting migration configuration entities
Workflows and benefits of managing Drupal migrations as configuration entities
- What is the benefit of managing migration as configurations?
- Are there any drawbacks?
- Workflow for managing migrations as configuration entities
Using migration groups to share configuration among Drupal migrations
- Understanding migration groups
- Creating a migration group
- Organizing and executing migrations
- Sharing configuration with migration groups
What is the difference between migration tags and migration groups in Drupal?
- What is the difference between migration tags and migration groups?
- What do migration tags and groups have in common?
- Can groups only be used for migrations defined as configuration entities?
- Setting migration tags inside migration groups
Executing Drupal migrations from the user interface with Migrate Tools
- Getting the example code
- Importing configuration entities from the user interface
- Executing configuration entities from the user interface
- Limitations of the user interface
Understanding the entity_lookup and entity_generate process plugins from Migrate Tools
- What is the difference among the migration_lookup, entity_lookup, entity_generate plugins?
- Getting the example code
- Using the entity_lookup to assign the node author
- Using the entity_generate to assign and create taxonomy terms
- More configuration options
- Compromises and limitations
How to debug Drupal migrations? - Part 1
- Minimizing the surface for errors
- What to check first?
- Migration messages
- The log process plugin
How to debug Drupal migrations? - Part 2
- The migrate_devel module
- The debug process plugin
- Using the right tool for the job: a debugger
- If it is not broken, break it on purpose
- The migrate:fields-source Drush command
How to configure XDebug, PHPStorm, and DrupalVM to debug Drupal migrations via Drush commands and the browser?
- Getting DrupalVM
- Configuring PHPStorm
- Triggering the breakpoint
- Debugging from the user interface
List of migration related Drupal modules
- Core modules
- Migration runners
- Source plugins
- Destination plugins
- Development related
- Field and module related
- Modules created by Tess Flynn (socketwench)
- Miscellaneous
Introduction to Drupal 8 upgrades
- What is a Drupal upgrade?
- Preparing your migration
- Customizing your migration
- Performing the upgrade
- Known issues and limitations
- Upgrade paths for contributed modules
- Upgrade strategies
- What about upgrading to Drupal 9?