Introducing the Drupal 8
Configuration System

 

BADCamp     October 23, 2015

Matthew Tift and Alex Pott

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

config content
Credit: Gábor Hojtsy

Simple Configuration

Configuration Entity

↕    

Content Entity

Configuration:

Benefits

Benefit:

Eliminated 50 database tables


Benefit:

Reduced need for Features and Strongarm

Benefit:

Translatable

Three Items

Two Translatable

Benefit:

Swappable

Benefit:

API for Developers

Migrate in Core

Includes Configuration

How Does
This Work?

Configuration Life Cycle

 

filesdatabasefiles

(default)

JPEG Quality

file admin/config/media/image-toolkit
file

File

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

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?

Fewer config files

Why the Database?

Database contains "everything"

Love Files?

I love files

Configuration Development Module


files"files"files

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 Life Cycle

 

filesdatabasefiles

(default)

Other
Drupal 8 Data

Cron last run

Config? Content?

Other D8 Data

State System

state system

Other D8 Data

Session Management

state system

Configuration:

How do I use it?

Configuration Manager Module

configuration manager module

Configuration Management Section

config management

Synchronize Changes

synchronize changes

View Differences

yml files

Clone Your Site

You can only synchronize configuration between cloned instances of a site