Multi-Site Vs Domain: A Commerce Case Study

A presentation at Boston Drupal Meetup in May 2019 in Boston, MA, USA by John Picozzi

Slide 1

Slide 1

Multi-Site Vs. Domain A Commerce Case Study May 7, 2019 Page 1 | Multi-Site Vs Domain: A Commerce Case Study

Slide 2

Slide 2

John E. Picozzi Senior Drupal Architect Drupal Providence 401-228-7660 oomphinc.com 72 Clifford Street, oomph.is/jpicozzi Providence, RI 02903 [email protected] Page 2 | Multi-Site Vs Domain: A Commerce Case Study

Slide 3

Slide 3

We’re Hiring! Page 3 | Multi-Site Vs Domain: A Commerce Case Study

Slide 4

Slide 4

An Overview September 1, 2016 Page 4 | Multi-Site Vs Domain: A Commerce Case Study

Slide 5

Slide 5

Leica Geosystems They make cool lasers & stuff A LITTLE MORE INFO Leica Geosystems has been building precision surveying equipment since 1921. In 1993, Leica introduced the first handheld laser distance meter, building off reflectorless technology that revolutionized land surveying. Page 5 | Multi-Site Vs Domain: A Commerce Case Study

Slide 6

Slide 6

Page 6 | Multi-Site Vs Domain: A Commerce Case Study

Slide 7

Slide 7

Page 7 | Multi-Site Vs Domain: A Commerce Case Study

Slide 8

Slide 8

Page 8 | Multi-Site Vs Domain: A Commerce Case Study

Slide 9

Slide 9

A Brief History Leica has had 2.5 sites 1. STARTED WITH HTML/CSS/JS 2. DRUPAL 7 MULTI-SITE 3. REDESIGN OF DRUPAL 7 MULTI-SITE Page 9 | Multi-Site Vs Domain: A Commerce Case Study

Slide 10

Slide 10

The Problem September 1, 2016 Page 10 | Multi-Site Vs Domain: A Commerce Case Study

Slide 11

Slide 11

Drupal 7 Multi-Site Drupal 7 Multi-site Admins login to 10+ different sites Page 11 | Multi-Site Vs Domain: A Commerce Case Study Had to translate 8+ Sites Products & Content had to be update 8+ Times

Slide 12

Slide 12

Today… Or some day in the future September 1, 2016 Page 12 | Multi-Site Vs Domain: A Commerce Case Study

Slide 13

Slide 13

Leica’s new Drupal 8 Site. Coming Soon to a Browser near you. Page 13 | Multi-Site Vs Domain: A Commerce Case Study

Slide 14

Slide 14

The Solution September 1, 2016 Page 14 | Multi-Site Vs Domain: A Commerce Case Study

Slide 15

Slide 15

Drupal 8 Configuration Management Better Caching System Page 15 | Multi-Site Vs Domain: A Commerce Case Study Better Translation System Better Upgrade Path to Drupal 9

Slide 16

Slide 16

acquia_connector: ^1.16 coder: ^8.2 admin_toolbar: ^1.23 coffee: ^1.0 ajax_comments: ^1.0@beta commerce: ^2.10 anchor_link: 2.0.0-alpha2 commerce_cart_flyout: ^1.0 backup_db: ^1.3 commerce_checkout_order_fields: 1.x-dev better_exposed_filters: ^3.0@alpha commerce_combine_carts: ^1.0@beta block_access: ^1.0@alpha commerce_google_tag_manager: ^1.0@alpha block_content_permissions: ^1.6 commerce_paypal: ^1.0@beta block_type_templates: ^1.0@alpha commerce_pricelist: ^2.0@beta cloudflare: ^1.0@alpha commerce_product_variation_csv: ^1.0 config_ignore: ^2.1 commerce_shipping: ^2.0@beta config_ignore_readonly: ^1.1 commerce_store_domain: ^1.0@RC config_installer: ^1.8 conditional_fields: ^1.0@alpha config_readonly: ^1.0@beta contact_block: ^1.4 config_split: ^1.3 contact_emails: ^1.16 contact_ajax: ^1.4 contact_storage: ^1.0@beta lingotek: ^2.9 core: ^8.7 mailsystem: ^4.1 country_path: ^1.0 mandrill: ^1.0 crop: ^1.5 markup: ^1.0@beta override_node_options: ^2.4 memcache: ^2.0 pardot: 1.x-dev menu_block: ^1.5 pathauto: ^1.2 menu_link_attributes: ^1.0 purge: ^3.0@beta metatag: ^1.5 quivers: 1.x-dev oomph_paragraphs: ^1.0@alpha rabbit_hole: ^1.0@beta redirect: ^1.2 recaptcha: ^2.3 registration_role: ^1.0@beta recreate_block_content: ^2.0 responsive_favicons: ^1.4 responsive_menus: 1.x-dev twig_tweak: ^2.1 view_unpublished: ^1.0@alpha views_exposed_filter_blocks: views_parity_row: ^1.5 Page 16 | Multi-Site Vs Domain: A^1.0 Commerce Case Study ctools: ^3.0 d8_google_optimize_hide_page: ^1.1 devel: ^2.0 domain: ^1.0@alpha domain_language: ^1.0@alpha entity_clone: 1.x-dev entity_embed: 1.x-dev eu_cookie_compliance: ^1.2 extlink: ^1.1 facets: ^1.0@beta field_formatter_class: ^1.1 field_hidden: ^1.0 field_permissions: ^1.0@RC focal_point: ^1.0@beta google_tag: ^1.0 honeypot: ^1.29 iframe: ^1.9 image_widget_crop: ^2.1 imagemagick: ^2.3 lang_dropdown: ^2.0@beta restui: ^1.16 roleassign: ^1.0@alpha search_api: ^1.8 seckit: ^1.0 shield: ^1.2 simple_sitemap: ^3.0 smart_trim: ^1.1 token: ^1.3 views_ajax_history: ^1.0

Slide 17

Slide 17

coder: ^8.2 acquia_connector: ^1.16 coffee: ^1.0 admin_toolbar: ^1.23 commerce: ^2.10 ajax_comments: ^1.0@beta commerce_cart_flyout: ^1.0 anchor_link: 2.0.0-alpha2 commerce_checkout_order_fields: 1.x-dev backup_db: ^1.3 commerce_combine_carts: ^1.0@beta better_exposed_filters: ^3.0@alpha commerce_google_tag_manager: ^1.0@alpha block_access: ^1.0@alpha commerce_paypal: ^1.0@beta block_content_permissions: ^1.6 block_type_templates: ^1.0@alpha commerce_pricelist: ^2.0@beta cloudflare: ^1.0@alpha commerce_product_variation_csv: ^1.0 config_ignore: ^2.1 commerce_shipping: ^2.0@beta config_ignore_readonly: ^1.1 commerce_store_domain: ^1.0@RC config_installer: ^1.8 conditional_fields: ^1.0@alpha config_readonly: ^1.0@beta contact_block: ^1.4 config_split: ^1.3 contact_emails: ^1.16 contact_ajax: ^1.4 contact_storage: ^1.0@beta lingotek: ^2.9 core: ^8.7 mailsystem: ^4.1 country_path: ^1.0 mandrill: ^1.0 crop: ^1.5 markup: ^1.0@beta override_node_options: ^2.4 memcache: ^2.0 pardot: 1.x-dev menu_block: ^1.5 pathauto: ^1.2 menu_link_attributes: ^1.0 purge: ^3.0@beta metatag: ^1.5 quivers: 1.x-dev oomph_paragraphs: ^1.0@alpha rabbit_hole: ^1.0@beta redirect: ^1.2 recaptcha: ^2.3 registration_role: ^1.0@beta recreate_block_content: ^2.0 responsive_favicons: ^1.4 responsive_menus: 1.x-dev twig_tweak: ^2.1 view_unpublished: ^1.0@alpha views_exposed_filter_blocks: ^1.0 Page 17 | Multi-Site Vs Domain: A Commerce Case Study views_parity_row: ^1.5 ctools: ^3.0 d8_google_optimize_hide_page: ^1.1 devel: ^2.0 domain: ^1.0@alpha domain_language: ^1.0@alpha entity_clone: 1.x-dev entity_embed: 1.x-dev eu_cookie_compliance: ^1.2 extlink: ^1.1 facets: ^1.0@beta field_formatter_class: ^1.1 field_hidden: ^1.0 field_permissions: ^1.0@RC focal_point: ^1.0@beta google_tag: ^1.0 honeypot: ^1.29 iframe: ^1.9 image_widget_crop: ^2.1 imagemagick: ^2.3 lang_dropdown: ^2.0@beta restui: ^1.16 roleassign: ^1.0@alpha search_api: ^1.8 seckit: ^1.0 shield: ^1.2 simple_sitemap: ^3.0 smart_trim: ^1.1 token: ^1.3 views_ajax_history: ^1.0

Slide 18

Slide 18

Domain AKA Domain Access September 1, 2016 Page 18 | Multi-Site Vs Domain: A Commerce Case Study

Slide 19

Slide 19

Domain Out of the Box

  1. MULTIPLE DOMAINS Domain allowed Leica to host multiple “sites” under one Drupal installation.
  2. CONTENT SHARING With Domain Module sites admins have the ability to assign content to certain domains.
  3. SINGLE SITE FOR ADMINS Domain alleviates the need for admins to login to multiple sites. Clear one cache and run DB updates once. Page 19 | Multi-Site Vs Domain: A Commerce Case Study
  4. CONTENT ACCESS Domain allows for access to content to be set per domain. Great for keeping Country editors on their own site.

Slide 20

Slide 20

Country Path September 1, 2016 Page 20 | Multi-Site Vs Domain: A Commerce Case Study

Slide 21

Slide 21

Remember those URLs we talked about? They’re Back!!! Page 21 | Multi-Site Vs Domain: A Commerce Case Study

Slide 22

Slide 22

Commerce September 1, 2016 Page 22 | Multi-Site Vs Domain: A Commerce Case Study

Slide 23

Slide 23

Commerce Out-of-the-Box

  1. MULTIPLE STORES One instance of Commerce (Drupal) can support multiple stores.
  2. STORE SPECIFIC PRODUCTS Products can be limited to one store.
  3. COMMON COMMERCE FEATURES 2. PRODUCTS SHARING Commerce allows for sharing of products across multiple stores and currencies. Page 23 | Multi-Site Vs Domain: A Commerce Case Study You get normal commerce features such as: ● Shopping Cart ● Coupons/Promotions ● Payment Gateways/Methods

Slide 24

Slide 24

Commerce Store Domain September 1, 2016 Page 24 | Multi-Site Vs Domain: A Commerce Case Study

Slide 25

Slide 25

Allows each Commerce Store to be assigned to a Domain Page 25 | Multi-Site Vs Domain: A Commerce Case Study

Slide 26

Slide 26

Commerce Price List September 1, 2016 Page 26 | Multi-Site Vs Domain: A Commerce Case Study

Slide 27

Slide 27

Allows each domain to be assigned to a Commerce Store Page 27 | Multi-Site Vs Domain: A Commerce Case Study

Slide 28

Slide 28

So Who Wins? Multi-Site or Domain Domain! Domain! Domain!! Domain!!! Ease of use for Admins Content Sharing Content Access Single Site Page 28 | Multi-Site Vs Domain: A Commerce Case Study

Slide 29

Slide 29

Thanks John Picozzi, Senior Drupal Architect Thank you for listening! Contact me below with any follow up questions or even just to chat. /u/johnpicozzi @JohnPicozzi /in/johnpicozzi 401-228-7660 oomphinc.com 72 Clifford Street, oomph.is/jpicozzi Providence, RI 02903 [email protected]