Configuration Management for Developers in Drupal 8

 

DrupalCon New Orleans     May 10, 2016

Matthew Tift and Alex Pott

Configuration System

What it is

Benefits

How it works

Continuous integration

Configuration Management:

What is it?

Configuration Management


Quality

Identify Problems

Coordination

Code Management

Metadata

Consistency

Repeatability

Control

Verification

Documentation

DEV ➞ PROD

configuration management
Configuration Management

Process
for establishing and maintaining consistency

Configuration

in Drupal 8

Configuration:

Types of Things

Configuration:

Views

Content Types

Image Styles

Forms

Settings

User Roles

Content:

Things

Content:

Article

Basic Page

Menu

User

Taxonomy

Site Builder

vs

Site Editor

Simple
Configuration

vs

Configuration Entities

Simple
Configuration:

Exactly one copy or version

Configuration Entity:

Creates zero or more items

Other
Drupal 8 Data

Cron last run

Config? Content?

Other D8 Data

State System

state system

Other D8 Data

Session Management

state system

Configuration:

Benefits

Benefit:

Eliminated 50 database tables


Benefit:

API for Developers

Benefit:

Reduced need for Features and Strongarm

Benefit:

Translatable

Three Items

Two Translatable

Benefit:

Swappable

Benefit:

Sites Own Configuration

How Does
This Work?

Configuration Life Cycle

 

Modules/UIDatabaseFiles

Module File

file core/modules/system/config/install/system.image.gd.yml

JPEG Quality

file admin/config/media/image-toolkit

Database

file

File

file system.image.gd.yml

Yeah, about those files...

Why the Database?

More secure

Why the Database?

Faster

Why the Database?

Can't hack
active config

Why the Database?

Database contains "everything"

Drupal 7 Configuration

 

filesdatabase?

File

file system/image.gd.inc (Drupal 7)

Recall D8

file

Database

file

User Interface

file admin/config/media/image-toolkit

Now What?


Consistent?

Repeatable?

Quality?

Identify Problems?

Coordinated?

Metadata?

Configuration:

How do I use it?

Clone Your Site

You can only synchronize configuration between cloned instances of a site

Configuration Manager Module

configuration manager module

Configuration Management Section

config management

Synchronize Changes

synchronize changes

View Differences

yml files

Developing Modules with Configuration

Module Configuration

config/install

Module Configuration

config/optional

Module Configuration

config/schema

Continuous Integration

Demo

Tell us what
you think!


https://events.drupal.org/neworleans2016/sessions/configuration-management-developers-drupal-8

Presentation and slides are Copyright © 2016 Matthew Tift, and are licensed under the Creative Commons Attribution-Share Alike 4.0 International License.