diff --git a/building-static-websites-sculpin/README.rst b/archive/building-static-websites-sculpin/README.rst similarity index 100% rename from building-static-websites-sculpin/README.rst rename to archive/building-static-websites-sculpin/README.rst diff --git a/building-static-websites-sculpin/code/configuration.txt b/archive/building-static-websites-sculpin/code/configuration.txt similarity index 100% rename from building-static-websites-sculpin/code/configuration.txt rename to archive/building-static-websites-sculpin/code/configuration.txt diff --git a/building-static-websites-sculpin/code/index.md.txt b/archive/building-static-websites-sculpin/code/index.md.txt similarity index 100% rename from building-static-websites-sculpin/code/index.md.txt rename to archive/building-static-websites-sculpin/code/index.md.txt diff --git a/building-static-websites-sculpin/demo.txt b/archive/building-static-websites-sculpin/demo.txt similarity index 100% rename from building-static-websites-sculpin/demo.txt rename to archive/building-static-websites-sculpin/demo.txt diff --git a/building-static-websites-sculpin/images/packagist.png b/archive/building-static-websites-sculpin/images/packagist.png similarity index 100% rename from building-static-websites-sculpin/images/packagist.png rename to archive/building-static-websites-sculpin/images/packagist.png diff --git a/building-static-websites-sculpin/main.style b/archive/building-static-websites-sculpin/main.style similarity index 100% rename from building-static-websites-sculpin/main.style rename to archive/building-static-websites-sculpin/main.style diff --git a/building-static-websites-sculpin/slides.rst b/archive/building-static-websites-sculpin/slides.rst similarity index 100% rename from building-static-websites-sculpin/slides.rst rename to archive/building-static-websites-sculpin/slides.rst diff --git a/deploying-php-ansible-ansistrano/README.rst b/archive/deploying-php-ansible-ansistrano/README.rst similarity index 100% rename from deploying-php-ansible-ansistrano/README.rst rename to archive/deploying-php-ansible-ansistrano/README.rst diff --git a/deploying-php-ansible-ansistrano/images/.gitkeep b/archive/deploying-php-ansible-ansistrano/images/.gitkeep similarity index 100% rename from deploying-php-ansible-ansistrano/images/.gitkeep rename to archive/deploying-php-ansible-ansistrano/images/.gitkeep diff --git a/deploying-php-ansible-ansistrano/images/after-deploy-1.png b/archive/deploying-php-ansible-ansistrano/images/after-deploy-1.png similarity index 100% rename from deploying-php-ansible-ansistrano/images/after-deploy-1.png rename to archive/deploying-php-ansible-ansistrano/images/after-deploy-1.png diff --git a/deploying-php-ansible-ansistrano/images/after-provision-1.png b/archive/deploying-php-ansible-ansistrano/images/after-provision-1.png similarity index 100% rename from deploying-php-ansible-ansistrano/images/after-provision-1.png rename to archive/deploying-php-ansible-ansistrano/images/after-provision-1.png diff --git a/deploying-php-ansible-ansistrano/images/after-provision-2.png b/archive/deploying-php-ansible-ansistrano/images/after-provision-2.png similarity index 100% rename from deploying-php-ansible-ansistrano/images/after-provision-2.png rename to archive/deploying-php-ansible-ansistrano/images/after-provision-2.png diff --git a/deploying-php-ansible-ansistrano/images/ansible.png b/archive/deploying-php-ansible-ansistrano/images/ansible.png similarity index 100% rename from deploying-php-ansible-ansistrano/images/ansible.png rename to archive/deploying-php-ansible-ansistrano/images/ansible.png diff --git a/deploying-php-ansible-ansistrano/images/ansistrano-flow.png b/archive/deploying-php-ansible-ansistrano/images/ansistrano-flow.png similarity index 100% rename from deploying-php-ansible-ansistrano/images/ansistrano-flow.png rename to archive/deploying-php-ansible-ansistrano/images/ansistrano-flow.png diff --git a/deploying-php-ansible-ansistrano/images/ansistrano.png b/archive/deploying-php-ansible-ansistrano/images/ansistrano.png similarity index 100% rename from deploying-php-ansible-ansistrano/images/ansistrano.png rename to archive/deploying-php-ansible-ansistrano/images/ansistrano.png diff --git a/deploying-php-ansible-ansistrano/images/ansistrano2.png b/archive/deploying-php-ansible-ansistrano/images/ansistrano2.png similarity index 100% rename from deploying-php-ansible-ansistrano/images/ansistrano2.png rename to archive/deploying-php-ansible-ansistrano/images/ansistrano2.png diff --git a/deploying-php-ansible-ansistrano/images/composer.png b/archive/deploying-php-ansible-ansistrano/images/composer.png similarity index 100% rename from deploying-php-ansible-ansistrano/images/composer.png rename to archive/deploying-php-ansible-ansistrano/images/composer.png diff --git a/deploying-php-ansible-ansistrano/images/drupalcon/contribution.jpg b/archive/deploying-php-ansible-ansistrano/images/drupalcon/contribution.jpg similarity index 100% rename from deploying-php-ansible-ansistrano/images/drupalcon/contribution.jpg rename to archive/deploying-php-ansible-ansistrano/images/drupalcon/contribution.jpg diff --git a/deploying-php-ansible-ansistrano/images/drupalcon/feedback.jpg b/archive/deploying-php-ansible-ansistrano/images/drupalcon/feedback.jpg similarity index 100% rename from deploying-php-ansible-ansistrano/images/drupalcon/feedback.jpg rename to archive/deploying-php-ansible-ansistrano/images/drupalcon/feedback.jpg diff --git a/deploying-php-ansible-ansistrano/images/drupalcon/site.png b/archive/deploying-php-ansible-ansistrano/images/drupalcon/site.png similarity index 100% rename from deploying-php-ansible-ansistrano/images/drupalcon/site.png rename to archive/deploying-php-ansible-ansistrano/images/drupalcon/site.png diff --git a/deploying-php-ansible-ansistrano/images/druplicon.png b/archive/deploying-php-ansible-ansistrano/images/druplicon.png similarity index 100% rename from deploying-php-ansible-ansistrano/images/druplicon.png rename to archive/deploying-php-ansible-ansistrano/images/druplicon.png diff --git a/deploying-php-ansible-ansistrano/images/logo-acquia.png b/archive/deploying-php-ansible-ansistrano/images/logo-acquia.png similarity index 100% rename from deploying-php-ansible-ansistrano/images/logo-acquia.png rename to archive/deploying-php-ansible-ansistrano/images/logo-acquia.png diff --git a/deploying-php-ansible-ansistrano/images/logo-digital-ocean.png b/archive/deploying-php-ansible-ansistrano/images/logo-digital-ocean.png similarity index 100% rename from deploying-php-ansible-ansistrano/images/logo-digital-ocean.png rename to archive/deploying-php-ansible-ansistrano/images/logo-digital-ocean.png diff --git a/deploying-php-ansible-ansistrano/images/logo-linode.png b/archive/deploying-php-ansible-ansistrano/images/logo-linode.png similarity index 100% rename from deploying-php-ansible-ansistrano/images/logo-linode.png rename to archive/deploying-php-ansible-ansistrano/images/logo-linode.png diff --git a/deploying-php-ansible-ansistrano/images/logo-pantheon.png b/archive/deploying-php-ansible-ansistrano/images/logo-pantheon.png similarity index 100% rename from deploying-php-ansible-ansistrano/images/logo-pantheon.png rename to archive/deploying-php-ansible-ansistrano/images/logo-pantheon.png diff --git a/deploying-php-ansible-ansistrano/images/logo-platformsh.png b/archive/deploying-php-ansible-ansistrano/images/logo-platformsh.png similarity index 100% rename from deploying-php-ansible-ansistrano/images/logo-platformsh.png rename to archive/deploying-php-ansible-ansistrano/images/logo-platformsh.png diff --git a/deploying-php-ansible-ansistrano/images/logo-vultr.png b/archive/deploying-php-ansible-ansistrano/images/logo-vultr.png similarity index 100% rename from deploying-php-ansible-ansistrano/images/logo-vultr.png rename to archive/deploying-php-ansible-ansistrano/images/logo-vultr.png diff --git a/deploying-php-ansible-ansistrano/images/site.png b/archive/deploying-php-ansible-ansistrano/images/site.png similarity index 100% rename from deploying-php-ansible-ansistrano/images/site.png rename to archive/deploying-php-ansible-ansistrano/images/site.png diff --git a/deploying-php-ansible-ansistrano/images/techs.png b/archive/deploying-php-ansible-ansistrano/images/techs.png similarity index 100% rename from deploying-php-ansible-ansistrano/images/techs.png rename to archive/deploying-php-ansible-ansistrano/images/techs.png diff --git a/deploying-php-ansible-ansistrano/images/vagrant.png b/archive/deploying-php-ansible-ansistrano/images/vagrant.png similarity index 100% rename from deploying-php-ansible-ansistrano/images/vagrant.png rename to archive/deploying-php-ansible-ansistrano/images/vagrant.png diff --git a/deploying-php-ansible-ansistrano/opdavies-dark.style b/archive/deploying-php-ansible-ansistrano/opdavies-dark.style similarity index 100% rename from deploying-php-ansible-ansistrano/opdavies-dark.style rename to archive/deploying-php-ansible-ansistrano/opdavies-dark.style diff --git a/deploying-php-ansible-ansistrano/opdavies-light.style b/archive/deploying-php-ansible-ansistrano/opdavies-light.style similarity index 100% rename from deploying-php-ansible-ansistrano/opdavies-light.style rename to archive/deploying-php-ansible-ansistrano/opdavies-light.style diff --git a/deploying-php-ansible-ansistrano/sections/about-ansible.rst b/archive/deploying-php-ansible-ansistrano/sections/about-ansible.rst similarity index 100% rename from deploying-php-ansible-ansistrano/sections/about-ansible.rst rename to archive/deploying-php-ansible-ansistrano/sections/about-ansible.rst diff --git a/deploying-php-ansible-ansistrano/sections/ansible-crash-course.rst b/archive/deploying-php-ansible-ansistrano/sections/ansible-crash-course.rst similarity index 100% rename from deploying-php-ansible-ansistrano/sections/ansible-crash-course.rst rename to archive/deploying-php-ansible-ansistrano/sections/ansible-crash-course.rst diff --git a/deploying-php-ansible-ansistrano/sections/ansible-vault.rst b/archive/deploying-php-ansible-ansistrano/sections/ansible-vault.rst similarity index 100% rename from deploying-php-ansible-ansistrano/sections/ansible-vault.rst rename to archive/deploying-php-ansible-ansistrano/sections/ansible-vault.rst diff --git a/deploying-php-ansible-ansistrano/sections/ansistrano.rst b/archive/deploying-php-ansible-ansistrano/sections/ansistrano.rst similarity index 100% rename from deploying-php-ansible-ansistrano/sections/ansistrano.rst rename to archive/deploying-php-ansible-ansistrano/sections/ansistrano.rst diff --git a/deploying-php-ansible-ansistrano/sections/basic-deployment.rst b/archive/deploying-php-ansible-ansistrano/sections/basic-deployment.rst similarity index 100% rename from deploying-php-ansible-ansistrano/sections/basic-deployment.rst rename to archive/deploying-php-ansible-ansistrano/sections/basic-deployment.rst diff --git a/deploying-php-ansible-ansistrano/sections/building-a-lamp-stack.rst b/archive/deploying-php-ansible-ansistrano/sections/building-a-lamp-stack.rst similarity index 100% rename from deploying-php-ansible-ansistrano/sections/building-a-lamp-stack.rst rename to archive/deploying-php-ansible-ansistrano/sections/building-a-lamp-stack.rst diff --git a/deploying-php-ansible-ansistrano/sections/generating-settings-files.rst b/archive/deploying-php-ansible-ansistrano/sections/generating-settings-files.rst similarity index 100% rename from deploying-php-ansible-ansistrano/sections/generating-settings-files.rst rename to archive/deploying-php-ansible-ansistrano/sections/generating-settings-files.rst diff --git a/deploying-php-ansible-ansistrano/sections/intro.rst b/archive/deploying-php-ansible-ansistrano/sections/intro.rst similarity index 100% rename from deploying-php-ansible-ansistrano/sections/intro.rst rename to archive/deploying-php-ansible-ansistrano/sections/intro.rst diff --git a/deploying-php-ansible-ansistrano/sections/multiple-environments.rst b/archive/deploying-php-ansible-ansistrano/sections/multiple-environments.rst similarity index 100% rename from deploying-php-ansible-ansistrano/sections/multiple-environments.rst rename to archive/deploying-php-ansible-ansistrano/sections/multiple-environments.rst diff --git a/deploying-php-ansible-ansistrano/slides-short.rst b/archive/deploying-php-ansible-ansistrano/slides-short.rst similarity index 100% rename from deploying-php-ansible-ansistrano/slides-short.rst rename to archive/deploying-php-ansible-ansistrano/slides-short.rst diff --git a/deploying-php-ansible-ansistrano/slides.rst b/archive/deploying-php-ansible-ansistrano/slides.rst similarity index 100% rename from deploying-php-ansible-ansistrano/slides.rst rename to archive/deploying-php-ansible-ansistrano/slides.rst diff --git a/upgrading-to-drupal-9/README.rst b/upgrading-to-drupal-9/README.rst deleted file mode 100644 index e624dc2..0000000 --- a/upgrading-to-drupal-9/README.rst +++ /dev/null @@ -1,4 +0,0 @@ -Upgrading to Drupal 9 -##################### - -https://www.oliverdavies.uk/talks/upgrading-your-site-drupal-9 diff --git a/upgrading-to-drupal-9/images/10-years-tweet.png b/upgrading-to-drupal-9/images/10-years-tweet.png deleted file mode 100644 index 53c8915..0000000 Binary files a/upgrading-to-drupal-9/images/10-years-tweet.png and /dev/null differ diff --git a/upgrading-to-drupal-9/images/2019_minor_release_schedule.png b/upgrading-to-drupal-9/images/2019_minor_release_schedule.png deleted file mode 100644 index 136c432..0000000 Binary files a/upgrading-to-drupal-9/images/2019_minor_release_schedule.png and /dev/null differ diff --git a/upgrading-to-drupal-9/images/broadbean-drupal-flow-2.png b/upgrading-to-drupal-9/images/broadbean-drupal-flow-2.png deleted file mode 100644 index da80f78..0000000 Binary files a/upgrading-to-drupal-9/images/broadbean-drupal-flow-2.png and /dev/null differ diff --git a/upgrading-to-drupal-9/images/broadbean-website.png b/upgrading-to-drupal-9/images/broadbean-website.png deleted file mode 100644 index 37d7bf1..0000000 Binary files a/upgrading-to-drupal-9/images/broadbean-website.png and /dev/null differ diff --git a/upgrading-to-drupal-9/images/dransible-repo.png b/upgrading-to-drupal-9/images/dransible-repo.png deleted file mode 100644 index e4b6468..0000000 Binary files a/upgrading-to-drupal-9/images/dransible-repo.png and /dev/null differ diff --git a/upgrading-to-drupal-9/images/dransible-screenshots/1.png b/upgrading-to-drupal-9/images/dransible-screenshots/1.png deleted file mode 100644 index eb1423d..0000000 Binary files a/upgrading-to-drupal-9/images/dransible-screenshots/1.png and /dev/null differ diff --git a/upgrading-to-drupal-9/images/dransible-screenshots/10.png b/upgrading-to-drupal-9/images/dransible-screenshots/10.png deleted file mode 100644 index 02a76d7..0000000 Binary files a/upgrading-to-drupal-9/images/dransible-screenshots/10.png and /dev/null differ diff --git a/upgrading-to-drupal-9/images/dransible-screenshots/2.png b/upgrading-to-drupal-9/images/dransible-screenshots/2.png deleted file mode 100644 index 2408190..0000000 Binary files a/upgrading-to-drupal-9/images/dransible-screenshots/2.png and /dev/null differ diff --git a/upgrading-to-drupal-9/images/dransible-screenshots/3.png b/upgrading-to-drupal-9/images/dransible-screenshots/3.png deleted file mode 100644 index bf9f4b5..0000000 Binary files a/upgrading-to-drupal-9/images/dransible-screenshots/3.png and /dev/null differ diff --git a/upgrading-to-drupal-9/images/dransible-screenshots/4.png b/upgrading-to-drupal-9/images/dransible-screenshots/4.png deleted file mode 100644 index 524bbca..0000000 Binary files a/upgrading-to-drupal-9/images/dransible-screenshots/4.png and /dev/null differ diff --git a/upgrading-to-drupal-9/images/dransible-screenshots/5.png b/upgrading-to-drupal-9/images/dransible-screenshots/5.png deleted file mode 100644 index cc69481..0000000 Binary files a/upgrading-to-drupal-9/images/dransible-screenshots/5.png and /dev/null differ diff --git a/upgrading-to-drupal-9/images/dransible-screenshots/6.png b/upgrading-to-drupal-9/images/dransible-screenshots/6.png deleted file mode 100644 index 5f5f9fb..0000000 Binary files a/upgrading-to-drupal-9/images/dransible-screenshots/6.png and /dev/null differ diff --git a/upgrading-to-drupal-9/images/dransible-screenshots/7.png b/upgrading-to-drupal-9/images/dransible-screenshots/7.png deleted file mode 100644 index 8abc7cf..0000000 Binary files a/upgrading-to-drupal-9/images/dransible-screenshots/7.png and /dev/null differ diff --git a/upgrading-to-drupal-9/images/dransible-screenshots/8.png b/upgrading-to-drupal-9/images/dransible-screenshots/8.png deleted file mode 100644 index 5c5068c..0000000 Binary files a/upgrading-to-drupal-9/images/dransible-screenshots/8.png and /dev/null differ diff --git a/upgrading-to-drupal-9/images/dransible-screenshots/9.png b/upgrading-to-drupal-9/images/dransible-screenshots/9.png deleted file mode 100644 index b572f5b..0000000 Binary files a/upgrading-to-drupal-9/images/dransible-screenshots/9.png and /dev/null differ diff --git a/upgrading-to-drupal-9/images/drupal-association.png b/upgrading-to-drupal-9/images/drupal-association.png deleted file mode 100644 index cf93e83..0000000 Binary files a/upgrading-to-drupal-9/images/drupal-association.png and /dev/null differ diff --git a/upgrading-to-drupal-9/images/drupal-check-output.png b/upgrading-to-drupal-9/images/drupal-check-output.png deleted file mode 100644 index c7c7ab7..0000000 Binary files a/upgrading-to-drupal-9/images/drupal-check-output.png and /dev/null differ diff --git a/upgrading-to-drupal-9/images/drupal-check-upgrade-status-comparison.png b/upgrading-to-drupal-9/images/drupal-check-upgrade-status-comparison.png deleted file mode 100644 index 58b0e34..0000000 Binary files a/upgrading-to-drupal-9/images/drupal-check-upgrade-status-comparison.png and /dev/null differ diff --git a/upgrading-to-drupal-9/images/logo-composer-transparent.png b/upgrading-to-drupal-9/images/logo-composer-transparent.png deleted file mode 100644 index e0782d0..0000000 Binary files a/upgrading-to-drupal-9/images/logo-composer-transparent.png and /dev/null differ diff --git a/upgrading-to-drupal-9/images/matt-stauffer-tweet.png b/upgrading-to-drupal-9/images/matt-stauffer-tweet.png deleted file mode 100644 index 3f27a45..0000000 Binary files a/upgrading-to-drupal-9/images/matt-stauffer-tweet.png and /dev/null differ diff --git a/upgrading-to-drupal-9/images/multiple-versions.png b/upgrading-to-drupal-9/images/multiple-versions.png deleted file mode 100644 index 63c8405..0000000 Binary files a/upgrading-to-drupal-9/images/multiple-versions.png and /dev/null differ diff --git a/upgrading-to-drupal-9/images/override-node-options-2012-4.png b/upgrading-to-drupal-9/images/override-node-options-2012-4.png deleted file mode 100644 index 2b69070..0000000 Binary files a/upgrading-to-drupal-9/images/override-node-options-2012-4.png and /dev/null differ diff --git a/upgrading-to-drupal-9/images/override-node-options-2020-2.png b/upgrading-to-drupal-9/images/override-node-options-2020-2.png deleted file mode 100644 index 5af45b7..0000000 Binary files a/upgrading-to-drupal-9/images/override-node-options-2020-2.png and /dev/null differ diff --git a/upgrading-to-drupal-9/images/phpunit-deprecation.png b/upgrading-to-drupal-9/images/phpunit-deprecation.png deleted file mode 100644 index 4d7343e..0000000 Binary files a/upgrading-to-drupal-9/images/phpunit-deprecation.png and /dev/null differ diff --git a/upgrading-to-drupal-9/images/semver.png b/upgrading-to-drupal-9/images/semver.png deleted file mode 100644 index fa67280..0000000 Binary files a/upgrading-to-drupal-9/images/semver.png and /dev/null differ diff --git a/upgrading-to-drupal-9/images/timmillwood-ono.png b/upgrading-to-drupal-9/images/timmillwood-ono.png deleted file mode 100644 index be4eda4..0000000 Binary files a/upgrading-to-drupal-9/images/timmillwood-ono.png and /dev/null differ diff --git a/upgrading-to-drupal-9/images/title.png b/upgrading-to-drupal-9/images/title.png deleted file mode 100644 index 3110bf9..0000000 Binary files a/upgrading-to-drupal-9/images/title.png and /dev/null differ diff --git a/upgrading-to-drupal-9/main.style b/upgrading-to-drupal-9/main.style deleted file mode 100644 index a57d4e1..0000000 --- a/upgrading-to-drupal-9/main.style +++ /dev/null @@ -1,126 +0,0 @@ -pageSetup: - firstTemplate: coverPage - height: 18cm - margin-bottom: 0cm - margin-gutter: 0cm - margin-left: 0cm - margin-right: 0cm - margin-top: 0cm - size: null - spacing-footer: 2mm - spacing-header: 2mm - width: 32cm - -pageTemplates: - coverPage: - frames: [] - [12%, 10%, 76%, 75%] - showFooter: false - showHeader: false - - titlePage: - alignment: TA_CENTER - frames: [] - [8%, 8%, 85%, 60%] - showFooter: true - showHeader: false - - standardPage: - frames: [] - [3%, 3%, 94%, 92%] - showFooter: true - showHeader: false - - imagePage: - alignment: TA_CENTER - frames: [] - [12%, 10%, 76%, 80%] - showFooter: true - showHeader: false - -linkColor: #24608a - -fontsAlias: - stdMono: Inconsolata-Regular - stdMonoBold: Inconsolata-Regular - stdMonoItalic: Inconsolata-Regular - -styles: - normal: - fontSize: 28 - textColor: #383745 - - bodytext: - alignment: TA_LEFT - - heading: - alignment: TA_CENTER - fontSize: 24 - spaceAfter: 16 - textColor: #24608a - - heading1: - parent: heading - alignment: TA_LEFT - - title: - fontSize: 250% - parent: heading - - bullet-list: - commands: [] - [LEFTPADDING, [0, 0], [1, -1], 10] - [RIGHTPADDING, [0, 0], [1, -1], 0] - [VALIGN, [0, 0], [-1, -1], TOP] - colWidths: ["20", null] - textColor: #aaaaaa - - bullet-list-item: - spaceBefore: 14 - spaceAfter: 0 - - titleslideinfo: - alignment: TA_CENTER - fontSize: 120% - parent: normal - - footer: - alignment: TA_RIGHT - fontName: stdMono - fontSize: 18 - textColor: #24608a - rightIndent: 16 - spaceBefore: 0 - - literal: - backColor: white - fontName: stdMono - - code: - backColor: white - borderWidth: 0 - fontSize: 24 - parent: literal - spaceBefore: 4 - - blockquote: - parent: normal - fontName: stdItalic - - attribution: - parent: normal - textColor: #666666 - - smaller: - textColor: red - - centredtitle: - alignment: TA_CENTER - fontName: stdBold - fontSize: 48 - leading: 64 - parent: heading - - centred: - alignment: TA_CENTER - parent: normal diff --git a/upgrading-to-drupal-9/slides.rst b/upgrading-to-drupal-9/slides.rst deleted file mode 100644 index 36aa661..0000000 --- a/upgrading-to-drupal-9/slides.rst +++ /dev/null @@ -1,488 +0,0 @@ -.. footer:: @opdavies - -Upgrading to Drupal 9 -##################### - -| - -.. class:: titleslideinfo - -Oliver Davies, Inviqa - -.. raw:: pdf - - PageBreak imagePage - -.. image:: images/10-years-tweet.png - :width: 22cm - -.. raw:: pdf - - TextAnnotation "Recently, I passed 10 years working full-time with Drupal and PHP (I'd been working with it for a few years prior to this too)." - TextAnnotation "Worked with Drupal 6, 7, 8 and 9." - TextAnnotation "Worked on a number of D6 to D7, and D8 to D9 upgrades" - - PageBreak standardPage - -The D7 release cycle -==================== - -* One long-running branch -* Minor versions for bug fixes (7.80, April 2021) -* No big, new features -* Long time for changes to get committed to core - -.. raw:: pdf - - TextAnnotation "Before we get into the D9 stuff." - TextAnnotation "D7 and earlier..." - -The D8 release cycle -==================== - -* Semantic versioning for core -* Minor release (new features) every 6 months -* Patch release (bug fixes) every month -* Multiple supported versions of core (8.9, 9.0, 9.1) - -.. raw:: pdf - - TextAnnotation "Drupal 8 onwards..." - TextAnnotation "Minor release = new functionality" - TextAnnotation "Patch release = bug fixes" - TextAnnotation "Change from 'it will be ready when it's ready' (D7) to a fixed release cycle and schedule, and what makes it in time will be added." - TextAnnotation "8.9 is an LTS release" - -.. raw:: pdf - - PageBreak imagePage - -.. image:: images/2019_minor_release_schedule.png - :width: 20cm - -.. raw:: pdf - - PageBreak standardPage - -Drupal 8 vs Drupal 9 -==================== - -* No new functionality -* Deprecated code removed -* PHP required version increased -* Major versions of dependencies updated - -.. raw:: pdf - - TextAnnotation "Different to previous major version updates" - TextAnnotation "Symfony upgraded from 3 to 4." - -Previous upgrade issues -======================= - -* Lots of breaking changes -* Core released, but contrib takes time to catch up - -.. raw:: pdf - - TextAnnotation "Lots of breaking changes, large rebuilds and migrations" - TextAnnotation "6(?) months between D7 core and Views being released, prevents adoption" - TextAnnotation "Jeff Geerling blog post 'Did breaking backwards compatibility kill Drupal?'" - -Contrib improvements -==================== - -* Minimal code changes required -* Single release can support multiple versions of core -* Semantic versioning enabled for contrib projects - -.. raw:: pdf - - TextAnnotation "Need to fix deprecation notices, and replace deprecated code with the suggested replacements" - TextAnnotation "Modules, themes and distributions can now work with multiple versions of Drupal core in the same release" - TextAnnotation "`core` key replaced with `core_version_requirement`" - - PageBreak imagePage - -.. image:: images/multiple-versions.png - :width: 20cm - -| - -.. image:: images/semver.png - :width: 20cm - -.. raw:: pdf - - PageBreak titlePage - -.. class:: centredtitle - -The difference is deprecated code - -.. raw:: pdf - - TextAnnotation "Code that has been replaced by newer code and marked to be removed." - TextAnnotation "Not removed immediately to keep backwards compatibility." - TextAnnotation "A backwards compatibility break would require a major version change rather than a minor one." - - PageBreak standardPage - -Deprecation example -=================== - -.. code-block:: php - :startinline: true - - function drupal_set_message($message = NULL, $type = 'status', $repeat = FALSE) { - @trigger_error('drupal_set_message() is deprecated in Drupal 8.5.0 and will - be removed before Drupal 9.0.0. Use \Drupal\Core\Messenger\MessengerInterface - ::addMessage() instead. See https://www.drupal.org/node/2774931', - E_USER_DEPRECATED); - - $messenger = \Drupal::messenger(); - if (isset($message)) { - $messenger->addMessage($message, $type, $repeat); - } - return $messenger->all(); - } - -.. raw:: pdf - - TextAnnotation "drupal_set_message has been replaced by a Messenger service, this should be used instead." - TextAnnotation "Works but triggers an error in 8.9, breaks in 9.0." - TextAnnotation "To ensure D9 compatibility, update all of the deprecated code." - - PageBreak titlePage - -.. class:: centredtitle - -How do I find it? - -.. raw:: pdf - - PageBreak standardPage - -Drupal Check -============ - -- Developed by Matt Glaman -- "Built on PHPStan, this static analysis tool will check for correctness (e.g. using a class that doesn't exist), deprecation errors, and more." -- https://github.com/mglaman/drupal-check - -.. raw:: pdf - - PageBreak titlePage - -.. class:: centredtitle - -``composer global require -mglaman/drupal-check`` - -.. page:: -.. class:: centredtitle - -``drupal-check web/modules/custom`` - -.. raw:: pdf - - PageBreak imagePage - -.. image:: images/drupal-check-output.png - :width: 22cm - -.. raw:: pdf - - PageBreak titlePage - -.. class:: centredtitle - -Upgrade Status module - -.. raw:: pdf - - PageBreak imagePage - -.. image:: images/drupal-check-upgrade-status-comparison.png - :width: 12cm - -.. raw:: pdf - - PageBreak standardPage - -PHPUnit Bridge -============== - -- Drupal 8 uses Symfony's PHPUnit Bridge -- Includes a 'Deprecation Helper' -- Displays deprecation notices in test output - -.. raw:: pdf - - PageBreak imagePage - -.. image:: images/phpunit-deprecation.png - :width: 23cm - -.. raw:: pdf - - PageBreak standardPage - -Fixing deprecations -=================== - -.. code-block:: diff - - - drupal_set_message($text); - + Drupal::messenger()->addMessage($text); - -.. image:: images/logo-composer-transparent.png - :width: 10cm - -Composer -======== - -- Dependency management tool for PHP -- My preferred way to manage Drupal codebases -- composer.json lists your dependencies and version constraints -- composer.lock stores the installed dependencies and versions -- Separate packages for ``core-recommended``, ``core-dev`` and ``core-composer-scaffold`` - -.. raw:: pdf - - TextAnnotation "Used by the majority of PHP frameworks and projects (Symfony, Laravel, Drush, Drupal Console)." - - PageBreak titlePage - -.. class:: centredtitle - -``composer require -drupal/admin_toolbar:^2.0`` - -.. page:: -.. class:: centredtitle - -``composer install`` - -.. page:: -.. class:: centredtitle - -``composer update -drupal/admin_toolbar`` - -.. page:: -.. class:: centredtitle - -Always add '--no-dev' in production - -.. raw:: pdf - - TextAnnotation "Prevents development dependencies from being installed, and potential security exploits from being added." - PageBreak titlePage - -.. class:: centredtitle - -An Example: Dransible - -.. class:: centred - -https://github.com/opdavies/dransible - -.. raw:: pdf - - PageBreak imagePage - -.. image:: images/dransible-repo.png - :width: 20cm - -.. raw:: pdf - - PageBreak standardPage - -Upgrading Dransible -=================== - -- Remove Drush (temporarily) -- Update from Drupal 8.8 to 8.9 -- Add Upgrade Status module -- Update contrib modules to D9 compatible versions -- Remove incompatible contrib modules (if possible) -- Fix deprecations in custom code -- Upgrade from Drupal 8.9 to 9.0 - -.. raw:: pdf - - TextAnnotation "Without removing Drush, 8.9.0-beta2 rather than 8.9.2" - TextAnnotation "Updated Admin Toolbar module to a D9 compatible version" - TextAnnotation "Removed Config Installer as no longer needed" - TextAnnotation "Fixed deprecation warnings in custom code" - TextAnnotation "Installed Drush 10, removed and uninstalled Upgrade Status module" - - PageBreak titlePage - -.. class:: centredtitle - -``composer update drupal/core-* ---with-dependencies`` - -.. page:: -.. class:: centredtitle - -``composer require -drupal/upgrade_status`` - -.. raw:: pdf - - PageBreak imagePage - -.. image:: images/dransible-screenshots/1.png - :width: 22cm - -.. image:: images/dransible-screenshots/2.png - :width: 22cm - -.. image:: images/dransible-screenshots/3.png - :width: 22cm - -.. image:: images/dransible-screenshots/4.png - :width: 22cm - -.. image:: images/dransible-screenshots/5.png - :width: 22cm - -.. image:: images/dransible-screenshots/6.png - :width: 20cm - -.. image:: images/dransible-screenshots/7.png - :width: 22cm - -.. image:: images/dransible-screenshots/8.png - :width: 22cm - -.. raw:: pdf - - PageBreak titlePage - -.. class:: centredtitle - -``composer update drupal/core-* ---with-dependencies`` - -.. raw:: pdf - - PageBreak imagePage - -.. image:: images/dransible-screenshots/9.png - :width: 22cm - -.. image:: images/dransible-screenshots/10.png - :width: 20cm - -.. raw:: pdf - - TextAnnotation "Only 6 files changed rather than hundreds or thousands" - TextAnnotation "Vast majority of the changes in composer.lock (to be expected)" - TextAnnotation "Half of the changed files are project specific. Could have been 2 or 3 files changed on some projects." - - PageBreak titlePage - -.. class:: centredtitle - -There were some autowiring gotchas... - -.. raw:: pdf - - PageBreak - -``Error: Class 'Symfony\Component\Config\Resource\ClassExistenceResource' not found in Symfony\Component\DependencyInjection\Compiler\AutowirePass->createTypeNotFoundMessage()`` - -.. page:: - -.. class:: centredtitle - -``composer require -symfony/config:^4`` - -.. raw:: pdf - - TextAnnotation "Composer tried installing version 5 by default, so locked to 4.x." - - PageBreak titlePage - -``Cannot autowire service "Drupal\simple_message\DisplaySimpleMessage": argument "$messenger" of method "__construct()" references interface "Drupal\Core\Messenger\MessengerInterface" but no such service exists. You should maybe alias this interface to the existing "messenger" service`` - -.. raw:: pdf - - PageBreak standardPage - -Fixing autowiring -================= - -.. code-block:: yaml - - services: - Drupal\simple_message\DisplaySimpleMessage: - autowire: true - tags: - - { name: event_subscriber } - -Fixing autowiring -================= - -.. code-block:: diff - - services: - + Drupal\Core\Messenger\MessengerInterface: - + alias: messenger - + private: true - - Drupal\simple_message\DisplaySimpleMessage: - autowire: true - tags: - - { name: event_subscriber } - -.. raw:: pdf - - PageBreak titlePage - -.. - - The big deal about Drupal 9 is... that it should not be a big deal - - -- Dries Buytaert - -.. raw:: pdf - - TextAnnotation "Dransible updated in 1-2 hours." - TextAnnotation "No big rewrite." - TextAnnotation "Smallest core update PR ever!" - - PageBreak standardPage - -Drupal 10 -========= - -- Released around June 2022 -- Drupal 9 EOL around November 2023 -- Symfony 4 EOL in November 2023 -- Another easy upgrade - -.. raw:: pdf - - TextAnnotation "Need to keep up to date with dependencies." - -Thanks! -======= - -References: - -* https://www.drupal.org/docs/understanding-drupal -* https://dri.es/drupal-9-0-0-released -* https://dri.es/drupal-10-target-release-date-and-drupal-9-end-of-life -* https://github.com/opdavies/dransible - -| - -Me: - -* https://www.oliverdavies.uk