The Drupal 8 Configuration Management Initiative (CMI) is a straight up game changer for Drupal development and deployment. As much as we all love doing it live, no longer will this kind of human powered configuration replay in production be necessary. Instead, developers will be able to natively export their configuration to code and deploy that configuration to production using the CMI tools.
This session will feature both a basic overview for how CMI will work in Drupal 8 and an advanced overview of how to use CMI with version control as part of a managed development -> testing -> production workflow. Forget the pain that was drush fe and drush fu-all. Come join Matt Cheney from Pantheon in embracing modern configuration management in all its glory.
Watch the session video: https://www.youtube.com/watch?v=Pl7-978oKNw
WP or Drupal (or both): A Framework for Client CMS Decisions
Drupal 8 CMI on a Managed Workflow
1.
2. PANTHEON PANTHEON.IO
This session is brought to you by Drupalcon LA & the Developers of the Drupal 8 CMS
Drupal 8 CMI on a
Managed Workflow
Presented in Technicolor by
Matt Cheney
matt@pantheon.io
9. PANTHEON PANTHEON.IO
Sins of the Father
● Features Module is not intended to be the
solution for storing your Drupal configuration
in code.
● Status as a contrib project limited its ability to
be a fully integrated solution for all ones
Drupal development needs.
● Variety of technical limitations around support
for unique identifiers, ability to deal with state,
constantly changing data structures, less than
comprehensive support for contrib.
10. PANTHEON PANTHEON.IO
“Today is a good day to start putting
all of our config in code.”
– Greg Dunlap (rumoured) in March 2011
11. PANTHEON PANTHEON.IO
Drupal 8 CMI: Maximizing P.I.E.
● Proudly Invented Elsewhere (P.I.E.)
○ Use what’s already implemented, tested, familiar
○ We’re not any smarter than most people who
have worked on the problem before
● Pre-Symfony P.I.E.
○ No custom format and parser (unlike .info files)
○ Initially chose XML
■ Built-in parsing support
■ Consistent UTF-8 for i18n support
■ Support for comments
● Post-Symfony P.I.E.
○ Switched to Symfony YAML parser
○ Considered Config library, but no GUI support
49. PANTHEON PANTHEON.IO
Hopefully the Demo was Cool(if not blame barbarian invasions, the reliance on slave and
mercenary labor, militaristic overexpansion, the rise of the
influence of Byzantium, and, of course, the conference wifi)
57. PANTHEON PANTHEON.IO
Dealing with Configuration Over Multiple
Git Branches & Developers is Hard!
And it requires typing lots and lots of different
Drush and Git commands
59. PANTHEON PANTHEON.IO
Drupal 8’s Configuration Management is
Designed to Manage a Full Site’s Config
Sharing configuration across multiple sites is not
a support used case
62. PANTHEON PANTHEON.IO
Drupal 8’s Configuration Management is
Only for Drupal 8
And Drupal 8 is not quite ready for the kind of day
to day development work we need to do
63. PANTHEON PANTHEON.IO
There is a Generally Functional
Version for Drupal 7
https://www.drupal.org/project/configuration
66. PANTHEON PANTHEON.IO
Configuration Management Doesn’t Prevent
You From Changing Config in Live
And it is important to you that all configuration be in
version control and be tested before going live
68. PANTHEON PANTHEON.IO
Configuration Management Makes it Hard to
Manage All the Supplied Configuration
And you want to make sure you are using the latest
and greatest configuration without trouble
70. PANTHEON PANTHEON.IO
Configuration Management Makes it Hard to
Export Out Specific Module Configuration
And you want to make sure your module has the
most up to date packaged configuration