Drupal’s Configuration System
0 (0 Likes / 0 Dislikes)
Drupal's Configuration System
William Hetherington
In this lesson, we'll ask,
why do we need to manage configuration?
Then we're going to learn about Drupal's
new configuration system and then take
a look at a new workflow:
configuration synchronization.
So, why configuration management?
Well, in Drupal 7, if you want to store
your site configuration in code,
you will need to be using
a module like Features or CTools.
The goal with Drupal 8 development
was to provide a way out of the box
to sync and store configuration
in code and in the database.
And that goes for your site's configuration,
as well as any extensions, like
themes or modules or plugins.
They'll all use a unified way
of storing configuration. And so the goal
is to make the configuration system
accessible to a wider audience,
both developers and non-developers.
It was announced as the first initiative
for Drupal 8 in March 2011
and at the time it was known as
Configuration Management Initiative.
And I guess it still is during Drupal 8's
development cycle.
Now that it's released, we're referring
to it as Drupal 8's configuration system.
It provides a central way for your site
and modules, themes and plugins
to store configuration data. It's
accessible via Drupal's administrative
interface and via the Drupal
command-line tool, Drush.
So, what does the workflow look like?
Well, with the Drupal 8 configuration system,
you may have a development version
of your site, and a staging version
of your site and a production
version of your site.
Or maybe just development to production.
The configuration system provides
a simple way to share configuration changes
between any of these environments
really easily,
particularly if you leverage rich tools
like Drush and Git.
So, configuration synchronization.
It's the act of exporting or importing
Drupal's configuration from one instance
of a site to another.
Your site's active configuration
is stored in the database.
And exporting your configuration
encapsulates your site's
configuration in YAML files.
This gets exported to a directory
that's defining your settings.php.
So as a quick recap, we talked about
why we need to manage configuration
in a unified way, we talked about how
Drupal's configuration system
became a reality, and then introduced
configuration synchronization.