Today I decided to take another look at where Drupal has gotten to with its next major release (version 8). For interested parties you can download it from Drupal 8 Alpha 2 during its early development I followed with anticipation some of the major initialtives behind what they wanted to acheive with this next version.
The core initiaves behind Drupal 8 are
The ones I was most interested in were the configuration management, web services, HTML 5 and Mobile as these are the types of things we usually need when building out sites.
This blog post will cover just configuration management and I will take a more in depth look at the other area’s later on.
Working as part of a medium sized company I often got frustrated with how Drupal handled application configuration, namely the famous “variables” table which made dealing with configuration management an absolute nightmare. Especially when you wanted to move things between different environments. There were a number of attempts to fix this over the years but they were all just a bandaid over a deep rooted problem so going back and rethinking the architecture was critical to enable wider enterprise adoption (IMHO).
In Drupal 8 configuration management has now been improved so that you can import / export and merge different configurations
Modules now define the configuration using YAML, the following is taken from the ‘contact’ core module
1 2 3 4 5
This then gets converted into a database table called ‘config_snapshot’ as a serialised array, this saves parsing a whole load of YAML files on page reqeust, as an admin you can make changes to the configuration and then export it, this then generates a bunch of files which can be version controlled and rolled out across multiple different platforms.
I’ve not had chance to dig to closely into the exact implementation yet but I do plan on doing that very soon.
So far though I’m pretty impressed with the changes that are coming in D8 and I hope they will make everyone who needs to deal with deployments of Drupal based sites very happy.