1 of 44

Beyond Drupal 7:

Soft Landing Community Initiative

Irina Zaks �Fall 2023

2 of 44

Introduction

Building websites and apps for research and higher education

https://fibonacciwebstudio.com

Irina Zaks

Web Developer ��Feeds Module Co-Maintainer

One of organizers of StanfordWebCamp�irina.zaks@fibonacciwebstudio.com

3 of 44

  • Introduce D7 Soft Landing initiative
  • Explain why D7 EOL is a Big Deal (Chromatichq Podcast)
  • Discuss decision tree for getting off D7 (Blog Post)
  • Present tools and flows for One-click /Simple/Easy migrations off D7
  • Talk about learning curves
  • Plan to sharpen migration tools

In this presentation

4 of 44

It’s camp!

“What is the use of a book without pictures or conversations?”

― Lewis Carroll, Alice in Wonderland

5 of 44

State of Drupal - from D7 to D8/9/10

  • Drupal 7 was released in 2011
  • In 2016 over 1.2 million sites were built with D7
  • Drupal 8 with new architecture was released in 2015
  • End of support and security updates Drupal 7 was planned for 2020, but with COVID support was extended

  • Today (Sept 2023) over 380K sites are still on D7, while D8+D9+D10 have 404K installs

6 of 44

Why is Drupal 7's End-of-Life a Big Deal?

Drupal project cannot continue to maintain both the legacy and the modern versions of Drupal indefinitely, as that is a considerable overhead.

7 of 44

  • Started in Dec 2022
  • First announced at Florida Camp in Feb 2023
  • Provides Roadmap for Responsible D7 EOL

Each of the roadmap areas represents an element of this initiative that could use community collaboration and investment. These areas each provide different ways to support the existing Drupal 7 community, and help them determine their best path forward.

8 of 44

Responsible EOL for D7

In order to ensure that our existing community of Drupal 7 site owners is not left behind, this initiative aims to create resources and tools to assist them to prepare for what comes next. The main drive is to help move these legacy sites to a modern solution that provides support and security updates.

9 of 44

Goals

The primary goal of this initiative is to support owners of current D7 sites with guidance on what to do before Drupal 7's End-of-Life date. This includes giving them documentation, resources, and tools to understand how to migrate to modern versions of Drupal, improving those tools and resources where we can, and maintaining an open dialog with this community of users.

10 of 44

Initiative Scope for July - Dec 2023

  1. Identify points of friction that prevent Drupal 7 site owners from upgrading
  2. Provide a decision tree that gives guidance for Drupal 7 site owners
  3. Provide better Site Audit tools
  4. Provide more tutorials and demos for "easy" upgrade tools for site builders

11 of 44

Drupal 7 Migration: DIY Resources

12 of 44

Drupal 7 Migration: DIY Resources

13 of 44

Tools and flow for an "easy" upgrade for site builders

13

14 of 44

Website Update planning

Compare cost of upgrading for YOUR case

Analysis and Planning

25%

Estimated cost and schedule

Presentation

30%

Logic and Rules

20%

Data Import

20%

DevOps

5%

15 of 44

Understand your options

WordPress

Backdrop CMS

Drupal 9

Migration approach

Complete rebuild.

Backward compatibility with D7.

Complete rebuild or “as-is” upgrade from D6/7.

Content Migration tools (major options)

Import ALL module for content import.

Entire site import, including full configuration import and content.

Migrate module in core with .yml.

Content Editor experience (back-end UI)

Gutenberg Editor with Preset Widgets and Media browser.

Built-in configurable editor.

Configurable views for various content types and media.

Built-in configurable editor.

Configurable views for various content types and media.

Workflows (approvals, productivity tools, etc.)

Not a common task.

Easy to customize via web UI.

Possible via custom modules.

Multi-site management

WP network can support multiple sites with one codebase.

Designed to support multisite.

Designed to support multisite.

Development and DevOps

Affordable.

Affordable.

Expensive.

Security and compliance

Easy security updates.

Easy security updates.

Security updates can be complex.

16 of 44

Understand your needs - Decision tree

  • Check 1: My D7 site works well for me.
  • Check 2: My site has complex structured content with relationships between those� AND/OR

My site has workflows (notifications, editorial workflows, custom processes).

    • NO -> Review Wordpress.
    • YES -> Continue to Check 3.
  • Check 3: Stay in Drupal Family: Modern Drupal or Backdrop CMS.

17 of 44

Check 3: �My D7 site works great for me

  • My content is easy to update
  • Content types and views work great for my goals
  • I like feel and look of my theme
  • I have over ~100 pages
  • I have business logic for processing submitted information

Keep your site in Drupal CMS family

18 of 44

Major D7 features: �Mapping to D9/10 and Backdrop CMS

New

Same as in D7

D9

  • Configuration imports and exports between yml files and the database
  • Composer installation
  • Twig templates
  • Modules architecture with PHP object-oriented approach
  • More modules in core
  • UI for site editors
  • Site building concepts such as content types, Paragraphs, Views, etc.

Backdrop CMS

  • Configuration imports and exports between json files and the database
  • Project browser and security updates via UI
  • More data structures are properly object-oriented
  • More modules in core
  • Better performance
  • UI for site editors
  • Site building concepts, such as content types, Paragraphs, Views, etc.
  • Workflow tools, like Rules, etc.
  • PHPTemplate engine
  • Modules architecture remains mostly aspect-oriented

19 of 44

Prepare for migration

  • Compare which features of Drupal 9 (D9) or Backdrop CMS you need for your site and for your migration process.
  • Compare tools for each task for each system
  • Estimate cost of migration and support
  • Move on with your migration flow

20 of 44

Five-Step Migration flow

Demo using CPQCC website

20

21 of 44

Five-Step Migration flow

  • Step 1: Audit current site
  • Step 2: Setup new site download core
  • Step 3: Import content and configuration
  • Step 4: Set your theme and place blocks
  • Step 5: Final touch

22 of 44

Step 1: Audit current site

  • Check what modules are available in target CMS
  • Review missing modules
      • code custom modules
      • port D7 modules
  • Install for Site audit module in D7 and�get instant review of your site

Just released for D7

23 of 44

Site Audit module

  • Content types
  • Nodes per content type
  • Vocabularies and terms
  • Fields and un-used fields
  • Duplicate content
  • Modules
  • Many, many more

24 of 44

Backdrop Upgrade Status

25 of 44

D9/10 upgrade status

26 of 44

Step 2: Setup new site (D9/Backdrop)

  • Install core
  • Install contrib modules
    • Based on site audit
  • Install contrib theme
  • If needed
    • install your custom modules
    • install custom theme
  • Set Backdrop on Pantheon
  • Set D9 on Pantheon

27 of 44

Backdrop new site setup - modules and themes

  • Via Project Installer - Web UI, cloud based
  • Via drush - command line, local dev setup

28 of 44

Drupal 9/10 new site setup

  • Requires local dev setup
  • Requires composer

29 of 44

Step 3: Import via Backup and Migrate

30 of 44

Step 3 continued: Run upgrade

  • Click “Run Upgrade” button to start migration at core/update.php

31 of 44

Step 3: Import DB - Drupal 9/10

  • Enable Migrate �Drupal core module
  • Import db and files

32 of 44

Running import is recorded in recent log messages

33 of 44

What is migrated “out of the box” - Backdrop

  • Users
  • Content
  • Views
  • Blocks content
  • Path aliases
  • Rules ?

You can write custom migration for your custom modules if needed

34 of 44

What is migrated “out of the box” - Drupal

  • Users
  • Content
  • Views
  • Blocks content
  • Path aliases

You can write custom migration paths for your custom modules if needed

35 of 44

Step 4: Set your theme and place blocks

  • Various themes are available both for D9 and for Backdrop
  • New in Backdrop - layout system

36 of 44

Step 5: Final touch

Whatever was not done in Steps 1 - 4 :)

37 of 44

“One-click” Backdrop Migrations using D2B module

37

38 of 44

Full migration using D2B module

d2b module �needs work

please help in issues

39 of 44

40 of 44

Database analysis

41 of 44

Learining Curve

41

42 of 44

Learning curve moving off D7

  • Sitebuilding is very similar to D7 (content types, taxonomies, views, etc.)
  • Configuration management
    • very well documented for Backdrop and D9
  • New in D9/10/11
    • Composer
  • New in Backdrop core
    • Layouts - template + path

43 of 44

44 of 44

Contribute to Open Source

You don't have to know code to give back!

Ways to contribute:�

https://backdropcms.org/contribute https://drupal.org/contribute

Templates provided by MidCamp.org