Upgrading when using deprecated dependencies

LA Drupal - Nov 2021

Why

  • Something new comes along
  • Maintainer goes away
    • Mambo -> Joomla
    • Drupal 6 -> 7 -> 8
    • Drush -> Drupal Console -> Drush
    • Ubercart -> Commerce
    • Relation -> Field Collections -> Paragraphs

Goal

  • One D8 site
    • Uses lightning distribution
      • Can gripe about this one another time
  • Need to move to D9
    • FC to Paragraphs is primary blocker

No new maintainer

Options

  • Update code to be D9 compatible
    • Become maintainer?
  • Move on
    • Figure out migration path
      • Migrate module?
      • SQL?
      • Drush command?
      • Combination of the above??

Write a D9 compatible version of the module

  • Go through the code
  • Try and port it over
    • Could put it up as a patch so others can use it
  • The code might also be very complex so it could take a lot of time

Write a migration

  • Migrate module is very nice
    • Rollbacks, errors, logging all managed
  • Also a bit complex (yml + query + processing)
  • FC to Paragraphs migration module exists in beta
  • https://www.drupal.org/project/field_collection_to_paragraphs
    • Only works with node and taxonomy terms
  • Demo

Initial thoughts

  • It does a lot
    • Creates fields, settings, view modes, etc
      • Even if it won't bring over content due to field existing for different entity
    • It works decently well
  • Initial migration has to be via the migrate gui
    • Just craps out otherwise
  • Works with drush after initial setup and migration

Write a drush script

  • When in a bind
  • Write all the niceties that migrate provides
    • Or maybe you don't need it if its one time
  • Drush is relatively simple
  • Demo

Thanks!