SlideShare a Scribd company logo
1 of 21
Download to read offline
MANIFESTO
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  
DrupalCamp	
  London	
  
5th March 2017
CONFIGURATION
DEPLOYMENT
In Drupal 8
ABOUT ME
Hi, I’m:
•  Gabriele / Gabi / gambry
•  15+ PHP / 8+ Drupal / 3+ Dad.
•  Senior Software Engineer/Consultant @ MANIFESTO	
  
I Like:
•  Drupal, PHP, Javascript, Deployment, Performance
•  Cooking && Eating
•  Shameless
	
  
C.M.I.
Configuration Management (the “I” stands for Initiative) allows you
to export your site’s configuration settings into files. This means that
we are now able to capture configuration changes in code.
ACTIVE
export
SYNC
import
ACTIVE
SIMPLE CONFIGURATION
DEPLOYMENT
SIMPLE CONFIGURATION
DEPLOYMENT
•  Will I overwrite existing configuration on Production? YES
•  Will I delete new configuration changes made on Production? YES
SYNC
On import: ACTIVE
Ø  New	
  configs	
  will	
  be	
  created	
  
Ø  Exis:ng	
  configs	
  will	
  be	
  overwri<en	
  
Ø  Missing	
  configs	
  will	
  be	
  delete	
  
What if configuration is not simple?
Devel
Stage File Proxy
Node
Fields
Views
User Roles
Google Analytics
Page Manager
Panels
Webforms
Page Manager
Panels
M
PRIMARY
SEGMENT
•  Bones of the website
•  Configuration client should NOT change
•  New configs must be created, existing
overridden and missing deleted.
•  Master is SYNC
•  Fields, Entities definitions, Views, Block
Types, Core settings, etc.
M
SECONDARY
SEGMENT
•  Configuration created by client
•  Contains only NEW items
•  Must not be deleted during imports
•  Master is Active
•  New Blocks instances, New Panels and
Page Manager instances, New Webforms
M
INITIAL
SEGMENT
•  Configuration client should be able to
change and you just want to give an initial
state
•  New configs must be created while
existing kept untouched.
•  Master is SYNC and ACTIVE
•  Site Settings, Panels and Page Manager
instances, Google Analitycs
M
DEVEL
SEGMENT
•  Development-only configuration
•  Should not be exported/imported nor staged
•  Master is *, but in Dev environment
•  Devel, Stage File Proxy, Webprofiler
WE NEED A
SERVICE ABLE TO
UNDERSTAND
TO WHICH SEGMENT
A CONFIGURATION
BELONGS TO AND
ABLE TO REACT
SOLUTIONS?
SOLUTIONS!
•  Drush
•  Config Split
•  Config Read-only
•  Config Ignore
•  Drush CMI Tools
DRUSH
PRIMARY ✔	
  
drush cim/cex
SECONDARY ✔	
  
drush cim --partial 
Allows	
  for	
  par:al	
  config	
  imports,	
  so	
  missing	
  
configura:ons	
  will	
  NOT	
  be	
  deleted.	
  
INITIAL ✖	
  
DEVEL ✔	
  
drush cex --skip-modules=module,module,module
However	
  some	
  skipped	
  configura:on	
  may	
  s:ll	
  be	
  
exported.	
  Besides	
  you’ll	
  need	
  to	
  manually	
  enable	
  the	
  
modules	
  aJer	
  a	
  config	
  import.	
  
Drush includes out-of-the-box the commands to import (cim) and export (cex)
configuration.
Web UI CLI
CONFIG SPLIT
PRIMARY ✔	
   drush cim/cex OR	
  drush csim/csex
SECONDARY ✖	
  
Unless	
  everything	
  you	
  need	
  lives	
  in	
  SYNC	
  directory,	
  so	
  
you	
  can	
  use	
  -­‐-­‐par:al	
  
INITIAL ✖	
  
DEVEL ✔	
   AJer	
  all	
  module	
  is	
  inspired	
  by	
  -­‐-­‐skip-­‐modules.	
  
Contrib module providing Web UI, Drush and Drupal console commands for
importing and exporting filtered configuration.
You can split your monolithic configuration in multiple folders.
Web UI CLI
CONFIG READ-ONLY
PRIMARY ✔	
   Using	
  Drush	
  or	
  Config	
  Synchroniza:on	
  web	
  UI	
  
SECONDARY ✔	
  
Well..	
  Modules	
  can	
  subscribe	
  the	
  readonly	
  event	
  and	
  
alter	
  the	
  behaviour	
  to	
  let	
  client	
  create	
  new	
  configs,	
  then	
  
let	
  drush	
  cim	
  -­‐-­‐par:al	
  do	
  its	
  work.	
  
INITIAL ✖	
  
DEVEL ✖	
  
This module allows to lock any configuration changes done via the Drupal admin UI.
Web UI CLI
CONFIG IGNORE
PRIMARY ✔	
   drush	
  cim/cex	
  or	
  Web	
  UI	
  
SECONDARY ✔	
   Ignore	
  on	
  drush	
  cim	
  or	
  use	
  drush	
  cim	
  -­‐-­‐par:al	
  
INITIAL ✔	
  
As	
  long	
  as	
  ini:al	
  config	
  is	
  imported	
  together	
  with	
  its	
  
en:ty	
  name	
  in	
  ignored_config_en::es	
  
DEVEL ✖	
   Config	
  Ignore	
  doesn’t	
  alter	
  export	
  
Keep some active configuration – otherwise been updated/delete – during Import.
Web UI CLI
DRUSH CMI TOOLS
PRIMARY ✔	
  
drush cimy/cexy,	
  Addi:onally	
  use	
  --delete-list=/
path/config-delete.yml	
  if	
  client	
  adds	
  config	
  should	
  not	
  
be	
  there	
  
SECONDARY ✔	
   drush cimy is	
  same	
  as	
  drush	
  cim	
  -­‐-­‐par:al	
  
INITIAL ✔	
   drush cimy --install=/path/install-folder
DEVEL ✔	
   drush cexy --skip-modules=module,module --ignore-
list=/path/ignore-list.yml
Powerfull extension of drush cim/cex commands.
Web UI CLI
There is a
recap on next
slides
DON’T PANIC
+
export	
   Produc:on	
  
ACTIVE	
  
Deployment	
  
SYNC	
  
import	
  
✖	
  
✔	
  
✖	
  
✖	
  
THE GOAL
THE SOLUTIONS
PRIMARY SECONDARY INITIAL DEVEL
Drush	
   ✔	
   ✔	
   ✔*	
  
Config	
  Split	
   ✔	
   ✔	
  
Config	
  Read-­‐Only	
   ✔	
   ✔*	
  
Config	
  Ignore	
   ✔	
   ✔	
   ✔	
  
Drush	
  CMI	
  Tools	
   ✔	
   ✔	
   ✔	
   ✔	
  
Web UI CLI
CLI
CLI
Web UI CLI
THANK YOU
@gambry
@ManifestoLondon
@DrupalCampLDN
#Drupal
h<p://dgo.to/config_split	
  
h<p://dgo.to/config_readonly	
  
h<p://dgo.to/config_ignore	
  
h<ps://www.previousnext.com.au/blog/introducing-­‐drush-­‐cmi-­‐tools	
  

More Related Content

What's hot

Jenkins Plugin Development With Gradle And Groovy
Jenkins Plugin Development With Gradle And GroovyJenkins Plugin Development With Gradle And Groovy
Jenkins Plugin Development With Gradle And GroovyDaniel Spilker
 
Continuous Integration Is for Teams: Moving past buzzword driven development
Continuous Integration Is for Teams: Moving past buzzword driven development Continuous Integration Is for Teams: Moving past buzzword driven development
Continuous Integration Is for Teams: Moving past buzzword driven development Pantheon
 
JNation - Integration Testing from the Trenches Rebooted
JNation - Integration Testing from the Trenches RebootedJNation - Integration Testing from the Trenches Rebooted
JNation - Integration Testing from the Trenches RebootedNicolas Fränkel
 
Behaviour Driven Development con Behat & Drupal
Behaviour Driven Development con Behat & DrupalBehaviour Driven Development con Behat & Drupal
Behaviour Driven Development con Behat & Drupalsparkfabrik
 
Composer tools and frameworks for drupal.ppt
Composer tools and frameworks for drupal.pptComposer tools and frameworks for drupal.ppt
Composer tools and frameworks for drupal.pptPromet Source
 
Acquia BLT for the Win, or How to speed up the project setup, development an...
Acquia BLT for the Win, or  How to speed up the project setup, development an...Acquia BLT for the Win, or  How to speed up the project setup, development an...
Acquia BLT for the Win, or How to speed up the project setup, development an...DrupalCamp Kyiv
 
Why Your Site is Slow: Performance Answers for Your Clients
Why Your Site is Slow: Performance Answers for Your ClientsWhy Your Site is Slow: Performance Answers for Your Clients
Why Your Site is Slow: Performance Answers for Your ClientsPantheon
 
Efficient development workflows with composer
Efficient development workflows with composerEfficient development workflows with composer
Efficient development workflows with composernuppla
 
Drupal 8 improvements for developer productivity php symfony and more
Drupal 8 improvements for developer productivity  php symfony and moreDrupal 8 improvements for developer productivity  php symfony and more
Drupal 8 improvements for developer productivity php symfony and moreAcquia
 
Drupal + composer = new love !?
Drupal + composer = new love !?Drupal + composer = new love !?
Drupal + composer = new love !?nuppla
 
Efficient development workflows with composer
Efficient development workflows with composerEfficient development workflows with composer
Efficient development workflows with composernuppla
 
Introduction to Concourse CI #渋谷Java
Introduction to Concourse CI #渋谷JavaIntroduction to Concourse CI #渋谷Java
Introduction to Concourse CI #渋谷JavaToshiaki Maki
 
Modern Web Application Development Workflow - web2day 2014
Modern Web Application Development Workflow - web2day 2014Modern Web Application Development Workflow - web2day 2014
Modern Web Application Development Workflow - web2day 2014Stéphane Bégaudeau
 
Accelerating Custom Development with Dynamic Scaffolding and WP-CLI
Accelerating Custom Development with Dynamic Scaffolding and WP-CLIAccelerating Custom Development with Dynamic Scaffolding and WP-CLI
Accelerating Custom Development with Dynamic Scaffolding and WP-CLIdrywallbmb
 
Getting Started with Docker (For Developers)
Getting Started with Docker (For Developers)Getting Started with Docker (For Developers)
Getting Started with Docker (For Developers)ColdFusionConference
 
Using CI for continuous delivery Part 1
Using CI for continuous delivery Part 1Using CI for continuous delivery Part 1
Using CI for continuous delivery Part 1Vishal Biyani
 
Modernisation of legacy PHP applications using Symfony2 - PHP Northeast Confe...
Modernisation of legacy PHP applications using Symfony2 - PHP Northeast Confe...Modernisation of legacy PHP applications using Symfony2 - PHP Northeast Confe...
Modernisation of legacy PHP applications using Symfony2 - PHP Northeast Confe...Fabrice Bernhard
 

What's hot (20)

Jenkins Plugin Development With Gradle And Groovy
Jenkins Plugin Development With Gradle And GroovyJenkins Plugin Development With Gradle And Groovy
Jenkins Plugin Development With Gradle And Groovy
 
Drupal Best Practices
Drupal Best PracticesDrupal Best Practices
Drupal Best Practices
 
Continuous Integration Is for Teams: Moving past buzzword driven development
Continuous Integration Is for Teams: Moving past buzzword driven development Continuous Integration Is for Teams: Moving past buzzword driven development
Continuous Integration Is for Teams: Moving past buzzword driven development
 
JNation - Integration Testing from the Trenches Rebooted
JNation - Integration Testing from the Trenches RebootedJNation - Integration Testing from the Trenches Rebooted
JNation - Integration Testing from the Trenches Rebooted
 
Behaviour Driven Development con Behat & Drupal
Behaviour Driven Development con Behat & DrupalBehaviour Driven Development con Behat & Drupal
Behaviour Driven Development con Behat & Drupal
 
Composer tools and frameworks for drupal.ppt
Composer tools and frameworks for drupal.pptComposer tools and frameworks for drupal.ppt
Composer tools and frameworks for drupal.ppt
 
Acquia BLT for the Win, or How to speed up the project setup, development an...
Acquia BLT for the Win, or  How to speed up the project setup, development an...Acquia BLT for the Win, or  How to speed up the project setup, development an...
Acquia BLT for the Win, or How to speed up the project setup, development an...
 
TibcoBW6.0
TibcoBW6.0TibcoBW6.0
TibcoBW6.0
 
Why Your Site is Slow: Performance Answers for Your Clients
Why Your Site is Slow: Performance Answers for Your ClientsWhy Your Site is Slow: Performance Answers for Your Clients
Why Your Site is Slow: Performance Answers for Your Clients
 
Efficient development workflows with composer
Efficient development workflows with composerEfficient development workflows with composer
Efficient development workflows with composer
 
Drupal 8 improvements for developer productivity php symfony and more
Drupal 8 improvements for developer productivity  php symfony and moreDrupal 8 improvements for developer productivity  php symfony and more
Drupal 8 improvements for developer productivity php symfony and more
 
Drupal + composer = new love !?
Drupal + composer = new love !?Drupal + composer = new love !?
Drupal + composer = new love !?
 
Efficient development workflows with composer
Efficient development workflows with composerEfficient development workflows with composer
Efficient development workflows with composer
 
Introduction to Concourse CI #渋谷Java
Introduction to Concourse CI #渋谷JavaIntroduction to Concourse CI #渋谷Java
Introduction to Concourse CI #渋谷Java
 
Modern Web Application Development Workflow - web2day 2014
Modern Web Application Development Workflow - web2day 2014Modern Web Application Development Workflow - web2day 2014
Modern Web Application Development Workflow - web2day 2014
 
Accelerating Custom Development with Dynamic Scaffolding and WP-CLI
Accelerating Custom Development with Dynamic Scaffolding and WP-CLIAccelerating Custom Development with Dynamic Scaffolding and WP-CLI
Accelerating Custom Development with Dynamic Scaffolding and WP-CLI
 
Getting Started with Docker (For Developers)
Getting Started with Docker (For Developers)Getting Started with Docker (For Developers)
Getting Started with Docker (For Developers)
 
Using CI for continuous delivery Part 1
Using CI for continuous delivery Part 1Using CI for continuous delivery Part 1
Using CI for continuous delivery Part 1
 
OpenCms Days 2015 How do you develop for OpenCms?
OpenCms Days 2015 How do you develop for OpenCms?OpenCms Days 2015 How do you develop for OpenCms?
OpenCms Days 2015 How do you develop for OpenCms?
 
Modernisation of legacy PHP applications using Symfony2 - PHP Northeast Confe...
Modernisation of legacy PHP applications using Symfony2 - PHP Northeast Confe...Modernisation of legacy PHP applications using Symfony2 - PHP Northeast Confe...
Modernisation of legacy PHP applications using Symfony2 - PHP Northeast Confe...
 

Viewers also liked

Media Evaluation Question 5
Media Evaluation Question 5Media Evaluation Question 5
Media Evaluation Question 5bruno2 leal2
 
Textilslöjd alice 4 b vt 2017 2
Textilslöjd alice 4 b vt 2017 2Textilslöjd alice 4 b vt 2017 2
Textilslöjd alice 4 b vt 2017 2Cecilia Holgersson
 
Textilsjöjd konrad 4a vt 2017 korad
Textilsjöjd konrad 4a vt 2017 koradTextilsjöjd konrad 4a vt 2017 korad
Textilsjöjd konrad 4a vt 2017 koradCecilia Holgersson
 
numeros ordinales
numeros ordinalesnumeros ordinales
numeros ordinalesClau Guzman
 
29297042 instalacion-y-mantenimiento-de-motores-electricos-trifasicos-modulo-10
29297042 instalacion-y-mantenimiento-de-motores-electricos-trifasicos-modulo-1029297042 instalacion-y-mantenimiento-de-motores-electricos-trifasicos-modulo-10
29297042 instalacion-y-mantenimiento-de-motores-electricos-trifasicos-modulo-10Oscar Barreto
 
Сурагчдыг “Аравт хэтрүүлэн нэмэх” үйлдлийг гүйцэтгэж сургахад онлайн ба цахим...
Сурагчдыг “Аравт хэтрүүлэн нэмэх” үйлдлийг гүйцэтгэж сургахад онлайн ба цахим...Сурагчдыг “Аравт хэтрүүлэн нэмэх” үйлдлийг гүйцэтгэж сургахад онлайн ба цахим...
Сурагчдыг “Аравт хэтрүүлэн нэмэх” үйлдлийг гүйцэтгэж сургахад онлайн ба цахим...SGS
 
Intern report
Intern reportIntern report
Intern reporthongbinng
 
Reziproke Verben
Reziproke  VerbenReziproke  Verben
Reziproke Verbenguestc761a8
 
Ergosign-wpf-ui-development-best-practices-dotnet
Ergosign-wpf-ui-development-best-practices-dotnetErgosign-wpf-ui-development-best-practices-dotnet
Ergosign-wpf-ui-development-best-practices-dotnetErgosign GmbH
 
Katlanabilir istiflenebilir metal tasima kasasi kasalari imalati KARMA METAL
Katlanabilir istiflenebilir metal tasima kasasi kasalari imalati KARMA METALKatlanabilir istiflenebilir metal tasima kasasi kasalari imalati KARMA METAL
Katlanabilir istiflenebilir metal tasima kasasi kasalari imalati KARMA METALKarma Metall
 
Bewertung von Start-ups durch Investoren
Bewertung von Start-ups durch InvestorenBewertung von Start-ups durch Investoren
Bewertung von Start-ups durch Investorenb-to-v Partners AG
 
Social Media als neue Instrumente der Investor Relations - Chancen, Grenzen u...
Social Media als neue Instrumente der Investor Relations - Chancen, Grenzen u...Social Media als neue Instrumente der Investor Relations - Chancen, Grenzen u...
Social Media als neue Instrumente der Investor Relations - Chancen, Grenzen u...guest71780f
 
Program kesehatan gigi
Program kesehatan gigiProgram kesehatan gigi
Program kesehatan gigiJoni Iswanto
 
5 conseils pour réussir la mutualisation de vos véhicules
5 conseils pour réussir la mutualisation de vos véhicules5 conseils pour réussir la mutualisation de vos véhicules
5 conseils pour réussir la mutualisation de vos véhiculesAnne Suel
 
Logo eduuu corporativo 100% listo
Logo eduuu corporativo 100% listoLogo eduuu corporativo 100% listo
Logo eduuu corporativo 100% listoeduardo OTAVALO
 
Katalog Melzer Befestigungstechnik
Katalog Melzer BefestigungstechnikKatalog Melzer Befestigungstechnik
Katalog Melzer Befestigungstechnikmauerwerkskonsole
 
Binder1
Binder1Binder1
Binder1ahamba
 

Viewers also liked (20)

Media Evaluation Question 5
Media Evaluation Question 5Media Evaluation Question 5
Media Evaluation Question 5
 
фото ціною в життя
фото ціною в життяфото ціною в життя
фото ціною в життя
 
Textilslöjd alice 4 b vt 2017 2
Textilslöjd alice 4 b vt 2017 2Textilslöjd alice 4 b vt 2017 2
Textilslöjd alice 4 b vt 2017 2
 
Textilsjöjd konrad 4a vt 2017 korad
Textilsjöjd konrad 4a vt 2017 koradTextilsjöjd konrad 4a vt 2017 korad
Textilsjöjd konrad 4a vt 2017 korad
 
numeros ordinales
numeros ordinalesnumeros ordinales
numeros ordinales
 
29297042 instalacion-y-mantenimiento-de-motores-electricos-trifasicos-modulo-10
29297042 instalacion-y-mantenimiento-de-motores-electricos-trifasicos-modulo-1029297042 instalacion-y-mantenimiento-de-motores-electricos-trifasicos-modulo-10
29297042 instalacion-y-mantenimiento-de-motores-electricos-trifasicos-modulo-10
 
Сурагчдыг “Аравт хэтрүүлэн нэмэх” үйлдлийг гүйцэтгэж сургахад онлайн ба цахим...
Сурагчдыг “Аравт хэтрүүлэн нэмэх” үйлдлийг гүйцэтгэж сургахад онлайн ба цахим...Сурагчдыг “Аравт хэтрүүлэн нэмэх” үйлдлийг гүйцэтгэж сургахад онлайн ба цахим...
Сурагчдыг “Аравт хэтрүүлэн нэмэх” үйлдлийг гүйцэтгэж сургахад онлайн ба цахим...
 
Intern report
Intern reportIntern report
Intern report
 
Reziproke Verben
Reziproke  VerbenReziproke  Verben
Reziproke Verben
 
Ergosign-wpf-ui-development-best-practices-dotnet
Ergosign-wpf-ui-development-best-practices-dotnetErgosign-wpf-ui-development-best-practices-dotnet
Ergosign-wpf-ui-development-best-practices-dotnet
 
Katlanabilir istiflenebilir metal tasima kasasi kasalari imalati KARMA METAL
Katlanabilir istiflenebilir metal tasima kasasi kasalari imalati KARMA METALKatlanabilir istiflenebilir metal tasima kasasi kasalari imalati KARMA METAL
Katlanabilir istiflenebilir metal tasima kasasi kasalari imalati KARMA METAL
 
Bewertung von Start-ups durch Investoren
Bewertung von Start-ups durch InvestorenBewertung von Start-ups durch Investoren
Bewertung von Start-ups durch Investoren
 
Social Media als neue Instrumente der Investor Relations - Chancen, Grenzen u...
Social Media als neue Instrumente der Investor Relations - Chancen, Grenzen u...Social Media als neue Instrumente der Investor Relations - Chancen, Grenzen u...
Social Media als neue Instrumente der Investor Relations - Chancen, Grenzen u...
 
Program kesehatan gigi
Program kesehatan gigiProgram kesehatan gigi
Program kesehatan gigi
 
Bank presentation
Bank presentationBank presentation
Bank presentation
 
5 conseils pour réussir la mutualisation de vos véhicules
5 conseils pour réussir la mutualisation de vos véhicules5 conseils pour réussir la mutualisation de vos véhicules
5 conseils pour réussir la mutualisation de vos véhicules
 
Logo eduuu corporativo 100% listo
Logo eduuu corporativo 100% listoLogo eduuu corporativo 100% listo
Logo eduuu corporativo 100% listo
 
Cromatografia en columna
Cromatografia en columnaCromatografia en columna
Cromatografia en columna
 
Katalog Melzer Befestigungstechnik
Katalog Melzer BefestigungstechnikKatalog Melzer Befestigungstechnik
Katalog Melzer Befestigungstechnik
 
Binder1
Binder1Binder1
Binder1
 

Similar to Configuration Deployment in Drupal 8

Drupaldelphia 2013 Presentation- Making Your Site more Friendly to Search Eng...
Drupaldelphia 2013 Presentation- Making Your Site more Friendly to Search Eng...Drupaldelphia 2013 Presentation- Making Your Site more Friendly to Search Eng...
Drupaldelphia 2013 Presentation- Making Your Site more Friendly to Search Eng...Anson Han
 
Staging Drupal 8 31 09 1 3
Staging Drupal 8 31 09 1 3Staging Drupal 8 31 09 1 3
Staging Drupal 8 31 09 1 3Drupalcon Paris
 
Extending CMS Made Simple
Extending CMS Made SimpleExtending CMS Made Simple
Extending CMS Made Simplecmsmssjg
 
Building and Maintaining a Distribution in Drupal 7 with Features
Building and Maintaining a  Distribution in Drupal 7 with FeaturesBuilding and Maintaining a  Distribution in Drupal 7 with Features
Building and Maintaining a Distribution in Drupal 7 with FeaturesNuvole
 
Notes 9 presentation
Notes 9 presentationNotes 9 presentation
Notes 9 presentationAndy Higgins
 
Drupal Migrations in 2018
Drupal Migrations in 2018Drupal Migrations in 2018
Drupal Migrations in 2018Pantheon
 
Drupal migrations in 2018 - SFDUG, March 8, 2018
Drupal migrations in 2018 - SFDUG, March 8, 2018Drupal migrations in 2018 - SFDUG, March 8, 2018
Drupal migrations in 2018 - SFDUG, March 8, 2018Irina Zaks
 
Best Practices for Moving to Drupal 9
Best Practices for Moving to Drupal 9Best Practices for Moving to Drupal 9
Best Practices for Moving to Drupal 9Acquia
 
Getting Into Drupal 8 Configuration
Getting Into Drupal 8 ConfigurationGetting Into Drupal 8 Configuration
Getting Into Drupal 8 ConfigurationPhilip Norton
 
4 clicks 2 Measurement - Analytics Automation @ SuperWeek
4 clicks 2 Measurement - Analytics Automation @ SuperWeek4 clicks 2 Measurement - Analytics Automation @ SuperWeek
4 clicks 2 Measurement - Analytics Automation @ SuperWeekPhil Pearce
 
Drush make - Install Drupal like a Pro
Drush make - Install Drupal like a ProDrush make - Install Drupal like a Pro
Drush make - Install Drupal like a Prorupl
 
Drupal 8 DevOps . Profile and SQL flows.
Drupal 8 DevOps . Profile and SQL flows.Drupal 8 DevOps . Profile and SQL flows.
Drupal 8 DevOps . Profile and SQL flows.Andrii Podanenko
 
DDAY2014 - Features per Drupal 8
DDAY2014 - Features per Drupal 8DDAY2014 - Features per Drupal 8
DDAY2014 - Features per Drupal 8DrupalDay
 
Creating Perl modules with Dist::Zilla
Creating Perl modules with Dist::ZillaCreating Perl modules with Dist::Zilla
Creating Perl modules with Dist::ZillaMark Gardner
 
Drupal 8 Configuration Management with Features
Drupal 8 Configuration Management with FeaturesDrupal 8 Configuration Management with Features
Drupal 8 Configuration Management with FeaturesNuvole
 
Best Practices for Moving to Drupal 9
Best Practices for Moving to Drupal 9Best Practices for Moving to Drupal 9
Best Practices for Moving to Drupal 9Mediacurrent
 
Development Setup of B-Translator
Development Setup of B-TranslatorDevelopment Setup of B-Translator
Development Setup of B-TranslatorDashamir Hoxha
 
Fast Paced Drupal 8: Accelerating Development with Composer, Drupal Console a...
Fast Paced Drupal 8: Accelerating Development with Composer, Drupal Console a...Fast Paced Drupal 8: Accelerating Development with Composer, Drupal Console a...
Fast Paced Drupal 8: Accelerating Development with Composer, Drupal Console a...Acquia
 
Drupal migrations in 2018 - presentation at DrupalCon in Nashville
Drupal migrations in 2018 - presentation at DrupalCon in NashvilleDrupal migrations in 2018 - presentation at DrupalCon in Nashville
Drupal migrations in 2018 - presentation at DrupalCon in NashvilleIrina Zaks
 

Similar to Configuration Deployment in Drupal 8 (20)

Drupaldelphia 2013 Presentation- Making Your Site more Friendly to Search Eng...
Drupaldelphia 2013 Presentation- Making Your Site more Friendly to Search Eng...Drupaldelphia 2013 Presentation- Making Your Site more Friendly to Search Eng...
Drupaldelphia 2013 Presentation- Making Your Site more Friendly to Search Eng...
 
Staging Drupal 8 31 09 1 3
Staging Drupal 8 31 09 1 3Staging Drupal 8 31 09 1 3
Staging Drupal 8 31 09 1 3
 
Extending CMS Made Simple
Extending CMS Made SimpleExtending CMS Made Simple
Extending CMS Made Simple
 
Building and Maintaining a Distribution in Drupal 7 with Features
Building and Maintaining a  Distribution in Drupal 7 with FeaturesBuilding and Maintaining a  Distribution in Drupal 7 with Features
Building and Maintaining a Distribution in Drupal 7 with Features
 
Notes 9 presentation
Notes 9 presentationNotes 9 presentation
Notes 9 presentation
 
Drupal Migrations in 2018
Drupal Migrations in 2018Drupal Migrations in 2018
Drupal Migrations in 2018
 
Drupal migrations in 2018 - SFDUG, March 8, 2018
Drupal migrations in 2018 - SFDUG, March 8, 2018Drupal migrations in 2018 - SFDUG, March 8, 2018
Drupal migrations in 2018 - SFDUG, March 8, 2018
 
Best Practices for Moving to Drupal 9
Best Practices for Moving to Drupal 9Best Practices for Moving to Drupal 9
Best Practices for Moving to Drupal 9
 
Getting Into Drupal 8 Configuration
Getting Into Drupal 8 ConfigurationGetting Into Drupal 8 Configuration
Getting Into Drupal 8 Configuration
 
4 clicks 2 Measurement - Analytics Automation @ SuperWeek
4 clicks 2 Measurement - Analytics Automation @ SuperWeek4 clicks 2 Measurement - Analytics Automation @ SuperWeek
4 clicks 2 Measurement - Analytics Automation @ SuperWeek
 
Drush make - Install Drupal like a Pro
Drush make - Install Drupal like a ProDrush make - Install Drupal like a Pro
Drush make - Install Drupal like a Pro
 
Drupal 8 DevOps . Profile and SQL flows.
Drupal 8 DevOps . Profile and SQL flows.Drupal 8 DevOps . Profile and SQL flows.
Drupal 8 DevOps . Profile and SQL flows.
 
DDAY2014 - Features per Drupal 8
DDAY2014 - Features per Drupal 8DDAY2014 - Features per Drupal 8
DDAY2014 - Features per Drupal 8
 
Creating Perl modules with Dist::Zilla
Creating Perl modules with Dist::ZillaCreating Perl modules with Dist::Zilla
Creating Perl modules with Dist::Zilla
 
Drupal 8 Configuration Management with Features
Drupal 8 Configuration Management with FeaturesDrupal 8 Configuration Management with Features
Drupal 8 Configuration Management with Features
 
Best Practices for Moving to Drupal 9
Best Practices for Moving to Drupal 9Best Practices for Moving to Drupal 9
Best Practices for Moving to Drupal 9
 
Development Setup of B-Translator
Development Setup of B-TranslatorDevelopment Setup of B-Translator
Development Setup of B-Translator
 
Joomla 101
Joomla 101Joomla 101
Joomla 101
 
Fast Paced Drupal 8: Accelerating Development with Composer, Drupal Console a...
Fast Paced Drupal 8: Accelerating Development with Composer, Drupal Console a...Fast Paced Drupal 8: Accelerating Development with Composer, Drupal Console a...
Fast Paced Drupal 8: Accelerating Development with Composer, Drupal Console a...
 
Drupal migrations in 2018 - presentation at DrupalCon in Nashville
Drupal migrations in 2018 - presentation at DrupalCon in NashvilleDrupal migrations in 2018 - presentation at DrupalCon in Nashville
Drupal migrations in 2018 - presentation at DrupalCon in Nashville
 

Recently uploaded

WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 

Recently uploaded (20)

WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 

Configuration Deployment in Drupal 8

  • 1. MANIFESTO                                         DrupalCamp  London   5th March 2017 CONFIGURATION DEPLOYMENT In Drupal 8
  • 2. ABOUT ME Hi, I’m: •  Gabriele / Gabi / gambry •  15+ PHP / 8+ Drupal / 3+ Dad. •  Senior Software Engineer/Consultant @ MANIFESTO   I Like: •  Drupal, PHP, Javascript, Deployment, Performance •  Cooking && Eating •  Shameless  
  • 3. C.M.I. Configuration Management (the “I” stands for Initiative) allows you to export your site’s configuration settings into files. This means that we are now able to capture configuration changes in code.
  • 5. SIMPLE CONFIGURATION DEPLOYMENT •  Will I overwrite existing configuration on Production? YES •  Will I delete new configuration changes made on Production? YES SYNC On import: ACTIVE Ø  New  configs  will  be  created   Ø  Exis:ng  configs  will  be  overwri<en   Ø  Missing  configs  will  be  delete  
  • 6. What if configuration is not simple? Devel Stage File Proxy Node Fields Views User Roles Google Analytics Page Manager Panels Webforms Page Manager Panels
  • 7. M PRIMARY SEGMENT •  Bones of the website •  Configuration client should NOT change •  New configs must be created, existing overridden and missing deleted. •  Master is SYNC •  Fields, Entities definitions, Views, Block Types, Core settings, etc.
  • 8. M SECONDARY SEGMENT •  Configuration created by client •  Contains only NEW items •  Must not be deleted during imports •  Master is Active •  New Blocks instances, New Panels and Page Manager instances, New Webforms
  • 9. M INITIAL SEGMENT •  Configuration client should be able to change and you just want to give an initial state •  New configs must be created while existing kept untouched. •  Master is SYNC and ACTIVE •  Site Settings, Panels and Page Manager instances, Google Analitycs
  • 10. M DEVEL SEGMENT •  Development-only configuration •  Should not be exported/imported nor staged •  Master is *, but in Dev environment •  Devel, Stage File Proxy, Webprofiler
  • 11. WE NEED A SERVICE ABLE TO UNDERSTAND TO WHICH SEGMENT A CONFIGURATION BELONGS TO AND ABLE TO REACT SOLUTIONS?
  • 12. SOLUTIONS! •  Drush •  Config Split •  Config Read-only •  Config Ignore •  Drush CMI Tools
  • 13. DRUSH PRIMARY ✔   drush cim/cex SECONDARY ✔   drush cim --partial Allows  for  par:al  config  imports,  so  missing   configura:ons  will  NOT  be  deleted.   INITIAL ✖   DEVEL ✔   drush cex --skip-modules=module,module,module However  some  skipped  configura:on  may  s:ll  be   exported.  Besides  you’ll  need  to  manually  enable  the   modules  aJer  a  config  import.   Drush includes out-of-the-box the commands to import (cim) and export (cex) configuration. Web UI CLI
  • 14. CONFIG SPLIT PRIMARY ✔   drush cim/cex OR  drush csim/csex SECONDARY ✖   Unless  everything  you  need  lives  in  SYNC  directory,  so   you  can  use  -­‐-­‐par:al   INITIAL ✖   DEVEL ✔   AJer  all  module  is  inspired  by  -­‐-­‐skip-­‐modules.   Contrib module providing Web UI, Drush and Drupal console commands for importing and exporting filtered configuration. You can split your monolithic configuration in multiple folders. Web UI CLI
  • 15. CONFIG READ-ONLY PRIMARY ✔   Using  Drush  or  Config  Synchroniza:on  web  UI   SECONDARY ✔   Well..  Modules  can  subscribe  the  readonly  event  and   alter  the  behaviour  to  let  client  create  new  configs,  then   let  drush  cim  -­‐-­‐par:al  do  its  work.   INITIAL ✖   DEVEL ✖   This module allows to lock any configuration changes done via the Drupal admin UI. Web UI CLI
  • 16. CONFIG IGNORE PRIMARY ✔   drush  cim/cex  or  Web  UI   SECONDARY ✔   Ignore  on  drush  cim  or  use  drush  cim  -­‐-­‐par:al   INITIAL ✔   As  long  as  ini:al  config  is  imported  together  with  its   en:ty  name  in  ignored_config_en::es   DEVEL ✖   Config  Ignore  doesn’t  alter  export   Keep some active configuration – otherwise been updated/delete – during Import. Web UI CLI
  • 17. DRUSH CMI TOOLS PRIMARY ✔   drush cimy/cexy,  Addi:onally  use  --delete-list=/ path/config-delete.yml  if  client  adds  config  should  not   be  there   SECONDARY ✔   drush cimy is  same  as  drush  cim  -­‐-­‐par:al   INITIAL ✔   drush cimy --install=/path/install-folder DEVEL ✔   drush cexy --skip-modules=module,module --ignore- list=/path/ignore-list.yml Powerfull extension of drush cim/cex commands. Web UI CLI
  • 18. There is a recap on next slides DON’T PANIC
  • 19. + export   Produc:on   ACTIVE   Deployment   SYNC   import   ✖   ✔   ✖   ✖   THE GOAL
  • 20. THE SOLUTIONS PRIMARY SECONDARY INITIAL DEVEL Drush   ✔   ✔   ✔*   Config  Split   ✔   ✔   Config  Read-­‐Only   ✔   ✔*   Config  Ignore   ✔   ✔   ✔   Drush  CMI  Tools   ✔   ✔   ✔   ✔   Web UI CLI CLI CLI Web UI CLI
  • 21. THANK YOU @gambry @ManifestoLondon @DrupalCampLDN #Drupal h<p://dgo.to/config_split   h<p://dgo.to/config_readonly   h<p://dgo.to/config_ignore   h<ps://www.previousnext.com.au/blog/introducing-­‐drush-­‐cmi-­‐tools