SlideShare ist ein Scribd-Unternehmen logo
1 von 24
Downloaden Sie, um offline zu lesen
Drupal 8
Configuration Management
for you and your team
About me
Luc Bezier, Drupal & Web freelance.
Founded micro company webizat in 2011.
URL: webizat.com
Worked with BBC Worldwide, UK Government
agency, Ben&Jerry’s, European commission …
Solution Architect & Consultant
Architecture and drupal development
on large projects.
Team continuous improvement
Part of my work I really enjoy is to help teams
being more efficient with Drupal.
Workflow
Tools
Communication
Software Configuration Management
In software engineering, software configuration
management (SCM or S/W CM) is the task of
tracking and controlling changes in the software, part
of the larger cross-disciplinary field of configuration
management. SCM practices include revision control
and the establishment of baselines.
Thanks Wikipedia.
Software Configuration Management
In software engineering, software configuration
management (SCM or S/W CM) is the task of
tracking and controlling changes in the software, part
of the larger cross-disciplinary field of configuration
management. SCM practices include revision control
and the establishment of baselines.
Thanks Wikipedia.
SCM in Drupal
Examples of configuration on Drupal:
Content type, Fields, Views, Images sizes.
Track and control changes on files,
not database.
Deployment and synchronization
Arnold changes a field configuration,
updates the configuration files,
share the changes using git.
Mary reviews and pulls the changes using git.
The client, Stephen, is very happy with the results.
The changes will be deployed to production using the
new files.
No database import or export.
Drupal 7: We got it wrong
We used a contributed module called Features.
It was made to group together functionalities to
answer a specific use case.
What we did with Features?
We build a complex deployment system.
Drupal 8: Modern configuration manager
Made to synchronize environments and helps to
manage complexity, paired with git.
Small, meaningful and organized files
Drupal 8: Modern configuration manager
Small: reduces git conflicts
Meaningful: YAML syntax
Organized: Automatically named / placed
Also ...
Automated: Imports / exports using command line
On D8 core: No extra download needed
Drupal 8: Modern configuration manager
No custom code in your configuration.
Your configuration is based on
auto-generated YAML files.
You can however extend the generation
of those YAML files.
Configuration manager for your team
Highly recommended with the configuration
manager:
Git
Drush
Drupal configuration installer
Configuration manager for your team
Location of the configuration by default:
sites/default/files/config_HASH/staging
Recommended location: outside drupal.
And update your settings.php like:
$config_directories['sync'] = '../config/sync';
I would usually commit settings.php and
enable the use of settings.local.php
(that one will never be on git)
Configuration manager for your team
Configuration import:
$ drush cim
Configuration export:
$ drush cex
Full export, then select in git which
configuration files you wish to update.
Configuration manager for your team
Simple configuration & configuration entities.
Simple configuration example:
system.maintenance.yml, your website
maintenance message.
Configuration entities example:
core.entity_view_mode.user.full.yml,
a view configuration for the users accounts.
Configuration manager for your team
The configuration management system is meant to
exist for one specific project, not shared projects.
Configuration entities have a uuid.
It means those configurations are for a particular
Drupal website.
Example:
uuid: 345d5f90-842c-4344-84e5-47a806a52822
Configuration manager for your team
By default, you can not import existing
configurations, every installation
will generate new uuids.
Environments who do not share the same uuid, will
not be able to import the configuration.
Configuration manager for your team
Solution: Configuration installer
The Configuration Installer is a installation profile that
takes over the Drupal installer and allows sites to be
created from existing configuration.
drupal.org/project/config_installer
Configuration manager for your team
Solution: Configuration installer
It’s an installation profile and placed under the
“profiles” directory.
Your team can now share
the project’s configuration:
$ drush site-install config_installer
--config-dir=../config/sync
Configuration manager for your team
Solution: Configuration installer
There is a ticket on drupal.org for this to be included
in core. But it’s still a work in progress.
https://www.drupal.org/node/1613424
Configuration manager for your team
Your custom modules can for example:
Define their own configuration entity types.
Use their own yaml configuration files, inside the
module’s directory.
More about Drupal 8’s SCM
Book
Drupal 8 Configuration Management
by Stefan Borchert, Anja Schirwinski
Upcoming blog post on webizat.com
Thanks
Twitter @luukyb
email: luc [at] webizat.com
web: webizat.com

Weitere ähnliche Inhalte

Was ist angesagt?

Theming tips and tricks
Theming tips and tricksTheming tips and tricks
Theming tips and tricks
aaroncouch
 

Was ist angesagt? (20)

Upgrading your site from Drupal 6 to Drupal 7
Upgrading your site from Drupal 6 to Drupal 7Upgrading your site from Drupal 6 to Drupal 7
Upgrading your site from Drupal 6 to Drupal 7
 
Drupalcampatl d7
Drupalcampatl d7Drupalcampatl d7
Drupalcampatl d7
 
Introduction to Module Development (Drupal 7)
Introduction to Module Development (Drupal 7)Introduction to Module Development (Drupal 7)
Introduction to Module Development (Drupal 7)
 
Drupal
DrupalDrupal
Drupal
 
[drupalday2017] - Devel - D8 release party
[drupalday2017] - Devel - D8 release party[drupalday2017] - Devel - D8 release party
[drupalday2017] - Devel - D8 release party
 
Drupal Developer Days Keynote
Drupal Developer Days KeynoteDrupal Developer Days Keynote
Drupal Developer Days Keynote
 
Are you ready for Drupal 8?
Are you ready for Drupal 8?Are you ready for Drupal 8?
Are you ready for Drupal 8?
 
COSA SIGNIFICA CONVERTIRE UN MODULO DA D7 A D8
COSA SIGNIFICA CONVERTIRE UN MODULO DA D7 A D8COSA SIGNIFICA CONVERTIRE UN MODULO DA D7 A D8
COSA SIGNIFICA CONVERTIRE UN MODULO DA D7 A D8
 
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
 
Migration from Drupal 7 to Drupal 8 - How Docker can save our lives!
Migration from Drupal 7 to Drupal 8 - How Docker can save our lives!Migration from Drupal 7 to Drupal 8 - How Docker can save our lives!
Migration from Drupal 7 to Drupal 8 - How Docker can save our lives!
 
大規模サイトにおけるユーザーレベルのキャッシュ活用によるパフォーマンスチューニング
大規模サイトにおけるユーザーレベルのキャッシュ活用によるパフォーマンスチューニング大規模サイトにおけるユーザーレベルのキャッシュ活用によるパフォーマンスチューニング
大規模サイトにおけるユーザーレベルのキャッシュ活用によるパフォーマンスチューニング
 
Water Torture Upgrades - Drupal 5 to 6
Water Torture Upgrades - Drupal 5 to 6Water Torture Upgrades - Drupal 5 to 6
Water Torture Upgrades - Drupal 5 to 6
 
Best Practice Site Architecture in Drupal 8
Best Practice Site Architecture in Drupal 8Best Practice Site Architecture in Drupal 8
Best Practice Site Architecture in Drupal 8
 
The Flexibility of Drupal 8 | DCNLights 2017
The Flexibility of Drupal 8 | DCNLights 2017The Flexibility of Drupal 8 | DCNLights 2017
The Flexibility of Drupal 8 | DCNLights 2017
 
CakePHP: An Introduction
CakePHP: An IntroductionCakePHP: An Introduction
CakePHP: An Introduction
 
Drupal 8 CMI on a Managed Workflow
Drupal 8 CMI on a Managed WorkflowDrupal 8 CMI on a Managed Workflow
Drupal 8 CMI on a Managed Workflow
 
Drupal Migrations in 2018
Drupal Migrations in 2018Drupal Migrations in 2018
Drupal Migrations in 2018
 
Theming tips and tricks
Theming tips and tricksTheming tips and tricks
Theming tips and tricks
 
[drupalday2017] - Decoupled frontend con Drupal 8 e OpenUI 5
[drupalday2017] - Decoupled frontend con Drupal 8 e OpenUI 5[drupalday2017] - Decoupled frontend con Drupal 8 e OpenUI 5
[drupalday2017] - Decoupled frontend con Drupal 8 e OpenUI 5
 
Fronteers - Drupal 7 ux
Fronteers   - Drupal 7 uxFronteers   - Drupal 7 ux
Fronteers - Drupal 7 ux
 

Andere mochten auch

Econometrics Research & Analysis Paper
Econometrics Research & Analysis PaperEconometrics Research & Analysis Paper
Econometrics Research & Analysis Paper
Chris Precourt
 
How To Make #7 // Reciclaje tecnológico // Tunipanea
How To Make #7 // Reciclaje tecnológico // TunipaneaHow To Make #7 // Reciclaje tecnológico // Tunipanea
How To Make #7 // Reciclaje tecnológico // Tunipanea
TabakaleraDonostia
 

Andere mochten auch (20)

Drupal 8 Configuration Management
Drupal 8 Configuration ManagementDrupal 8 Configuration Management
Drupal 8 Configuration Management
 
Drupal 8 configuration management
Drupal 8 configuration managementDrupal 8 configuration management
Drupal 8 configuration management
 
Drupal for beginners - Global Training Days - Cebu 2016
Drupal for beginners - Global Training Days - Cebu 2016Drupal for beginners - Global Training Days - Cebu 2016
Drupal for beginners - Global Training Days - Cebu 2016
 
The Environment+Nature2+ป.2+124+dltvengp2+55t2eng p02 f14-1page
The Environment+Nature2+ป.2+124+dltvengp2+55t2eng p02 f14-1pageThe Environment+Nature2+ป.2+124+dltvengp2+55t2eng p02 f14-1page
The Environment+Nature2+ป.2+124+dltvengp2+55t2eng p02 f14-1page
 
Climate change prediction erring on the side of least drama (gec, 11.2012). L...
Climate change prediction erring on the side of least drama (gec, 11.2012). L...Climate change prediction erring on the side of least drama (gec, 11.2012). L...
Climate change prediction erring on the side of least drama (gec, 11.2012). L...
 
สไลด์ ภาคใต้ ป.5+486+dltvsocp5+55t2soc p05 f18-4page
สไลด์ ภาคใต้ ป.5+486+dltvsocp5+55t2soc p05 f18-4pageสไลด์ ภาคใต้ ป.5+486+dltvsocp5+55t2soc p05 f18-4page
สไลด์ ภาคใต้ ป.5+486+dltvsocp5+55t2soc p05 f18-4page
 
Technology will destroy our planet
Technology will destroy our planetTechnology will destroy our planet
Technology will destroy our planet
 
Econometrics Research & Analysis Paper
Econometrics Research & Analysis PaperEconometrics Research & Analysis Paper
Econometrics Research & Analysis Paper
 
How To Make #7 // Reciclaje tecnológico // Tunipanea
How To Make #7 // Reciclaje tecnológico // TunipaneaHow To Make #7 // Reciclaje tecnológico // Tunipanea
How To Make #7 // Reciclaje tecnológico // Tunipanea
 
Building Drupal 8 Sites
Building Drupal 8 SitesBuilding Drupal 8 Sites
Building Drupal 8 Sites
 
Config management
Config managementConfig management
Config management
 
Proposal Renovation & Education Development SDK Yos Sudarso 2015
Proposal Renovation & Education Development  SDK Yos Sudarso 2015Proposal Renovation & Education Development  SDK Yos Sudarso 2015
Proposal Renovation & Education Development SDK Yos Sudarso 2015
 
consumer Buying Behaviour
consumer Buying Behaviourconsumer Buying Behaviour
consumer Buying Behaviour
 
OpenCoesione School: communication challenges from open data and civic enga...
OpenCoesione School:  communication challenges  from open data and civic enga...OpenCoesione School:  communication challenges  from open data and civic enga...
OpenCoesione School: communication challenges from open data and civic enga...
 
Case Study for Promoting Walk ins in Restaurants
Case Study for Promoting Walk ins in RestaurantsCase Study for Promoting Walk ins in Restaurants
Case Study for Promoting Walk ins in Restaurants
 
BEST, LONE PINE CAFE' CASE STUDY
BEST, LONE PINE CAFE' CASE STUDYBEST, LONE PINE CAFE' CASE STUDY
BEST, LONE PINE CAFE' CASE STUDY
 
study of student's buying behviour towords laptop
study of student's buying behviour towords laptopstudy of student's buying behviour towords laptop
study of student's buying behviour towords laptop
 
Drupal 8 Configuration Management
Drupal 8 Configuration ManagementDrupal 8 Configuration Management
Drupal 8 Configuration Management
 
Configuration Management in Drupal 8: A preview (DrupalCamp Alpe Adria 2014)
Configuration Management in Drupal 8: A preview (DrupalCamp Alpe Adria 2014)Configuration Management in Drupal 8: A preview (DrupalCamp Alpe Adria 2014)
Configuration Management in Drupal 8: A preview (DrupalCamp Alpe Adria 2014)
 
Configuration Management in Drupal 8: A preview (DrupalDays Milano 2014)
Configuration Management in Drupal 8: A preview (DrupalDays Milano 2014)Configuration Management in Drupal 8: A preview (DrupalDays Milano 2014)
Configuration Management in Drupal 8: A preview (DrupalDays Milano 2014)
 

Ähnlich wie Drupal 8 Configuration Management for you and your team

Tips and tricks for building Large web applications with Drupal
Tips and tricks for building Large web applications with DrupalTips and tricks for building Large web applications with Drupal
Tips and tricks for building Large web applications with Drupal
MitzaCeusan
 
How to Migrate, Manage and Centralize your Web Infrastructure with Drupal
How to Migrate, Manage and Centralize your Web Infrastructure with DrupalHow to Migrate, Manage and Centralize your Web Infrastructure with Drupal
How to Migrate, Manage and Centralize your Web Infrastructure with Drupal
Acquia
 

Ähnlich wie Drupal 8 Configuration Management for you and your team (20)

DDAY2014 - Features per Drupal 8
DDAY2014 - Features per Drupal 8DDAY2014 - Features per Drupal 8
DDAY2014 - Features per Drupal 8
 
Drupal 8 Configuration Management with Features
Drupal 8 Configuration Management with FeaturesDrupal 8 Configuration Management with Features
Drupal 8 Configuration Management with Features
 
Drupal6 and Drupal 7 difference
Drupal6 and Drupal 7 differenceDrupal6 and Drupal 7 difference
Drupal6 and Drupal 7 difference
 
Tips and tricks for building Large web applications with Drupal
Tips and tricks for building Large web applications with DrupalTips and tricks for building Large web applications with Drupal
Tips and tricks for building Large web applications with Drupal
 
Improving your Drupal 8 development workflow DrupalCampLA
Improving your Drupal 8 development workflow DrupalCampLAImproving your Drupal 8 development workflow DrupalCampLA
Improving your Drupal 8 development workflow DrupalCampLA
 
Recipes for Drupal distributions
Recipes for Drupal distributionsRecipes for Drupal distributions
Recipes for Drupal distributions
 
Introduction to Drupal - Installation, Anatomy, Terminologies
Introduction to Drupal - Installation, Anatomy, TerminologiesIntroduction to Drupal - Installation, Anatomy, Terminologies
Introduction to Drupal - Installation, Anatomy, Terminologies
 
Introduction of drupal7 by ayushi infotech
Introduction of drupal7 by ayushi infotechIntroduction of drupal7 by ayushi infotech
Introduction of drupal7 by ayushi infotech
 
Gestione della configurazione in Drupal 8
Gestione della configurazione in Drupal 8Gestione della configurazione in Drupal 8
Gestione della configurazione in Drupal 8
 
Drupal distributions - how to build them
Drupal distributions - how to build themDrupal distributions - how to build them
Drupal distributions - how to build them
 
Drupal introduction
Drupal introductionDrupal introduction
Drupal introduction
 
October 2016 - USG Rock Eagle - Everything You Need to Know to Plan Your Drup...
October 2016 - USG Rock Eagle - Everything You Need to Know to Plan Your Drup...October 2016 - USG Rock Eagle - Everything You Need to Know to Plan Your Drup...
October 2016 - USG Rock Eagle - Everything You Need to Know to Plan Your Drup...
 
How to Migrate, Manage and Centralize your Web Infrastructure with Drupal
How to Migrate, Manage and Centralize your Web Infrastructure with DrupalHow to Migrate, Manage and Centralize your Web Infrastructure with Drupal
How to Migrate, Manage and Centralize your Web Infrastructure with Drupal
 
Lazy Coder Camp Edition 1
Lazy Coder Camp Edition 1Lazy Coder Camp Edition 1
Lazy Coder Camp Edition 1
 
13th Sep - Drupal Global Training Day by TCS - Drupal core advanced overview
13th Sep - Drupal Global Training Day by TCS - Drupal core advanced overview13th Sep - Drupal Global Training Day by TCS - Drupal core advanced overview
13th Sep - Drupal Global Training Day by TCS - Drupal core advanced overview
 
Basic Introduction to Drupal
Basic Introduction to DrupalBasic Introduction to Drupal
Basic Introduction to Drupal
 
Drupal 6 Performance Tips
Drupal 6 Performance TipsDrupal 6 Performance Tips
Drupal 6 Performance Tips
 
Test
TestTest
Test
 
Developing with Configuration Management on Drupal 7
Developing with Configuration Management on Drupal 7Developing with Configuration Management on Drupal 7
Developing with Configuration Management on Drupal 7
 
Distribution best practices
Distribution best practicesDistribution best practices
Distribution best practices
 

Mehr von Luc Bézier

Mehr von Luc Bézier (7)

Quick guide to Freedom and travels for developers
Quick guide to Freedom and travels for developersQuick guide to Freedom and travels for developers
Quick guide to Freedom and travels for developers
 
Guide to freedom and travels for developers
Guide to freedom and travels for developersGuide to freedom and travels for developers
Guide to freedom and travels for developers
 
The Future of Offices
The Future of OfficesThe Future of Offices
The Future of Offices
 
Made with drupal 8
Made with drupal 8Made with drupal 8
Made with drupal 8
 
Open Source Software, community matters
Open Source Software, community mattersOpen Source Software, community matters
Open Source Software, community matters
 
Data migration to Drupal using the migrate module
Data migration to Drupal using the migrate moduleData migration to Drupal using the migrate module
Data migration to Drupal using the migrate module
 
Drupal ladder Cebu : Learn to contribute | November 2013
Drupal ladder Cebu : Learn to contribute | November 2013Drupal ladder Cebu : Learn to contribute | November 2013
Drupal ladder Cebu : Learn to contribute | November 2013
 

Kürzlich hochgeladen

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 

Kürzlich hochgeladen (20)

Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
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
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
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
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
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
 
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...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
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...
 

Drupal 8 Configuration Management for you and your team

  • 2. About me Luc Bezier, Drupal & Web freelance. Founded micro company webizat in 2011. URL: webizat.com Worked with BBC Worldwide, UK Government agency, Ben&Jerry’s, European commission …
  • 3. Solution Architect & Consultant Architecture and drupal development on large projects.
  • 4. Team continuous improvement Part of my work I really enjoy is to help teams being more efficient with Drupal. Workflow Tools Communication
  • 5. Software Configuration Management In software engineering, software configuration management (SCM or S/W CM) is the task of tracking and controlling changes in the software, part of the larger cross-disciplinary field of configuration management. SCM practices include revision control and the establishment of baselines. Thanks Wikipedia.
  • 6. Software Configuration Management In software engineering, software configuration management (SCM or S/W CM) is the task of tracking and controlling changes in the software, part of the larger cross-disciplinary field of configuration management. SCM practices include revision control and the establishment of baselines. Thanks Wikipedia.
  • 7. SCM in Drupal Examples of configuration on Drupal: Content type, Fields, Views, Images sizes. Track and control changes on files, not database.
  • 8. Deployment and synchronization Arnold changes a field configuration, updates the configuration files, share the changes using git. Mary reviews and pulls the changes using git. The client, Stephen, is very happy with the results. The changes will be deployed to production using the new files. No database import or export.
  • 9. Drupal 7: We got it wrong We used a contributed module called Features. It was made to group together functionalities to answer a specific use case. What we did with Features? We build a complex deployment system.
  • 10. Drupal 8: Modern configuration manager Made to synchronize environments and helps to manage complexity, paired with git. Small, meaningful and organized files
  • 11. Drupal 8: Modern configuration manager Small: reduces git conflicts Meaningful: YAML syntax Organized: Automatically named / placed Also ... Automated: Imports / exports using command line On D8 core: No extra download needed
  • 12. Drupal 8: Modern configuration manager No custom code in your configuration. Your configuration is based on auto-generated YAML files. You can however extend the generation of those YAML files.
  • 13. Configuration manager for your team Highly recommended with the configuration manager: Git Drush Drupal configuration installer
  • 14. Configuration manager for your team Location of the configuration by default: sites/default/files/config_HASH/staging Recommended location: outside drupal. And update your settings.php like: $config_directories['sync'] = '../config/sync'; I would usually commit settings.php and enable the use of settings.local.php (that one will never be on git)
  • 15. Configuration manager for your team Configuration import: $ drush cim Configuration export: $ drush cex Full export, then select in git which configuration files you wish to update.
  • 16. Configuration manager for your team Simple configuration & configuration entities. Simple configuration example: system.maintenance.yml, your website maintenance message. Configuration entities example: core.entity_view_mode.user.full.yml, a view configuration for the users accounts.
  • 17. Configuration manager for your team The configuration management system is meant to exist for one specific project, not shared projects. Configuration entities have a uuid. It means those configurations are for a particular Drupal website. Example: uuid: 345d5f90-842c-4344-84e5-47a806a52822
  • 18. Configuration manager for your team By default, you can not import existing configurations, every installation will generate new uuids. Environments who do not share the same uuid, will not be able to import the configuration.
  • 19. Configuration manager for your team Solution: Configuration installer The Configuration Installer is a installation profile that takes over the Drupal installer and allows sites to be created from existing configuration. drupal.org/project/config_installer
  • 20. Configuration manager for your team Solution: Configuration installer It’s an installation profile and placed under the “profiles” directory. Your team can now share the project’s configuration: $ drush site-install config_installer --config-dir=../config/sync
  • 21. Configuration manager for your team Solution: Configuration installer There is a ticket on drupal.org for this to be included in core. But it’s still a work in progress. https://www.drupal.org/node/1613424
  • 22. Configuration manager for your team Your custom modules can for example: Define their own configuration entity types. Use their own yaml configuration files, inside the module’s directory.
  • 23. More about Drupal 8’s SCM Book Drupal 8 Configuration Management by Stefan Borchert, Anja Schirwinski Upcoming blog post on webizat.com
  • 24. Thanks Twitter @luukyb email: luc [at] webizat.com web: webizat.com